mono adapt

This commit is contained in:
sebastianselander 2023-03-24 19:01:33 +01:00
parent 3e31fe0ea5
commit 2566c53f58
2 changed files with 9 additions and 46 deletions

View file

@ -47,7 +47,7 @@ monoType (T.TAll _ t) = monoType t
monoType (T.TVar (T.MkTVar i)) = M.TLit "Int"
monoType (T.TLit (T.Ident i)) = M.TLit (Ident i)
monoType (T.TFun t1 t2) = M.TFun (monoType t1) (monoType t2)
monoType (T.TData _ _) = error "Not sure what this is"
monoType (T.TData (T.Ident n) t) = M.TLit (Ident (n ++ concatMap show t))
monoexpt :: T.ExpT -> M.ExpT
monoexpt (e, t) = (monoExpr e, monoType t)

View file

@ -1,46 +1,9 @@
data List (a) where {
Nil : List (a)
Cons : a -> List (a) -> List (a)
};
data Bool () where {
True : Bool ()
False : Bool ()
};
-- data Bool () where {
-- True : Bool ()
-- False : Bool ()
-- };
-- hello_world = Cons 'h' (Cons 'e' (Cons 'l' (Cons 'l' (Cons 'o' (Cons ' ' (Cons 'w' (Cons 'o' (Cons 'r' (Cons 'l' (Cons 'd' Nil)))))))))) ;
-- length : List (a) -> Int ;
-- length xs = case xs of {
-- Nil => 0;
-- Cons x xs => length xs;
-- };
-- head : List (a) -> a ;
-- head xs = case xs of {
-- Cons x xs => x;
-- };
-- firstIsOne : List (Int) -> Bool () ;
-- firstIsOne xs = case xs of {
-- Cons x xs => case x of {
-- 0 => True;
-- _ => case xs of {
-- Cons x xs => False;
-- _ => False;
-- };
-- };
-- _ => False;
-- };
-- main = firstIsOne (Cons 1 Nil);
-- test xs = case xs of {
-- 1 => 0;
-- lol => 1;
-- };
deepList xs = case xs of {
Cons Nil _ => 1 ;
_ => 0 ;
};
main = case True of {
True => 1;
False => 0;
};