Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
First some details. We will be following along with MAL which is a language-agnostic guide to creating a LISP. Here is the link https://github.com/kanaka/mal. My goal will be to do one live video for each stage (there are 11 stages). My recommendation is for everyone to attempt the stage themselves before they watch my tutorial. Not because I won't explain it as best as I can. But because I think most people will surprise themselves with their ability to complete it without help. The best way to learn is to write code yourself so even if you do watch me, try implementing it yourself afterwords without looking at my code.
To get started just fork and clone this repository https://github.com/codeislove99/makelisp and start working. The starting file is rust/src/bin/step0_repl.rs If there are any questions or problems please ask. I could not get the MAL test code to work on windows so I am using GitHub codespaces for running the built-in tests.
I foresee some potential problems with this approach. I would recommend trying to find an arena-based GC crate that you could use. gc-arena looks promising, although I haven't tried it — it seems to be built for your specific use case.
I just discovered gc-arena myself. That said, I was curious about it, so I produced this example. Hopefully this will answer most of your questions.