]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.scl.compiler/tests/org/simantics/scl/compiler/tests/scl/Proc2.scl
List the unsatisfied dependencies in CanvasContext
[simantics/platform.git] / bundles / org.simantics.scl.compiler / tests / org / simantics / scl / compiler / tests / scl / Proc2.scl
1 import "Prelude"\r
2 \r
3 data RealWorld = RealWorld\r
4 data IO a = IO (RealWorld -> (RealWorld, a))\r
5 \r
6 @inline\r
7 unIO (IO m) = m \r
8 \r
9 instance Functor IO where\r
10     @inline\r
11     fmap f x = x >>= (return . f)\r
12 \r
13 instance Monad IO where\r
14     @inline\r
15     return x = IO (\s -> (s, x))\r
16     \r
17     @inline\r
18     (IO m) >>= f = IO (\s -> do\r
19         (newS, v) = m s\r
20         unIO (f v) newS \r
21     )\r
22 \r
23 @inline\r
24 runIO :: IO a -> a\r
25 runIO m = snd (unIO m RealWorld)\r
26 \r
27 main = runIO (return (13 :: Integer))\r
28 --\r
29 13\r