@@ -417,8 +417,16 @@ elabVal info aspat tm_in
418 let tm = addImpl i tm_in
418 let tm = addImpl i tm_in
419 logLvl 10 (showImp True tm)
419 logLvl 10 (showImp True tm)
421+ -- * ordinary elaboration
422+ -- * elaboration as a Set
423+ -- * elaboration as a function a -> b
425+ ((tm', defer, is), _) <-
426+ tctry (elaborate ctxt (MN 0 "val") (Set (UVal 0)) []
427+ (build i info aspat (MN 0 "val") tm))
420− ((tm', defer, is), _) <- tclift $ elaborate ctxt (MN 0 "val") infP []
428+ (elaborate ctxt (MN 0 "val") infP []
421− (build i info aspat (MN 0 "val") (infTerm tm))
429+ (build i info aspat (MN 0 "val") (infTerm tm)))
422 logLvl 3 ("Value: " ++ show tm')
430 logLvl 3 ("Value: " ++ show tm')
423 let vtm = getInferTerm tm'
431 let vtm = getInferTerm tm'
424 logLvl 2 (show vtm)
432 logLvl 2 (show vtm)
@@ -533,8 +541,9 @@ elabClause info tcgen (_, PWith fc fname lhs_in withs wval_in withblock)
534 let lhs = addImpl i lhs_in
542 let lhs = addImpl i lhs_in
535 logLvl 5 ("LHS: " ++ showImp True lhs)
543 logLvl 5 ("LHS: " ++ showImp True lhs)
544+ ((lhs', dlhs, []), _) <-
536− ((lhs', dlhs, []), _) <- tclift $ elaborate ctxt (MN 0 "patLHS") infP []
545+ tclift $ elaborate ctxt (MN 0 "patLHS") infP []
537− (erun fc (buildTC i info True tcgen fname (infTerm lhs)))
546+ (erun fc (buildTC i info True tcgen fname (infTerm lhs)))
538 let lhs_tm = orderPats (getInferTerm lhs')
547 let lhs_tm = orderPats (getInferTerm lhs')
539 let lhs_ty = getInferType lhs'
548 let lhs_ty = getInferType lhs'
540 let ret_ty = getRetTy lhs_ty
549 let ret_ty = getRetTy lhs_ty