
5 Aug
2007
5 Aug
'07
6:35 a.m.
Hi
Okay. As a little side note, you won't believe how nhc98 stores local functions (which I've just discovered)
module Foo
foo = .. where bar = ...
The name Foo.Foo.Prelude.200.bar is actually stored in nhc98 as an instance dictionary!
- defined in the module Foo - on the datatype Prelude.200, i.e. the two hundred tuple!?! - to the class(!?) Foo.Foo.bar
Yes, really. Thus currently my code encodes the name as
Foo;Prelude.(,,,,, ... ,,,,,,,,);Foo.Foo.bar
LOL!!!!
The fiddly bit is going to be deciding that this isn't an instance dictionary but is actually a locally defined function ... *sigh*
Isn't the solution to change this at generation time? I would have thought it was hard to fix up later. Thanks Neil