Commit fe8b2606 authored by Björn Peemöller 's avatar Björn Peemöller
Browse files

Experimental implementation of functional patterns after lifting

parent d6c0a540
......@@ -212,11 +212,14 @@ checkModule opts mdl = do
transModule :: Options -> CompEnv CS.Module -> IO (CompEnv IL.Module)
transModule opts mdl = do
desugared <- dumpCS DumpDesugared $ desugar True mdl
simplified <- dumpCS DumpSimplified $ simplify desugared
lifted <- dumpCS DumpLifted $ lift simplified
il <- dumpIL DumpTranslated $ ilTrans lifted
ilCaseComp <- dumpIL DumpCaseCompleted $ completeCase il
desugared <- dumpCS DumpDesugared $ desugar False mdl
simplified <- dumpCS DumpSimplified $ simplify desugared
lifted <- dumpCS DumpLifted $ lift simplified
desugared2 <- dumpCS DumpDesugared $ desugar True lifted
simplified2 <- dumpCS DumpSimplified $ simplify desugared2
lifted2 <- dumpCS DumpLifted $ lift simplified2
il <- dumpIL DumpTranslated $ ilTrans lifted2
ilCaseComp <- dumpIL DumpCaseCompleted $ completeCase il
return ilCaseComp
where
dumpCS = dumpWith opts CS.ppModule
......
f x = g x &> x
where
g (h y) = success
h y = x
main = f z
where z free
{-
f2 x = g2 x x &> x
g2 x1 z = h2 x2 y =:<= z &> x1 =:= x2 &> success
where x2, y free
h2 x y = x
main2 = f2 z
where z free
f3 x = g3 x x &> x
g3 x (h3 x y) = success
h3 x y = x
main3 = f3 z
where z free
patid x (id x) = x
f5 (id x) (id x) = x
-}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment