5 ms·
I've been working my way through Beautiful Racket [1] over the last week or so. It's been awesome. If this kind of thing is of interest to you, I highly recomme
by JHonaker 6y ago
I've been working my way through Beautiful Racket [1] over the last week or so. It's been awesome. If this kind of thing is of interest to you, I highly recommend it. It's a book focused on a way of thinking that involves building small domain-specific languages to solve your problems. It's so easy.
Racket (if you're not aware of what it is) is just a lisp, but the standard library includes an incredible amount of support for creating readers and expanders for programming languages with very little effort.
You aren't even limited to Racket as the target language for your compilation. It's incredibly easy to formulate whatever output you want (like assembly in this article).
Of course there's still an incredible amount of value and fun in doing everything from scratch like this article's series describes. One of the most intellectually rewarding things I've ever done is working through nand2tetris.
You have a great blog /u/tekknolagi.
[1]: https://beautifulracket.com/ https://beautifulracket.com/
- runevault 6y agoI've been meaning to do beautiful racket but totally forgot about it. Thanks for mentioning it.
- bloopernova 6y agoThank you for sharing the link to that book. I'm very much not a pro coder, just a sysadmin-turned-devops person who writes Terraform, Ansible, and CloudFormation YAML. (And Emacs-Lisp) This book seems really fascinating to me and the idea that I could put together my own devops-oriented DSL is a very intriguing idea!
- vrnvu 6y agoIf you are new into lisp I highly recommmend you htdp2. It also uses subsets of racket to teach. I love how it teaches the fundamentals of programming. Simple and clean. https://htdp.org/2018-01-06/Book/ https://htdp.org/2018-01-06/Book/
- bloopernova 6y agoThank you! Greatly Appreciated :)
- mlang23 6y agoRacket is fun. You can indeed use it to write about any language you want, not limited to Lisp-alikes. https://blind.guru/MarioLANG.html https://blind.guru/MarioLANG.html