Looks very nice!

thanks!-)
it is far from a full-blown solution to the question in the subject, but it has 
its uses.

However, I'm doing my learning on ghci and got an error when I tried to load it.

Is this hugs only, or should I try harder?

I was using Hugs when I wrote that, but it works in GHC almost as well. the
error message really ought to point to the option needed, which is 
-fglasgow-exts

if you don't want to set the options by hand, just add the following pragma to the top of R.hs:

{-# OPTIONS_GHC -fglasgow-exts #-}

more annoying is that ghci will ignore the default directive, so you'll need to
give explicit types when you want representations:

   *Main> foldr (+) 0 [1..4]
   10
   *Main> foldr (+) 0 [1..4] :: R Int
   (1 + (2 + (3 + (4 + 0))))
   *Main> map (*) [1,2]

   <interactive>:1:0:
       No instance for (Show (t -> t))
         arising from use of `print' at <interactive>:1:0-12
       Possible fix: add an instance declaration for (Show (t -> t))
       In the call (print it)
       In the expression: print it
       In a 'do' expression: print it
   *Main> map (*) [1,2] :: [R Int -> R Int]
   [\x->(1 * x),\x->(2 * x)]

claus

2007/1/11, Malcolm Wallace <[EMAIL PROTECTED]>:
Bulat Ziganshin <[EMAIL PROTECTED]> wrote:

> tphyahoo wrote:
>
> > *UnixTools> explodeLambda( map (*) [1,2] )
> >[(\x ->> 1*x),(\x -> 2*x)]

Have a play with this, from Claus Reinke:
    http://www.cs.kent.ac.uk/people/staff/cr3/toolbox/haskell/R.hs


Regards,
    Malcolm
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to