Mercurial > urweb
annotate tests/cargs.ur @ 624:354800878b4d
Kind polymorphism through Explify
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Sun, 22 Feb 2009 16:32:56 -0500 |
parents | 71bafe66dbe1 |
children |
rev | line source |
---|---|
adamc@239 | 1 con id = fn t :: Type => t |
adamc@239 | 2 con id2 = fn (t :: Type) => id t |
adamc@239 | 3 con id3 = fn t => id2 t |
adamc@239 | 4 |
adamc@239 | 5 con pair = fn (t :: Type) (u :: Type) => (t, u) |
adamc@239 | 6 con pair2 = fn t u => pair t u |
adamc@239 | 7 con pair3 = fn t (u :: Type) => pair2 t u |
adamc@240 | 8 |
adamc@240 | 9 con id4 (t :: Type) = t |
adamc@240 | 10 con id5 (t :: Type) :: Type = id4 t |
adamc@240 | 11 con id6 t :: Type = id5 t |
adamc@240 | 12 |
adamc@240 | 13 con pair4 t (u :: Type) = pair3 t u |
adamc@240 | 14 con pair5 t (u :: Type) :: (Type * Type) = pair4 t u |