guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

TODO list for Guile R7RS support


From: Mark H Weaver
Subject: TODO list for Guile R7RS support
Date: Thu, 09 Feb 2012 00:09:12 -0500

Hello all,

I skimmed through the R7RS (draft 5) looking for things we need to do to
claim full compliance.  Here's the list I came up with.

    Mark


R7RS TODO
=========
* optional ellipsis specifier for syntax-rules et al
* syntax-error
* define-values
* let-values and let*-values (without loading SRFI-11)
* include-ci
* bytevectors in core R7RS
* lazy and eager (without loading SRFI-45)
* |...| symbol notation, and \xXX within symbols
* support #\escape and "\escape"
* support \xXXXX in string literals
* allow whitespace between \ and newline in string literals
* #!fold-case and #!no-fold-case
* #true and #false
* datum labels for circular and shared substructures
* nan? and finite? now accept complex numbers
  (should probably change inf? and infinite? as well)
* exact-integer?
* R7RS exceptions
* make sure define-record-type is R7RS compliant
* optional third parameter to 'member' and 'assoc'
* define-library
* digit-value
* char-foldcase
* string-ni=? et al
* vector->string and string->vector
* vector-copy supports optional (start end fill) args
* vector-fill! supports optional (start end) args
* bytevector-copy! with 3 args
* bytevector-copy-partial{,!}
* write bytevectors with #u8 (and elements in hex) by default?
* {map,for-each} stops when shortest list runs out
* string-{map,for-each} accepts multiple strings
* vector-{map,for-each}
* make sure {map,vector-map,string-map} are multi-return safe
* {scheme-report,null}-environment for R7RS
* 'environment'
* 'port-open?'
* R7RS binary ports and bytevector ports
   * {textual-binary}-port?
   * binary-port?
   * open-binary-{input,output}-file
   * open-{input,output}-bytevector
   * get-output-bytevector
   * {read,peek,write}-u8, u8-ready?
   * read-bytevector{,!}
   * write-bytevector
   * write-partial-bytevector
* read-line
* write-simple
* flush-output-port
* load with optional 'environment specifier' as second argument
* get-environment-variable{,s}
* current-{second,jiffy}, jiffies-per-second
* R7RS feature identifiers: r7rs, exact-closed, ratios, exact-complex,
  ieee-float, full-unicode, windows, posix, unix, darwin, linux, bsd,
  freebsd, solaris, i386, x86-64, ppc, sparc, jvm, clr, llvm, ilp32,
  lp64, ilp64, big-endian, little-endian, guile, guile-2, guile-2.0



reply via email to

[Prev in Thread] Current Thread [Next in Thread]