@@ -39,7 +39,7 @@ data RawMemory : Effect where
40do_malloc : Nat -> IOExcept String Ptr
40do_malloc : Nat -> IOExcept String Ptr
41do_malloc size with (fromInteger (cast size) == size)
41do_malloc size with (fromInteger (cast size) == size)
42− | True = do ptr <- ioe_lift $ mkForeign (FFun "malloc" [FInt] FPtr) (cast size)
42+ | True = do ptr <- ioe_lift $ mkForeign (FFun "malloc" [FInt] FPtr) (fromInteger $ cast size)
43 fail <- ioe_lift $ nullPtr ptr
43 fail <- ioe_lift $ nullPtr ptr
44 if fail then ioe_fail "Cannot allocate memory"
44 if fail then ioe_fail "Cannot allocate memory"
45 else return ptr
45 else return ptr
@@ -49,7 +49,7 @@ private
49do_memset : Ptr -> Nat -> Bits8 -> Nat -> IO ()
49do_memset : Ptr -> Nat -> Bits8 -> Nat -> IO ()
50do_memset ptr offset c size
50do_memset ptr offset c size
51 = mkForeign (FFun "idris_memset" [FPtr, FInt, FChar, FInt] FUnit)
51 = mkForeign (FFun "idris_memset" [FPtr, FInt, FChar, FInt] FUnit)
52− ptr (cast offset) c (cast size)
52+ ptr (fromInteger $ cast offset) c (fromInteger $ cast size)
55do_free : Ptr -> IO ()
55do_free : Ptr -> IO ()
@@ -59,13 +59,13 @@ private
59do_memmove : Ptr -> Ptr -> Nat -> Nat -> Nat -> IO ()
59do_memmove : Ptr -> Ptr -> Nat -> Nat -> Nat -> IO ()
60do_memmove dest src dest_offset src_offset size
60do_memmove dest src dest_offset src_offset size
61 = mkForeign (FFun "idris_memmove" [FPtr, FPtr, FInt, FInt, FInt] FUnit)
61 = mkForeign (FFun "idris_memmove" [FPtr, FPtr, FInt, FInt, FInt] FUnit)
62− dest src (cast dest_offset) (cast src_offset) (cast size)
62+ dest src (fromInteger $ cast dest_offset) (fromInteger $ cast src_offset) (fromInteger $ cast size)
65do_peek : Ptr -> Nat -> (size : Nat) -> IO (Vect Bits8 size)
65do_peek : Ptr -> Nat -> (size : Nat) -> IO (Vect Bits8 size)
66do_peek _ _ O = return (Prelude.Vect.Nil)
66do_peek _ _ O = return (Prelude.Vect.Nil)
67do_peek ptr offset (S n)
67do_peek ptr offset (S n)
68− = do b <- mkForeign (FFun "idris_peek" [FPtr, FInt] FChar) ptr (cast offset)
68+ = do b <- mkForeign (FFun "idris_peek" [FPtr, FInt] FChar) ptr (fromInteger $ cast offset)
69 bs <- do_peek ptr (S offset) n
69 bs <- do_peek ptr (S offset) n
70 Prelude.Monad.return (Prelude.Vect.(::) b bs)
70 Prelude.Monad.return (Prelude.Vect.(::) b bs)
@@ -73,7 +73,7 @@ private
73do_poke : Ptr -> Nat -> Vect Bits8 size -> IO ()
73do_poke : Ptr -> Nat -> Vect Bits8 size -> IO ()
74do_poke _ _ [] = return ()
74do_poke _ _ [] = return ()
75do_poke ptr offset (b::bs)
75do_poke ptr offset (b::bs)
76− = do mkForeign (FFun "idris_poke" [FPtr, FInt, FChar] FUnit) ptr (cast offset) b
76+ = do mkForeign (FFun "idris_poke" [FPtr, FInt, FChar] FUnit) ptr (fromInteger $ cast offset) b
77 do_poke ptr (S offset) bs
77 do_poke ptr (S offset) bs
79instance Handler RawMemory (IOExcept String) where
79instance Handler RawMemory (IOExcept String) where