I would raise approximately two observations here:

(1) In English, "grammar" is about "sentence structure" but also has a
lot to do with "overloaded word meanings" (multiple dictionary entries
for the same word -- an especially egregious issue for short words).

(2) J's grammar (syntax) borrows from an eclectic mix of math, music
and chemistry concepts. Each "borrow" tends to be quite simple, but
it's still eclectic.

(3) At some point you have to have some awareness of parsing mechanics.

FYI,


--
Raul

On Thu, Dec 23, 2021 at 5:08 AM Ian Clark <[email protected]> wrote:
>
> *(moved from: Programming Forum)*
>
> Henry wrote:
> > they demonstrate that you can have a grammar without syntax: that V V V
> can mean something.
>
> Hits the nail on the head!
> But let me establish which nail…
>
> There's a joke that runs like so:
> Q: What's the best thing about APL?
> A; The character set.
> Q: What's the worst thing about APL?
> A; The character set.
>
> This joke can be ported to J:
> Q: What's the best thing about J?
> A; Tacit code.
> Q: What's the worst thing about J?
> A; Tacit code.
>
> Every hard discipline has its *pons asinorum* (=donkey bridge) and what
> follows is J's…
> Let y be a noun and let V1, V2 be verbs. Now
> V1 V2 y
> is NOT the same as:
> (V1 V2) y
> and:
> V1 V2 V3 y
> is NOT the same as:
> (V1 V2 V3) y
> But at this point in the journey the natives are waiting to roll rocks down
> on you. Most J newcomers don't make it over the bridge.
> And that includes many APLers, who *are* familiar with the theory and
> practise of function composition (let's call it f-c)
> They have a special character for it: (∘), aka {jot}. The character they
> *don't* use is ascii 32, aka Space. To them the idea of doing so is
> egregious.
> There's worse to come:
>       (V1{jot}V2) y
> ...in APL, is not the same as:
>    (V1 V2) y
> …in J. It has to be written:
>    ([: V1 V2) y
> Right… now try explaining *that* to an APLer in one sentence.
> Or to an expert in any other computer language, especially one that has f-c
> (e.g. Python or Swift).
>
> Now it's not that I don't have some ideas for coaxing the donkey over the
> bridge.
> But I'd like to hear what others say to my critique of f-c in J, because I
> might learn something to my advantage.
>
> (NOTE: I'm daring someone to tell me there's a vast literature on the
> topic, going back to 1990. Guess how I'm going to reply.)
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to