|
From: | Alex Shinn |
Subject: | [Chicken-users] integer sets |
Date: | Wed, 13 Oct 2004 22:45:00 -0500 |
User-agent: | Wanderlust/2.10.1 (Watching The Wheels) SEMI/1.14.6 (Maruoka) FLIM/1.14.6 (Marutamachi) APEL/10.6 Emacs/21.3 (i386-pc-linux-gnu) MULE/5.0 (SAKAKI) |
An integer set library is available at http://synthcode.com/eggs/iset.scm Synopsis: (require-extension 'iset) (iset 2 3 5 7 11) ; some primes (make-iset 1) ; the loneliest number (make-iset 2005 2012) ; President Kerry's term in office (iset-size (iset 1)) ; number of elements (iset-contains? is num) ; check membership (iset-adjoin! is num) ; add to set (iset-delete! is num) ; delete from set Iteration: iset-fold iset-for-each iset-map iset-any iset-every Set operations: iset-union[!] iset-intersection[!] iset-difference[!] iset-xor[!] .. and more! The implementation is optimized for efficient space usage and fast membership checking (iset-contains? is fast). At present the set operations are quite slow. An updated version of the utf8 unit will be released soon using this for the SRFI-14 implementation. -- Alex
[Prev in Thread] | Current Thread | [Next in Thread] |