That was quick! :)

On Fri, Jun 10, 2011 at 7:17 PM, Don Guinn <[email protected]> wrote:
>   loadd 'D:\JUser\temp\195.ijs'
>   message=:(i.0 0)[1!:2&2
>
>   adv1=:1 : 0
> message 'Adverb 1 run'
> u/
> )
>   adv2=:1 : 0
> message 'Adverb 2 run'
> u/y
> )
>   message 'After definitions'
> After definitions
>   d1=:+adv1 NB. Use with no x or y.
> Adverb 1 run
>   d1 1 2 3  NB. Using d1 referring to adv1.
> 6
>   d1
> +-+-+
> |+|/|
> +-+-+
>   d2=.+adv2 NB. Defining with u only. adv2 does not run yet.
>   d2 1 2 3  NB. Using d2 referring to adv2. Now adv2 runs.
> Adverb 2 run
> 6
>   d2
> +-+----------------------------+
> |+|+-+-+----------------------+|
> | ||1|:|message 'Adverb 2 run'||
> | || | |u/y                   ||
> | |+-+-+----------------------+|
> +-+----------------------------+
>
> d1 and d2 do the same thing; however, notice when adv1 and adv2 are executed
> and the difference in the definitions of d1 and d2.
>
>
> On Fri, Jun 10, 2011 at 8:51 AM, David Vincent-Jones
> <[email protected]>wrote:
>
>> If the definition could be terminated with a 'special' symbol, that
>> detects the problem, then an automatic error message might be generated
>> as in "x input incorrect or missing". It would be a more user friendly
>> than having users delve into the land of trace.
>>
>> David
>>
>> On Thu, 2011-06-09 at 20:09 -0600, Don Guinn wrote:
>> > 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
>>
>>
>> ----------------------------------------------------------------------
>> 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

Reply via email to