[Haskell-cafe] Re: OOHaskell problems

Jason Dagit dagit at eecs.oregonstate.edu
Sat Oct 7 03:24:59 EDT 2006


On 10/3/06, oleg at pobox.com <oleg at pobox.com> wrote:
>
> > I wanted to try using OOHaskell as a library, but I've run into some
> > problems I don't understand.
> > I downloaded the copy from:
> > http://homepages.cwi.nl/~ralf/OOHaskell/
>
> both HList and OOHaskell are now available via DARCS
>         http://darcs.haskell.org/HList/
>         http://darcs.haskell.org/OOHaskell/
>
> I admit quite a few imports within these libraries are unqualified
> (e.g., `import Record' rather than `import HList.Record' or probably
> better `import Data.HList.Record'). Perhaps that's what is causing
> your package problems. Incidentally, adding the full qualification
> forces us to consider under which tree to put HList. Directly under
> Data?  Perhaps some other place would be more appropriate?

I took Bulat's suggestion and moved things in HList around so that it
was Data.HList.  I installed Data.HList and also installed OOHaskell
from the above url.

Now I get this error when I put Shapes.hs and ShapesLub.hs in their
own 'project':

ShapesLub.hs:1:0:
    Couldn't match `HNil' against `HCons (F (Proxy Draw) (IO ())) HNil'
      Expected type: HNil
      Inferred type: HCons (F (Proxy Draw) (IO ())) HNil
    When using functional dependencies to combine
      H2ProjectByLabels ls HNil HNil HNil,
        arising from the instance declaration at Imported from Data.HList.Record
      H2ProjectByLabels (HCons (Proxy Draw) HNil)
                        HNil
                        (HCons (F (Proxy Draw) (IO ())) HNil)
                        rout,
        arising from use of `circle' at ShapesLub.hs:31:19-24


This is much closer than before.  In fact, I may even figure out the
problem myself soon :)

After I get this working I'll send in my darcs patches so someone can
look them over and maybe accept them (or tell me what to change to get
them accepted).

Thanks,
Jason


More information about the Haskell-Cafe mailing list