I oppose this, I think strongly.
.. and .: should never have been defined. They do very little and take
up valuable codepoints.
The mathematics primitives come from a period where J was trying to
compete against Mathematica IIUC. The problem with them is that the job
to be done is a little too big for the syntax suggested for them:
Maclaurin series are of interest, but not nearly as much as general
Taylor series; but the two-operand t-functions do not admit specifying a
point.
The calculus functions are OK for differentiation, maybe, but
insufficient for integration where definite integrals are important.
Contour integration in the complex plane is part of the problem domain.
IMO Taylor and calculus should remain as open-source packages where with
effort they might grow into something useful. In such a package the
functions can have arguments that are as complex as necessary, and there
can be specialized functions for special needs, which would be
unavailable if all you have is d- and t-primitives. Raul's work on this
has already made progress, and others have expressed interest.
Raul: I can answer your questions about t.c, either privately or in this
forum.
Henry Rich
On 4/2/2022 8:46 AM, Raul Miller wrote:
I would like to reinstate at least some of the primitives which were
removed from the language in J901.
The removed primitives were:
.. .:
d. D. D:
t. T: T.
I do not fully understand the reasons for their removal. But their
removal breaks old code and diminishes the value of older
documentation and other uses for the language.
Since we have library implementations for d. D. and D: it seems like
the jtfindnameinscript mechanism should let us reinstate those
primitives.
This leaves a few open issues, of course:
One issue is testing of the library routines. This should probably be
done outside of builds of the j engine.
Another other issue is more immediate, for me: I do not adequately
understand the structure of t.c (which in j90x enumerates the
primitives), so I do not know how I would add these primitives to that
structure.
And, of course, there's the reasoning behind the removal of these
mechanisms from the language. I imagine that it had something to do
with freeing up resources. But, of course, that's just a guess.
This has been nagging me for a while, and since I keep stumbling over
this issue, I figure it would be best to try talking about it.
Are there any major issues here which I have overlooked?
If not, could I get some guidance on how to proceed here? (Should just
I start submitting pull requests representing my best efforts at
reinstating them?)
Thanks,
--
This email has been checked for viruses by AVG.
https://www.avg.com
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm