[Haskell] Re: help with some basic code that doesn't work
Tomasz Zielonka
tomasz.zielonka at gmail.com
Mon Feb 14 06:53:47 EST 2005
On Mon, Feb 14, 2005 at 12:36:22PM +0100, Remi Turk wrote:
> > Now that this topic is brought up...
> >
> > Occasionally I would need to define recursive datatypes
> > using an explicit fixed-point operator, such as:
> >
> > > data Fix f = In (f (Fix f)) deriving (Show, Eq)
> > > data L a x = Nil | Cons a x deriving (Show, Eq)
> >
> > However, Haskell was not able to derive from Fix f any
> > instances.
> >
> [snip]
> >
> > This is rather unsatisfactory, because I would not be able
> > to inspect values of type Fix f in the interpreter. Is there
> > a way to get around this?
>
> Funny this comes up at this time, as Fix was on-topic yesterday
> at #haskell. One way to make Fix an instance of Show/Eq is this
> (based on http://www.haskell.org/hawiki/PreludeExts, where Fix is
> called Rec):
It's even more funny - just yesterday I wanted to derive Show and Read
for a similar datatype :)
Best regards
Tomasz
--
Szukamy programisty C++ i Haskell'a: http://tinyurl.com/5mw4e
More information about the Haskell
mailing list