[darcs-devel] [patch1935] add NoImplicitPrelude for lib:darcs and exe:darcs
Ben Franksen
bugs at darcs.net
Mon Sep 23 20:42:36 UTC 2019
Ben Franksen <ben.franksen at online.de> added the comment:
[redirecting discussion to patch1935]
> I think I've played with it before and didn't like the effects, but I
> can't remember the details so we might as well try it again.
> https://wiki.haskell.org/No_import_of_Prelude suggests it'd be ok given
> that we re-export the whole Prelude minus a few bits anyway.
Yes, that was my thinking. We don't want one of those super special
completely re-designed Preludes with lots of strange new classes and
stuff like that. Just a fairly regular one with a few identifiers hidden
to avoid collisions and compatibility problems; and perhaps a few
well-known and widely used extra exports for convenience.
> The other downside is it becomes a bit harder to read a single source
> file and understand what's happening.
Compared to what we have now the main difference is that instead of
import Prelude ()
import Darcs.Prelude
we have
import Darcs.Prelude
and I guess nobody takes any notice of all the import stuff anyway
unless they look for a specific definition of something they don't know
yet. The vast majority of our modules import lots of things from Darcs.*
anyway.
BTW, I have read a bit on @cafe and @libraries lately and there was some
discussion about changes to Prelude and compatibility. Some seasoned
Haskellers recommended to use NoImplicitPrelude and a customized own
Prelude for any non-trivial project by default.
Note my patch touched almost every file in lib:darcs so has a high
probability of conflicting with current WIP. I expect these conflicts to
be mostly easy to resolve, though.
__________________________________
Darcs bug tracker <bugs at darcs.net>
<http://bugs.darcs.net/patch1935>
__________________________________
More information about the darcs-devel
mailing list