Skip to content

Commit

Permalink
readme
Browse files Browse the repository at this point in the history
  • Loading branch information
yinwang0 committed May 10, 2014
1 parent f2041b7 commit ec45225
Showing 1 changed file with 7 additions and 7 deletions.
14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,26 +4,26 @@
This is the final submission for a compiler course I took from <a
href="http://en.wikipedia.org/wiki/R._Kent_Dybvig">Kent Dybvig</a> at Indiana
University. The compiler compiles a significant subset of Scheme into X64
assembly and then linked with a runtime system written in C. I made attempts to
simplify and innovate the compiler, so it is quite different from Kent's
assembly and then links it with a runtime system written in C. I made attempts
to simplify and innovate the compiler, so it is quite different from Kent's
original design.

In Kent's words, I put myself into trouble each week by doing things differently
and then get myself out of it. Sometimes I did better than his compiler,
sometimes, worse. But eventually I passed all his tests and got an A+.

A notable thing of this compiler is its use of _high-order evaluation contexts_,
which resulted sometimes in much simpler and shorter code. The same technique is
used in <a href="https://github.com/yinwang0/lightsabers/blob/master/cps.ss">CPS
transformers</a>.
an advanced technique used in <a
href="https://github.com/yinwang0/lightsabers/blob/master/cps.ss">CPS
transformers</a>, which resulted sometimes in much simpler and shorter code.


### Copyright

Copyright (c) 2008-2014 Yin Wang, All rights reserved

Only the part written by me is here, because I don't have copyright of the rest
of the code.
Only the main compiler code is here. I don't have copyright of the rest of the
code (test framework, runtime system etc)


### References
Expand Down

0 comments on commit ec45225

Please sign in to comment.