dly <[EMAIL PROTECTED]> wrote:
> There are no risks in meta meta land except not being perfectly clear.
I have no problems with meta^n language, but it tends to make
many people's eyeballs spin in their sockets (and perhaps cause
them to spit out large quantities of pea soup).
> In a metalanguage for J, there should be a controlled vocabulary with
> sufficient words to express any technical sentence about J.
> Words should be clear, simple and easily recognized. You should
> choose one word for one meaning. In this way the metalanguage can be
> learned and used effectively by the speakers of any language, tho
> they may initially need a translation.
Of course.
In my example, the word 'English' has one meaning to English-speakers
in the context: 'The language in which we are speaking' (as opposed to
'the language spoken by machines') - as such, the term is clearly relative,
as there is no other reference to Anglo-Saxon language or culture
anywhere else in the J specification to indicate that it is a static reference.
(Or, or that matter, referring to linquistic features that are unique to
English other than any other language).
> Later in the suggested revised post I do include the reason for
> choosing the terms that have analogous meaning in English using
> mostly the same wording as the original text.
J choses these words precisely because the programming model
has a strong connection with the English language and others:
Alphabet - The character set from which words are formed
Word - The fundamental unit from which the language is built up
Noun - A thing, an object being manipulated
Verb - An action performed by or on a thing
Adverb - Something modifying or qualifying an action or thing
Conjunction - Something combining two actions or things into a new one
Copula - Like a verb, identifies one thing with another
Gerund - A noun that encapsulates the meaning of a verb
Pronoun - A word whose meaning varies from time to time,
but serves as a placeholder for a previously-defined noun
Sentence - A meaningful, self-contained sequence of words
In all cases, the J meaning is substantially the same as the English one.
(One could concievably use the term Adjective when referring to
Adverbs that apply only to nouns, or the term Infinitive rather than Gerund).
> To summarize I suggest:
>
> 1. stating what it is that all languages have in common rather than
> what J has in common with English.
> 2. make a distinction between the object language J and the meta
> language (possibly referred to as J terms since that was already in
> the text).
Terms such as 'function', 'subroutine', 'noun', 'verb' are always metalanguage,
since the languages themselves rarely actually use most such terms
(except perhaps in declarations, such as 'var' in Pascal or 'function' in
JavaScript)
> If these things are set out carefully it can improve discussions in
> all the forums because people will use the same simple meta language
> to describe J. It can improve programming specs for upgrading and
> maintaining J. It can improve the learning curve. Otherwise we can
> have interesting conversations trying to figure out what one another
> means.
The whole point of using a different metalanguage to describe J is
because 1) the syntax model is more sophisticated than that of most
programming languages, so the normal metalanguage is inadequate -
it becomes unwieldy when one must invent new terms 'function' vs
'meta-function' for example), 2) an English-like metalanguage
(as I mentioned above) is much more suited to describing these
features of J.
Consider the J block:
if. x do.
blah =: 42
else.
blah =: +
end.
If I ask you what 'blah' is in J, in terms of English-based J metalanguage,
I could describe is as a pronoun or proverb; however, it would be
difficult to explain in terms of traditional programming metalanguage,
since most languages do not permit dynamically-assigned functions,
let alone symbols that can be functions and/or variables depending
on the flow of execution.
-- Mark D. Niemiec <[EMAIL PROTECTED]>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm