Merge lp:~arcfide/scheme-libraries/master into lp:~scheme-libraries-team/scheme-libraries/srfi
- master
- Merge into srfi
| 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 |
| Related bugs: |
| Reviewer | Review Type | Date Requested | Status |
|---|---|---|---|
| Derick Eddington | Approve | ||
| Aaron W. Hsu (community) | Needs Resubmitting | ||
|
Review via email:
|
|||
Commit message
Add support for Chez Scheme
Description of the change
Port of Portable SRFIs to Chez Scheme
| Derick Eddington (derick-eddington) wrote : | # |
- 98. By Aaron W. Hsu
-
Adjust for upstream merging
| Aaron W. Hsu (arcfide) wrote : | # |
I think I got everything that you mentioned, let me know if it needs more attention.
| Derick Eddington (derick-eddington) wrote : | # |
Your file %3a6/basic-
- 99. By Aaron W. Hsu
-
Adjust for stupidity
| Aaron W. Hsu (arcfide) wrote : | # |
Whoops, that was stupid. I think I have fixed it now.
| Derick Eddington (derick-eddington) wrote : | # |
I apologize for not being clearer -- %3a6/basic-
The rationale is that %3a6/basic-
I know my %3a6/basic-
- 100. By Aaron W. Hsu
-
Fix unnecessary export from the Chez Scheme Compatability file
| 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.
| Derick Eddington (derick-eddington) wrote : | # |
Yeah, that does it. Thanks again!
Preview Diff
| 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 | +) |
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/intermedi ate-format- strings/ compat. chezscheme. sls ht-testing/ compat. chezscheme. sls environment- variables. chezscheme. sls
%3a78/lightweig
%3a98/os-
Copied from my file, but export/import forms' formatting has changed.
--
%3a6/basic- string- ports.chezschem e.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.