diff options
Diffstat (limited to '066stream.mu')
-rw-r--r-- | 066stream.mu | 44 |
1 files changed, 0 insertions, 44 deletions
diff --git a/066stream.mu b/066stream.mu deleted file mode 100644 index 0ee3e2c1..00000000 --- a/066stream.mu +++ /dev/null @@ -1,44 +0,0 @@ -# new type to help incrementally read strings -container stream [ - index:number - data:address:array:character -] - -recipe new-stream [ - local-scope - result:address:stream <- new stream:type - 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, 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, 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, index:offset - s:address:array:character <- get *in, data:offset - len:number <- length *s - result:boolean <- greater-or-equal idx, len - reply result -] |