• Scheme+, an enhanced Scheme syntax

    From comp.lang.scheme@21:1/5 to All on Mon Sep 18 14:32:43 2023
    Scheme+ for Guile : https://github.com/damien-mattei/Scheme-PLUS-for-Guile Scheme+ for Racket : https://damien-mattei.github.io/Scheme-PLUS-for-Racket/Scheme+io.html

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Maciek Godek@21:1/5 to All on Sun Sep 24 05:20:55 2023
    poniedziałek, 18 września 2023 o 23:32:45 UTC+2 comp.lang.scheme napisał(a):
    Scheme+ for Guile : https://github.com/damien-mattei/Scheme-PLUS-for-Guile Scheme+ for Racket : https://damien-mattei.github.io/Scheme-PLUS-for-Racket/Scheme+io.html

    "The idea of introducing Algol-like syntax into Lisp keeps popping up and has seldom failed to
    create enormous controversy between those who find the universal use of S-expressions a technical
    advantage (and don't mind the admitted relative clumsiness of S-expressions for numerical expres-
    sions) and those who are certain that algebraic syntax is more concise, more convenient, or even
    more natural (whatever that may mean, considering that all these notations are articial).
    We conjecture that Algol-style syntax has not really caught on in the Lisp community as a whole
    for two reasons. First, there are not enough special symbols to go around. When your domain of
    discourse is limited to numbers or characters, there are only so many operations of interest, so it
    is not difficult to assign one special character to each and be done with it. But Lisp has a much
    richer domain of discourse, and a Lisp programmer often approaches an application as yet another
    exercise in language design; the style typically involves designing new data structures and new
    functions to operate on them -- perhaps dozens or hundreds -- and it's to o hard to invent that many
    distinct symbols (though the APL community certainly has tried). Ultimately one must always fall
    back on a general function-call notation; it's just that Lisp programmers don't wait until they fail.
    Second, and perhaps more important, Algol-style syntax makes programs look less like the data
    structures used to represent them. In a culture where the ability to manipulate representations of
    programs is a central paradigm, a notation that distances the appearance of a program from the
    appearance of its representation as data is not likely to be warmly received (and this was, and is,
    one of the principal objections to the inclusion of loop in Common Lisp).
    On the other hand, precisely because Lisp makes it easy to play with program representations,
    it is always easy for the novice to experiment with alternative notations. Therefore we expect
    future generations of Lisp programmers to continue to reinvent Algol-style syntax for Lisp, over
    and over and over again, and we are equally confident that they will continue, after an initial period
    of infatuation, to reject it. (Perhaps this process should be regarded as a rite of passage for Lisp
    hackers.)"

    -- Steele and Gabriel, "The Evolution of Lisp"

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