Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
TimWhiting committed Oct 24, 2023
1 parent 16b5b0f commit cac48f5
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 30 deletions.
6 changes: 3 additions & 3 deletions src/Core/OpenResolve.hs
Original file line number Diff line number Diff line change
Expand Up @@ -177,21 +177,21 @@ resOpen (Env penv gamma) eopen effFrom effTo tpFrom tpTo@(TFun targs _ tres) exp
if (isHandlerFree expr)
then trace ("*** remove open-none") $ -- fully total with using any operations that need evidence; just leave it as is
expr
else if (n <= 6)
else if (n <= 2)
then wrapper (resolve (nameOpenNone n)) [] -- fails in perf1c with exceeded stack size if --optmaxdup < 500 (since it prevents a tailcall)
-- expr -- fails in nim as it evidence is not cleared
else wrapperThunk (resolve (nameOpenNone 0)) []

[l] -> -- just one: used open-atN for efficiency
trace (" one handled effect; use at: " ++ show (ppType penv l)) $
if (n <= 6)
if (n <= 2)
then wrapper (resolve (nameOpenAt n)) [evIndexOf l]
else wrapperThunk (resolve (nameOpenAt 0)) [evIndexOf l]

_ -> --failure $ "Core.OpenResolve.resOpen: todo: from: " ++ show (ppType penv effFrom) ++ ", to " ++ show (ppType penv effTo)
-- ++ " with handled: " ++ show (map (ppType penv) lsFrom, map (ppType penv) lsTo)
let indices = makeVector typeEvIndex (map evIndexOf lsFrom)
in if (n <= 6)
in if (n <= 2)
then wrapper (resolve (nameOpen n)) [indices]
else wrapperThunk (resolve (nameOpen 0)) [indices]

Expand Down
27 changes: 0 additions & 27 deletions test/algeff/open-clauses.kk

This file was deleted.

0 comments on commit cac48f5

Please sign in to comment.