The new error message can break J code that relying on checking error messages. To revert to old error messages, add this line somewhere before running your applications
4!:55 <'eformat_j_' On Wed, 14 Dec 2022 at 1:09 AM Henry Rich <henryhr...@gmail.com> wrote: > 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 > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm