about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorKartik Agaram <vc@akkartik.com>2019-03-29 00:25:45 -0700
committerKartik Agaram <vc@akkartik.com>2019-03-29 00:25:45 -0700
commit3365620f202a684322f7b68bc6822293c9b8b1a9 (patch)
treef8cd99146b643921e3bf5ebf1625bd301719988d
parent324d40229a0497a950e096237f2aef65e478af4c (diff)
downloadmu-3365620f202a684322f7b68bc6822293c9b8b1a9.tar.gz
5031
-rw-r--r--subx/Readme.md19
1 files changed, 10 insertions, 9 deletions
diff --git a/subx/Readme.md b/subx/Readme.md
index 0e73f5e7..92e49d18 100644
--- a/subx/Readme.md
+++ b/subx/Readme.md
@@ -594,8 +594,9 @@ Here's what I've built so far:
 
 ### primitives built atop system calls
 
-_(Where these return compound objects that don't fit in a register, the caller
-usually passes in allocated memory for it.)_
+_(Compound arguments are usually passed in by reference. Where the results are
+compound objects that don't fit in a register, the caller usually passes in
+allocated memory for it.)_
 
 #### assertions for tests
 * `check-ints-equal`: fails current test if given ints aren't equal
@@ -630,7 +631,7 @@ usually passes in allocated memory for it.)_
 * `write-slice`: slice -> buffered-file
 * `write-stream-buffered`: stream -> buffered-file
 * `flush`: buffered-file
-* `print-byte`:  # f : (address buffered-file), n : int -> void
+* `print-byte`:  buffered-file, int
 
 #### reading from disk
 * `read-byte`: buffered-file -> byte
@@ -655,17 +656,17 @@ usually passes in allocated memory for it.)_
 #### tokenization
 
 from a stream:
-* `next-token`: (address stream), byte -> (address slice)
-* `skip-chars-matching`: (address stream), delimiter : byte
-* `skip-chars-not-matching`: (address stream), delimiter : byte
+* `next-token`: stream, delimiter byte -> slice
+* `skip-chars-matching`: stream, delimiter byte
+* `skip-chars-not-matching`: stream, delimiter byte
 
 from a slice:
-* `next-token-from-slice`: start, end, delimiter -> (address slice)
+* `next-token-from-slice`: start, end, delimiter byte -> slice
   Given a slice and a delimiter byte, returns a new slice inside the input
   that ends at the delimiter byte.
 
-* `skip-chars-matching-in-slice`: curr, end, delimiter -> new-curr/EAX
-* `skip-chars-not-matching-in-slice`:  curr, end, delimiter -> new-curr/EAX
+* `skip-chars-matching-in-slice`: curr, end, delimiter byte -> new-curr (in `EAX`)
+* `skip-chars-not-matching-in-slice`:  curr, end, delimiter byte -> new-curr (in `EAX`)
 
 ## Known issues