From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Mark H Weaver Newsgroups: gmane.lisp.guile.devel Subject: TODO list for Guile R7RS support Date: Thu, 09 Feb 2012 00:09:12 -0500 Message-ID: <87vcngvbif.fsf@netris.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1328764249 343 80.91.229.3 (9 Feb 2012 05:10:49 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Thu, 9 Feb 2012 05:10:49 +0000 (UTC) To: guile-devel@gnu.org Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Thu Feb 09 06:10:49 2012 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1RvMHO-0002Wi-25 for guile-devel@m.gmane.org; Thu, 09 Feb 2012 06:10:46 +0100 Original-Received: from localhost ([::1]:49006 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RvMHN-0008WK-6Z for guile-devel@m.gmane.org; Thu, 09 Feb 2012 00:10:45 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]:54787) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RvMHJ-0008W3-2H for guile-devel@gnu.org; Thu, 09 Feb 2012 00:10:41 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RvMHE-0008D0-2s for guile-devel@gnu.org; Thu, 09 Feb 2012 00:10:41 -0500 Original-Received: from world.peace.net ([96.39.62.75]:45986) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RvMHD-0008Cw-Rq for guile-devel@gnu.org; Thu, 09 Feb 2012 00:10:35 -0500 Original-Received: from 209-6-91-212.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com ([209.6.91.212] helo=yeeloong) by world.peace.net with esmtpsa (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.72) (envelope-from ) id 1RvMH6-0002o5-MX; Thu, 09 Feb 2012 00:10:28 -0500 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 96.39.62.75 X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:13833 Archived-At: 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