mirror of
https://github.com/justinethier/cyclone.git
synced 2025-07-13 15:57:36 +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.
|
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.
|
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
|
- Macro expansion
|
||||||
- Processing of globals
|
- Processing of globals
|
||||||
- Alpha conversion
|
- [Alpha conversion](https://wiki.haskell.org/Alpha_conversion)
|
||||||
- CPS conversion
|
- [CPS conversion](https://en.wikipedia.org/wiki/Continuation-passing_style)
|
||||||
- Closure conversion
|
- [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.
|
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