chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Chicken-users] integer sets


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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]