[Haskell-cafe] Re: MPTCs and rigid variables

2007-03-07 Thread apfelmus
Claus Reinke wrote: ps. i was somewhat shocked to read that SPJ wants FDs gone. Why? Simon has good taste. :) de gustibus non est disputandum ;) FD have uses and problems and AT have uses and problems. starting anew with the latter doesn't fix the problems, it just changes their form.

Re: [Haskell-cafe] Re: MPTCs and rigid variables

2007-03-07 Thread mm
F, FD, FC, AT, SPJ ;) WTH does it mean? On Wed, Mar 07, 2007 at 10:12:11AM +0100, [EMAIL PROTECTED] wrote: Claus Reinke wrote: ps. i was somewhat shocked to read that SPJ wants FDs gone. Why? Simon has good taste. :) de gustibus non est disputandum ;) FD have uses and problems

Re: [Haskell-cafe] Re: MPTCs and rigid variables

2007-03-07 Thread Claus Reinke
hi mm (?-), F, FD, FC, AT, SPJ ;) WTH does it mean? sorry about this acronymitis :) there was a lengthy debate about some of these things in the context of haskell' a year or so ago, and i just fell back into the mood, forgetting to explain my acronyms before using them again F: System

Re: [Haskell-cafe] Re: MPTCs and rigid variables

2007-03-07 Thread Iavor Diatchki
Hello, On 3/7/07, Claus Reinke [EMAIL PROTECTED] wrote: AT: associated types, as in GHC ATs are not in any of the official GHC releases... Are they in the CVS head? -Iavor ___ Haskell-Cafe mailing list Haskell-Cafe@haskell.org

Re: [Haskell-cafe] Re: MPTCs and rigid variables

2007-03-07 Thread Claus Reinke
ATs are not in any of the official GHC releases... Are they in the CVS head? darcs, these days;-) but yes, from 6.7. see: announcement http://article.gmane.org/gmane.comp.lang.haskell.general/14447 main? info page http://haskell.org/haskellwiki/GHC/Indexed_types ghc status, with new features

RE: [Haskell-cafe] Re: MPTCs and rigid variables

2007-03-07 Thread Simon Peyton-Jones
| ATs are not in any of the official GHC releases... Are they in the CVS head? The HEAD has fully-implemented associated *data types*, but not associated *type synonyms*. We're working on the latter, quite hard. As Claus says, the place to look is here

[Haskell-cafe] RE: MPTCs and rigid variables

2007-03-03 Thread C Rodrigues
{-# OPTIONS_GHC -fglasgow-exts #-} class Foo a b | a - b where foo :: Foo b c = a - Maybe c instance Foo String () where foo _ = Nothing instance Foo Int String where foo 4 = Just (); foo _ = Nothing There appears to be a type-safe way to use unsafeCoerce# for this: import

Re: [Haskell-cafe] RE: MPTCs and rigid variables

2007-03-03 Thread David House
On 03/03/07, C Rodrigues [EMAIL PROTECTED] wrote: class Foo a b | a - b where foo :: a - FooBox b data FooBox b = forall c. Foo b c = FooBox (Maybe c) Existential boxes is indeed the method I've used to tackle this in practice. However, it's kind of annoying, hence my email asking whether