on master help sign in
Convert holes to patterns when evaluating at the prompt, for display
commit2378a62fcb86b9de41376d1523377f852843a1f4 authorEdwin Brady <eb@cs.st-andrews.ac.uk> dateMon 10 Oct 2011, 12:18 (15 years ago) parent012b595
2 files changed+7−4
interp.mi+6−3 src/Idris/ElabDecls.hs+1−1
interp.mi+6−3
@@ -69,11 +69,14 @@ eDouble' : {G : Vect Ty n} ->
6969 Expr G (TyFun TyNat TyNat);
7070eDouble' = Lam (App (App eAdd (Var fO)) (Var fO));
7171
72−eProg : {G : Vect Ty n} -> Expr G (TyFun TyNat TyNat);
73−eProg = Lam (Bind (App eDouble (Var fO))
72+-- Exercise elaborator: Complicated way of doing \x y => x*4 + y*2
73+
74+eProg : {G : Vect Ty n} -> Expr G (TyFun TyNat (TyFun TyNat TyNat));
75+eProg = Lam (Lam
76+ (Bind (App eDouble (Var (fS fO)))
7477 (\x => Bind (App eDouble (Var fO))
7578 (\y => Bind (App eDouble (Val x))
76− (\z => App (App eAdd (Val y)) (Val z)))));
79+ (\z => App (App eAdd (Val y)) (Val z))))));
7780
7881test : Nat;
7982test = interp Empty eAdd (S (S O)) (S (S O));
src/Idris/ElabDecls.hs+1−1
@@ -62,7 +62,7 @@ elabVal :: PTerm -> Idris (Term, Type)
6262elabVal tm
6363 = do ctxt <- getContext
6464 (tm', _) <- tclift $ elaborate ctxt (MN 0 "val") infP
65− (build False (infTerm tm))
65+ (build True (infTerm tm))
6666 let vtm = getInferTerm tm'
6767 iLOG (show vtm)
6868 tclift $ recheck ctxt [] vtm