From dd00feacb373defbcfd8c50b9a8381c4a7db7cba Mon Sep 17 00:00:00 2001 From: Alasdair Armstrong Date: Thu, 30 Nov 2017 19:35:35 +0000 Subject: Improvements to enable parsing and checking intermediate rewriting steps Parser now has syntax for mutual recusion blocks mutual { ... fundefs ... } which is used for parsing and pretty printing DEF_internal_mutrec. It's stripped away by the initial_check, so the typechecker never sees DEF_internal_mutrec. Maybe this could change, as forcing mutual recursion to be explicit would probably be a good thing. Added record syntax to the new parser New option -dmagic_hash is similar to GHC's -XMagicHash in that it allows for identifiers to contain the special hash character, which is used to introduce new autogenerated variables in a way that doesn't clash with existing names. Option -sil compiles sail down to the intermediate language defined in sil.ott (not complete yet). --- src/initial_check.mli | 1 + 1 file changed, 1 insertion(+) (limited to 'src/initial_check.mli') diff --git a/src/initial_check.mli b/src/initial_check.mli index feb9cb83..cfbea3e1 100644 --- a/src/initial_check.mli +++ b/src/initial_check.mli @@ -44,6 +44,7 @@ open Ast open Ast_util val opt_undefined_gen : bool ref +val opt_magic_hash : bool ref val process_ast : order -> Parse_ast.defs -> unit defs -- cgit v1.2.3