rjnw
2020-2-4 16:24:43

I managed to write down answers to most of the questions by the reviewers, maybe @samth can take a crack at question about using Typed Racket. We probably also need an overall response.


ccshan
2020-2-4 23:15:27

I would suggest that the overall response shoehorn as many of these answers as possible into the theme of “Sham and SCF do more than LLVM and WebAssembly”: • What are the “many other features which help in developing compilers easier than directly using LLVM IR”? • SCF (unlike LLVM) makes it easy to create a constant folding pass. • Sham makes it easy to backend DSLs selectively - only performance intensive parts - while still interoperating with the rest of a Racket implementation of the DSL. (Examples are Review B comments on p.9 and p.10) • This interoperation includes accessing complex data structures. (What “finer level of details than LMS”, due to what “differences in overall system design”?) • This interoperation also includes allocating and freeing memory. (Answer more specifically the questions “what happens when the only reference to a Racket value is a pointer stored in Sham, and GC runs? What about moving objects in memory?”) • Checking for type errors is also eased by Sham.