Popular variant of the Scheme programming language.
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 Racket
Almost all of Racket version 7.5 is distributed under a new, less-restrictive license: either the Apache 2.0 license or the MIT license. See https://blog.racket-lang.org/2019/11/completing-racket-s-relicensing-effort.html for more details.
Racket CS remains "beta" quality for the v7.5 release, but its compatibility and performance continue to improve. We expect that it will be ready for production use by the next release. We encourage you to check how well the v7.5 CS release works for your programs, and help push the project forward by reporting any problems that you find.
The Web Server provides a standard JSON MIME type, including a response/jsexpr form for HTTP responses bearing JSON.
GNU MPFR operations run about 3x faster.
Typed Racket supports definitions of new struct type properties and type checks uses of existing struct type properties in struct definitions. Previously, these uses were ignored by the type checker, so type errors there may have been hidden.
The performance bug in v7.4’s big-bang has been repaired.
DrRacket supports Dark Mode for interface elements.
Plot can display parametric 3d surfaces.
Redex supports modeless judgment forms.
MacOS 10.15 (Catalina) includes a new requirement that executables be "notarized", to give Apple the ability to prevent certain kinds of malware. In this release, all of the disk images (.dmg’s) are notarized, along with the applications that they contain (.app’s). Many users may not notice any difference, but two groups of Catalina users will be affected: those that use the "racket" binary directly, and those that download the ".tgz" bundles. In both cases, the operating system is likely to inform you that the given executable is not trusted, or that the developer can’t be verified. Fortunately, both groups of users are probably also running commands at in a shell, and the solution for both groups is the same: you can disable the quarantine flag using the xattr command, e.g.
xattr -d com.apple.quarantine /path/to/racket
TL;DR: Everything is fine. Read this note again if you run into problems.
Join over 500,000 subscribers.
Subscribe for our newsletter with best Mac offers from MacUpdate.