
Ketil Malde
Achim Schneider
writes: import [qualified] module Foo [as F] [hiding(baz)] where bar = undefined baz = bar
Why do you want the 'where' there? Why not simply treat a file Foo.Bar as a concatenation of module Foo.Bar and optionally modules Foo.Bar.*?
Because the module definition syntax is "module Foo[(exports] where"... technically, it's not necessary, but it's nice.
OTOH, the Ocaml folks are going to ridicule us even more. "Now they redid the module system, and it's still second-class"
Well, they would be wrong, wouldn't they? I don't want to "redo" the module system, and in fact, I think my proposal wouldn't change the language at all, merely how the compiler searches for modules. (Which it would be nice if the compilers agreed upon, of course.)
It's just that inline modules, especially that syntax above, reminded me of Ocaml. It's not far from there to foo = module Foo where bar = undefined import foo -- (c) this sig last receiving data processing entity. Inspect headers for copyright history. All rights reserved. Copying, hiring, renting, performance and/or quoting of this signature prohibited.