mirror of
https://github.com/justinethier/cyclone.git
synced 2025-07-12 23:37:38 +02:00
Update History.md
This commit is contained in:
parent
845b71b765
commit
78e5dc4e4b
1 changed files with 4 additions and 4 deletions
|
@ -2,7 +2,7 @@
|
|||
|
||||
This document covers some of the background on how Cyclone was written, including aspects of the compiler and runtime system.
|
||||
|
||||
Before we get started, I want to say Thank You to everyone that has contributed to the Scheme community. At the end of this document is a list of online resources that were the most helpful and influential in writing Cyclone. Without these quality Scheme resources it would not have been possible to write Cyclone.
|
||||
Before we get started, I want to say Thank You to everyone that has contributed to the Scheme community. At the end of this document is a list of online resources that were the most helpful and influential in writing Cyclone. Without quality Scheme resources like these it would not have been possible to write Cyclone.
|
||||
|
||||
In addition to those resources, developing [Husk Scheme](http://justinethier.github.io/husk-scheme) helped me discover many of the resources that would later be used to build Cyclone. In fact, the primary motivation in building Cyclone was to go a step further and understand not only how to write a Scheme compiler but also how to build a runtime system. Over time some of the features and understanding gained in Cyclone may be folded back into Husk.
|
||||
|
||||
|
@ -35,9 +35,9 @@ To overcome these difficulties a series of source-to-source transformations are
|
|||
|
||||
- Macro expansion
|
||||
- Processing of globals
|
||||
- Alpha conversion
|
||||
- CPS conversion
|
||||
- Closure conversion
|
||||
- [Alpha conversion](https://wiki.haskell.org/Alpha_conversion)
|
||||
- [CPS conversion](https://en.wikipedia.org/wiki/Continuation-passing_style)
|
||||
- [Closure conversion](http://matt.might.net/articles/closure-conversion/)
|
||||
|
||||
Since Scheme represents both code and data using [S-Expressions](https://en.wikipedia.org/wiki/S-expression), our compiler does not have to use abstract data types to store the code as would be the case with many other languages.
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue