Building this website in Astro
If you are reading this, then I’ve completed my migration of my website to using Astro.
In my opinion, one of the greatest contributions from front end frameworks has been the idea of “componentizing” the front end. Instead of separate source files for markup, styles, and interactivity, you have separate files for self-contained components consisting of their own markup, styles, and interactivity.
However, when it comes to simple static sites (like this blog), the baggage of shipping the full React or Vue.js runtime to the browser just didn’t make sense. Other tools like Next.js, Gatsby, VuePress, and SvelteKit are capable of exporting a plain static site, but they all introduce their own complexities.
Astro is the perfect hybrid in my mind. I get filesystem-based routing and components, and it gives me a simple static site.
Creating a programming language
See my blog post about this.
I tried working through Beautiful Racket. It is a wonderful book, and if I had more time to dedicate to this project then I would absolutely dive in and learn this tool. However, I don’t have the mental capacity right now to learn the Racket programming language. I’m better off trying to build a compiler in a language that’s more familiar to me.
To that end, I found The Super Tiny Compiler! I’m going to play around with that and try building some simple languages based on that. I hope that it’s is enough for me to start prototyping ideas.
I have also been reading Types and Programming Languages by Benjamin C. Pierce. I love this book. It’s a very mathematical approach to talking about type systems in programming. It’s also a lovely introduction to the Lambda Calculus, which is very interesting.
This is a now page.