Import Upstream version 20180207
[hcoop/debian/mlton.git] / doc / guide / src / Machine.adoc
1 Machine
2 =======
3
4 <:Machine:> is an <:IntermediateLanguage:>, translated from <:RSSA:>
5 by <:ToMachine:> and used as input by the <:Codegen:>.
6
7 == Description ==
8
9 <:Machine:> is an <:Untyped:> <:IntermediateLanguage:>, corresponding
10 to a abstract register machine.
11
12 == Implementation ==
13
14 * <!ViewGitFile(mlton,master,mlton/backend/machine.sig)>
15 * <!ViewGitFile(mlton,master,mlton/backend/machine.fun)>
16
17 == Type Checking ==
18
19 The <:Machine:> <:IntermediateLanguage:> has a primitive type checker
20 (<!ViewGitFile(mlton,master,mlton/backend/machine.sig)>,
21 <!ViewGitFile(mlton,master,mlton/backend/machine.fun)>), which only checks
22 some liveness properties.
23
24 == Details and Notes ==
25
26 The runtime structure sets some constants according to the
27 configuration files on the target architecture and OS.