summaryrefslogtreecommitdiff
path: root/types.lisp
diff options
context:
space:
mode:
authorMatthias Andreas Benkard <matthias@benkard.de>2008-08-04 18:18:41 +0200
committerMatthias Andreas Benkard <matthias@benkard.de>2008-08-04 18:18:41 +0200
commit90e6023292e2bfe927bd633bac42fc355bb9f4d1 (patch)
tree14664b9e9d98f43c83b78547ea7c554fef8de9d1 /types.lisp
parent383e3e833a7fbb8b1560ba861b76e8be96542c6f (diff)
Add support for fixnums.
Diffstat (limited to 'types.lisp')
-rw-r--r--types.lisp19
1 files changed, 8 insertions, 11 deletions
diff --git a/types.lisp b/types.lisp
index a73741f..0b4ccb3 100644
--- a/types.lisp
+++ b/types.lisp
@@ -73,8 +73,12 @@
"dictionary"))
-(setq most-positive-fixnum 32767)
-(setq most-negative-fixnum -32768)
+(%shadowing-export fixnump)
+(defun fixnump (thing)
+ (sys::fixnump thing))
+
+;; (setq most-positive-fixnum 32767)
+;; (setq most-negative-fixnum -32768)
(defun type-of (thing)
@@ -82,15 +86,8 @@
(case primitive-type
((null symbol cons single-float double-float function package)
primitive-type)
- (integer
- (if (and (send-by-name -1 "isEqual:" (send-by-name thing
- "compare:"
- most-positive-fixnum))
- (send-by-name -1 "isEqual:" (send-by-name most-negative-fixnum
- "compare:"
- thing)))
- 'fixnum
- 'bignum))
+ (fixnum 'fixnum)
+ (integer 'bignum)
(base-char 'base-char) ;FIXME
(sys::lexical-context 'sys::lexical-context)
(sys::binding 'sys::binding)