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

Doug McIlroy doug at
Thu Apr 7 14:33:48 CEST 2011

This suggestion supposes that every system names files in
the same way modulo choice of "directory separator":

> 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.

This supposition is unwarranted.  We have all seen relative naming
systems that run both ways: a.b.c versus c(b(a)). And Haskellites
would simplify the latter to c$b$a.  Secondary storage may be
organized by files, segments, objects, etc.  Combinations of these
notions have been created in order to cater for legacy languages
that depend on particular models.

It is a step too far to try to predict how Haskell modules will
be adopted into every possible naming environment.

Doug McIlroy

More information about the Haskell-prime mailing list