#Wisp is a whitespace-sensitive #syntax for #Scheme (so far implemented only for #Guile), standardized as #SRFI 119
on 02024-01-28#SRFI 204 documents the Wright–Cartwright–Shinn pattern matcher that is included in many #Scheme implementations including #Guile
on 02023-11-02To use #SRFI 42 for #looping in #Racket you (require srfi/42). Then you can (list-ec (: i 5) (* i i)) and get a list of squares, but it takes twice as long as it should.
The most widely supported #looping construct in #Scheme is #SRFI 42.
on 02023-09-01a #SRFI from 02022 that reconciles #Scheme #records from R6RS and R7RS.
on 02023-07-09#SRFI 131 for #Scheme is Cowan and Clinger’s 02015 reduction of SRFI 99 to be implementable with only syntax-rules and not a more powerful macro system. #records
#SRFI 99 for #Scheme is Clinger’s 02008 simpler alternative to the appalling R6RS record system in SRFI 76, with a syntactic layer that is an extension of SRFI 9. This is ERR5RS-compatible. Note that Clinger’s name is also on SRFI 76! #records
on 02023-07-09#SRFI 76 for #Scheme is the 02005 proposal for R6RS #records, by Clinger, Dybvig, Sperber and van Straaten (based on Pavel Curtis’s 01989 proposal, Bill Rozas’s work, Norman Adams’s work, T, CScheme, etc.), which was withdrawn as previously planned when R6RS was done. It mentions that PLT Scheme (Racket) allows (define-struct point (x y)), but it doesn’t. All the examples in the “examples” section are too horrific to repeat here.
#SRFI 57 for #Scheme is van Tonder’s 02004 approach to defining #records, extending SRFI 9, permitting abbreviated syntax (define-record-type node (make-node left right)), which I’m not sure defines left and right functions.
#SRFI 9 for #Scheme is Kelsey’s 01999 approach to defining #records. “Each new record type is distinct from all existing types, including other record types and Scheme’s predefined types.” Given (define-record-type :pare (kons x y) pare? (x kar set-kar!) (y kdr)) you have functions pare?, kons, kar, kdr, and set-kar!.