Hi Don, Glad to see you did not give up with the S idea. I do not think that S is necessary, but do hope that you see it through.
You mention that explicit uses "x" and "y" to bring in arguments, if the problem is inconsistency with tacit then for the time being you could just define: x =: [ y =: ] and tacit will also bring in the arguments using "x" and "y" - getting rid of the inconsistency. x =: [ y =: ] 10 (x * y) 100 1000 10 (4 : 'x * y') 100 1000 Where does explicit J use unmatched parentheses? I did not notice that. On Sun, May 31, 2009 at 6:03 PM, Don Watson <[email protected]> wrote: > Hi Don, > > Thanks for your comments. > > You said: > > "What does confuse me is your insistence that tacit programming >> in its full blown glory needs to be taught at the beginning. It just >> complicates things unnecessarily." > > I was trying to break the progression from tacit J to explicit > definition > into 4 incrementally separate forms. > (I apologize for the names - I am sure someone else could come > up with much better names): > > 1) Tacit J > 2) Tacit Arithmetic - the same as tacit J except the grammar is right to > left. > 3) Serial Arithmetic - like tacit arithmetic, except that it uses local > parameters and successive lines. > 4) Arithmetic J as used in Interactive programming. > > By going to tacit arithmetic first, I was not using the full blown > glory of tacit J - I was trying to stay away from the fork/hook grammar - > this way I get to full blown tacit J a lot more slowly than current > J documentation does. > > However, where I think you are right is that the serial arithmetic > should be explained before the tacit arithmetic. It just seemed easier to > explain the whole thing to J experts the other way round. > > You said: > > "When I first started with J I struggled. I was completely baffled by tacit >> programming, but more important, having known APL, I was confused by >> differences from APL, like the way \ works in J. As far as tacit >> programming, I'm still learning. But to me it's a challenge. But I never >> saw >> these obstacles as something wrong with J." > > I want to emphasize that I am not suggesting that tacit J go - only that > some intermediate stages be added to make each new feature incremental. It > is explicit J that is the problem. It is inconsistent with both tacit J and > interactive J, it is ugly, it uses unmatched parentheses - a sin that > interactive J won't accept - it puts code in quotes and it uses "x" and "y" > to bring in arguments. I am trying to integrate the lot into one consistent > and incrementally separate language rather than the three disconnected > worlds that currently exist. > > Don > > > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
