>  Nonce error -: unimplemented

You know what's fun about J?  Algebraic manipulation of programs.  Even when
the interpreter can't (yet) do it, you can still do it in your head.

For example, with:

   f =: ^...@-@*: NB. the function
   finv =: f^:_1  NB. f's inverse
   integrand =: o. @ *: @ finv

You immediately see that integrand is nothing more than o...@-@^.  aka  1p1 *
-...@^.  (though I prefer the latter notation - I find  o.  a bit obscurant
when it only means 1p1&* ). Therefore, the indefinite integral is 1p1 * ] -
] * ^.  or  1p1 * (- (* ^.))  or  o.@(- (* ^.))  or however you want to
phrase it.

In case it's not clear, working right-to-left in integrand, we have  f^:_1
where f is a composition (pipeline) of several functions, and therefore its
inverse is the composition of the inverses of those functions, in reverse
order.  So  ^...@-@*:  becomes  (*:^:_1)@(-^:_1)@:(^:_1)  which of course is
%:@-...@^.  .  Then, we see the ultimate  %:  in finv is immediately cancelled
by the subsequent  *:  in integrand, so we remove both of them, leaving
o...@-@^.  Then we integrate mentally (or cheat & use the web, or cheat &
integrate the components individually with  d._1  and then recompose
manually).

>  PS. How do we Punctuate sentences containing j?

To embed J in English sentences, I just pad the J with sufficient space to
make it unambiguously and avoid syntactic problems (e.g. between the J and a
sentence-ending period).  Tracy Harms advanced the idea of wrapping all J
expressions in parens, which cleanly separates them from the prose, yet
perfectly maintains their semantics (unfortunately, I use so many parens
already that using them also for J just gets messy).  Others use other
methods.

>  I've not yet used u"v .  I'd prefer effort in calculus algorithms.

First: yes, you have used u"v .  It is impossible to use J without using
u"v  , even if you don't know it.

In terms of HR allocation, I prefer extending (exploring) concepts unique to
J, rather than using J to reiterate concepts well-established in other
fields.  Especially intrinsic, powerful concepts like  "  .   For calculus
particularly, I think extensions can better be done in user space - it
wouldn't be hard to rewrite d. and D. (see algebraic manipulation example
above), and since calculus is a wide field with diverse applications, it
would take a lot more HR allocation to "complete" (or at least make
practical) d. and D. than extending  "  .  In other words, extending  "
would give us more bang for the buck.

That said:  (a) it's not my buck, nor my HR to allocate and (b) I don't use
J for "real work", so my bias is towards the theoretical, whereas yours
might be more pragmatic.  In either case, I suspect Roger's just going to
follow Ken's advice to Arthur anyway:  http://keiapl.info/anec/#listen  

-Dan


----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to