diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2016-03-14 01:00:48 -0700 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2016-03-14 01:00:48 -0700 |
commit | 2badd89a58b9666563746d71069abf16f05709ea (patch) | |
tree | 779c9feb243fc8d0f33051cd8323fd23f912f373 /076stream.mu | |
parent | 8b095f802129f8c328a3a4dc3de4443890d34d59 (diff) | |
download | mu-2badd89a58b9666563746d71069abf16f05709ea.tar.gz |
2778 - fix all layers
Diffstat (limited to '076stream.mu')
-rw-r--r-- | 076stream.mu | 41 |
1 files changed, 0 insertions, 41 deletions
diff --git a/076stream.mu b/076stream.mu deleted file mode 100644 index c3af2ddf..00000000 --- a/076stream.mu +++ /dev/null @@ -1,41 +0,0 @@ -# new type to help incrementally read texts (arrays of characters) -container stream [ - index:number - data:address:shared:array:character -] - -def new-stream s:address:shared:array:character -> result:address:shared:stream [ - local-scope - load-ingredients - result <- new stream:type - i:address:number <- get-address *result, index:offset - *i <- copy 0 - d:address:address:shared:array:character <- get-address *result, data:offset - *d <- copy s -] - -def rewind-stream in:address:shared:stream -> in:address:shared:stream [ - local-scope - load-ingredients - x:address:number <- get-address *in, index:offset - *x <- copy 0 -] - -def read-line in:address:shared:stream -> result:address:shared:array:character, in:address:shared:stream [ - local-scope - load-ingredients - idx:address:number <- get-address *in, index:offset - s:address:shared:array:character <- get *in, data:offset - next-idx:number <- find-next s, 10/newline, *idx - result <- copy-range s, *idx, next-idx - *idx <- add next-idx, 1 # skip newline -] - -def end-of-stream? in:address:shared:stream -> result:boolean [ - local-scope - load-ingredients - idx:number <- get *in, index:offset - s:address:shared:array:character <- get *in, data:offset - len:number <- length *s - result <- greater-or-equal idx, len -] |