aboutsummaryrefslogtreecommitdiff
path: root/GraphStore.icl
diff options
context:
space:
mode:
authorCamil Staps2016-07-01 08:30:37 +0200
committerCamil Staps2016-07-01 08:30:37 +0200
commit4d7a4800346e3084c62df811bde83aa56fd7de9d (patch)
treeada02323e0c6a8f800c3f215781e4e415235d6a3 /GraphStore.icl
parentDescriptors, Program (diff)
Fixes
Diffstat (limited to 'GraphStore.icl')
-rw-r--r--GraphStore.icl7
1 files changed, 4 insertions, 3 deletions
diff --git a/GraphStore.icl b/GraphStore.icl
index e7f0be6..3d966c0 100644
--- a/GraphStore.icl
+++ b/GraphStore.icl
@@ -3,6 +3,7 @@ implementation module ABC.GraphStore
import StdEnv
import ABC.Machine
+import ABC.Misc
:: GraphStore = { nodes :: [Node]
, free :: Int
@@ -16,13 +17,13 @@ where
get :: NodeId [Node] -> Node
get 0 [n:_] = n
get _ [] = abortn "gs_get: index too large"
- get i [_:s] = gs_get (i-1) s
+ get i [_:s] = get (i-1) s
gs_init :: GraphStore
gs_init = {nodes=[], free=STORE_SIZE}
gs_newnode :: GraphStore -> (GraphStore, NodeId)
-gs_newnode {free=:0} = abortn "gs_newnode: graph store is full"
+gs_newnode {free=0} = abortn "gs_newnode: graph store is full"
gs_newnode {nodes,free} = ({nodes=[Empty:nodes], free=free-1}, free)
gs_update :: NodeId (Node -> Node) GraphStore -> GraphStore
@@ -34,4 +35,4 @@ where
update :: Int [Node] (Node -> Node) -> [Node]
update 0 [n:s] f = [f n:s]
- update i [n:s] f = [n:update (i-1) f s]
+ update i [n:s] f = [n:update (i-1) s f]