Before I begin here, I should mention that I do see a nice simplicity
in verb composition with purely monadic trains of verbs.  I can also
see some attractions in extending this style of composition to include
dyadic verbs but I believe I can also see some potential problems with
this line of thought.

On Fri, Apr 24, 2009 at 11:51 AM, Don Watson <[email protected]> wrote:
> `````b) Through abandoning the right to left rule in tacit programming, J
> `````````finds it very difficult to identify which is intended.

This did not make any sense to me when I first read it.  However, your
following statement:

> `````c) A variety of patches are needed to compensate, such as "@:",
> ````````"&" and "[:"

made your meaning clear to me.  But I think (c) could stand on its
own (and be clearer) with very slight rephrasing.  Perhaps: "J has
simple words, such as '@:', '&' and '[:' for its tacit expressions"

I should add, however, that most verbs are best understood in terms
of how they transform relevant data from within their domain.  In the
case of a verb phrase, this would hold true for each of the component
verbs as well as for the phrase as a whole.  I am quite certain that
changing the notation will do nothing to eliminate this issue.

In other words, I usually think in terms of the data in a "before/after"
sense, and usually do not use the dictionary definition of the word
or phrase, except as a tool for remembering how it transforms
data.  I usually remember abstract terms (adverbs and conjunctions)
in terms of how they work with simple verbs such as < or [.

> `````d) In some cases, such as (f &: g) y  and x (f &: g) y, Learning J says
> `````````the situation is still ambivalent.

Ambivalent is the word used to describe situations where
an operation has two distinct definitions, like:

   OP y
x OP y

A classic example, of course, would be:
   - 3
4 - 3

where the monadic and dyadic definitions for "-" are related but distinct.

You can not eliminate this treatment of ambivalence unless you
wish to exclude some very basic mathematical concepts or wish
to abandon classic mathematical notation.

I also wonder how - would be treated in a non-trivial phrase in
your hypothetical language.  Would the language forbid the use
of - in such phrases?  Or would the language only allow one
definition of - and not the other?  Or would the language support
ambivalent expressions?  Or would you introduce two words
for these two different concepts?

> `````e) J programmers tend to break mathematical formulae into small
> `````````subroutines to avoid the complexity - this loses the sense of
> `````````the mathematical formula, which is what the student is trying
> `````````to understand - a formula is like a map of the process.

I am having a problem seeing how (e) can be an accurate
statement.

When I am working on an algebra problem, I usually go through
a number of different (equivalent) expressions.  Some will be long,
and complicated but my ultimate goal is to have an expression
which minimizes the complexity of my statement.  I may also
use simple expressions and variable substitutions to make my
work easier.

I tend to follow a very similar process when working in J.

> `````e) I think that the tacit notation as it is has a big a learning
> `````````curve, and doesn't match existing mathematical notation well.

I typically have problems with expressing mathematical concepts
in J's notation when the text I am working with does not describe
the concepts adequately for me.  In these cases, if I abandon J's
notation and attempt to follow along in a rote fashion, I can sometimes
eventually understand what is being described.  Often, I can go back
and re-express the concepts using J and things will become clear to me.
There are exceptions of course, but they seem to be cases which
are not subject to calculations (either because I never understood
the concepts or because the concepts were not suitable).

Personally, I would favor expressing the same concept using different
notations (including english, of course) with good examples so
that if I have problems understanding one treatment I can move over
to a parallel treatment and try picking it up there.  Parallel treatments
can slow down a presentation, so might not be suited for all situations,
such as review of existing concepts?

-- 
Raul
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to