diff options
author | Kartik Agaram <vc@akkartik.com> | 2020-07-28 21:17:32 -0700 |
---|---|---|
committer | Kartik Agaram <vc@akkartik.com> | 2020-07-28 21:37:32 -0700 |
commit | b8df5340fa55f79fd544ab130da4052ed88aca4f (patch) | |
tree | 5be4ccdb93eccfaba6e5d3b816a9e9b86f631d15 /400.mu | |
parent | e2c22ad4d9cbc99f4f256559819650c4d74261af (diff) | |
download | mu-b8df5340fa55f79fd544ab130da4052ed88aca4f.tar.gz |
6682 - experimental support for streams and slices
Slices contain `addr`s so the same rules apply to them. They can't be stored in structs and so on. But they may be an efficient temporary while parsing. Streams are currently a second generic type after arrays, and gradually strengthening the case to just bite the bullet and support first-class generics in Mu.
Diffstat (limited to '400.mu')
-rw-r--r-- | 400.mu | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/400.mu b/400.mu index 83661b56..369e29cd 100644 --- a/400.mu +++ b/400.mu @@ -78,7 +78,7 @@ sig copy-handle src: (handle _T), dest: (addr handle _T) #sig allocate-array ad: (addr allocation-descriptor), n: int, out: (addr handle _) sig copy-array ad: (addr allocation-descriptor), src: (addr array _T), out: (addr handle array _T) #sig zero-out start: (addr byte), size: int -sig new-stream ad: (addr allocation-descriptor), length: int, elemsize: int, out: (addr handle stream _) +#sig new-stream ad: (addr allocation-descriptor), length: int, elemsize: int, out: (addr handle stream _) sig read-line-buffered f: (addr buffered-file), s: (addr stream byte) sig read-line f: (addr stream byte), s: (addr stream byte) sig slice-empty? s: (addr slice) -> result/eax: boolean @@ -156,4 +156,4 @@ sig enable-keyboard-immediate-mode sig enable-keyboard-type-mode sig read-key -> result/eax: byte sig open filename: (addr array byte), write?: boolean, out: (addr handle buffered-file) -sig size in: (addr array _) -> result/eax: int +#sig size in: (addr array _) -> result/eax: int |