;;; rnrs.scm --- The R6RS composite library
-;; Copyright (C) 2010 Free Software Foundation, Inc.
+;; 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
boolean? symbol? char? vector? null? pair? number? string? procedure?
define define-syntax syntax-rules lambda let let* let-values
- let*-values 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
+ 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-values? zero?
+ inexact? real-valued? rational-valued? integer-valued? zero?
positive? negative? odd? even? nan? finite? infinite? exact inexact =
- < > <= >= number->string string->number 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
+ < > <= >= 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>?
;; (rnrs io ports)
- eof-object? port? input-port? output-port? eof-object port-transcoder
- binary-port? transcoded-port port-position set-port-position!
- port-has-port-position? port-has-set-port-position!? call-with-port
+ 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
;; (rnrs syntax-case)
- make-variable-transformer syntax syntax-case identifier?
- bound-identifier=? free-identifier=? syntax->datum datum->syntax
- generate-temporaries with-syntax quasisyntax unsyntax
- unsyntax-splicing syntax-violation
+ 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)
(rnrs enums (6))
(rnrs exceptions (6))
- ;; These i/o conditions are exported by (io simple), (files), and
- ;; should be exported by (ports) but are not yet. Avoid duplicate
- ;; bindings warnings, then, by excluding these bindings from all but
- ;; (io simple).
- (except (rnrs files (6))
- &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 files (6))
(rnrs hashtables (6))
(rnrs records procedural (6))
(rnrs records syntactic (6))
(rnrs sorting (6))
- (rnrs syntax-case (6))
+ ;; See note above on exporting syntax-case.
+ (rename (rnrs syntax-case (6))
+ (syntax-case syntax-case-hack))
(rnrs unicode (6))))