diff --git a/fun/semantics.rkt b/fun/semantics.rkt index 870b07b..b303b77 100644 --- a/fun/semantics.rkt +++ b/fun/semantics.rkt @@ -14,7 +14,7 @@ let let* if and or not true false eq? equal? begin - ivec vlen vec-ref + ivec vec-len vec-ref pair left right pair? + - * / zero? @@ -77,17 +77,17 @@ (test/pred L (lambda (v) (not (equal~? v R))))])) (define ivec vector-immutable) -(define vlen vector-length) +(define vec-len vector-length) (define vec-ref vector-ref) (define (pair a b) (ivec a b)) (define (left p) - (unless (= (vlen p) 2) + (unless (= (vec-len p) 2) (error 'left "argument must be a pair: ~a" p)) (vec-ref p 0)) (define (right p) - (unless (= (vlen p) 2) + (unless (= (vec-len p) 2) (error 'right "argument must be a pair: ~a" p)) (vec-ref p 1)) -(define (pair? v) (and (vector? v) (= (vlen v) 2))) +(define (pair? v) (and (vector? v) (= (vec-len v) 2))) diff --git a/scribblings/smol.scrbl b/scribblings/smol.scrbl index 3d114a4..a21d36e 100644 --- a/scribblings/smol.scrbl +++ b/scribblings/smol.scrbl @@ -54,12 +54,12 @@ exotic quoted forms. (If you don't know what these are, ignore them.) @deftogether[( @defproc[(ivec (elem Any) ...) Vec] -@defproc[(vlen (expr Vec)) Number] +@defproc[(vec-len (expr Vec)) Number] @defproc[(vec-ref (vec-expr Vec) (idx-expr Number)) Any] )]{ The @code{ivec} operation builds an @emph{immutable} vector of the elements in @code{elem}. Vector elements need not be of the same -type. @code{vlen} computes its length, while @code{vec-ref} indexes +type. @code{vec-len} computes its length, while @code{vec-ref} indexes into it (starting from @code{0}). } diff --git a/state/semantics.rkt b/state/semantics.rkt index 12f5afd..b753eed 100644 --- a/state/semantics.rkt +++ b/state/semantics.rkt @@ -19,10 +19,10 @@ (define (mpair a b) (mvec a b)) (define (set-left! p v) - (unless (= (vlen p) 2) + (unless (= (vec-len p) 2) (error 'set-left! "the first argument must be a pair: ~a" p)) (vector-set! p 0 v)) (define (set-right! p v) - (unless (= (vlen p) 2) + (unless (= (vec-len p) 2) (error 'set-right! "the first argument must be a pair: ~a" p)) (vector-set! p 1 v)) diff --git a/state/tests/all.rkt b/state/tests/all.rkt index 8753de4..af33846 100644 --- a/state/tests/all.rkt +++ b/state/tests/all.rkt @@ -11,7 +11,7 @@ (test (left p) "x") (test (right p) "y") -(test (vlen p) 2) +(test (vec-len p) 2) (test (pair? p) true) (test (pair? (mvec "g" "h")) true)