We believe that understanding how programming languages work helps people become better programmers regardless of the language they use. We believe in the spirit of exploration and experimentation and therefore built languages with the same syntax but different semantics.
What it does
Lets you play around with various programming language semantics.
How I built it
Built the interpreters using Racket. The frontend using Angular and the server using FastAPI.
Challenges I ran into
Wrestled with multiple implementations. Considered compiling our interpreters into JS and making a "serverless" app. Made a webserver in Racket. Eventually used multiple technologies for the end product.
Accomplishments that I'm proud of
Building a final, working product and having fun doing it.
What I learned
Docker, FastAPI, Angular, Typescript, Racket, PL Theory, and much more.
What's next for pl-playground
Add more languages, make the tutorial more interactive, make the "evaluator" into a proper REPL and much more.