Records in Haskell

Yitzchak Gale gale at
Sat Dec 31 22:14:50 CET 2011

Gershom Bazerman wrote:
> Beyond that, it would really help namespacing in general to appropriately
> extend the module system to allow multiple modules to be declared within a
> single file -- or, better yet, "submodules". I know that this introduces a
> few corner cases that need to be thought through -- what happens with
> overlapping declarations, for example. But I tend to think the path here is
> relatively straightforward and obvious, and the added expressive power
> should make namespacing issues much more tractable.

I agree, this would be a great first step forward. Nested modules
would be the most helpful. But even just multiple modules per
file would be an improvement, and that is Haskell 98 compliant.

For past discussion about this idea, see the thread that begins here:

There is also the issue of how GHC decides which files to open when
searching for modules. One easy way to begin would be just
to have the caveat that GHC will not find such modules unless
it would otherwise look in the file based on the traditional GHC
naming conventions.

For various reasons including this one, I still think it is a good idea
to allow the user to specify a manifest file to GHC instead of relying
on GHC to walk the file system itself.

See this GHC ticket:


More information about the Glasgow-haskell-users mailing list