Minor changes to README.
[vvhitespace] / stdlib / README.md
index e455d3c..b04f08e 100644 (file)
@@ -14,8 +14,8 @@ stack manipulations by allowing easy access to elements deep on the stack.
 Similarly, `slurp` and `spew` help move bulk data between the stack and heap.
 
 User interactions were also targeted. The included `printf` function provides a
 Similarly, `slurp` and `spew` help move bulk data between the stack and heap.
 
 User interactions were also targeted. The included `printf` function provides a
-variety of substitutions to ease user interactions. For user input, `get user
-string` and `atoi` allow easy creation of basic user interfaces.
+variety of substitutions to ease user interactions. For user input,
+`get user string` and `atoi` allow easy creation of basic user interfaces.
 
 The library includes a variety of bitwise logic functions as well as heap
 manipulation functions and a handful of math functions including a random
 
 The library includes a variety of bitwise logic functions as well as heap
 manipulation functions and a handful of math functions including a random
@@ -78,9 +78,6 @@ to use the function.
 
 # Resource Reservations #
 
 
 # Resource Reservations #
 
-Since all labels share a global namespace, the standard library makes the
-following reservations:
-
 
 ## Entry Points ##
 
 
 ## Entry Points ##
 
@@ -98,6 +95,7 @@ header comment for each function to learn the call and return stack.
           10000 ----- random                        (math.pvvs)
           10001 ----- absolute value                (math.pvvs)
           10010 ----- greatest common divisor       (math.pvvs)
           10000 ----- random                        (math.pvvs)
           10001 ----- absolute value                (math.pvvs)
           10010 ----- greatest common divisor       (math.pvvs)
+          10011 ----- fastrand                      (math.pvvs)
          011xxx - heap functions
           11000 ----- memset                        (heap.pvvs)
           11001 ----- memcpy                        (heap.pvvs)
          011xxx - heap functions
           11000 ----- memset                        (heap.pvvs)
           11001 ----- memcpy                        (heap.pvvs)
@@ -139,6 +137,9 @@ header comment for each function to learn the call and return stack.
 
 ## Labels ##
 
 
 ## Labels ##
 
+Since all labels share a global namespace, the standard library makes the
+following reservations:
+
     00000000 0xxxxxxx - reserved for stdlib function entry points
     00000000 1xxxxxxx - available for use in user programs
     0xxxxxxx xxxxxxxx - reserved for private use by stdlib
     00000000 0xxxxxxx - reserved for stdlib function entry points
     00000000 1xxxxxxx - available for use in user programs
     0xxxxxxx xxxxxxxx - reserved for private use by stdlib
@@ -148,11 +149,11 @@ header comment for each function to learn the call and return stack.
 ## Heap and Pointers ##
 
 The first 16 heap addresses (`0-15`) are reserved when using the stdlib.
 ## Heap and Pointers ##
 
 The first 16 heap addresses (`0-15`) are reserved when using the stdlib.
-Within that reservation, heap[0] is used by `random` and the block
-heap[1]-heap[15] by the stack rotation subroutines which time-share
+Within that reservation, `heap[0]` is used by `random` and the block
+`heap[1]`-`heap[15]` by the stack rotation subroutines which time-share
 pseudo-registers between the various stdlib subroutines.
 
 pseudo-registers between the various stdlib subroutines.
 
-By convention, chosen since no function other than `random` should use heap[0],
+By convention, chosen since no function other than `random` should use `heap[0],`
 functions which return a pointer will use the address `0` to represent a `NULL`
 pointer.
 
 functions which return a pointer will use the address `0` to represent a `NULL`
 pointer.
 
@@ -166,18 +167,16 @@ Be cautious when pushing constants in your code for use as bit arrays. Due to
 the mismatch between the VVhitespace language's sign-magnitude representation
 of integers and the interpreter's internal twos-complement representation, bit
 arrays with a leading `1` (i.e. negative numbers) may appear quite different
 the mismatch between the VVhitespace language's sign-magnitude representation
 of integers and the interpreter's internal twos-complement representation, bit
 arrays with a leading `1` (i.e. negative numbers) may appear quite different
-then expected in your source code.
+than expected in your source code.
 
 For example, to push a 64-bit array of all `1`'s on to the stack we must push
 
 For example, to push a 64-bit array of all `1`'s on to the stack we must push
-`SSTTN`, or `-1`, not
-`SSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTN`, or
-`2^65-1`.
+`SSTTN`, or `-1`.
 
 
 ## Extending Heap Reservation ##
 
 By default, the stdlib uses the first 16 heap addresses. All heap access (other
 
 
 ## Extending Heap Reservation ##
 
 By default, the stdlib uses the first 16 heap addresses. All heap access (other
-than heap[0] as a seed) occurs through `stackrotate` and `stackrotatereverse`.
+than `heap[0]` as a seed) occurs through `stackrotate` and `stackrotatereverse`.
 Edit these functions to increase the stdlib's heap reservation.
 
 The remainder of the stdlib is written to automatically use the new allocation.
 Edit these functions to increase the stdlib's heap reservation.
 
 The remainder of the stdlib is written to automatically use the new allocation.