What would be a "recipe" and lesson plan for building a Racket-like system?

I am looking for any help, references, etc. that describes how one might take Racket's language building technology and other bits and relevant lessons learned to other languages, ecosystems, or virtual machines (VMs), either existing or hypothetical.

To me, the big take away of Racket's perspective, is that one can do Racket language building things in Racket but that it is to inspire one to do similarly in other languages and systems.

What is the lesson plan and so-called recipe one should follow (ideally ordered), assuming the absence of research level expertise but the presence of determination? The more you imagine the target audience as less informed, the better. :slight_smile:

This has two goals or results:

  1. Learn more about Racket to use within Racket
  2. Learn more about the Racket way to use outside of Racket

Some references I am aware of (in no particular order):

  1. Binding as Sets of Scopes
  2. Programming Languages as Operating Systems
  3. A Programmable Programming Language
  4. Languages the Racket Way
  5. From Macros to DSLs: The Evolution of Racket

Non-exhaustively, I think things of interest are Racket's:

  • module system
  • macro system
  • architecture as a tower of languages
  • event spaces
  • The way DrRacket's REPL works

Thanks!

4 Likes

Maybe

Yep, already had that one listed and read. :wink: Thank you though!

1 Like

https://dl.acm.org/doi/10.1145/2637365.2517211