User:Dan Bron/Temp/MullingOnNames

From J Wiki
Jump to navigation Jump to search

goal

We need an unambiguous, useful glossary for J-as-a-language terms. For example:

  • Sentence
  • Word or token
  • Primitive and primary
  • Name (both primitive- and user-)
  • Glyph or graphic
  • Inflected

etc. The definition of these terms must be completely supported by the DoJ yet introduce no contradictions when read and understood in that context.

This page is an attempt to develop this glossary.

motivation

This will help us develop the "Accessible Dictionary" and also to interpret the canonical/normative DoJ.

glossary

what's in a name?

Research material:

Thought: if 123 or 'abc' or for_xyz. are names, then J has an infinite number of primitive names, which isn't a necessarily desirable definition of "name". Though apparently J used to support an infinite number of user-definable but inflected names, so apparently JSoftware didn't consider this definition problematic. And this one obsolete feature could explain why we prefer to define new primitives as multiply-inflected single-root words (&.: p.. {::) rather than singly-inflected multiple root words (poly. fetch: under.), and reserve dot-inflected multiple root-words for control flow (and national use character alternatives, now obsolete). Though another reason is J's rhematics would permit the singly-inflected multiple root word ab. but not the singly-inflected multiple root word +-.. In any case it would be much better to achieve the old effect (single assignment semantics) using new conjunction primitives.

But still, if 123, 'abc', for_xyz. etc are only primitives, then then J has an infinite number of primitives, which is no better (is worse). So I guess the problem isn't "infinite names" but "infinite primitives" (predefined or built-in), which seems a contradiction (primitives are the finite core from which the infinite corpus can be built -- an alphabet, a dictionary).

I remember Kirk Iverson wanted any numeric or literal constant noun to be verb-able by inflecting it with a trailing :, as opposed to electing a arbitrary subset (i.e. _9:-9:) as "special". I differed, for precisely this instinct (and as a purist even the extra 19 there irk me, but as a pragmatist, I find them, very esp. _2:-2: useful). I think the addition of the NVV train was a much more elegant way to allow us to embed an arbitrary noun in a verb. And if NVV doesn't work for you, you still have "_ (which, as an adverb, doesn't often require parens; and it just now occurred to me that even if we implemented Kirk's proposal it would leave all "constructed but immediate" nouns out in the cold, e.g. i. 2 2: wouldn't work, and you still couldn't write e.g. (i. 2 2):).

In any case, I think it's going to be hard to define "name" in a useful way that still excludes NB. and for_xyz.. But at least for the former, we can say it's an artifact of the explicit sub-language.