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
