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.

Share this project: