3 ms·
What do you think of https://beautifulracket.com/ https://beautifulracket.com/ ? Isn't it exactly what you're asking for? You seem to say, I wish there was a b
by Buttons840 6y ago
What do you think of https://beautifulracket.com/ https://beautifulracket.com/ ? Isn't it exactly what you're asking for?
You seem to say, I wish there was a book on X, but there is only this book on X. What more do you want? I don't mean that rhetorically, what additional things would you like to see covered?
- Decabytes 6y agoI've worked through Beautiful Racket before, though it's been awhile. I think my main issues are 1. You need to install the Beautiful Racket package, which makes the starting point for creating the languages easier, but is not representative of how it's used in the Racket Docs (not that I'm saying the Racket docs have a better intro) 2. Uses Brain Fuck. It feels like there has to be a language that fits in between unintelligible but easy to parse, and extremely verbose and complex. (It's probably scheme but that's taken in this context) And sometimes I just need to see the same problem from a few different angles before it will stick. That's why Greg's Fear of Macros wasn't able to take me all the way to a comfortable place with macros. I think BR is a great book, and I definitely learned a lot from it, I'll probably go back to it at some point to see if I can get it to click. I've been on a Racket kick recently so I've got a decent amount of hours into the language. Also I'm always struck with a feeling when I'm coding in Racket where I go "Would a dsl be good here?" I know Racket makes it easy but I don't even know about what makes a good dsl, or how certain dsls might be harder than other based on the way Racket does L.O.P. Again this might just be from inexperience. Lastly I would also like to see some examples of typed languages being created using typed Racket. I know there is the Turnstile library, but from my understanding it makes it easier to created typed languages, but that the possibility was there before. I'd rather learn the hard unabstracted way first before moving to using a library.
- nextos 6y agoBeautiful Racket is a really nice book. I wish there was a long tutorial on DSLs + static analysis, preferably abstract interpretation. Develop a DSL that is a bit beyond a toy example, and show how to carry out static analysis. All in one place. I think this would help a lot towards making the goal of Racket, language-oriented design, more popular.
- bmitc 6y agoThere’s not a book on x in this case, which is why I said what I said. A language is more than just a reader and expander for toy languages. It also includes domain specific editor functionality and domain specific errors, among other things (like understanding macros and phases at a deeper level).