The answer seems to be in the title: this of particular interest for those already interested in Lisp or Scheme.
The answer seems to be in the title: this of particular interest for those already interested in Lisp or Scheme.
For example being able to make good use of recursion, being able to write programs more elegantly.
Racket, in contrast to JS or TS, comes with lots of batteries included, therefore not requiring so many third party dependencies. Time and time again I see the Racket docs and think: "Ah Racket has got something for that/got you covered." Also it is rich in programming language concepts. You can write your programm in any of the languages that come with Racket, or you can write it with function contracts or you can use Typed Racket.
At its core, it is a much cleaner and better designed language than TS will ever be due to TS' JS legacy.
Racket (the language) itself is no longer a Scheme, strictly speaking, but still feels generally "schemey" in the broad scheme of lisps. However, Racket (the software package) does ship with a Scheme or two, namely R5RS and R6RS.
CPAN made Perl the best choice for many tasks and the same can be said of NPM for choosing TypeScript now, regardless of the elegance of the language.
But I’m also a fan of “language tourism”. Even if one language is more practical, visiting other language cultures can make us better developers overall.
I studied Haskell for a bit which gave new ideas for how I use Perl. Culturally, Haskell was using a lot of functional programming concepts and recursion. Those were possible in Perl but not popular.
I’m sure there is value in studying Lisp languages for those who end working mostly in TypeScript or Rust
Rust because it’s the other language I see most often see coders learn to build their own apps. It has a good reputation for developer experience, security and speed.
I’ve heard enthusiasm for lisp-based languages for a couple decades and don’t doubt the merits of Racket.
If you’re picking just one language to learn, and limiting your learning to only that one language for a significant period of time, you’ll probably want to learn Rust. You won’t get all of the benefits of also learning a lisp, but you’ll get a lot of the ones which generalize well.
If you’re open to learning 1+N and otherwise lean towards TS, I would say you’re better off learning Racket (or any lisp really) in tandem than learning TS alone.
Familiarity with the core concepts and idioms of FP are broadly beneficial in any language, and lisps tend to be a good balance of those with low incidental mental overhead, and reasonable escape hatches to do imperative stuff where it makes sense. Racket is probably a particularly good candidate because its optional typing is another overlapping story between the two.
I haven’t written in any lisp for close to a decade now, but I still find that prior experience beneficial every day since. I sometimes miss the simplicity and flexibility of the parentheses. But I can take what I learned—how to reason about state, data flow, data-driven abstractions—anywhere. And those abstractions are particularly useful in a structural type system like TS.
Which one ? Rust and lisp in general are quite different beast...