
| Does this mean that if OverloadedLists is on and more than one fromList | or toList is in scope (even if one of them is GHC.Exts.fromList/toList), | then list literals and patterns (resp.) will not compile? No... the documentation is poor on that point: * Normally, it'll use GHC.Exts.fromList (etc) regardless of whether GHC.Exts is imported, or what other fromList's are in scope. * If you also use -XRebindableSyntax, it'll use whatever fromList is in scope. Then if you imported Data.Map and GHC.Exts it'd be ambiguous. This is precisely the behaviour of, say integer literals. Normally they desugar to a call of the Prelude's fromInteger, but with RebindableSyntax it becomes whatever fromInteger is in scope. I'll fix the documentation. Simon | -----Original Message----- | From: ghc-devs-bounces@haskell.org [mailto:ghc-devs-bounces@haskell.org] | On Behalf Of Isaac Dupree | Sent: 14 February 2013 21:35 | To: ghc-devs@haskell.org | Subject: Re: OverloadedLists | | On 02/14/2013 10:10 AM, Simon Peyton-Jones wrote: | > | Finally I managed to build again (don't know what's wrong with my | > | system, I built on a virtual machine instead now), and the tests | > | pass. I attached the four patches, they were created with git diff | > | --no-prefix, and their name specifies the submodule they are to be | > | applied to. I hope it isn't to late to include them in 7.8. Should I | > | publish them somewhere else also, or is this fine? | > | > Great. It's done! Thanks for all your work on this. | > | > Would you like to update the wiki page? | > http://hackage.haskell.org/trac/ghc/wiki/OverloadedLists | | Wiki says: "GHC, during the typechecking and desugaring phases, uses | whatever is in scope with the names of fromList, toList and fromListN" | | Does this mean that if OverloadedLists is on and more than one fromList | or toList is in scope (even if one of them is GHC.Exts.fromList/toList), | then list literals and patterns (resp.) will not compile? I just | selfishly don't want to hide those in every import list (and to give up | polymorphic list literals altogether in modules that define/export a | monomorphic fromList). Anyhow, good work on this! | | (Admission: I've been importing Data.Map etc. unqualified because I want | the ambiguities with Prelude: I want to force my code to say List.filter | just like it says Map.filter. Is there a better way to do this? :) | | -Isaac | | | _______________________________________________ | ghc-devs mailing list | ghc-devs@haskell.org | http://www.haskell.org/mailman/listinfo/ghc-devs