diff options
Diffstat (limited to 'html-test')
| -rw-r--r-- | html-test/src/AdvanceTypes.hs | 14 | 
1 files changed, 14 insertions, 0 deletions
diff --git a/html-test/src/AdvanceTypes.hs b/html-test/src/AdvanceTypes.hs index 939fdf07..c89d7396 100644 --- a/html-test/src/AdvanceTypes.hs +++ b/html-test/src/AdvanceTypes.hs @@ -4,6 +4,20 @@  {-# LANGUAGE TypeOperators #-}  module AdvanceTypes where + +data RevList a = RNil | RevList a :> a + +  data Pattern :: [*] -> * where    Nil :: Pattern '[]    Cons :: Maybe h -> Pattern t -> Pattern (h ': t) + + +-- Unlike (:), (:>) does not have to be quoted on type level. +data RevPattern :: RevList * -> * where +    RevNil :: RevPattern RNil +    RevCons :: Maybe h -> RevPattern t -> RevPattern (t :> h) + + +data Tuple :: (*, *) -> * where +    Tuple :: a -> b -> Tuple '(a, b)  | 
