Skip to content

Commit ae05cf3

Browse files
committed
Import the portable srfis
1 parent a0824e0 commit ae05cf3

File tree

162 files changed

+29133
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

162 files changed

+29133
-0
lines changed

%3a0.sls

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
#!r6rs
2+
;; Automatically generated by private/make-aliased-libraries.sps
3+
(library (srfi :0)
4+
(export
5+
cond-expand)
6+
(import (srfi :0 cond-expand))
7+
)

%3a0/cond-expand.sls

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
#!r6rs
2+
;; Copyright 2009 Derick Eddington. My MIT-style license is in the file named
3+
;; LICENSE from the original collection this file is distributed with.
4+
5+
(library (srfi :0 cond-expand)
6+
(export
7+
cond-expand)
8+
(import
9+
(rnrs)
10+
(for (only (srfi private registry) expand-time-features) expand))
11+
12+
(define-syntax cond-expand
13+
(lambda (stx)
14+
(syntax-case stx (and or not else)
15+
((_)
16+
(syntax-violation #F "unfulfilled cond-expand" stx))
17+
((_ (else body ...))
18+
#'(begin body ...))
19+
((_ ((and) body ...) more-clauses ...)
20+
#'(begin body ...))
21+
((_ ((and req1 req2 ...) body ...) more-clauses ...)
22+
#'(cond-expand
23+
(req1
24+
(cond-expand
25+
((and req2 ...) body ...)
26+
more-clauses ...))
27+
more-clauses ...))
28+
((_ ((or) body ...) more-clauses ...)
29+
#'(cond-expand more-clauses ...))
30+
((_ ((or req1 req2 ...) body ...) more-clauses ...)
31+
#'(cond-expand
32+
(req1
33+
(begin body ...))
34+
(else
35+
(cond-expand
36+
((or req2 ...) body ...)
37+
more-clauses ...))))
38+
((_ ((not req) body ...) more-clauses ...)
39+
#'(cond-expand
40+
(req
41+
(cond-expand more-clauses ...))
42+
(else body ...)))
43+
((_ (feature-id body ...) more-clauses ...)
44+
(if (member (syntax->datum #'feature-id) expand-time-features)
45+
#'(begin body ...)
46+
#'(cond-expand more-clauses ...))))))
47+
48+
)

%3a1.sls

Lines changed: 155 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,155 @@
1+
#!r6rs
2+
;; Automatically generated by private/make-aliased-libraries.sps
3+
(library (srfi :1)
4+
(export
5+
alist-cons
6+
alist-copy
7+
alist-delete
8+
alist-delete!
9+
any
10+
append
11+
append!
12+
append-map
13+
append-map!
14+
append-reverse
15+
append-reverse!
16+
assoc
17+
assq
18+
assv
19+
break
20+
break!
21+
caaaar
22+
caaadr
23+
caaar
24+
caadar
25+
caaddr
26+
caadr
27+
caar
28+
cadaar
29+
cadadr
30+
cadar
31+
caddar
32+
cadddr
33+
caddr
34+
cadr
35+
car
36+
car+cdr
37+
cdaaar
38+
cdaadr
39+
cdaar
40+
cdadar
41+
cdaddr
42+
cdadr
43+
cdar
44+
cddaar
45+
cddadr
46+
cddar
47+
cdddar
48+
cddddr
49+
cdddr
50+
cddr
51+
cdr
52+
circular-list
53+
circular-list?
54+
concatenate
55+
concatenate!
56+
cons
57+
cons*
58+
count
59+
delete
60+
delete!
61+
delete-duplicates
62+
delete-duplicates!
63+
dotted-list?
64+
drop
65+
drop-right
66+
drop-right!
67+
drop-while
68+
eighth
69+
every
70+
fifth
71+
filter
72+
filter!
73+
filter-map
74+
find
75+
find-tail
76+
first
77+
fold
78+
fold-right
79+
for-each
80+
fourth
81+
iota
82+
last
83+
last-pair
84+
length
85+
length+
86+
list
87+
list-copy
88+
list-index
89+
list-ref
90+
list-tabulate
91+
list=
92+
lset-adjoin
93+
lset-diff+intersection
94+
lset-diff+intersection!
95+
lset-difference
96+
lset-difference!
97+
lset-intersection
98+
lset-intersection!
99+
lset-union
100+
lset-union!
101+
lset-xor
102+
lset-xor!
103+
lset<=
104+
lset=
105+
make-list
106+
map
107+
map!
108+
map-in-order
109+
member
110+
memq
111+
memv
112+
ninth
113+
not-pair?
114+
null-list?
115+
null?
116+
pair-fold
117+
pair-fold-right
118+
pair-for-each
119+
pair?
120+
partition
121+
partition!
122+
proper-list?
123+
reduce
124+
reduce-right
125+
remove
126+
remove!
127+
reverse
128+
reverse!
129+
second
130+
set-car!
131+
set-cdr!
132+
seventh
133+
sixth
134+
span
135+
span!
136+
split-at
137+
split-at!
138+
take
139+
take!
140+
take-right
141+
take-while
142+
take-while!
143+
tenth
144+
third
145+
unfold
146+
unfold-right
147+
unzip1
148+
unzip2
149+
unzip3
150+
unzip4
151+
unzip5
152+
xcons
153+
zip)
154+
(import (srfi :1 lists))
155+
)

%3a1/lists.sls

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
#!r6rs
2+
;; Copyright 2010 Derick Eddington. My MIT-style license is in the file named
3+
;; LICENSE from the original collection this file is distributed with.
4+
5+
(library (srfi :1 lists)
6+
(export
7+
;;; Exported:
8+
xcons #;tree-copy make-list list-tabulate list-copy
9+
proper-list? circular-list? dotted-list? not-pair? null-list? list=
10+
circular-list length+
11+
iota
12+
first second third fourth fifth sixth seventh eighth ninth tenth
13+
car+cdr
14+
take drop
15+
take-right drop-right
16+
take! drop-right!
17+
split-at split-at!
18+
last last-pair
19+
zip unzip1 unzip2 unzip3 unzip4 unzip5
20+
count
21+
append! append-reverse append-reverse! concatenate concatenate!
22+
unfold fold pair-fold reduce
23+
unfold-right pair-fold-right reduce-right
24+
append-map append-map! map! pair-for-each filter-map map-in-order
25+
filter! partition! remove!
26+
find-tail any every list-index
27+
take-while drop-while take-while!
28+
span break span! break!
29+
delete delete!
30+
alist-cons alist-copy
31+
delete-duplicates delete-duplicates!
32+
alist-delete alist-delete!
33+
reverse!
34+
lset<= lset= lset-adjoin
35+
lset-union lset-intersection lset-difference lset-xor
36+
lset-diff+intersection
37+
lset-union! lset-intersection! lset-difference! lset-xor!
38+
lset-diff+intersection!
39+
;; re-exported:
40+
append assq assv caaaar caaadr caaar caadar caaddr
41+
caadr caar cadaar cadadr cadar caddar cadddr caddr cadr
42+
car cdaaar cdaadr cdaar cdadar cdaddr cdadr cdar cddaar
43+
cddadr cddar cdddar cddddr cdddr cddr cdr cons cons*
44+
length list list-ref memq memv null? pair?
45+
reverse set-car! set-cdr!
46+
;; different than R6RS:
47+
assoc filter find fold-right for-each map member partition remove)
48+
(import
49+
(except (rnrs)
50+
assoc filter find fold-right for-each map member partition remove)
51+
(rnrs mutable-pairs)
52+
(srfi :8 receive)
53+
(srfi :23 error tricks)
54+
(for (srfi private vanish) expand)
55+
(srfi private check-arg)
56+
(srfi private include))
57+
58+
(define-syntax :optional
59+
(syntax-rules ()
60+
((_ args default)
61+
(let ((a args))
62+
(if (pair? a) (car a) default)))))
63+
64+
(define-syntax let-optionals
65+
(syntax-rules ()
66+
((_ _ () . body)
67+
(let () . body))
68+
((_ args ((id default) . more) . body)
69+
(let ((a args))
70+
(let ((id (:optional a default)))
71+
(let-optionals (if (pair? a) (cdr a) '()) more . body))))))
72+
73+
(let-syntax ((define (vanish-define define (cons*))))
74+
(SRFI-23-error->R6RS "(library (srfi :1 lists))"
75+
(include/resolve ("srfi" "%3a1") "srfi-1-reference.scm")))
76+
)

0 commit comments

Comments
 (0)