I think I wouldn’t say “accepts”; I usually reserve this term for functions, but that’s a minor quibble.
I think I would call these “clauses”, as in “With-handlers allows the user to specify exception-handling clauses. Each one includes two parts: a predicate, indicating whether blah blah blah, and a handler, which is called blah blah blah.” No? John > On Sep 24, 2021, at 11:28, David Storrs <[email protected]> wrote: > > > > On Fri, Sep 24, 2021 at 1:49 PM Jay McCarthy <[email protected]> wrote: > I think the word you're looking for is "syntax". Many people think that > languages like Racket "don't have syntax" or "have uniform syntax", but this > is an example of how that is incorrect. Each macro has its own unique syntax > and this is an example of how `let` has a unique syntax where `(` does _not_ > mean "apply a function" or "apply a macro". > > As a poor analogy, many human languages have a wide set of phonemes and you > combine those in certain rules (like you can't have 27 consonant sounds in a > row) and then use them in wider situations that we call grammar. I like to > think that languages like C has lots of phonemes and little grammar, because > there are lots of rules about how to form "C words" but basically no rules > for how to form "C sentences", because there's a lot of uniformity in how > expressions and statements combine. In contrast, languages like Racket have > very few phonemes (this is what I think people mean why they say "there is no > syntax") but many varied rules (in fact, arbitrary, because macros can > customize them) for combining those smaller units. > > So there's no specific term for this structure? I was looking for a > standardized way to say something like "with-handlers accepts a group of > two-element groups where each subgroup consists of a predicate and an action." > > Jay > > -- > Jay McCarthy > Associate Professor @ CS @ UMass Lowell > http://jeapostrophe.github.io > Vincit qui se vincit. > > > On Fri, Sep 24, 2021 at 1:25 PM David Storrs <[email protected]> wrote: > Racket has a number of forms that include what look like lists of lists but > are not. For example: (let ((foo 7) (bar 8)) ...) > > What would the '(foo 7)' and '(bar 8)' elements be called? Groups, maybe? > > -- > You received this message because you are subscribed to the Google Groups > "Racket Users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/racket-users/CAE8gKodX800fK45c_dyVFCNB-AKmYmK26DxC42ZRDVHdzJ2Q7g%40mail.gmail.com. > > -- > You received this message because you are subscribed to the Google Groups > "Racket Users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/racket-users/CAE8gKoeM6YYgpj-4Ey%2BoSSKRS%2BfMch3d0GDu85f9mwHmtxwVig%40mail.gmail.com. -- You received this message because you are subscribed to the Google Groups "Racket Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/racket-users/11a531ce-22f2-4f23-8246-46c6c77ffae7%40mtasv.net.

