Racket Implementation Details

Hi,

I want to make a racket implementation to learn about

  • the implementation details,
  • the software architecture ,
  • the components involved Language Oriented Programming Approach
  • design decisions / trade offs made with respect to other scheme implementations.
    What is the best way to achieve this? Any help is greatly appreciated.

Thanks

You might find this discussion useful:

2 Likes

Welcome!

Help us narrow down the help that you are interested in. You say that you want to make a racket implementation. It sounds like that means that you want to develop your own implementation of the Racket language. That's a big project! Without knowing more about what your background is like, I would say you might want to start by writing a meta-circular interpreter for a subset of the Racket language, following e.g. Shriram Krishnamurthi's "Programming Languages: Application and Interpretation" textbook (free online), and maybe then moving on to Jeremy Siek's Compilers textbook.

Is this the kind of help you're looking for?

I have quite a PL background

  • I have finished SICP, Little Schemer series , EOPL, TAPL, ATAPL, Pragmatics of PLs and I also have strong background in Logic as well as Category theory.
    But I want to see a good document detailing the racket compilation flow, how racket is built in terms of layers in order to support the idea of LOP approach. Honestly I don't want to go through such a big project but I really want to see the magic in action if possible with a help of a debugger. And learn what I should know in terms of what is required in essence to make such an approach feasible in terms of implementation.

In that case, I would say @LiberalArtist 's linked post is probably a great place to start!

1 Like