From 90e6023292e2bfe927bd633bac42fc355bb9f4d1 Mon Sep 17 00:00:00 2001 From: Matthias Andreas Benkard Date: Mon, 4 Aug 2008 18:18:41 +0200 Subject: Add support for fixnums. --- types.lisp | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) (limited to 'types.lisp') 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) -- cgit v1.2.3