With Racket, you quickly prototype animations and complex GUIs. To organize things, you can mix and match classes, modules or components. Once your script turns into a large collection of modules, equip your Racket modules with explicit type declarations as needed. Racket comes in so many flavors because Racket is much more than a standard scripting language or a plain programming language. Racket supports language extensibility to an unequaled degree. In Racket, creating a new language is as easy as writing a new library.
What's new in this version:
New in this release: Submodules are nested module declarations that can be used independently from the enclosing module; futures visualizer is a graphical profiling tool for parallel programs using futures; optimization coach reports information about Racket's inlining optimizations; new libraries: json, images/flomap, racket/generic; racket/string is extended with simplified functions; the class form supports abstract methods; contracts support interfaces, generics, prompts, continuation-marks... See all new features »