Files you will write or edit
match-compiler.sml
Template for the match compiler.
knormalize.sml
You will add code to handle
CONSTRUCTED
andCASE
forms.knf.sml
You will add forms for blocks and for decision trees.
codegen.sml
You will generate code for blocks and for decision trees.
assembler.sml
You will add code to handle the
GOTO_VCON
form.
New things
New file that you need to understand
case.sml
Defines data structures and utility functions for new syntax: patterns, constructed data, and
case
expressions.
New files that are useful
case-viz
A shell script that can be used to view a visualization of decision trees.
run-es-with-predef
A shell script that runs eScheme code using your UFT and SVM.
listutil.sml
Defines a few handy list functions:
mapi
,concatMap
,foldri
.
New files that can be ignored
match-viz.sml
Provides a visualization of decision trees.
predefs.es
Predefined functions of eScheme, adapted from μML.
Old things
Files that have changed in interesting or useful ways
asm.sml
Acquired a
GOTO_VCON
form.object-code.sml
Acquired a
GOTO_VCON
form and aJUMP_TABLE_ENTRY
form.asmutil.sml
Acquired functions
mkblock
,setblockslot
,getblockslot
, andgotoVcon
.env.sml
Acquired a
<+>
function that will be useful for adding pattern bindings to an environment.error-sig.sml
,error-module.sml
Acquired function
Error.option
of type'a error option -> 'a option error
.primitives.sml
Acquired a
getblockslot
primitive, useful for K-normalizing aLET_CHILD
form of a decision tree.
Files that have changed in boring but necessary ways
iformat.h
,iparsers.c
,iparsers.h
To support
GotoVcon
andIfVconMatch
, we’ve acquired a new instruction encoder and a new instruction parser.opcode.h
I’ve added opcodes
GotoVcon
andIfVconMatch
.clscheme.sml
,foscheme.sml
Acquired syntactic forms
CONSTRUCTED
andCASE
.disambiguate.sml
Converts uses of
VCON
intoCONSTRUCTED
data.
Changes you can mostly ignore
print.c
I’ve improved the printing of blocks (constructed data).
svm-dis.c
The
svm-dis
program has acquired a-pc
option, and some code has been refactored.languages.sml
,uft.sml
We’ve acquired a new language
ES
and suitable driver support.set.sml
Acquired function
Set.singleton
.uft/vscheme.sml
Acquired new syntactic forms
COND
(used only for embedding),VCON
, andCASE
.vscheme-parse.sml
Is now functorized and can parse either vScheme or eScheme.
wppscheme.sml
Can prettyprint the new forms from
vscheme.sml
. Other prettyprinting improvements.- Several others
Embedding or analysis of the
CONSTRUCTED
andCASE
forms.