brianfeaster / worldtm

Automatically exported from code.google.com/p/worldtm
0 stars 0 forks source link

Compiler type awareness #34

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
A new compiler stage will be added that translates an s-expression into a 
tagable s-expression.  Initially this will be used to include sub expression 
type info.

The first benefit will be used to determine if a combination expression should 
be compiled generically or completely inlined.  A let expression gets compiled 
to a lambda expression plus arguments.  The code emitted can be a single block 
that evaluates the arguments, extends the environment, and evaluates the body.  
Currently all procedure applications are compiled into two blocks:  The 
separate generic closure block and the inlined application code.

Original issue reported on code.google.com by bri...@gmail.com on 15 Oct 2011 at 4:47