/usr/share/guile/2.0/rnrs.scm is in guile-2.0-libs 2.0.9+1-1ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 | ;;; rnrs.scm --- The R6RS composite library
;; Copyright (C) 2010, 2011 Free Software Foundation, Inc.
;;
;; This library is free software; you can redistribute it and/or
;; modify it under the terms of the GNU Lesser General Public
;; License as published by the Free Software Foundation; either
;; version 3 of the License, or (at your option) any later version.
;;
;; This library is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
;; Lesser General Public License for more details.
;;
;; You should have received a copy of the GNU Lesser General Public
;; License along with this library; if not, write to the Free Software
;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
(library (rnrs (6))
(export ;; (rnrs arithmetic bitwise)
bitwise-not bitwise-and bitwise-ior bitwise-xor bitwise-if
bitwise-bit-count bitwise-length bitwise-first-bit-set
bitwise-bit-set? bitwise-copy-bit bitwise-bit-field
bitwise-copy-bit-field bitwise-arithmetic-shift
bitwise-arithmetic-shift-left bitwise-arithmetic-shift-right
bitwise-rotate-bit-field bitwise-reverse-bit-field
;; (rnrs arithmetic fixnums)
fixnum? fixnum-width least-fixnum greatest-fixnum fx=? fx>? fx<? fx>=?
fx<=? fxzero? fxpositive? fxnegative? fxodd? fxeven? fxmax fxmin fx+
fx* fx- fxdiv-and-mod fxdiv fxmod fxdiv0-and-mod0 fxdiv0 fxmod0
fx+/carry fx-/carry fx*/carry fxnot fxand fxior fxxor fxif fxbit-count
fxlength fxfirst-bit-set fxbit-set? fxcopy-bit fxbit-field
fxcopy-bit-field fxarithmetic-shift fxarithmetic-shift-left
fxarithmetic-shift-right fxrotate-bit-field fxreverse-bit-field
;; (rnrs arithmetic flonums)
flonum? real->flonum fl=? fl<? fl<=? fl>? fl>=? flinteger? flzero?
flpositive? flnegative? flodd? fleven? flfinite? flinfinite? flnan?
flmax flmin fl+ fl* fl- fl/ flabs fldiv-and-mod fldiv flmod
fldiv0-and-mod0 fldiv0 flmod0 flnumerator fldenominator flfloor
flceiling fltruncate flround flexp fllog flsin flcos fltan flacos
flasin flatan flsqrt flexpt &no-infinities
make-no-infinities-violation no-infinities-violation? &no-nans
make-no-nans-violation no-nans-violation? fixnum->flonum
;; (rnrs base)
boolean? symbol? char? vector? null? pair? number? string? procedure?
define define-syntax syntax-rules lambda let let* let-values
let*-values letrec letrec* begin quote lambda if set! cond case or
and not eqv? equal? eq? + - * / max min abs numerator denominator gcd
lcm floor ceiling truncate round rationalize real-part imag-part
make-rectangular angle div mod div-and-mod div0 mod0 div0-and-mod0
expt exact-integer-sqrt sqrt exp log sin cos tan asin acos atan
make-polar magnitude angle complex? real? rational? integer? exact?
inexact? real-valued? rational-valued? integer-valued? zero?
positive? negative? odd? even? nan? finite? infinite? exact inexact =
< > <= >= number->string string->number boolean=? cons car cdr caar
cadr cdar cddr caaar caadr cadar cdaar caddr cdadr cddar cdddr caaaar
caaadr caadar cadaar cdaaar cddaar cdadar cdaadr cadadr caaddr caddar
cadddr cdaddr cddadr cdddar cddddr list? list length append reverse
list-tail list-ref map for-each symbol->string string->symbol symbol=?
char->integer integer->char char=? char<? char>? char<=? char>=?
make-string string string-length string-ref string=? string<? string>?
string<=? string>=? substring string-append string->list list->string
string-for-each string-copy vector? make-vector vector vector-length
vector-ref vector-set! vector->list list->vector vector-fill!
vector-map vector-for-each error assertion-violation assert
call-with-current-continuation call/cc call-with-values dynamic-wind
values apply quasiquote unquote unquote-splicing let-syntax
letrec-syntax syntax-rules identifier-syntax
;; (rnrs bytevectors)
endianness native-endianness bytevector? make-bytevector
bytevector-length bytevector=? bytevector-fill! bytevector-copy!
bytevector-copy uniform-array->bytevector bytevector-u8-ref
bytevector-s8-ref bytevector-u8-set! bytevector-s8-set!
bytevector->u8-list u8-list->bytevector bytevector-uint-ref
bytevector-uint-set! bytevector-sint-ref bytevector-sint-set!
bytevector->sint-list bytevector->uint-list uint-list->bytevector
sint-list->bytevector bytevector-u16-ref bytevector-s16-ref
bytevector-u16-set! bytevector-s16-set! bytevector-u16-native-ref
bytevector-s16-native-ref bytevector-u16-native-set!
bytevector-s16-native-set! bytevector-u32-ref bytevector-s32-ref
bytevector-u32-set! bytevector-s32-set! bytevector-u32-native-ref
bytevector-s32-native-ref bytevector-u32-native-set!
bytevector-s32-native-set! bytevector-u64-ref bytevector-s64-ref
bytevector-u64-set! bytevector-s64-set! bytevector-u64-native-ref
bytevector-s64-native-ref bytevector-u64-native-set!
bytevector-s64-native-set! bytevector-ieee-single-ref
bytevector-ieee-single-set! bytevector-ieee-single-native-ref
bytevector-ieee-single-native-set! bytevector-ieee-double-ref
bytevector-ieee-double-set! bytevector-ieee-double-native-ref
bytevector-ieee-double-native-set! string->utf8 string->utf16
string->utf32 utf8->string utf16->string utf32->string
;; (rnrs conditions)
&condition condition simple-conditions condition? condition-predicate
condition-accessor define-condition-type &message
make-message-condition message-condition? condition-message &warning
make-warning warning? &serious make-serious-condition
serious-condition? &error make-error error? &violation make-violation
violation? &assertion make-assertion-violation assertion-violation?
&irritants make-irritants-condition irritants-condition?
condition-irritants &who make-who-condition who-condition?
condition-who &non-continuable make-non-continuable-violation
non-continuable-violation? &implementation-restriction
make-implementation-restriction-violation
implementation-restriction-violation? &lexical make-lexical-violation
lexical-violation? &syntax make-syntax-violation syntax-violation?
syntax-violation-form syntax-violation-subform &undefined
make-undefined-violation undefined-violation?
;; (rnrs control)
when unless do case-lambda
;; (rnrs enums)
make-enumeration enum-set-universe enum-set-indexer
enum-set-constructor enum-set->list enum-set-member? enum-set-subset?
enum-set=? enum-set-union enum-set-intersection enum-set-difference
enum-set-complement enum-set-projection define-enumeration
;; (rnrs exceptions)
guard with-exception-handler raise raise-continuable
;; (rnrs files)
file-exists? delete-file &i/o make-i/o-error i/o-error? &i/o-read
make-i/o-read-error i/o-read-error? &i/o-write make-i/o-write-error
i/o-write-error? &i/o-invalid-position
make-i/o-invalid-position-error i/o-invalid-position-error?
i/o-error-position &i/o-filename make-i/o-filename-error
i/o-filename-error? i/o-error-filename &i/o-file-protection
make-i/o-file-protection-error i/o-file-protection-error?
&i/o-file-is-read-only make-i/o-file-is-read-only-error
i/o-file-is-read-only-error? &i/o-file-already-exists
make-i/o-file-already-exists-error i/o-file-already-exists-error?
&i/o-file-does-not-exist make-i/o-file-does-not-exist-error
i/o-file-does-not-exist-error? &i/o-port make-i/o-port-error
i/o-port-error? i/o-error-port
;; (rnrs hashtables)
make-eq-hashtable make-eqv-hashtable make-hashtable hashtable?
hashtable-size hashtable-ref hashtable-set! hashtable-delete!
hashtable-contains? hashtable-update! hashtable-copy hashtable-clear!
hashtable-keys hashtable-entries hashtable-equivalence-function
hashtable-hash-function hashtable-mutable? equal-hash string-hash
string-ci-hash symbol-hash
;; (rnrs io ports)
file-options buffer-mode buffer-mode?
eol-style native-eol-style error-handling-mode
make-transcoder transcoder-codec transcoder-eol-style
transcoder-error-handling-mode native-transcoder
latin-1-codec utf-8-codec utf-16-codec
eof-object? port? input-port? output-port? eof-object port-eof?
port-transcoder
binary-port? textual-port? transcoded-port
port-position set-port-position!
port-has-port-position? port-has-set-port-position!?
close-port call-with-port
open-bytevector-input-port make-custom-binary-input-port get-u8
lookahead-u8 get-bytevector-n get-bytevector-n! get-bytevector-some
get-bytevector-all open-bytevector-output-port
make-custom-binary-output-port put-u8 put-bytevector
open-string-input-port open-string-output-port
call-with-bytevector-output-port
call-with-string-output-port
latin-1-codec utf-8-codec utf-16-codec
open-file-input-port open-file-output-port open-file-input/output-port
make-custom-textual-output-port
call-with-string-output-port
flush-output-port put-string
get-char get-datum get-line get-string-all get-string-n get-string-n!
lookahead-char
put-char put-datum put-string
standard-input-port standard-output-port standard-error-port
;; (rnrs io simple)
call-with-input-file call-with-output-file current-input-port
current-output-port current-error-port with-input-from-file
with-output-to-file open-input-file open-output-file close-input-port
close-output-port read-char peek-char read write-char newline display
write
;; (rnrs lists)
find for-all exists filter partition fold-left fold-right remp remove
remv remq memp member memv memq assp assoc assv assq cons*
;; (rnrs programs)
command-line exit
;; (rnrs records inspection)
record? record-rtd record-type-name record-type-parent
record-type-uid record-type-generative? record-type-sealed?
record-type-opaque? record-type-field-names record-field-mutable?
;; (rnrs records procedural)
make-record-type-descriptor record-type-descriptor?
make-record-constructor-descriptor record-constructor record-predicate
record-accessor record-mutator
;; (rnrs records syntactic)
define-record-type record-type-descriptor
record-constructor-descriptor
;; (rnrs sorting)
list-sort vector-sort vector-sort!
;; (rnrs syntax-case)
make-variable-transformer syntax
;; Until the deprecated support for a unified modules and
;; bindings namespace is removed, we need to manually resolve
;; a conflict between two bindings: that of the (rnrs
;; syntax-case) module, and the imported `syntax-case'
;; binding. We do so here and below by renaming the macro
;; import.
(rename (syntax-case-hack syntax-case))
identifier? bound-identifier=? free-identifier=?
syntax->datum datum->syntax generate-temporaries with-syntax
quasisyntax unsyntax unsyntax-splicing syntax-violation
;; (rnrs unicode)
char-upcase char-downcase char-titlecase char-foldcase
char-ci=? char-ci<? char-ci>? char-ci<=? char-ci>=?
char-alphabetic? char-numeric? char-whitespace? char-upper-case?
char-lower-case? char-title-case? char-general-category
string-upcase string-downcase string-titlecase string-foldcase
string-ci=? string-ci<? string-ci>? string-ci<=? string-ci>=?
string-normalize-nfd string-normalize-nfkd string-normalize-nfc
string-normalize-nfkc)
(import (rnrs arithmetic bitwise (6))
(rnrs arithmetic fixnums (6))
(rnrs arithmetic flonums (6))
(rnrs base (6))
(rnrs bytevectors (6))
(rnrs conditions (6))
(rnrs control (6))
(rnrs enums (6))
(rnrs exceptions (6))
(rnrs files (6))
(rnrs hashtables (6))
(rnrs io ports (6))
(rnrs io simple (6))
(rnrs lists (6))
(rnrs programs (6))
(rnrs records inspection (6))
(rnrs records procedural (6))
(rnrs records syntactic (6))
(rnrs sorting (6))
;; See note above on exporting syntax-case.
(rename (rnrs syntax-case (6))
(syntax-case syntax-case-hack))
(rnrs unicode (6))))
|