The two new features that Eric mentioned are well worth waiting for IMO.
The conversion to GMP was a big job. Raul Miller did it. It brings J up to modern standards of speed and space for extended-precision arithmetic.
The new error messages started as an idea of Elijah Stone's and progressed to a collaboration between him & me. There is an addon script, /dev/eformat, that you can update like any other addon. If you find messages that are missing or incorrect (quite likely!), report them here and we will try to update the addon to fix them. If any user wants to add new messages to the addon, that would be great: talk to me about getting permission.
Henry Rich On 12/13/2022 11:59 AM, Eric Iverson wrote:
J904-beta-i is available for windows/linux/mac/pi. Please install/upgrade and use it so that the release after the beta cycle is as stable as can be. Usually we would end the beta cycle near year end and have a stable release. Multi-threading was ready, but there were a few things we wanted to get in the release and this means we will extend the beta cycle into the new year as required. The JE now uses GMP (GNU Multiple Precision Arithmetic Library) for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating-point numbers. This is a replacement for the previous JE native support and is functionally equivalent, but MUCH faster. a =. 2 ^ 100000x 6!:2 'a*a' NB. time with GMP - 200 times faster JE standard error messages are now enhanced by J code (~addons/dev/eformat/eformat.ijs). i.'a' |domain error, executing monad i. |y has nonnumeric type (character) | i.'a' The stable release will be in the new year as soon as the betas settle down. *** 904 beta upgrade - extra steps to get the GMP shared library 1. start J 904 load 'pacman' install 'base library' NB. get pacman changes for installing GMP 2. restart J 904 load 'pacman' install 'gmp' NB. install GMP shared library 'upgrade' jpkg 'jengine' 3. restart J 904 JVERSION NB. verify beta-i 1000x NB. verify gmp works *** 904 beta install browse: code.jsoftware.com/wiki/System/Installation/J904/Zips and follow instructions for your platform *** GMP - https://gmplib.org/#WHAT What is GMP? GMP is a free library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating-point numbers. There is no practical limit to the precision except the ones implied by the available memory in the machine GMP runs on. GMP has a rich set of functions, and the functions have a regular interface. The main target applications for GMP are cryptography applications and research, Internet security applications, algebra systems, computational algebra research, etc. GMP is carefully designed to be as fast as possible, both for small operands and for huge operands. The speed is achieved by using fullwords as the basic arithmetic type, by using fast algorithms, with highly optimised assembly code for the most common inner loops for a lot of CPUs, and by a general emphasis on speed. ... ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm