about summary refs log tree commit diff stats
path: root/400.mu
diff options
context:
space:
mode:
authorKartik Agaram <vc@akkartik.com>2020-07-28 21:17:32 -0700
committerKartik Agaram <vc@akkartik.com>2020-07-28 21:37:32 -0700
commitb8df5340fa55f79fd544ab130da4052ed88aca4f (patch)
tree5be4ccdb93eccfaba6e5d3b816a9e9b86f631d15 /400.mu
parente2c22ad4d9cbc99f4f256559819650c4d74261af (diff)
downloadmu-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.mu4
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