about summary refs log tree commit diff stats
path: root/066stream.mu
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2015-07-29 14:37:57 -0700
committerKartik K. Agaram <vc@akkartik.com>2015-07-29 14:37:57 -0700
commit502d2ea540bbb66f2bb5e649c7c7743973859092 (patch)
tree583d581c6641da87378e8536ef3d87d6bbb3a6f7 /066stream.mu
parent10ffce9815b0242259730629668215b01dccbda1 (diff)
downloadmu-502d2ea540bbb66f2bb5e649c7c7743973859092.tar.gz
1883 - type-deducing in more .mu files
Diffstat (limited to '066stream.mu')
-rw-r--r--066stream.mu38
1 files changed, 19 insertions, 19 deletions
diff --git a/066stream.mu b/066stream.mu
index 36c311c1..606d77e7 100644
--- a/066stream.mu
+++ b/066stream.mu
@@ -7,38 +7,38 @@ container stream [
 recipe new-stream [
   local-scope
   result:address:stream <- new stream:type
-  i:address:number <- get-address result:address:stream/lookup, index:offset
-  i:address:number/lookup <- copy 0
-  d:address:address:array:character <- get-address result:address:stream/lookup, data:offset
-  d:address:address:array:character/lookup <- next-ingredient
-  reply result:address:stream
+  i:address:number <- get-address *result, index:offset
+  *i <- copy 0
+  d:address:address:array:character <- get-address *result, data:offset
+  *d <- next-ingredient
+  reply result
 ]
 
 recipe rewind-stream [
   local-scope
   in:address:stream <- next-ingredient
-  x:address:number <- get-address in:address:stream/lookup, index:offset
-  x:address:number/lookup <- copy 0
-  reply in:address:stream/same-as-arg:0
+  x:address:number <- get-address *in, index:offset
+  *x <- copy 0
+  reply in/same-as-arg:0
 ]
 
 recipe read-line [
   local-scope
   in:address:stream <- next-ingredient
-  idx:address:number <- get-address in:address:stream/lookup, index:offset
-  s:address:array:character <- get in:address:stream/lookup, data:offset
-  next-idx:number <- find-next s:address:array:character, 10/newline, idx:address:number/lookup
-  result:address:array:character <- string-copy s:address:array:character, idx:address:number/lookup, next-idx:number
-  idx:address:number/lookup <- add next-idx:number, 1  # skip newline
-  reply result:address:array:character
+  idx:address:number <- get-address *in, index:offset
+  s:address:array:character <- get *in, data:offset
+  next-idx:number <- find-next s, 10/newline, *idx
+  result:address:array:character <- string-copy s, *idx, next-idx
+  *idx <- add next-idx, 1  # skip newline
+  reply result
 ]
 
 recipe end-of-stream? [
   local-scope
   in:address:stream <- next-ingredient
-  idx:number <- get in:address:stream/lookup, index:offset
-  s:address:array:character <- get in:address:stream/lookup, data:offset
-  len:number <- length s:address:array:character/lookup
-  result:boolean <- greater-or-equal idx:number, len:number
-  reply result:boolean
+  idx:address:number <- get *in, index:offset
+  s:address:array:character <- get *in, data:offset
+  len:number <- length *s
+  result:boolean <- greater-or-equal idx, len
+  reply result
 ]