Start moving handling of primitives out of elab
Create initial environments for the type system and semantics.
Merge branch 'master' into fix_elab
Merge remote-tracking branch 'origin/master' into fix_elab
Make the implementation build after elab changes
Merge remote-tracking branch 'origin/master' into fix_elab
Merge remote-tracking branch 'origin/master' into fix_elab
minor tweak to step-through code for repl_funExamples

it hadn't been updated since we switched from progs to tops
More work on the type inference proof.
Package up elab_top and infer_top

Define elaborate_top and inference_top functions in repl_funScript that
better encapsulates their interfaces (at Ramana's suggestion).
Fix the repl semantics to do definitions 1 at a time
Merge remote-tracking branch 'origin/master' into fix_elab
update repl_fun and repl_funExamples for new elaborator

the examples don't work yet because the compiler doesn't start with any
bindings for the variables that are supposed to be bound to primitives.
Started sketching a repl correctness proof
attempt to add the primitives to the initial compiler+machine state

examples don't work yet
rework compile_primitives, and pre-evaluate it

forgot that it would add a 0 to the top of the stack that the printer is
meant to take care of, so make sure to pop it.

pre-evaluation helps a little bit, but EVALing the examples still takes
way too long because it keeps going through what is now quite
a long list of instructions in the bc_state.
Merge branch 'fix_elab'

Conflicts:
	implementation/examples/compile_repl_stepScript.sml