Ashley Yakeley wrote:
In article 
<[EMAIL PROTECTED]>,
 David Menendez <[EMAIL PROTECTED]> wrote:
  
data Vec 0   a = Nil
data Vec s v a = Cons a (v a)
      
Some aliases for convenience:
    
type Vec 1 = Vec s Vec 0
type Vec 2 = Vec s Vec 1
type Vec 3 = Vec s Vec 2
type Vec 4 = Vec s Vec 3
      

I don't understand this at all, and neither does GHC.
  
You seem to have lost the underscores :-)
It can be written without underscores as:

 data Vec0 a = Nil
 data VecS v a = Cons a (v a)

 type Vec1 = VecS Vec0
 type Vec2 = VecS Vec1


All the best,
 Daan Leijen

Btw. David: nice example of useful GADT use!




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

Reply via email to