With all the controversy surrounding scheme r6rs, I stuck with r5rs and I am wondering why the designers decided to not implement a module system. How does one organize code in this?
- Anybody can ask a question
- Anybody can answer
- The best answers are voted up and rise to the top
closed as unclear what you're asking by gnat, Bart van Ingen Schenau, MichaelT, Dan Pichelman, GlenH7 Oct 20 '14 at 14:28
Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question.If this question can be reworded to fit the rules in the help center, please edit the question.
The short answer is "because they didn't standardize a module system until R6RS."
At least based on my recollection from the time, there were several reasons a module system wasn't dealt with before that. First of all, although it wasn't standardized, nearly every implementation included some sort of module system before that, so the group of people who cared was restricted to those who wanted modules to be portable, not just everybody who wanted modules at all.
Second, a module system is a lot of work with very few unequivocally "right" answers -- nearly every decision you make is a compromise. Many earlier changes (not all, of course, but many nonetheless) were clear corrections of earlier mistakes.
Third, (related to the first one) nearly every implementation had some sort of module system in place, which created a bit of contention -- most of them saw their own design as good (that's generally why they picked that design after all) and in most cases they'd gone through several iterations of improvements on their basic design as well. As I already said, most of the decisions are compromises, so advocates of each could point to problems with every other design extant, and most theoretical ones as well.
So, few people, lots of work, and quite a bit of disagreement. Pretty much a recipe for slow development (at best).
It seems that your concerns are addressed in the following post R6RS vs. R5RS scheme. In another words, there was no standardized modules in place till r6rs version.