staload "ast.sats"
implement main0 () = () where {
val _ = print "Hello World!\n"
val _ = free_vars (ast_var "a")
}
staload "libats/SATS/funset_avltree.sats"
datatype ast = ast_var of string
fun free_vars (ast: ast):<> set string
(* ast.dats *)
#include "share/atspre_staload.hats"
staload "./ast.sats"
staload "libats/SATS/funset_avltree.sats"
// dynload "libats/DATS/funset_avltree.dats"
staload _ = "libats/DATS/funset_avltree.dats"
(* this file has no global value,
so it does not to be dynamically loaded and initialized
*)
#define ATS_DYNLOADFLAG 0
implement free_vars (ast) =
case+ ast of
| ast_var name => funset_sing name