mirror of
https://github.com/ashinn/chibi-scheme.git
synced 2025-05-19 05:39:18 +02:00
35 lines
904 B
Scheme
35 lines
904 B
Scheme
(library (rnrs lists)
|
|
(export find
|
|
(rename every for-all)
|
|
(rename any exists)
|
|
filter partition
|
|
fold-left
|
|
fold-right
|
|
(rename remove remp)
|
|
(rename rnrs:remove remove)
|
|
remv
|
|
remq
|
|
(rename find-tail memp)
|
|
member
|
|
memv
|
|
memq
|
|
assp
|
|
assoc
|
|
assv
|
|
assq
|
|
cons*)
|
|
(import (scheme base)
|
|
(srfi 1))
|
|
|
|
(define (fold-left kons knil . lss)
|
|
(apply fold
|
|
(lambda args
|
|
(apply kons (last args) (drop-right args 1)))
|
|
knil lss))
|
|
|
|
(define (rnrs:remove obj ls) (remove (lambda (x) (equal? x obj)) ls))
|
|
(define (remv obj ls) (remove (lambda (x) (eqv? x obj)) ls))
|
|
(define (remq obj ls) (remove (lambda (x) (eq? x obj)) ls))
|
|
|
|
(define (assp proc alist)
|
|
(find (lambda (x) (proc (car x))) alist)))
|