diff --git a/src/ikarus.boot b/src/ikarus.boot index 9634267..2a7e5e7 100644 Binary files a/src/ikarus.boot and b/src/ikarus.boot differ diff --git a/src/ikarus.core.ss b/src/ikarus.core.ss index cf05581..28f722f 100644 --- a/src/ikarus.core.ss +++ b/src/ikarus.core.ss @@ -12,18 +12,7 @@ (lambda () (void))) -(primitive-set! 'fxadd1 - (lambda (n) - (if (fixnum? n) - ($fxadd1 n) - (error 'fxadd1 "~s is not a fixnum" n)))) - -(primitive-set! 'fxsub1 - (lambda (n) - (if (fixnum? n) - ($fxsub1 n) - (error 'fxsub1 "~s is not a fixnum" n)))) - + (primitive-set! 'integer->char (lambda (n) diff --git a/src/ikarus.numerics.ss b/src/ikarus.numerics.ss index 6a4d91e..562280d 100644 --- a/src/ikarus.numerics.ss +++ b/src/ikarus.numerics.ss @@ -3,16 +3,31 @@ (library (ikarus fixnums) - (export fxzero?) + (export fxzero? fxadd1 fxsub1) (import - (except (ikarus) fxzero?)) + (only (scheme) $fxadd1 $fxsub1) + (except (ikarus) fxzero? fxadd1 fxsub1)) (define fxzero? (lambda (x) (cond [(eq? x 0) #t] [(fixnum? x) #f] - [else (error 'fxzero? "~s is not a fixnum" x)])))) + [else (error 'fxzero? "~s is not a fixnum" x)]))) + + (define fxadd1 + (lambda (n) + (if (fixnum? n) + ($fxadd1 n) + (error 'fxadd1 "~s is not a fixnum" n)))) + + (define fxsub1 + (lambda (n) + (if (fixnum? n) + ($fxsub1 n) + (error 'fxsub1 "~s is not a fixnum" n)))) + + ) (library (ikarus flonums)