Racket is a popular variant of the Scheme programming language. Its features and benefits include:
Grow your Program: Racket's interactive mode encourages experimentation, and quick scripts easily compose into larger systems. Small scripts and large systems both benefit from native-code JIT compilation. When a system gets too big to keep in your head, you can add static types.
Grow your Language: Extend Racket whenever you need to. Mold it to better suit your tasks without sacrificing interoperability with existing libraries and without having to modify the tool chain. When less is more, you can remove parts of a language or start over and build a new one.
Grow your Skills: Whether you're just starting out, want to know more about programming language applications or models, looking to expand your horizons, or ready to dive into research, Racket can help you become a better programmer and system builder.
What’s new in version 8.8
Updated on Feb 10 2023
The dependent contract form, `->i`, supports a #:param element that specifies dependencies for parameter values that are set during the dynamic extent of the function call.
The `copy-file` library function supports permission-management arguments.
Pressing -return in DrRacket's interactions window makes it easier to edit and enter expressions without sending them to be evaluated.
The numeric comparison operators (<, >=, etc.) require at least two arguments in the "How To Design Programs" teaching languages.
Redex has improved typesetting when customized renders are used in certain multi-line situations.
We have fixed many bugs, and written lots of documentation.
What a fantastic development environment. I do wish, though, that DrRacket was more like TextMate or Emacs in some ways, but there is so much to like that I can't discount it.