Curiously, this is the first time the core library had to be organized in a manner that defined the functions in a specific order. As in Clojure, we needed a "bootstrap" phase with temporary versions of let and fn without destructuring, and certain functions needed to be modified to use def because we needed to use the destructuring fn inside defn to enable destructuring of function arglists. But it went extremely smoothly and over 140 tests are still passing, same as before.
Curiously, this is the first time the core library had to be organized in a manner that defined the functions in a specific order. As in Clojure, we needed a "bootstrap" phase with temporary versions of
let
andfn
without destructuring, and certain functions needed to be modified to usedef
because we needed to use the destructuringfn
insidedefn
to enable destructuring of function arglists. But it went extremely smoothly and over 140 tests are still passing, same as before.