Rob Warnock wrote: > [Quiz for the reader: > What other features of Scheme were also mentioned in that list (possibly > with different names in Scheme)? And given what is said below, why do > you think they were in the list in the first place?]
Okay, I'll attempt to answer Rob's first question but not his second, using the following key:
not available (Scheme offers no comparable feature) IEEE (it's part of IEEE/ANSI Scheme) R5RS (it's part of R5RS Scheme) R6RS (it's part of R6RS Scheme) SRFI-n (it's part of SRFI-n) EASY (base) (fairly easy to build from the named base)
- DEFMACRO EASY (R6RS) EASY (SRFI-72) SRFI-96 - The almost-universal provision of :START/:END (and :START1/:END1/ :START2/:END2, when appropriate) keyword args on sequence functions. not available - MAKE-HASH-TABLE, GETHASH, (SETF GETHASH), & REMHASH R6RS SRFI-69 - Specialized vectors SRFI-4 (homogeneous numeric vectors only) SRFI-66 (octet vectors only) R6RS (bytevectors only) - multi-dimensional arrays SRFI-25 - POSITION, MISMATCH, SEARCH, & SUBSEQ SRFI-1 (for lists only) EASY (SRFI-1) - PARSE-INTEGER (in all its glory) EASY (IEEE) (already provides number->string) EASY (R5RS) (already provides number->string) EASY (R6RS) (already provides number->string) - CONCATENATE EASY (IEEE) (already provided for lists, strings) EASY (R5RS) (already provided for lists, strings) EASY (R6RS) (already provided for lists, strings) - COERCE EASY (R5RS) EASY (R6RS) - MAP EASY (IEEE) (already provided for lists) EASY (R5RS) (already provided for lists) EASY (R6RS) (already provided for lists, vectors) - READ-FROM-STRING EASY (R6RS) (already provides string ports) EASY (SRFI-6) (already provides string ports) - WITH-INPUT-FROM-STRING not available - FORMAT SRFI-28 SRFI-48 SRFI-54 - WITH-OUTPUT-TO-STRING not available - LOOP not available - READ IEEE R5RS R6RS - Reader macros not available