Racket is a dialect of /Scheme, which is a member of Lisp family. The language is dynamically typed, multiparadigm, /FP capable. Racket has an interactive REPL, a cross-platform compiler, even its own IDE, Dr.Racket.
For now, the Racket team is migrating the language's core to the Chez Scheme so Racket will be pretty fast someday!
The core idea behind the language is "Language-Oriented Programming": you are designing and implementing the domain-specific languages just for every domain you work with! Here is a great talk about LOP: "Lambda World 2019 - Language-Oriented Programming with Racket"".
Also, there is a book "Beautiful Racket" just about the LOP.
The Racket as a platform has a nice set of "batteries". For example, a really great set of libraries to work with graphics/animations/games. Here is a talk about this aspect: "big-bang: the world, universe, and network in the programming language". I have played with this stuff myself: made some pieces of generative art. You can take a look at them here.
Another thing in Racket world I played with is /Pollen: my recursive.one site was made using it.
- "Deploying Racket Web Apps", a quick intro to
raco distribute
and to resource file handling - "The Missing Guide to Racket's Web Server" + "Continuations in Racket's Web Server"
- Macros:
- Fear of Macros
- Mythical Macros
- The
syntax/parse
library docs and examples
- infix, an infix notation as an eDSL.
- syntax/parse, "a framework for writing macros and processing syntax", helps to define macros with very descriptive error reporting.
- racket-gui-easy, a neat wrapper around Racket's own /GUI library. It uses the concept of observables those look very similar to /Clojure's atoms.
- RackSnaps (an announcement), the simple way to lock all the packages (yep, the raco does not do that)
- Racket Templates, an "unofficial collection of racket app templates".
- racket-sdl2, a bindings to the [libsdl2(https://libsdl.org/)