I don't see a clear line between tacit and explicit. When I first saw J and its tacit expressions I couldn't grasp them at all. It took months before a breakthrough when I finally saw what they were doing. The fork was the first one that I finally got. I remembered in college a teacher rewrote the sum of two functions in a shorthand notation. Seemed pretty natural at the time.
(F + G)x = F(x) + G(x) That's a fork! Then I found that I could write (x + y) * (x - y) <--> x(+ * -)y and I could actually read it! Now I mix tacit expressions into explicit sentences all the time. It is still more natural for me to think in terms of x and y, but tacit is getting easier to write and read. On Sat, Mar 15, 2014 at 6:36 AM, Raul Miller <rauldmil...@gmail.com> wrote: > I did not mean to suggest that g was an inaccurate translation. It's quite > accurate. > > It is, however, an imprecise translation. > > My point could be restated as: it's important to understand the distinction > between accuracy and precision. And also: That distinction is contextual. > > Thanks, > > -- > Raul > > > On Sat, Mar 15, 2014 at 2:57 AM, Linda Alvord <lindaalv...@verizon.net > >wrote: > > > Your concerns about accuracy of the translation make it all the more > > important to have the computer do the translation. > > I wrote g to do what your "thru" does. I patterned it after your > > solution. > > To me it seemed that my version did the job correctly. > > > > How should I have written it so that it would be an accurate explicit > > translation of your definition? > > > > f=: <./ + i.@(+ *)@-~ > > > > g=: 13 :'x(<./+[:([: i. (+*))-~) y' > > > > > > > > 4 f _7 > > 4 3 2 1 0 _1 _2 _3 _4 _5 _6 _7 > > 4 g _7 > > 4 3 2 1 0 _1 _2 _3 _4 _5 _6 _7 > > > > 4 f 8 > > 4 5 6 7 8 > > 4 g 8 > > 4 5 6 7 8 > > > > _4 f 11 > > _4 _3 _2 _1 0 1 2 3 4 5 6 7 8 9 10 11 > > _4 g 11 > > _4 _3 _2 _1 0 1 2 3 4 5 6 7 8 9 10 11 > > > > _2 f _7 > > _2 _3 _4 _5 _6 _7 > > _2 f _7 > > _2 _3 _4 _5 _6 _7 > > > > When I try to understand your style of writing it takes me a long time to > > find where the arguments belong. It is difficult to capture all the > > subtleties of well written code. What I am suggesting is not to make it > > easier, but to make J actually be able to be a skillful teacher. > > > > Linda > > > > -----Original Message----- > > From: programming-boun...@forums.jsoftware.com > > [mailto:programming-boun...@forums.jsoftware.com] On Behalf Of Raul > Miller > > Sent: Saturday, March 15, 2014 12:57 AM > > To: Programming forum > > Subject: Re: [Jprogramming] J in 5 minutes > > > > We think very differently, I think. > > > > Personally, while I have a great respect for what we can do with > computers, > > I think it's a mistake to think solely in terms of what they make easier. > > (Designs always involve tradeoffs, and making one thing easy makes > another > > thing harder. People will often favor a particular tradeoff, but other > > people will have conflicting needs.) > > > > In this particular case, note that f has a different definition from g. > > They are similar definitions, but they are not identical. You see them as > > the same because you have a particular mental model about how they are to > > be used. > > > > But usefulness is something we impose on the definition, on the > > implementation, and so on. > > > > And *that* I think, is the most important message here. You cannot use > > computers if you do not understand this. > > > > Thanks, > > > > -- > > Raul > > > > P.S. > > > > (f -: g) i. 3 > > 0 > > > > > > > > On Sat, Mar 15, 2014 at 12:37 AM, Linda Alvord > > <lindaalv...@verizon.net>wrote: > > > > > I've been reading about tacit vs. explicit definitions. For some users > > of > > > J , it seems more natural to use x and y when using a right to left > > > definition. For many others your style is more easily used. However, > f > > > and g do the same thing. > > > > > > So, writing in either style is OK. However it there were a way to see > > > style f translated into either style f* or f^ could be use or some > > other > > > way of distinguishing them. You would be able to see "your f " in > either > > > style. It would be like having an English or French version of the > same > > > sentence. > > > > > > But in a similar fashion I could view "my g " in either g* or g^ > > > > > > There would never be a need to enter f or g alone since you would > > pick > > > the one you wanted. > > > > > > Does this seem any clearer? > > > > > > Linda > > > > > > -----Original Message----- > > > From: programming-boun...@forums.jsoftware.com > > > [mailto:programming-boun...@forums.jsoftware.com] On Behalf Of Raul > > Miller > > > Sent: Saturday, March 15, 2014 12:09 AM > > > To: Programming forum > > > Subject: Re: [Jprogramming] J in 5 minutes > > > > > > Why would f alone provide no definition? I'm having trouble > understanding > > > what you are driving at? > > > > > > Thanks, > > > > > > -- > > > Raul > > > > > > > > > > > > On Fri, Mar 14, 2014 at 11:32 PM, Linda Alvord > > > <lindaalv...@verizon.net>wrote: > > > > > > > In my more perfect world, Raul could write f , and I could write > g . > > > > > > > > f=: <./ + i.@(+ *)@-~ > > > > > > > > g=: 13 :'x(<./+[:([: i. (+*))-~) y' > > > > > > > > > > > > However, by some coding system, he could look at both "dialects". > > > > > > > > f1=: <./ + i.@(+ *)@-~ > > > > f2=: <./ + [: ([: i. (+ *)) -~ > > > > > > > > and so could I: > > > > > > > > g1=: <./ + i.@(+ *)@-~ > > > > g2=: <./ + [: ([: i. (+ *)) -~ > > > > > > > > but f alone would provide no definition. > > > > > > > > Linda > > > > > > > > -----Original Message----- > > > > From: programming-boun...@forums.jsoftware.com > > > > [mailto:programming-boun...@forums.jsoftware.com] On Behalf Of Don > > Kelly > > > > Sent: Friday, March 14, 2014 2:45 AM > > > > To: programm...@jsoftware.com > > > > Subject: Re: [Jprogramming] J in 5 minutes > > > > > > > > Good point - however both tacit and explicit follow certain rules of > > > > the language- > > > > I would put this in terms of a sermon , rather than a dialect- > > > > where the preacher deals directly to the point vs one who takes a > > > > detailed (often circuitive) route to get to the point. Same > language- > > > > but one approach goes step by step (often repeatedly) while the other > > > > goes more directly. > > > > Put it this way > > > > MAd (Michigan Algerithmic Decoder- the first language I learned), > > > > Fortran (originally a weak version of MAD) , Basic, Turbo Basic > (Basic > > > > with muscle ) are dialects of a language. Pascal, C C++ etc are > > > > dialects of a different language. APl, J and related "languages" are > > > > also dialects of some common language . > > > > These languages, in part, borrow from each other (and dialect borrow- > > > > i.e Fortran borrowed from MAD but left Alfred E. Neuman out of error > > > > messages starting with "this is mad" > > > > > > > > Whatever, too long a day, and too much wine "in Vino excreta taurus" > > > > > > > > Don > > > > > > > > . > > > > > > > > > > > > On 13/03/2014 8:54 PM, robert therriault wrote: > > > > > Well, tacit and explicit could be thought of as dialects, couldn't > > > they? > > > > > > > > > > Cheers, bob > > > > > > > > > > On Mar 13, 2014, at 7:57 PM, Don Kelly <d...@shaw.ca> wrote: > > > > > > > > > >> At least J doesn't have dialects. > > > > >> > > > > >> 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 > > > > > > > > > ---------------------------------------------------------------------- > > > > For information about J forums see > http://www.jsoftware.com/forums.htm > > > > > > > ---------------------------------------------------------------------- > > > For information about J forums see http://www.jsoftware.com/forums.htm > > > > > > ---------------------------------------------------------------------- > > > For information about J forums see http://www.jsoftware.com/forums.htm > > > > > ---------------------------------------------------------------------- > > For information about J forums see http://www.jsoftware.com/forums.htm > > > > ---------------------------------------------------------------------- > > For information about J forums see http://www.jsoftware.com/forums.htm > > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm