Racket 8.9 in now available from http://racket-lang.org/
Why is this relevant for this community?
Racket comes with
- a high-quality incremental compiler (based on Chez Scheme) for most platforms and has experimental Javascript and LLVM(MLIR) compiler implementations.
- The compiler is directly available to language implementers and includes a C FFI.
- many tools to for language development
- metalanguages such as turnstile for creating statically type-checked languages and Rosette for developing synthesis and verification tools for new languages
- PLT Redex - a domain-specific language designed for specifying and debugging operational semantics.
- Learning materials for language engineers https://beautifulracket.com/, https://docs.racket-lang.org/guide/languages.html
Racket is a modern Lisp and a descendent of Scheme, but
- is not interpreted like many scheme and lisp implementations - compiles to native machine code and is not tied to a specific VM platform
- includes Typed Racket with static type checking
- is enthusiastic about other syntax styles. Language engineers are (not (stuck (with lots (of (annoying)) (parentheses))) (there are a number of parsers and parser generators to choose from)
- the Racket community is actively developing a language with python-like syntax (working title ‘Rhombus’
- Racket includes an implementations of languages with non-lisp syntax like Algol 68 and Datalog.
- language engineers working in Racket create languages a variety of syntax styles.
Racket is a programmable programming language:
"As such, it is often used to quickly prototype embedded (domain-specific) languages. Its innovative features have influenced the development of Clojure and Rust, many other languages.
“The goal of the Racket project is to explore this emerging idea of language-oriented programming, or LOP, at two different levels. At the practical level, the goal is to build a programming language that enables language-oriented software design. This language must facilitate easy creation of eDSLs, immediate development of components in these newly created languages, and integration of compo- nents in distinct eDSLs; Racket is available at http://racket-lang.org/“ - A programmable programming language | Communications of the ACM
Racket has four stable releases per year. What’s new in this release: https://racket.discourse.group/t/racket-version-8-9-is-now-available-from-https-download-racket-lang-org/1941
Best regards,
Stephen
Racket is an open source project under MIT/Apache2: https://sfconservancy.org/news/2018/jun/12/racketjoins/