mirror of
https://github.com/ashinn/chibi-scheme.git
synced 2025-05-19 05:39:18 +02:00
Many still import (chibi), and as (scheme base) is somewhat more expensive to load at present these are changed to cond-expand. Many libraries also rely on (srfi 33), and these have been changed to a cond-expand first trying (srfi 60) where available. Also fixing a few portability concerns (duplicate imports of the same binding), and adding a few libraries missing from lib-tests.scm.
19 lines
626 B
Scheme
19 lines
626 B
Scheme
|
|
(define-library (chibi iset optimize)
|
|
(cond-expand
|
|
(chibi (import (chibi) (srfi 9)))
|
|
(else (import (scheme base))))
|
|
(import (chibi iset base)
|
|
(chibi iset iterators)
|
|
(chibi iset constructors))
|
|
(cond-expand
|
|
((library (srfi 60)) (import (srfi 60)))
|
|
(else
|
|
(import (srfi 33))
|
|
(begin
|
|
(define (%mask size) (bitwise-not (arithmetic-shift -1 size)))
|
|
(define (extract-bit-field size position n)
|
|
(bitwise-and (%mask size) (arithmetic-shift n (- position)))))))
|
|
(include "optimize.scm")
|
|
(export
|
|
iset-balance iset-balance! iset-optimize iset-optimize! iset->code))
|