MixML prototype interpreter
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Makefile
PRETTY_PRINT-sig.sml
PrettyPrint.sml
README.txt
core.mixml
data.mixml
el-aux.sml
el-elaboration.sml
el-lexer.lex
el-lexer.lex.sml
el-main.sml
el-ops.sml
el-parser.grm
el-parser.grm.sml
el-parser.sml
el-pretty.sml
el-print.sml
el-run.sml
el-syntax.sml
el-test.sml
el-trace.sml
fib.mixml
il-checked-evaluation.sml
il-evaluation.sml
il-machine.sml
il-ops.sml
il-print.sml
il-syntax.sml
il-test.sml
il-typing.sml
il-var.sml
link.mixml
mixml
seal.mixml
sources.cm
sum.mixml
syntax.pdf
todo.txt
wrap-smlnj.sml

README.txt

MixML prototype implementation

Based on: Derek Dreyer, Andreas Rossberg, "Mixin' Up the ML Module System"

(c) 2007-2008 Andreas Rossberg


Requirements
------------

You need a working installation of SML/NJ (including ML-Yacc and ML-Lex).

Building
--------

Just invoke "make".

Usage
-----

Simply invoke ./mixml from the command line. The synopsis is:

  mixml [-c|t|v|x|h] [files...]

It will process the files given. If none are given, enters an interactive prompt.

Options are:

  -c  type-check only
  -t  type-check only, but with tracing messages from the type checker
  -v  evaluate (default)
  -x  evaluate in checked mode (type checks whole program after every step - very slow!)
  -h  print command usage

Language
--------

The file syntax.pdf shows the complete syntax that is currently understood, including
the desugaring rules into the bare calculus as presented in the paper. Hopefully, it
is sufficiently self-explanatory.

Bugs
----

I'm sure there are plenty. Please mail rossberg@mpi-sws.mpg.de if you find any.