I don't really know. All I know is that if I have x and y explicitly specified in the definition of an adverb or conjunction that it does not appear to execute until x and y are supplied. You can see that by putting a trace, some output which occurs when the definition is executed. If no x or y it executes earlier. If x or y is present it waits until x and/or y are given. You can put tests into the definition to determine if u and v are verbs or nouns. You can put in tests to look at x and y and change how the adverb or conjunction executes. That seems to me that the execution is deferred when x or y is present.
It would seem to me that if trace were in the definition that that would show even if the definition were discarded. On Thu, Jun 9, 2011 at 8:08 AM, Raul Miller <[email protected]> wrote: > You are talking about two different things here, I think. > > An evaluation step has to happen (which involves resolving what the > name of the conjunction refers to) before the interpreter can see > whether it contains both an x or a y and a m, n, u or v. > > Now... you could argue that once that investigation has happened, the > definition which was inspected should be discarded, and the name which > was used to find the definition should be retained in its place. But > I think we can at least agree that this would be a change in how the > language works: > > f1_ex_=:1 :'start u y' > f2_ex_=:1 :'start u ]' > start=: 10 > start_ex_=: 100 > + f1_ex_ 1000 > 1010 > + f2_ex_ 1000 > 1100 > > -- > Raul > > On Thu, Jun 9, 2011 at 8:53 AM, Don Guinn <[email protected]> wrote: > > Not necessarily. The definition is completed when all arguments are > > supplied. If the definition of an adverb or conjunction contains x or y > the > > definition is delayed until those arguments are supplied. > > > > On Thu, Jun 9, 2011 at 12:40 AM, Ian Clark <[email protected]> > wrote: > > > >> >>Anyways, adverbs and conjunctions are evaluated when building tacit > >> >>verbs, so J cannot defer their name resolution until later unless you > >> >>embed them in an explicit verb. > >> > > >> > Thanks, Raul -- I guess that perfectly describes the situation I've > >> > run up against. :) > >> > Plus the remedy, which is the one I've resorted to. :/ > >> > But IMO that's like Molière: Q: Why does morphine make you sleep?... > >> > >> Sorry Raul, I entirely missed the point, didn't I? ... > >> > >> If adverbs and conjunctions combine verbs into new verbs, then those > >> new verbs logically come into existence at definition time, not > >> run-time. Hence the conjunction has to be expanded at definition time: > >> you can't avoid it. > >> > >> Very taken-up right now with clearly explaining J concepts to novices. > >> Seems I needed this one explaining to myself: I was implicitly viewing > >> a conjunction as a kind of super-verb taking extended arguments. > >> > >> Definitely an APL mindset there > >> . > >> > >> > >> > > ---------------------------------------------------------------------- > > 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
