on master help sign in
added c test using modifyIORef'
01fdc75Rui Barreiro
test/TestData.hs+2−1
@@ -72,7 +72,8 @@ testFamiliesData = [
72 ( 18, ANY ),
72 ( 18, ANY ),
73 ( 19, ANY ),
73 ( 19, ANY ),
74 ( 20, ANY ),
74 ( 20, ANY ),
75− ( 21, C_CG )]),
75+ ( 21, C_CG ),
76+ ( 22, NODE_CG )]),
76 ("bignum", "Bignum",
77 ("bignum", "Bignum",
77 [ ( 1, ANY ),
78 [ ( 1, ANY ),
78 ( 2, ANY )]),
79 ( 2, ANY )]),
test/basic021/basic021_2.idrnew file+13
@@ -0,0 +1,13 @@
1+import Data.IORef
2+
3+count : HasReference ffi => Nat -> IORef Integer -> IO' ffi ()
4+count Z ref
5+ = do x <- readIORef' ref
6+ printLn' x
7+count (S k) ref
8+ = do modifyIORef' ref (+1)
9+ count k ref
10+
11+main : IO ()
12+main = do r <- newIORef' 0
13+ count 1000 r
test/basic021/expected+1
@@ -1 +1,2 @@
11000000
11000000
2+1000
test/basic021/run+3−1
@@ -1,4 +1,6 @@
1#!/usr/bin/env bash
1#!/usr/bin/env bash
2${IDRIS:-idris} $@ basic021.idr -o basic021
2${IDRIS:-idris} $@ basic021.idr -o basic021
3+${IDRIS:-idris} $@ basic021_2.idr -o basic021_2
3./basic021
4./basic021
5+./basic021_2
4−rm -f basic021 *.ibc
6+rm -f basic021 basic021_2 *.ibc