[Haskell-cafe] Re: Modelling Java Interfaces with Existential data types

2004-06-08 Thread Ralf Laemmel
Hi Mike, Let's redirect to Haskell cafe. http://www.mail-archive.com/glasgow-haskell-users%40haskell.org/msg06288.html http://www.mail-archive.com/glasgow-haskell-users%40haskell.org/msg06289.html thanks for your time to look into the HList paper. 1. It looks like your HList is basically a

Re: [Haskell-cafe] Join and it's relation to = and return

2004-06-08 Thread Ron de Bruijn
I am pretty sure, that = is to monads what * is to for example natural numbers, but I don't know what the inverse of = is. And I can't really find it anywhere on the web(papers, websites, not a single sole does mention it. It should have type, at least that's what I think: inv::M a-M b I say

Re: [Haskell-cafe] Join and it's relation to = and return

2004-06-08 Thread Iavor S. Diatchki
hi ron, here are the relations between the two formulations of monads: (using haskell notation) map f m = m = (return . f) join m = m = id m = f = join (fmap f m) there are quite a few general concepts that you need to understand in what sense monads are monoids, but to

[Haskell-cafe] Modelling Java Interfaces with Existential data types

2004-06-08 Thread Tom Pledger
Hi. Another way is to take advantage of Haskell's laziness: class Foo a where foo :: a - Int data Oof1 = Oof1 Int instance Foo Oof1 where foo (Oof1 i) = i data Oof2 = Oof2 Int instance Foo Oof2 where foo (Oof2 i) = i list1 = [foo (Oof1 10), foo (Oof2 20)] That's all it takes. The applications