• Standardness of the (define ((proc arg) anotherarg) definition) syn

    From John Cowan@21:1/5 to All on Thu Jan 9 11:16:15 2020
    On Monday, July 12, 2010 at 8:03:04 AM UTC-4, Štěpán Němec wrote:

    Can someone provide more insight?

    Guile 2.x/3.x provides currying definitions as a standard module (ice-9 curried-definitions). The core of it is a simple and highly portable syntax-rules macro:

    (define-syntax cdefine
    (syntax-rules ()
    ((_ (head . rest) body body* ...)
    (cdefine head
    (lambda rest body body* ...)))
    ((_ name val)
    (define name val))))

    Guile then exports this as define, but that's neither portable nor necessary to use it.



    --
    John Cowan http://vrici.lojban.org/~cowan cowan@ccil.org
    By naming the names they rejoiced in the complexity and specificity,
    the wealth and beauty of the world, they participated in the fullness of
    being. They described, they named, they told all about everything. But
    they did not pray for anything. --Le Guin, The Telling

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)