Commit fe8b2606 by Björn Peemöller

### 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!