Marshalling functions was: Transmitting Haskell values

C.Reinke C.Reinke at
Wed Oct 29 15:59:17 EST 2003

> >> Is [marshaling functions] something absolutely impossible in 
> >> Haskell and by what reason? Just because of strong typing (forgive
> >> my stupidity ;)? Or are there some deeper theoretical limitations?

If you're interested in some recent work here, have a look at Clean
(similar enough to Haskell), specifically their work on first-class
I/O. I gave a reference in another thread:

Then follow the references. "orthogonal persistence" is another nice
search key..

> > The big theoretical issue is whether it would provide an Eq or Show 
> > instance for -> by the backdoor.  Careful API design could avoid the
> > worst of this.

once you can do IO, you can inspect the GHC heap for "equality", or
map memory into Haskell data structures, so that's not really new ..

> What's the problem with a Show instance for ->? (Or, put another way:
> what makes the current Show instance in the Prelude harmless compared to
> a fuller implementation?)

have you tried to show a function?-) an equality based on that would
be very rough, a proper equality would be undecidable, and there are
whole worlds of other "equalities" in between.


More information about the Glasgow-haskell-users mailing list