On Sat, Sep 13, 2003 at 04:57:34PM +0200, Andrew Frank wrote: > i am moving fom the nov 99 to the nov 02 hugs.exe (under windows) > when recompiling old files i find two problems which i do not understand: > > i want to export (:) from the prelude because i do not use the standard > prelude usually. > > module XX ( (:), ....) > does not work (it did before). now i get the error "illegal export of lone > data constructor" > i do not see any hint in the report (nov 99) that (:) cannot be exported. > (it may be unusual, but not illegal?)
http://www.haskell.org/onlinereport/syntax-iso.html does not permit an export of (:) as : is not a valid varsym (as : is not a valid symbol). Even for something like []((:)) the grammar says (:) would have to be a cname (= var | con) or qvar whereas it is a qcon (so the : is a gconsym. Of course, the [] bit isn't valid either. > the goal is to export certain functions from the prelude (especially (:), > which cannot be redefined) but not all of it. how can this be achieved? I would have expected list syntax to work regardless of whether you imported it from the Prelude as it cannot be redefined - is that not the case? (I haven't actually tried to do anything like that myself). Thanks Ian _______________________________________________ Hugs-Bugs mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/hugs-bugs
