Thoughts on Racket & Chez Scheme

submited by
Style Pass
2021-07-15 03:00:09

Chez Scheme is a well-respected imple­men­ta­tion of the Scheme program­ming language that was bought by Cisco in 2012 and released under an open-source license for the first time in 2016. The following year, the Racket team announced that Racket would abandon its own C-based foun­da­tion in favor of Chez Scheme. That is, the parts of Racket that were written in C would be rewritten in Racket (where possible) or Chez Scheme (where neces­sary). In so doing, Racket would essen­tially itself become a DSL running on Chez Scheme. In 2021, that project was mean­ing­fully finished, as the new Racket based on Chez Scheme (working title “Racket CS”) became the default version of Racket in release 8.0.

Though Chez Scheme is one of the fastest Scheme imple­men­ta­tions, the primary moti­va­tion for the move was not perfor­mance so much as main­tain­ability. Instead of relying on a custom pile of C code, and the ongoing main­te­nance costs thereof, Racket planned to hop on the back of Chez Scheme and float merrily down the river. Further­more, because Chez Scheme is owned by Cisco—and employs Chez Scheme’s prin­cipal archi­tect, Kent Dybvig—there’s been a sense that Chez Scheme’s own future funding & survival is already assured. So by lashing Racket to Chez Scheme, Racket would indi­rectly benefit from this insti­tu­tional under­pin­ning.

When I first heard about this “Racket CS” project in 2017, I didn’t spend too long thinking about it. I trusted that the Racket team had good reasons for making the switch. What­ever adjust­ments that would be needed down the road from Racket devel­opers would be worth­while.

Leave a Comment