From sburson at common-lisp.net Tue May 22 05:25:21 2007 From: sburson at common-lisp.net (sburson at common-lisp.net) Date: Tue, 22 May 2007 01:25:21 -0400 (EDT) Subject: [fset-cvs] r2 - tags Message-ID: <20070522052521.0CA7E21053@common-lisp.net> Author: sburson Date: Tue May 22 01:25:20 2007 New Revision: 2 Added: tags/ Log: Creating tags directory. From sburson at common-lisp.net Tue May 22 05:29:24 2007 From: sburson at common-lisp.net (sburson at common-lisp.net) Date: Tue, 22 May 2007 01:29:24 -0400 (EDT) Subject: [fset-cvs] r3 - trunk Message-ID: <20070522052924.2889821057@common-lisp.net> Author: sburson Date: Tue May 22 01:29:23 2007 New Revision: 3 Added: trunk/ Log: From sburson at common-lisp.net Tue May 22 05:32:58 2007 From: sburson at common-lisp.net (sburson at common-lisp.net) Date: Tue, 22 May 2007 01:32:58 -0400 (EDT) Subject: [fset-cvs] r4 - Code trunk trunk/Code Message-ID: <20070522053258.201E021083@common-lisp.net> Author: sburson Date: Tue May 22 01:32:57 2007 New Revision: 4 Added: trunk/Code/ - copied from r3, Code/ trunk/fset.asd - copied unchanged from r3, fset.asd Removed: Code/ fset.asd Log: Oops, fixing structure of initial import. From sburson at common-lisp.net Sat May 26 06:34:39 2007 From: sburson at common-lisp.net (sburson at common-lisp.net) Date: Sat, 26 May 2007 02:34:39 -0400 (EDT) Subject: [fset-cvs] r5 - trunk/Code Message-ID: <20070526063439.D231F50019@common-lisp.net> Author: sburson Date: Sat May 26 02:34:37 2007 New Revision: 5 Modified: trunk/Code/defs.lisp trunk/Code/port.lisp trunk/Code/testing.lisp trunk/Code/tuples.lisp Log: Minor fixes for CMUCL, LispWorks, case-sensitive-lower mode. Modified: trunk/Code/defs.lisp ============================================================================== --- trunk/Code/defs.lisp (original) +++ trunk/Code/defs.lisp Sat May 26 02:34:37 2007 @@ -29,7 +29,7 @@ #:substitute #:substitute-if #:substitute-if-not #:some #:every #:notany #:notevery ;; This one is internal. - #+(or cmucl scl sbcl) #:length) + #+(or cmu scl sbcl) #:length) (:export #:set #:bag #:map #:seq #:tuple #:compare #:empty? #:size #:arb #:member? #:multiplicity Modified: trunk/Code/port.lisp ============================================================================== --- trunk/Code/port.lisp (original) +++ trunk/Code/port.lisp Sat May 26 02:34:37 2007 @@ -11,17 +11,6 @@ ;;; This license provides NO WARRANTY. -#-lispworks -(defun base-char-p (x) - (typep x 'base-char)) - -;;; I think this may be faster than `(typep x 'base-char)'. Maybe not. -#+lispworks -(defun base-char-p (x) (lw:base-char-p x)) - -(declaim (inline base-char-p)) - - ;;; On non-kernel-threads implementations, we use something like ;;; `without-interrupts'. On kernel-threads implementations, we have to do ;;; real locking. @@ -51,11 +40,11 @@ (declare (ignore lock wait?)) `(mp:without-interrupts . ,body)) -#+cmucl +#+cmu (defun make-lock (&optional name) (declare (ignore name)) nil) -#+cmucl +#+cmu (defmacro with-lock ((lock &key (wait? t)) &body body) (declare (ignore lock wait?)) `(sys:without-interrupts . ,body)) @@ -122,6 +111,8 @@ `(progn . ,body)) +;;; ---------------- + ;;; Constants used by the tuple implementation. We choose the widths of ;;; two bitfields to fit in a fixnum less the sign bit. @@ -146,6 +137,9 @@ (23 9)) "This limits the number of key/value pairs in any tuple.") + +;;; ---------------- + ;;; Unfortunately, CL doesn't specify that `make-random-state' should be able ;;; to accept an integer seed. We want to be able to supply it one, so that ;;; (for testing) we can have multiple reproducible sequences of pseudorandom @@ -153,7 +147,7 @@ (defun make-seeded-random-state (seed) (if (null seed) (make-random-state) - #+(or cmucl scl) + #+(or cmu scl) (progn (assert (plusp seed)) (kernel::make-random-object :state @@ -168,20 +162,40 @@ (logand seed #xFFFF)) #+genera (fcli::make-random-state-internal 71 35 seed) - #-(or cmucl scl sbcl openmcl genera) + #-(or cmu scl sbcl openmcl genera) (error "Implementation-specific code needed in `make-seeded-random-state'"))) + +;;; ---------------- + +#-lispworks +(defun base-char-p (x) + (typep x 'base-char)) + +;;; I think this may be faster than `(typep x 'base-char)'. Maybe not. +#+lispworks +(defun base-char-p (x) (lw:base-char-p x)) + +#-lispworks +(declaim (inline base-char-p)) + + ;;; SBCL has a distinct `extended-char' type but no `make-char'. #+sbcl (defun make-char (code bits) ;; Kinda weird, but this is only used by the test suite to generate random chars. (code-char (+ code (ash bits 8)))) +#+lispworks +(defun make-char (code bits) + (code-char code bits)) + + ;;; This little oddity exists because of a limitation in Python (that's the ;;; CMUCL compiler). Given a call to `length' on type `(or null simple-vector)', ;;; Python isn't quite smart enough to optimize the call unless we do the case ;;; breakdown for it like this. -#+(or cmucl scl) +#+(or cmu scl) (defmacro length (x) (ext:once-only ((x x)) `(if (null ,x) 0 (cl:length ,x)))) Modified: trunk/Code/testing.lisp ============================================================================== --- trunk/Code/testing.lisp (original) +++ trunk/Code/testing.lisp Sat May 26 02:34:37 2007 @@ -16,7 +16,7 @@ Value) -(defun Run-Test-Suite (n-iterations &optional random-seed) +(defun run-test-suite (n-iterations &optional random-seed) (let ((*random-state* (make-seeded-random-state random-seed))) ; for repeatability. (dotimes (i n-iterations) (Test-Map-Operations i (Test-Set-Operations i)) Modified: trunk/Code/tuples.lisp ============================================================================== --- trunk/Code/tuples.lisp (original) +++ trunk/Code/tuples.lisp Sat May 26 02:34:37 2007 @@ -218,7 +218,7 @@ (unless desc (setq desc (Make-Tuple-Desc (empty-set) (vector))) (setf (lookup *Tuple-Descriptor-Map* (empty-map)) desc)) - (make-tuple-internal desc (vector)))) + (Make-Tuple-Internal desc (vector)))) (defvar *Tuple-Random-Value* 0 "State for an extremely fast, low-quality generator of small numbers of From sburson at common-lisp.net Sat May 26 06:37:23 2007 From: sburson at common-lisp.net (sburson at common-lisp.net) Date: Sat, 26 May 2007 02:37:23 -0400 (EDT) Subject: [fset-cvs] r6 - trunk Message-ID: <20070526063723.61ACE5004B@common-lisp.net> Author: sburson Date: Sat May 26 02:37:22 2007 New Revision: 6 Modified: trunk/fset.asd Log: Fix `.asd' file (having moved it). Modified: trunk/fset.asd ============================================================================== --- trunk/fset.asd (original) +++ trunk/fset.asd Sat May 26 02:37:22 2007 @@ -13,19 +13,21 @@ :depends-on (:gmap) :components ((:system :gmap) - (:file "defs" :in-order-to ((compile-op (load-op :gmap)) - (load-op (load-op :gmap)))) - (:file "port" :in-order-to ((compile-op (load-op "defs")) - (load-op (load-op "defs")))) - (:file "order" :in-order-to ((compile-op (load-op "port")) - (load-op (load-op "port")))) - (:file "wb-trees" :in-order-to ((compile-op (load-op "port")) - (load-op (load-op "port")))) - (:file "fset" :in-order-to ((compile-op (load-op "order" "wb-trees")) - (load-op (load-op "order" "wb-trees")))) - ;; Uses macros from "fset". - (:file "tuples" :in-order-to ((compile-op (load-op "fset")) - (load-op (load-op "fset")))) - (:file "reader" :depends-on ("tuples")) - (:file "testing" :depends-on ("reader")))) + (:module "Code" + :components + ((:file "defs" :in-order-to ((compile-op (load-op :gmap)) + (load-op (load-op :gmap)))) + (:file "port" :in-order-to ((compile-op (load-op "defs")) + (load-op (load-op "defs")))) + (:file "order" :in-order-to ((compile-op (load-op "port")) + (load-op (load-op "port")))) + (:file "wb-trees" :in-order-to ((compile-op (load-op "port")) + (load-op (load-op "port")))) + (:file "fset" :in-order-to ((compile-op (load-op "order" "wb-trees")) + (load-op (load-op "order" "wb-trees")))) + ;; Uses macros from "fset". + (:file "tuples" :in-order-to ((compile-op (load-op "fset")) + (load-op (load-op "fset")))) + (:file "reader" :depends-on ("tuples")) + (:file "testing" :depends-on ("reader")))))) From sburson at common-lisp.net Sat May 26 23:01:08 2007 From: sburson at common-lisp.net (sburson at common-lisp.net) Date: Sat, 26 May 2007 19:01:08 -0400 (EDT) Subject: [fset-cvs] r7 - trunk/Code Message-ID: <20070526230108.0973E3203C@common-lisp.net> Author: sburson Date: Sat May 26 19:01:08 2007 New Revision: 7 Removed: trunk/Code/ops.text Log: Removing file of notes I didn't intend to publish. From sburson at common-lisp.net Sat May 26 23:06:37 2007 From: sburson at common-lisp.net (sburson at common-lisp.net) Date: Sat, 26 May 2007 19:06:37 -0400 (EDT) Subject: [fset-cvs] r8 - tags/fset_1.0.0 Message-ID: <20070526230637.5714D2F10C@common-lisp.net> Author: sburson Date: Sat May 26 19:06:36 2007 New Revision: 8 Added: tags/fset_1.0.0/ - copied from r7, trunk/ Log: Tagging release 1.0.0. From sburson at common-lisp.net Sun May 27 00:56:40 2007 From: sburson at common-lisp.net (sburson at common-lisp.net) Date: Sat, 26 May 2007 20:56:40 -0400 (EDT) Subject: [fset-cvs] r9 - trunk Message-ID: <20070527005640.BDA6332039@common-lisp.net> Author: sburson Date: Sat May 26 20:56:40 2007 New Revision: 9 Modified: trunk/fset.asd Log: Fix reference to "gmap" in `fset.asd'. Modified: trunk/fset.asd ============================================================================== --- trunk/fset.asd (original) +++ trunk/fset.asd Sat May 26 20:56:40 2007 @@ -12,7 +12,7 @@ (asdf:defsystem FSet :depends-on (:gmap) :components - ((:system :gmap) + ((:system :misc-extensions) (:module "Code" :components ((:file "defs" :in-order-to ((compile-op (load-op :gmap)) From sburson at common-lisp.net Sun May 27 00:59:00 2007 From: sburson at common-lisp.net (sburson at common-lisp.net) Date: Sat, 26 May 2007 20:59:00 -0400 (EDT) Subject: [fset-cvs] r10 - tags/fset_1.0.0 Message-ID: <20070527005900.8A61132039@common-lisp.net> Author: sburson Date: Sat May 26 20:59:00 2007 New Revision: 10 Modified: tags/fset_1.0.0/fset.asd Log: Fix reference to "gmap" in `fset.asd'. Modified: tags/fset_1.0.0/fset.asd ============================================================================== --- tags/fset_1.0.0/fset.asd (original) +++ tags/fset_1.0.0/fset.asd Sat May 26 20:59:00 2007 @@ -12,7 +12,7 @@ (asdf:defsystem FSet :depends-on (:gmap) :components - ((:system :gmap) + ((:system :misc-extensions) (:module "Code" :components ((:file "defs" :in-order-to ((compile-op (load-op :gmap)) From sburson at common-lisp.net Sun May 27 01:06:52 2007 From: sburson at common-lisp.net (sburson at common-lisp.net) Date: Sat, 26 May 2007 21:06:52 -0400 (EDT) Subject: [fset-cvs] r11 - tags/fset_1.0.0 trunk Message-ID: <20070527010652.955DE32037@common-lisp.net> Author: sburson Date: Sat May 26 21:06:50 2007 New Revision: 11 Modified: tags/fset_1.0.0/fset.asd trunk/fset.asd Log: Gaah, third try on `fset.asd'. Modified: tags/fset_1.0.0/fset.asd ============================================================================== --- tags/fset_1.0.0/fset.asd (original) +++ tags/fset_1.0.0/fset.asd Sat May 26 21:06:50 2007 @@ -10,13 +10,13 @@ (asdf:defsystem FSet - :depends-on (:gmap) + :depends-on (:misc-extensions) :components ((:system :misc-extensions) (:module "Code" :components - ((:file "defs" :in-order-to ((compile-op (load-op :gmap)) - (load-op (load-op :gmap)))) + ((:file "defs" :in-order-to ((compile-op (load-op :misc-extensions)) + (load-op (load-op :misc-extensions)))) (:file "port" :in-order-to ((compile-op (load-op "defs")) (load-op (load-op "defs")))) (:file "order" :in-order-to ((compile-op (load-op "port")) Modified: trunk/fset.asd ============================================================================== --- trunk/fset.asd (original) +++ trunk/fset.asd Sat May 26 21:06:50 2007 @@ -10,13 +10,13 @@ (asdf:defsystem FSet - :depends-on (:gmap) + :depends-on (:misc-extensions) :components ((:system :misc-extensions) (:module "Code" :components - ((:file "defs" :in-order-to ((compile-op (load-op :gmap)) - (load-op (load-op :gmap)))) + ((:file "defs" :in-order-to ((compile-op (load-op :misc-extensions)) + (load-op (load-op :misc-extensions)))) (:file "port" :in-order-to ((compile-op (load-op "defs")) (load-op (load-op "defs")))) (:file "order" :in-order-to ((compile-op (load-op "port")) From sburson at common-lisp.net Mon May 28 03:10:45 2007 From: sburson at common-lisp.net (sburson at common-lisp.net) Date: Sun, 27 May 2007 23:10:45 -0400 (EDT) Subject: [fset-cvs] r12 - tags/fset_1.0.0 trunk Message-ID: <20070528031045.6DBC43F012@common-lisp.net> Author: sburson Date: Sun May 27 23:10:45 2007 New Revision: 12 Modified: tags/fset_1.0.0/fset.asd trunk/fset.asd Log: Changed ASDF system definition to use `:serial t' to work around a bug in the version of ASDF-Install distributed with SBCL. Modified: tags/fset_1.0.0/fset.asd ============================================================================== --- tags/fset_1.0.0/fset.asd (original) +++ tags/fset_1.0.0/fset.asd Sun May 27 23:10:45 2007 @@ -11,23 +11,17 @@ (asdf:defsystem FSet :depends-on (:misc-extensions) + :serial t :components ((:system :misc-extensions) (:module "Code" + :serial t :components - ((:file "defs" :in-order-to ((compile-op (load-op :misc-extensions)) - (load-op (load-op :misc-extensions)))) - (:file "port" :in-order-to ((compile-op (load-op "defs")) - (load-op (load-op "defs")))) - (:file "order" :in-order-to ((compile-op (load-op "port")) - (load-op (load-op "port")))) - (:file "wb-trees" :in-order-to ((compile-op (load-op "port")) - (load-op (load-op "port")))) - (:file "fset" :in-order-to ((compile-op (load-op "order" "wb-trees")) - (load-op (load-op "order" "wb-trees")))) - ;; Uses macros from "fset". - (:file "tuples" :in-order-to ((compile-op (load-op "fset")) - (load-op (load-op "fset")))) - (:file "reader" :depends-on ("tuples")) - (:file "testing" :depends-on ("reader")))))) - + ((:file "defs") + (:file "port") + (:file "order") + (:file "wb-trees") + (:file "fset") + (:file "tuples") + (:file "reader") + (:file "testing"))))) Modified: trunk/fset.asd ============================================================================== --- trunk/fset.asd (original) +++ trunk/fset.asd Sun May 27 23:10:45 2007 @@ -11,23 +11,17 @@ (asdf:defsystem FSet :depends-on (:misc-extensions) + :serial t :components ((:system :misc-extensions) (:module "Code" + :serial t :components - ((:file "defs" :in-order-to ((compile-op (load-op :misc-extensions)) - (load-op (load-op :misc-extensions)))) - (:file "port" :in-order-to ((compile-op (load-op "defs")) - (load-op (load-op "defs")))) - (:file "order" :in-order-to ((compile-op (load-op "port")) - (load-op (load-op "port")))) - (:file "wb-trees" :in-order-to ((compile-op (load-op "port")) - (load-op (load-op "port")))) - (:file "fset" :in-order-to ((compile-op (load-op "order" "wb-trees")) - (load-op (load-op "order" "wb-trees")))) - ;; Uses macros from "fset". - (:file "tuples" :in-order-to ((compile-op (load-op "fset")) - (load-op (load-op "fset")))) - (:file "reader" :depends-on ("tuples")) - (:file "testing" :depends-on ("reader")))))) - + ((:file "defs") + (:file "port") + (:file "order") + (:file "wb-trees") + (:file "fset") + (:file "tuples") + (:file "reader") + (:file "testing")))))