💾 Archived View for quasivoid.net › wiki › racket.gmi captured on 2021-12-06 at 14:29:53. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2021-12-03)
-=-=-=-=-=-=-
Racket is a Scheme, but has long since outgrown being just a Scheme, hence being renamed from PLT Scheme in 2010. It is the product of academic research by PLT with the goal of being a practical language.
The DrRacket programming environment includes a REPL and supports rendering images inline. Combined with Rackets built in picture language, this makes for a great introduction to the language.
Quick: An Introduction to Racket with Pictures
The Racket documentation is excellent. Many sections begin with exposition about the language feature being described, complete with examples and an explanation of it's mechanics. It is recommended that you begin with The Racket Guide to get an overview of the language, and use The Racket Reference as your standard documentation resource.
This is a list of libraries and languages implemented in Racket which I consider to be of exceptionally high quality and practicality.
Lenses are composable, functional getter and setters for data structures. They make modifying complex or deeply nested datastructures in a functional manner trivial. You may have heard of Lenses from the Haskell world.
Syndicate is a dataspace programming language implemented in the Racket environment, as the product of multiple research papers and a dissertation.
Spritely is a project to level up the federated social web.
Spritely includes (or will include) numerous libraries and languages for writing distributed software using the actor model in a mutually suspicious network, resurrecting many ideas from the almost-forgotten E language.
One of the best modern computer science textbooks uses Racket (rather, a collection of languages implemented in Racket) to teach students how to design programs from the bottom up. Many consider How to Design Programs to be the spirtual successor and rival of How to Design Computer Programs.
How to Design Programs: An Introduction to Programming and Computing