3 ms·
I'm really surprised and impressed by some of the huge changes this language family has passed through. From mzscheme to Racket, then to Racket on Chez Scheme
by JasonFruit 5y ago
I'm really surprised and impressed by some of the huge changes this language family has passed through. From mzscheme to Racket, then to Racket on Chez Scheme — that these changes didn't kill it is a testament to the care with which the implementation was done and the transitions were planned.
- gus_massa 5y agoIIRC in the mzscheme to Racket there was some renaming of function [like hash-table-get -> hash-ref] and other not back compatible stuff. The transition to Racket on Chez Scheme was easier for users because the new version is bug compatible with the old one. (There may be some difference in corner cases, but most of them are bug and get fixed. Anyway, I think there are still some details in the ffi and the heuristic of the garbage collector that are impossible to fix.)
- samth 5y agoIn the switch from "PLT Scheme"/mzscheme to Racket backwards compatibility was almost entirely maintained, you can still use `mzscheme` or `#lang scheme`. There were some substantial backwards-incompatible changes before that (~10-15 years ago). For example, revamping the exception hierarchy, moving to immutable pairs, and re-doing the class system.