I also like Henry's suggestion of fast function definition. It's also
unclear to me on how the Erling's suggestion improves upon that.

On Thu, Sep 28, 2017 at 5:45 PM, Louis de Forcrand <[email protected]> wrote:

> I don't really understand what you wish to add either, Erling.
>
> If you want to use explicit J syntax, you could write an explicit verb.
>
> You write:
> > Particularly to create what you most commonly need, a sequence of
> > monadic verbs, each acting on the result of the verb to the right.
> > Well, it is not complicated as such, but for some reason people don't
> like
> > the obvious way to do it, which is [: f [: g [: h ]. Then they dive into
> a
> > mess of complications. I mean the cap should not be necessary. That
> simple
> > right to left execution should be the default, possibly modified with
> > parenthesis. That tacit and explicit J should have the same basic syntax.
>
> f@:g@:h?
> In addition, I disagree with your last two sentences. What's the point of
> having tacit syntax if it's the same as explicit syntax? If you want
> explicit syntax, write an explicit verb; other times tacit syntax is really
> practical.
> In an explicit verb, simple right to left execution *is* the default.
>
> In any case I don't really see how the rest of your suggestion differs
> from Henry's (.). verbs, which I like very much by the way.
>
> Cheers,
> Louis
>
> > On 28 Sep 2017, at 14:53, Raul Miller <[email protected]> wrote:
> >
> > Jose's work is impressive, but I try to avoid it because of the extra
> > complexity it creates when I want to (for example) provide a parameter
> > in clauses for conjunctions like &. -- the extra complexity can be a
> > nice mental exercise and maybe even a cure for boredom, but I feel
> > that I have the right to treat it as unnecessary.
> >
> > Thanks,
> >
> > --
> > Raul
> >
> >
> > On Thu, Sep 28, 2017 at 8:33 AM, Erling Hellenäs
> > <[email protected]> wrote:
> >> Hi all !
> >>
> >> I am very impressed by Jose's work and I think it is an excellent
> >> illustration to why we need the modification to J I propose.
> >> It is extremely  complicated to do these things which should be simple,
> as I
> >> see it. Particularly to create what you most commonly need, a sequence
> of
> >> monadic verbs, each acting on the result of the verb to the right.
> >> Well, it is not complicated as such, but for some reason people don't
> like
> >> the obvious way to do it, which is [: f [: g [: h ]. Then they dive
> into a
> >> mess of complications. I mean the cap should not be necessary. That
> simple
> >> right to left execution should be the default, possibly modified with
> >> parenthesis. That tacit and explicit J should have the same basic
> syntax. I
> >> tried my ideas of a different tacit J in a test implementation and it
> was
> >> great.
> >>
> >> Cheers,
> >> Erling Hellenäs
> >>
> >>
> >>> On 2017-09-28 05:29, Jose Mario Quintana wrote:
> >>>
> >>> Hi Erling,
> >>>
> >>> You are right, the adverb (At) produces tacit sentences but it is
> really
> >>> an
> >>> implementation of Dan's pipeline proposal using strand notation via a
> >>> Curried adverb (aka, recurrent adverb and multiple adverb).
> >>>
> >>> However, I have written (tacitly) a tacit Curried adverb (xi) which,
> using
> >>> a lambda-style syntax, produces a tacit verb which in turn, given its
> >>> arguments, produces tacit entities.  You might find xi interesting; the
> >>> general form is,
> >>>
> >>> t=. [: v0 v1 ... vn '...' xi
> >>>
> >>> The names v0 v1 ... vn should be syntactically verbs (recall, xi is a
> >>> Curried adverb) but they can represent nouns, verbs, adverbs, or
> >>> conjunctions.  I use undefined names since those are regarded by
> default
> >>> as
> >>> verbs (even if xi does not affect in any way the named verbs).  The
> >>> literal
> >>> '...' represents a quoted J (or more generally a Jx) sentence.
> >>>
> >>> This is how your example can be written using xi,
> >>>
> >>>    erase 'b v'
> >>>
> >>>    [: v '([: b ''<:b++/\b-~-.b'' xi <''\''=v){."0 v' xi <'\\\//\\\//'
> >>> \
> >>>  \
> >>>   \
> >>>   /
> >>>  /
> >>>  \
> >>>   \
> >>>    \
> >>>    /
> >>>   /
> >>>
> >>> There is the nuisance of quotes within quotes and the argument must be
> >>> boxed; however, this allows, in general, the verb (t) to produce a
> noun, a
> >>> verb, an adverb, or a conjunction and to take multiple boxed nouns,
> verbs,
> >>> adverbs, or conjunctions as its argument.  The following verb (t) acts
> >>> directly on a couple of (boxed) verbs and produces a verb,
> >>>
> >>>    t=. [: u v 'u/@:v' xi
> >>>
> >>>    t[:+*:]: NB. Sum of squares
> >>> +/@:*:
> >>>    t[:+*:]: 1 2 3 4 5
> >>> 55
> >>>
> >>>    t[:-%:]: NB. Difference of square roots
> >>> -/@:%:
> >>>    t[:-%:]: 1 2 3 4 5
> >>> 1.55390522
> >>>
> >>> Note that the Curried higher-order verb (t) is, in effect, acting on
> two
> >>> arguments: [:-%:]: and 1 2 3 4 5; furthermore, t [:-%:]: performs a
> >>> partial
> >>> application of the verb (t) acting on [:-%:]: .
> >>>
> >>> The following are variations of the verb produced in [0], the verb (t)
> >>> acts on a (boxed) conjunction and produces an adverb,
> >>>
> >>>    t=. [: u '(ver adv u)&:train/adv' xi
> >>>
> >>>    ]`{.`{:`{: (t [:(<adv@:)]:)  NB. Use [:(<'@:')sb in J
> >>> ]@:({.@:({:@:{:))
> >>>
> >>>    ]`{.`{:`{: (t [:(<adv@ )]:)  NB. Use [:(<'@ ')sb in J
> >>> ]@({.@({:@{:))
> >>>
> >>>    ]`{.`{:`{: (t [:(<adv&:)]:)  NB. Use [:(<'&:')sb in J
> >>> ]&:({.&:({:&:{:))
> >>>
> >>> These non-compliant features are not provided by the Jx interpreter;
> they
> >>> are, in fact, inherited from the J interpreter, the Jx facilities just
> >>> make
> >>> them a lot more accessible.  Actually, I have written a version
> >>> (admittedly
> >>> cumbersome) of xi in J; see [1] for a link to a zip archive and the
> path
> >>> to
> >>> a script where xi is defined.
> >>>
> >>> PS.
> >>>    erase'u0 u1 u2'
> >>> 1 1 1
> >>>    [: u0 u1 u2 'u0 + u1 + u2' xi 1 ; 2 ; 3
> >>> 6
> >>>
> >>>    erase'α β γ'
> >>> 1 1 1
> >>>    [: u0 u1 u2 'u0 + u1 + u2' xi [:α β γ]:
> >>> α + β + γ
> >>>
> >>> References
> >>>
> >>> [0] [Jprogramming] Gerund composed application
> >>>     http://www.jsoftware.com/pipermail/programming/2017-
> >>> September/048797.html
> >>>
> >>> [1] J Wicked Toolkit
> >>>     http://www.2bestsystems.com/foundation/j/Jx.zip
> >>>     \Jx\J\J Wicked Toolkit.ijs
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>> On Wed, Sep 27, 2017 at 5:10 AM, Erling Hellenäs
> >>> <[email protected]>
> >>> wrote:
> >>>
> >>>> Hi all !
> >>>>
> >>>> Pascal, I will come back to your post later.
> >>>>
> >>>> Here is a little compiler written in Jx and compiling, as I understand
> >>>> it,
> >>>> tacit code with explicit J syntax into tacit J. I did not test it, I
> just
> >>>> read the post.
> >>>> http://www.jsoftware.com/pipermail/programming/2017-
> August/048143.html
> >>>> The code snippet Farey is an example of the source code of the little
> >>>> compiler.
> >>>> I just think we should not have to use a tacit J compiler from
> explicit J
> >>>> to be able to use explicit J syntax and get a tacit result, a single
> >>>> verb.
> >>>> It would obviously be better to use explicit J  syntax in the first
> >>>> place,
> >>>> as i see it.
> >>>>
> >>>> Cheers,
> >>>>
> >>>> Erling
> >>>>
> >>>>
> >>>> ------------------------------------------------------------
> ----------
> >>>> 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