Cify & Schemify & Nanopass

Hi fellows,

I want to learn about City & Schemify and Nanopass.

What is the best way to learn? Any suggestions?

Thanks

With respect to Nanopass.

I would start with this talk by Andy Keep:

Then study the documentation. Then check out some of the examples in the nanopass repo.

Thanks, I have already watched this, and finished the Essentials of Compilation in Racket (kind of nano pass style book).

I was wondering there are good projects using NanoPass. Also, I want to learn CIFY and Schemify in detail, any tips for those are greatly appreciated.

Nanopass is used in Urlang (an JS-as-S-expressions language):

https://github.com/soegaard/urlang/blob/master/urlang/main.rkt

As well as in the WIP Racket to JavaScript compiler:

https://github.com/soegaard/urlang/tree/master/compiler-rjs

The passes are in "compiler.rkt", "compiler2.rkt", and "compiler3.rkt".
The runtime in "runtime.rkt" is written using the Urlang language.

2 Likes