What is `raco demod` for?

What is raco demod for? and why would you want to demodularize your programs?

I'm guessing it makes the resulting code smaller or faster?, but I also want to know what the trade-off is? What do you lose when you demodularize?


Stephen :beetle:


I've read about raco demod a while back and as far as I remember, one motivation is that the Racket compiler can't inline code across module boundaries. So by putting everything into one module, you'd get more optimization opportunities and therefore potentially faster code.

My understanding is that you would run raco demod as an extra build step but keep your "actual" code as-is (or at least I'd try this).

That's what I - hopefully correctly - remember. I'd like to learn more. :slight_smile: