Merge lp:~arcfide/scheme-libraries/master into lp:~scheme-libraries-team/scheme-libraries/srfi

Proposed by Aaron W. Hsu
Status: Merged
Approved by: Derick Eddington
Approved revision: 100
Merged at revision: 97
Proposed branch: lp:~arcfide/scheme-libraries/master
Merge into: lp:~scheme-libraries-team/scheme-libraries/srfi
Diff against target: 333 lines (+269/-4)
11 files modified
%3a19/time/compat.chezscheme.sls (+35/-0)
%3a38/with-shared-structure.chezscheme.sls (+37/-0)
%3a39/parameters.chezscheme.sls (+20/-0)
%3a48/intermediate-format-strings/compat.chezscheme.sls (+19/-0)
%3a6/basic-string-ports/compat.chezscheme.sls (+19/-0)
%3a78/lightweight-testing/compat.chezscheme.sls (+19/-0)
%3a98/os-environment-variables.chezscheme.sls (+23/-0)
README (+4/-4)
link-dirs.chezscheme.sps (+40/-0)
private/include/compat.chezscheme.sls (+19/-0)
private/platform-features.chezscheme.sls (+34/-0)
To merge this branch: bzr merge lp:~arcfide/scheme-libraries/master
Reviewer Review Type Date Requested Status
Derick Eddington Approve
Aaron W. Hsu (community) Needs Resubmitting
Review via email: mp+102613@code.launchpad.net

Commit message

Add support for Chez Scheme

Description of the change

Port of Portable SRFIs to Chez Scheme

To post a comment you must log in.
Revision history for this message
Derick Eddington (derick-eddington) wrote :

Thanks for the contribution, Aaron! Before I merge it, there are some issues:

The README file needs to be updated to list Chez as a supported system.

