staload _ = "libc/SATS/stdio.sats"
staload _ = "libc/SATS/string.sats"
staload _ = "libc/SATS/strings.sats"
staload _ = "prelude/DATS/list.dats"
staload _ = "prelude/DATS/list0.dats"
staload _ = "prelude/DATS/list_vt.dats"
staload _ = "prelude/DATS/array.dats"
staload _ = "prelude/DATS/reference.dats"
staload _ = "prelude/DATS/lazy.dats"
exception Domain of ()
exception StreamSubscript of ()
extern
fun string_implode (cs: list0 char): string = "atspre_string_implode"
extern
fun string_explode (str: string): list0 char = "atspre_string_explode"
extern
fun feof (fp: FILEref): int = "mac#atslib_feof"
extern
fun string_contains (s: string, c: char): bool = "mac#atspre_string_contains"
extern
fun strcmp (x1: string, x2: string):<> int = "mac#atslib_strcmp"
extern
fun strncmp (x1: string, x2: string, n: size_t):<> int = "mac#atslib_strncmp"
extern
fun strcasecmp (x1: string, x2: string): int = "mac#atslib_strcasecmp"
extern
fun strncasecmp (x1: string, x2: string, n: size_t): int = "mac#atslib_strncasecmp"
extern
fun randint (n: int): int
%{^
#ifndef ISNAN
#define ISNAN
extern int isnan (double x) ;
#endif // end of [ISNAN]
%}
extern fun isnan (x: double): int = "isnan"