Machine
=======

<:Machine:> is an <:IntermediateLanguage:>, translated from <:RSSA:>
by <:ToMachine:> and used as input by the <:Codegen:>.

== Description ==

<:Machine:> is an <:Untyped:> <:IntermediateLanguage:>, corresponding
to an abstract machine with an infinite number of temporaries.

== Implementation ==

* <!ViewGitFile(mlton,master,mlton/backend/machine.sig)>
* <!ViewGitFile(mlton,master,mlton/backend/machine.fun)>

== Type Checking ==

The <:Machine:> <:IntermediateLanguage:> has a primitive type checker
(<!ViewGitFile(mlton,master,mlton/backend/machine.sig)>,
<!ViewGitFile(mlton,master,mlton/backend/machine.fun)>), which only checks
some liveness properties.

== Details and Notes ==

The runtime structure sets some constants according to the
configuration files on the target architecture and OS.
