X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.scl.compiler%2Ftests%2Forg%2Fsimantics%2Fscl%2Fcompiler%2Ftests%2Fscl%2FShortcutFusion.scl;fp=bundles%2Forg.simantics.scl.compiler%2Ftests%2Forg%2Fsimantics%2Fscl%2Fcompiler%2Ftests%2Fscl%2FShortcutFusion.scl;h=0000000000000000000000000000000000000000;hb=a8758de5bc19e5adb3f618d3038743a164f09912;hp=6423ecbef3e7689c83a1ee73786731d706c18f71;hpb=12d9af17384d960b75d58c3935d2b7b46d93e87b;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.scl.compiler/tests/org/simantics/scl/compiler/tests/scl/ShortcutFusion.scl b/bundles/org.simantics.scl.compiler/tests/org/simantics/scl/compiler/tests/scl/ShortcutFusion.scl deleted file mode 100644 index 6423ecbef..000000000 --- a/bundles/org.simantics.scl.compiler/tests/org/simantics/scl/compiler/tests/scl/ShortcutFusion.scl +++ /dev/null @@ -1,25 +0,0 @@ -data List a = Nil | Cons a (List a) - -@private -@inline -build :: (forall a. a -> (b -> a -> a) -> a) -> List b -build f = f Nil Cons - -@private -foldr :: (a -> b -> b) -> b -> List a -> b -foldr cons nil Nil = nil -foldr cons nil (Cons h t) = cons h (foldr cons nil t) - -@private -@inline -singleton :: a -> List a -singleton x = build (\nil cons -> cons x nil) - -@private -@inline -last :: List a -> a -> a -last l def = foldr (\x _ -> x) def l - -main = last (singleton "Hello") "Foo" --- -Hello \ No newline at end of file