I know the text formatting, mentioned in my per-file comments below, isn't a big deal, but I went to efforts to make mine consistent, so I feel like files with my name on them should keep being consistent. In revision 92, I changed all square brackets to parenthesis, because I've come to dislike brackets. In any files that are not Scheme-system-specific, I don't want brackets, but in files that are specific to a Scheme-system that supports brackets, I'm okay with them if it's not attributed to me. Feel free to change the copyright/attribution of the inconsistent files to you, and I'll merge them with whatever formatting and brackets you want. (I don't actually care about copyrighting trivial files, but people told me I need copyrights on everything, and once my name is on them I feel like I described.)

If you'd like, I can use the diff from this merge request, and make the changes I'm suggesting myself.

(FWIW, I hate the "%3a" shit as well as needing ":" to have numbers in library names, and I support Chez not doing the file-name encoding. Screw compatibility with Windows. I gave up on my Library Files SRFI because I doubt all the other systems that do the encoding are going to change at this point. I take the blame for promoting the encoding. I also hate the redundant SRFI-97 short-name alias libraries.)

Below are per-file issues:

--

%3a38/with-shared-structure.chezscheme.sls

Indentation typo, line 58. It looks like a tab character in there.

Copied from my file, but has square brackets and export/import forms' formatting
has changed.

--

%3a48/intermediate-format-strings/compat.chezscheme.sls
%3a78/lightweight-testing/compat.chezscheme.sls
%3a98/os-environment-variables.chezscheme.sls

Copied from my file, but export/import forms' formatting has changed.

--

%3a6/basic-string-ports.chezscheme.sls

To be consistent, I think a %3a6/basic-string-ports/compat.chezscheme.sls should
be used, instead.

--

.bzrignore

Don't want this file, because it's inherently private-personal-preference.

--

link-dirs.chezscheme.sps

Do you want your copyright in this file? You put it in your two other non-tiny files. After adding your contribution, I'm going to make a new "utils" directory and move this program and my compile-all.ikarus.sps in to it.

review: Needs Fixing
lp:~arcfide/scheme-libraries/master updated
98. By Aaron W. Hsu

Adjust for upstream merging

Revision history for this message
Aaron W. Hsu (arcfide) wrote :

I think I got everything that you mentioned, let me know if it needs more attention.

review: Needs Resubmitting
Revision history for this message
Derick Eddington (derick-eddington) wrote :

Your file %3a6/basic-string-ports/basic-string-ports.chezscheme.sls is broken because of its name and it doesn't work as a compat library for %3a6/basic-string-ports.sls.

review: Needs Fixing
lp:~arcfide/scheme-libraries/master updated
99. By Aaron W. Hsu

Adjust for stupidity

Revision history for this message
Aaron W. Hsu (arcfide) wrote :

Whoops, that was stupid. I think I have fixed it now.

review: Needs Resubmitting
Revision history for this message
Derick Eddington (derick-eddington) wrote :

I apologize for not being clearer -- %3a6/basic-string-ports/compat.chezscheme.sls needs to be like %3a6/basic-string-ports/compat.ikarus.sls so that it will work with %3a6/basic-string-ports.sls.

The rationale is that %3a6/basic-string-ports.sls re-exports R6RS's open-string-input-port and gets the bindings not available in R6RS from a compat library.

I know my %3a6/basic-string-ports.mzscheme.sls does not follow this. I intend to change it so that it does follow. Sorry I forgot to mention that.

review: Needs Fixing
lp:~arcfide/scheme-libraries/master updated
100. By Aaron W. Hsu

Fix unnecessary export from the Chez Scheme Compatability file

Revision history for this message
Aaron W. Hsu (arcfide) wrote :

Hrm, I think you mean that I do not need to export the extra identifier, right? I have made this fix. I think that does it, no? Hehe.

review: Needs Resubmitting
Revision history for this message
Derick Eddington (derick-eddington) wrote :

Yeah, that does it. Thanks again!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== added file '%3a19/time/compat.chezscheme.sls'
2--- %3a19/time/compat.chezscheme.sls 1970-01-01 00:00:00 +0000
3+++ %3a19/time/compat.chezscheme.sls 2012-05-08 00:21:19 +0000
4@@ -0,0 +1,35 @@
5+;;; Copyright (c) 2012 Aaron W. Hsu <arcfide@sacrideo.us>
6+;;;
7+;;; Permission to use, copy, modify, and distribute this software for
8+;;; any purpose with or without fee is hereby granted, provided that the
9+;;; above copyright notice and this permission notice appear in all
10+;;; copies.
11+;;;
12+;;; THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
13+;;; WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
14+;;; WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
15+;;; AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
16+;;; DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA
17+;;; OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
18+;;; TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19+;;; PERFORMANCE OF THIS SOFTWARE.
20+
21+(library (srfi :19 time compat)
22+ (export time-resolution
23+ (rename (date-zone-offset timezone-offset))
24+ current-time
25+ cumulative-thread-time
26+ (rename (cpu-time cumulative-process-time))
27+ cumulative-gc-time
28+ time-nanosecond
29+ time-second)
30+ (import (chezscheme))
31+
32+(define time-resolution 1)
33+
34+(define (cumulative-thread-time . args)
35+ (assertion-violation 'cumulative-thread-time "not implemented"))
36+
37+(define (cumulative-gc-time) (sstats-gc-cpu (statistics)))
38+
39+)
40
41=== added file '%3a38/with-shared-structure.chezscheme.sls'
42--- %3a38/with-shared-structure.chezscheme.sls 1970-01-01 00:00:00 +0000
43+++ %3a38/with-shared-structure.chezscheme.sls 2012-05-08 00:21:19 +0000
44@@ -0,0 +1,37 @@
45+;;; Copyright (c) 2012 Aaron W. Hsu <arcfide@sacrideo.us>
46+;;;
47+;;; Permission to use, copy, modify, and distribute this software for
48+;;; any purpose with or without fee is hereby granted, provided that the
49+;;; above copyright notice and this permission notice appear in all
50+;;; copies.
51+;;;
52+;;; THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
53+;;; WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
54+;;; WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
55+;;; AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
56+;;; DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA
57+;;; OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
58+;;; TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
59+;;; PERFORMANCE OF THIS SOFTWARE.
60+
61+(library (srfi :38 with-shared-structure)
62+ (export write-with-shared-structure
63+ (rename (write-with-shared-structure write/ss))
64+ read-with-shared-structure
65+ (rename (read-with-shared-structure read/ss)))
66+ (import (chezscheme))
67+
68+(define write-with-shared-structure
69+ (case-lambda
70+ [(obj)
71+ (write-with-shared-structure obj (current-output-port))]
72+ [(obj port)
73+ (parameterize ((print-graph #T))
74+ (write obj port))]
75+ [(obj port optarg)
76+ (assertion-violation 'write-with-shared-structure
77+ "this implementation does not support optarg")]))
78+
79+(define read-with-shared-structure read)
80+
81+)
82
83=== added file '%3a39/parameters.chezscheme.sls'
84--- %3a39/parameters.chezscheme.sls 1970-01-01 00:00:00 +0000
85+++ %3a39/parameters.chezscheme.sls 2012-05-08 00:21:19 +0000
86@@ -0,0 +1,20 @@
87+;;; Copyright (c) 2012 Aaron W. Hsu <arcfide@sacrideo.us>
88+;;;
89+;;; Permission to use, copy, modify, and distribute this software for
90+;;; any purpose with or without fee is hereby granted, provided that the
91+;;; above copyright notice and this permission notice appear in all
92+;;; copies.
93+;;;
94+;;; THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
95+;;; WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
96+;;; WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
97+;;; AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
98+;;; DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA
99+;;; OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
100+;;; TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
101+;;; PERFORMANCE OF THIS SOFTWARE.
102+
103+(library (srfi :39 parameters)
104+ (export make-parameter
105+ parameterize)
106+ (import (only (chezscheme) make-parameter parameterize)))
107
108=== added file '%3a48/intermediate-format-strings/compat.chezscheme.sls'
109--- %3a48/intermediate-format-strings/compat.chezscheme.sls 1970-01-01 00:00:00 +0000
110+++ %3a48/intermediate-format-strings/compat.chezscheme.sls 2012-05-08 00:21:19 +0000
111@@ -0,0 +1,19 @@
112+;;; Copyright (c) 2012 Aaron W. Hsu <arcfide@sacrideo.us>
113+;;;
114+;;; Permission to use, copy, modify, and distribute this software for
115+;;; any purpose with or without fee is hereby granted, provided that the
116+;;; above copyright notice and this permission notice appear in all
117+;;; copies.
118+;;;
119+;;; THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
120+;;; WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
121+;;; WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
122+;;; AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
123+;;; DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA
124+;;; OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
125+;;; TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
126+;;; PERFORMANCE OF THIS SOFTWARE.
127+
128+(library (srfi :48 intermediate-format-strings compat)
129+ (export pretty-print)
130+ (import (only (chezscheme) pretty-print)))
131
132=== added file '%3a6/basic-string-ports/compat.chezscheme.sls'
133--- %3a6/basic-string-ports/compat.chezscheme.sls 1970-01-01 00:00:00 +0000
134+++ %3a6/basic-string-ports/compat.chezscheme.sls 2012-05-08 00:21:19 +0000
135@@ -0,0 +1,19 @@
136+;;; Copyright (c) 2012 Aaron W. Hsu <arcfide@sacrideo.us>
137+;;;
138+;;; Permission to use, copy, modify, and distribute this software for
139+;;; any purpose with or without fee is hereby granted, provided that the
140+;;; above copyright notice and this permission notice appear in all
141+;;; copies.
142+;;;
143+;;; THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
144+;;; WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
145+;;; WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
146+;;; AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
147+;;; DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA
148+;;; OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
149+;;; TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
150+;;; PERFORMANCE OF THIS SOFTWARE.
151+
152+(library (srfi :6 basic-string-ports compat)
153+ (export open-output-string get-output-string)
154+ (import (chezscheme)))
155
156=== added file '%3a78/lightweight-testing/compat.chezscheme.sls'
157--- %3a78/lightweight-testing/compat.chezscheme.sls 1970-01-01 00:00:00 +0000
158+++ %3a78/lightweight-testing/compat.chezscheme.sls 2012-05-08 00:21:19 +0000
159@@ -0,0 +1,19 @@
160+;;; Copyright (c) 2012 Aaron W. Hsu <arcfide@sacrideo.us>
161+;;;
162+;;; Permission to use, copy, modify, and distribute this software for
163+;;; any purpose with or without fee is hereby granted, provided that the
164+;;; above copyright notice and this permission notice appear in all
165+;;; copies.
166+;;;
167+;;; THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
168+;;; WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
169+;;; WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
170+;;; AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
171+;;; DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA
172+;;; OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
173+;;; TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
174+;;; PERFORMANCE OF THIS SOFTWARE.
175+
176+(library (srfi :78 lightweight-testing compat)
177+ (export (rename (pretty-print check:write)))
178+ (import (chezscheme)))
179
180=== added file '%3a98/os-environment-variables.chezscheme.sls'
181--- %3a98/os-environment-variables.chezscheme.sls 1970-01-01 00:00:00 +0000
182+++ %3a98/os-environment-variables.chezscheme.sls 2012-05-08 00:21:19 +0000
183@@ -0,0 +1,23 @@
184+;;; Copyright (c) 2012 Aaron W. Hsu <arcfide@sacrideo.us>
185+;;;
186+;;; Permission to use, copy, modify, and distribute this software for
187+;;; any purpose with or without fee is hereby granted, provided that the
188+;;; above copyright notice and this permission notice appear in all
189+;;; copies.
190+;;;
191+;;; THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
192+;;; WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
193+;;; WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
194+;;; AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
195+;;; DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA
196+;;; OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
197+;;; TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
198+;;; PERFORMANCE OF THIS SOFTWARE.
199+
200+(library (srfi :98 os-environment-variables)
201+ (export get-environment-variables
202+ (rename (getenv get-environment-variable)))
203+ (import (only (chezscheme) getenv environ))
204+
205+ (define (get-environment-variables . args)
206+ (assertion-violation 'get-environment-variables "not implemented")))
207
208=== modified file 'README'
209--- README 2010-05-20 17:54:26 +0000
210+++ README 2012-05-08 00:21:19 +0000
211@@ -49,10 +49,10 @@
212
213 https://launchpad.net/scheme-libraries
214
215-Currently supported systems are Ikarus, Larceny, and Ypsilon. PLT Scheme is
216-only semi-supported because it has its own "srfi" directory which conflicts with
217-having another "srfi" directory; you can symlink/copy files from this collection
218-into PLT's "srfi" directory.
219+Currently supported systems are Chez Scheme, Ikarus, Larceny, and Ypsilon.
220+PLT Scheme is only semi-supported because it has its own "srfi" directory
221+which conflicts with having another "srfi" directory; you can symlink/copy
222+files from this collection into PLT's "srfi" directory.
223
224 For the latest development version, go to:
225
226
227=== added file 'link-dirs.chezscheme.sps'
228--- link-dirs.chezscheme.sps 1970-01-01 00:00:00 +0000
229+++ link-dirs.chezscheme.sps 2012-05-08 00:21:19 +0000
230@@ -0,0 +1,40 @@
231+#! /usr/bin/env scheme-script
232+;;; Copyright (c) 2012 Aaron W. Hsu <arcfide@sacrideo.us>
233+;;;
234+;;; Permission to use, copy, modify, and distribute this software for
235+;;; any purpose with or without fee is hereby granted, provided that the
236+;;; above copyright notice and this permission notice appear in all
237+;;; copies.
238+;;;
239+;;; THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
240+;;; WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
241+;;; WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
242+;;; AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
243+;;; DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA
244+;;; OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
245+;;; TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
246+;;; PERFORMANCE OF THIS SOFTWARE.
247+
248+(import (chezscheme))
249+
250+;;; Link all of the SRFIs to their normal directories like sane
251+;;; people who use Chez Scheme prefer. :-)
252+
253+(define (file-loop files)
254+ (cond
255+ [(null? files) (void)]
256+ [(should-link? (car files))
257+ (link-file (car files))
258+ (file-loop (cdr files))]
259+ [else (file-loop (cdr files))]))
260+
261+(define (should-link? file)
262+ (and (< 3 (string-length file))
263+ (string=? "%3a" (substring file 0 3))))
264+
265+(define (link-file file)
266+ (let ([clean (string-append ":" (substring file 3 (string-length file)))])
267+ (printf "Linking ~a~n" file)
268+ (system (format "ln -sf '~a' '~a'" file clean))))
269+
270+(file-loop (directory-list "."))
271
272=== added file 'private/include/compat.chezscheme.sls'
273--- private/include/compat.chezscheme.sls 1970-01-01 00:00:00 +0000
274+++ private/include/compat.chezscheme.sls 2012-05-08 00:21:19 +0000
275@@ -0,0 +1,19 @@
276+;;; Copyright (c) 2012 Aaron W. Hsu <arcfide@sacrideo.us>
277+;;;
278+;;; Permission to use, copy, modify, and distribute this software for
279+;;; any purpose with or without fee is hereby granted, provided that the
280+;;; above copyright notice and this permission notice appear in all
281+;;; copies.
282+;;;
283+;;; THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
284+;;; WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
285+;;; WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
286+;;; AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
287+;;; DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA
288+;;; OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
289+;;; TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
290+;;; PERFORMANCE OF THIS SOFTWARE.
291+
292+(library (srfi private include compat)
293+ (export (rename (source-directories search-paths)))
294+ (import (only (chezscheme) source-directories)))
295
296=== added file 'private/platform-features.chezscheme.sls'
297--- private/platform-features.chezscheme.sls 1970-01-01 00:00:00 +0000
298+++ private/platform-features.chezscheme.sls 2012-05-08 00:21:19 +0000
299@@ -0,0 +1,34 @@
300+;;; Copyright (c) 2012 Aaron W. Hsu <arcfide@sacrideo.us>
301+;;;
302+;;; Permission to use, copy, modify, and distribute this software for any
303+;;; purpose with or without fee is hereby granted, provided that the above
304+;;; copyright notice and this permission notice appear in all copies.
305+;;;
306+;;; THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
307+;;; WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
308+;;; MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
309+;;; ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
310+;;; WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
311+;;; ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
312+;;; OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
313+
314+(library (srfi private platform-features)
315+ (export expand-time-features run-time-features)
316+ (import (chezscheme) (srfi private OS-id-features))
317+
318+(define (expand-time-features) '(chezscheme syntax-case))
319+
320+(define (run-time-features)
321+ (OS-id-features (symbol->string (machine-type))
322+ '(("t" threads)
323+ ("a6" x86-64)
324+ ("i3" x86)
325+ ("le" linux posix)
326+ ("ob" openbsd posix bsd)
327+ ("fb" freebsd posix bsd)
328+ ("nb" netbsd posix bsd)
329+ ("osx" darwin posix)
330+ ("s2" solaris posix)
331+ ("nt" windows))))
332+
333+)

Subscribers

People subscribed via source and target branches

to status/vote changes: