equal
deleted
inserted
replaced
506 |
506 |
507 newSTRef = Data.STRef.newSTRef; |
507 newSTRef = Data.STRef.newSTRef; |
508 readSTRef = Data.STRef.readSTRef; |
508 readSTRef = Data.STRef.readSTRef; |
509 writeSTRef = Data.STRef.writeSTRef; |
509 writeSTRef = Data.STRef.writeSTRef; |
510 |
510 |
511 newArray :: (Int, Int) -> a -> ST s (STArray s a); |
511 newArray :: Int -> a -> ST s (STArray s a); |
512 newArray = Data.Array.ST.newArray; |
512 newArray k = Data.Array.ST.newArray (0, k); |
513 |
513 |
514 newListArray :: (Int, Int) -> [a] -> ST s (STArray s a); |
514 newListArray :: [a] -> ST s (STArray s a); |
515 newListArray = Data.Array.ST.newListArray; |
515 newListArray xs = Data.Array.ST.newListArray (0, length xs) xs; |
|
516 |
|
517 newFunArray :: Int -> (Int -> a) -> ST s (STArray s a); |
|
518 newFunArray k f = Data.Array.ST.newListArray (0, k) (map f [0..k-1]); |
516 |
519 |
517 lengthArray :: STArray s a -> ST s Int; |
520 lengthArray :: STArray s a -> ST s Int; |
518 lengthArray a = Control.Monad.liftM snd (Data.Array.ST.getBounds a); |
521 lengthArray a = Control.Monad.liftM snd (Data.Array.ST.getBounds a); |
519 |
522 |
520 readArray :: STArray s a -> Int -> ST s a; |
523 readArray :: STArray s a -> Int -> ST s a; |
532 code_const return (Haskell "return") |
535 code_const return (Haskell "return") |
533 code_const Heap_Monad.raise' (Haskell "error") |
536 code_const Heap_Monad.raise' (Haskell "error") |
534 |
537 |
535 hide_const (open) Heap heap guard raise' fold_map |
538 hide_const (open) Heap heap guard raise' fold_map |
536 |
539 |
|
540 export_code return in Haskell file "/tmp/" |
|
541 |
537 end |
542 end |