History log of /seL4-l4v-10.1.1/HOL4/src/emit/EmitML.sml
Revision Date Author Comments
# 06c2f5c2 21-Mar-2018 Michael Norrish <Michael.Norrish@nicta.com.au>

Fix src/emit (phew!)


# af6c06dc 03-Oct-2016 Michael Norrish <Michael.Norrish@nicta.com.au>

Convert type-grammars to use deltas for updates

This is very much analogous to what has been done for term grammars.


# cbd80537 30-Sep-2016 Michael Norrish <Michael.Norrish@nicta.com.au>

Fix EmitML in light of change to ParseDatatype API


# ce09f1f3 22-Jul-2016 Michael Norrish <Michael.Norrish@nicta.com.au>

Remove trailing whitespace in EmitML.sml


# 6b4e5f1d 22-Jul-2016 Michael Norrish <Michael.Norrish@nicta.com.au>

Get EmitML to compile again


# aa761e18 09-Sep-2015 Thomas Tuerk <thomas@tuerk-brechen.de>

pattern match support for emitML

this is a very first version. It still needs plenty of testing.


# 9ca8abc5 16-Nov-2015 Michael Norrish <Michael.Norrish@nicta.com.au>

Get EmitML to handle polymorphic records correctly

Tests in src/emit/theory_tests.

Closes github issue #173


# e52538bd 15-Feb-2015 Piotr Trojanek <piotr.trojanek@gmail.com>

emit: improved whitespace in autogenerated ML code


# 3bcca961 14-Jan-2015 Michael Norrish <michael.norrish@nicta.com.au>

Fix the breakage to records and EmitML caused by 6da728bc


# 19a4860d 31-Mar-2014 Michael Norrish <Michael.Norrish@nicta.com.au>

Fix flow-on bugs in EmitML from changing EmitTeX.


# 45ce1c7d 13-Mar-2014 Michael Norrish <michael.norrish@nicta.com.au>

Require failed emitML calls to cleanup (probably broken) ML files


# 7569d35a 12-Mar-2014 Michael Norrish <michael.norrish@nicta.com.au>

Close #157 : failure to emit ML lets exn propagate all the way out


# 1e2ae3bb 05-Feb-2013 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Attempt to address issue #109.

I don't know if this works because the report "sometimes fails" doesn't give me much to go on.


# 91583066 31-Oct-2012 Michael Norrish <michael.norrish@nicta.com.au>

Put some syntax operations for bool$IN into boolSyntax.


# 4060d52c 31-Oct-2012 Michael Norrish <michael.norrish@nicta.com.au>

Fix bug whereby IN was stored incorrectly in ConstMap.

Continued fallout from #52.


# 1cd4d72f 30-Oct-2012 Michael Norrish <michael.norrish@nicta.com.au>

Now also emit valid Caml for MEM again.


# df2bea7f 30-Oct-2012 Michael Norrish <michael.norrish@nicta.com.au>

Emit valid SML for MEM once more.


# 16d988bc 12-Jul-2012 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Make export message from EmitML more compact.


# 863dfff9 04-May-2011 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Fix bug whereby emitted theories would not load when Unicode is turned off.


# 195033e6 22-Jul-2010 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Patch generation of Caml code, which hadn't been working for some time. Also
address some problems with WORDS_EMIT_RULE and avoid ML reserved word, e.g.
"op" now gets mapped to "op_".


# 535c0776 02-May-2010 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Avoid warning messages when loading EmitML under Poly/ML.


# 52bbe051 02-Oct-2009 Michael Norrish <Michael.Norrish@nicta.com.au>

Make the interface supported by Unicode slightly richer so that I can
make the Unicode not-equals not overlap entirely with <>, thereby
allowing <> to be used both for word_slice and for not-equals, without
it inheriting the \neq symbol when Unicode is on.


# cd7cc480 30-Sep-2009 Michael Norrish <Michael.Norrish@nicta.com.au>

Ensure that the Unicode trace is off when calls to EmitML happen.


# 888c41a7 31-Jul-2009 Michael Norrish <Michael.Norrish@nicta.com.au>

Last Substring.all --> Substring.full, I hope. Certainly this is
fairly late in the build sequence so I feel confident. I haven't done
any selftests or example checking however.


# 8a9fb01c 24-Feb-2009 Konrad Slind <konrad.slind@gmail.com>

Changes to EmitML.


# 3fee4ee4 22-Feb-2009 Konrad Slind <konrad.slind@gmail.com>

Implement ML code generation for large records.


# 8654de63 07-Feb-2009 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Attempt to tidy up (fix) EmitML and finish off the transition that Scott
started. EmitML has been moved to the end of the build sequence. "Hooks"
have been eliminated and all EmitML related stuff has been removed from the
various theory directories. All code for generating ML/Caml is now
self-contained within src/emit. I've not tested the generated Caml code but
the SML seems to build fine.

The directories:

src/theoryML
src/theoryOcaml
src/emitScript

have been replaced by

src/emit/theories/ML
src/emit/theories/Caml
src/emit/theories


# d526c53f 07-Dec-2008 Konrad Slind <konrad.slind@gmail.com>

Suppress auto-emission ML definitions of
size functions for datatypes. This has not
been much used, I think, and was generating
the incorrect (i.e. not compilable in ML where strings
are a primitive type) size function for strings.
In the new world of string = char list,
the size of a string would be defined as
list_size char_size. But that doesn't typecheck.


# 0f78f6d1 24-Nov-2008 Michael Norrish <Michael.Norrish@nicta.com.au>

Rework code here to allow more type-specific versions of constants to
map to different data. Thus, we can support APPEND mapping to
listML.APPEND everywhere except on char list -> char list -> char
list, where it can map to stringML.STRCAT.


# 6ae78cde 17-Nov-2008 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Add integer operations to EmitML.


# 7163eb34 19-Jun-2008 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Added EmitML.emitCAML for exporting to Ocaml. This has required a fair
amount of hackery, none of which should effect emitML. In particular,
CAML constructors must start with an uppercase letter and other values
must not. Also, types can't start with a lowercase letter. Constructors
are added to the constants map with ConstMapML.insert_cons.

(I will eventually check-in the script for generating CAML versions of the
code emitted to src/theoryML.)


# ec2041c1 23-Apr-2008 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Moved EmitML code to a new directory src/emit.

Added a new structure EmitTeX. This allows HOL theories to be printed
as LaTeX source.

Added both of these structures to help/src/Keepers.sml