cisco / ChezScheme

Chez Scheme
Apache License 2.0
6.99k stars 987 forks source link

[BUG] Some bindings in the IEEE and r5rs environments only come with an r6rs prefix #871

Closed mnieper closed 1 month ago

mnieper commented 2 months ago

Chez Scheme provides some (mandatory) IEEE Scheme procedures in its ieee environment only prefixed with r6rs, as can be seen from the transcript at the bottom.

The same bug shows up when using the standard R6RS library function scheme-report-environment:

Chez Scheme Version 10.1.0-pre-release.2
Copyright 1984-2024 Cisco Systems, Inc.

> (eval '(< 1 2) (scheme-report-environment 5))
Exception: attempt to reference unbound identifier <
> (eval '(r6rs:< 1 2) (scheme-report-environment 5))
> #t
> (environment-symbols (ieee-environment))
(call-with-input-file substring r6rs:string-ci>=? caadar cos
 char-upper-case? r6rs:number->string load r6rs:string-ci<?
 real? caaar vector-ref char-alphabetic? cdadar cadaar apply
 r6rs:call-with-input-file number? memq cddr
 r6rs:current-input-port imag-part append r6rs:string>=?
 cdaddr integer? newline and write-char rational? let*
 call-with-values odd? eqv? memv r6rs:char-ci>=?
 r6rs:current-output-port make-rectangular
 r6rs:string->number atan string-ci<? r6rs:char>=?
 r6rs:open-input-file r6rs:string-ci>? cdar string? null?
 letrec make-polar gcd input-port? cddar integer->char
 list-tail make-string set! assq r6rs:char>? char? cdaar
 r6rs:case values exp vector-set! list->string r6rs:char-ci=?
 real-part vector-length char-whitespace? inexact->exact -
 for-each close-output-port eof-object? => acos assoc log
 string-ref equal? r6rs:char-ci<? char-numeric? pair?
 r6rs:char<=? / vector r6rs:char-ci>? angle
 call-with-current-continuation magnitude r6rs:string-ci<=?
 cdadr string-ci>? call-with-output-file let else
 symbol->string sin quotient caaadr length unquote-splicing
 interaction-environment member do inexact? cons
 close-input-port string-ci>=? cddaar positive? read display
 list->vector cadar zero? max caddr string-copy
 transcript-off string-ci=? boolean? list? peek-char cond
 string-length exact->inexact r6rs:string>?
 r6rs:call-with-output-file abs floor transcript-on
 string->list string->symbol begin r6rs:char<? caaddr
 null-environment cdddar assv r6rs:string=? r6rs:char=?
 vector->list quote unquote list-ref r6rs:string<? reverse
 numerator asin cdddr cadr string-ci<=? r6rs:string<=?
 char-downcase cdaadr caar vector? even? round tan
 string-append char-ready? + cddadr ceiling
 r6rs:with-output-to-file symbol? quasiquote r6rs:char-ci<=?
 * lambda $primitive procedure? if caaaar output-port?
 r6rs:>= string-append-immutable cadddr map
 r6rs:with-input-from-file cdaaar string r6rs:<
 scheme-report-environment r6rs:open-output-file list
 remainder r6rs:eval denominator read-char car define lcm
 r6rs:dynamic-wind make-vector cddddr set-car! sqrt
 char-lower-case? not truncate write complex? caadr
 r6rs:string-ci=? exact? string-set! cadadr expt cdr
 char->integer rationalize dynamic-wind string-fill! min
 modulo caddar vector-fill! negative? r6rs:> eq? or
 char-upcase r6rs:<= set-cdr! r6rs:=)
LiberalArtist commented 1 month ago

This was completed in https://github.com/cisco/ChezScheme/commit/e60470870edcb39029564312c0fec822f5d4291d and can be closed.