Proposal: Define UTF-8 to be the encoding of Haskell source files

Ben Millwood haskell at
Wed Apr 6 17:09:36 CEST 2011

On Wed, Apr 6, 2011 at 2:13 PM, Duncan Coutts
<duncan.coutts at> wrote:
> Interoperability Guidelines
> ========================
> [...]
> To find a source file corresponding to a module name used in an import
> declaration, the following mapping from module name to OS file name is
> used. The '.' character is mapped to the OS's directory separator
> string while all other characters map to themselves. The ".hs" or
> ".lhs" extension is added. Where both ".hs" and ".lhs" files exist for
> the same module, the ".lhs" one should be used. The OS's standard
> convention for representing Unicode file names should be used.

This standard isn't quite universal. For example, jhc will look for
Data.Foo in Data/Foo.hs but also Data.Foo.hs [1]. We could take this
as an opportunity to discuss that practice, or we could try to make
the changes to the report orthogonal to that issue.

In some sense I think it's cute that the Report doesn't specify
anything about how Haskell modules are stored or represented, but I
don't think that freedom is actually used, so I'm happy to see it go.
I'd think, though, that in that case there would be more to discuss
than just the encoding, so if we could separate out the issues here, I
think that would be useful.


More information about the Haskell-prime mailing list