archives

I Seek a Reasonable Survey on the Concept of "Module System"

Regarding research for the design of a module system, my efforts seem to mostly conclude that the term "MODULE" means just about *anything* to *anyone*, therefore next to *nothing* ;)

To keep this message terse, just think yourself of all of the really weird terminology applied to language constructs otherwise all called "module systems" in different programming languages!!!!

I've more or less settled on Scheme's r6rs relatively simple module system, but I have low confidence that this is the right design choice. It *really* has been extremely frustrating.

Is there anything that provides some logical and/or historical overview or survey on the myriad concepts of "module system" in computer programming language design? (The major languages, the historical design "milestones" or whatever).

Statically typed Pratt parsers

I recently completed an extensible Pratt parser in C#. I've only managed to find a single mention of a statically typed Pratt parser, pointing to this Ada library. Most implementations I've found are for dynamic languages, ie. Python, JavaScript, Scheme, and of course, Pratt's original implementation was in Lisp.

Is Pratt parsing, aka "top-down operator precedence parsing", really so little used? Or is its use behind the scenes, perhaps in a parser generator or as part of a post-processing phase to resolve operator precedence when using a parser combinator library? Are there any problems to using a typed Pratt parser as compared to parser combinators?