Skip to content

Co-dfns 2.0.0

Compare
Choose a tag to compare
@arcfide arcfide released this 20 Dec 06:15
· 1657 commits to master since this release

What's New:

  • Fix a minor parsing bug
  • Add partial support for arrays of rank > 4

This release is a fairly significant release in that we have made fundamental changes to the underlying array representation to support ranks > 4. This touches most of the runtime, and there is still more work to be done to enable this support to be used across all of the primitives. However, the support for scalar primitives and a number of mixed functions is there already.

This work is part of setting the foundation for adding nested arrays into the system, as well as beginning the necessary framework support for improving the runtime system's targetability. Additionally, this will support the efforts to reduce the size of the C runtime in order to increase the speed with which we can deploy new runtimes.

The major version has been bumped. Relatively little has changed with respect to the API for most APL programmers. However, for those who are using the Co-dfns structures directly as a part of your C code interfaces, this will impact you. In particular, pay attention to the changes to the A struct and how it handles both "spanning arrays" and the rank of an array. The f field is now used to handle both the calculation of empty arrays and "span" arrays. It was previously not necessary to set the f field appropriately for anything but arrays that were being returned to the Dyalog DWA system. Now, it is necessary to use the f field appropriately for any arrays that you wish to use for indexing in brackets or the like.

For the vast majority of users, this change in API should be transparent.

Support Co-dfns R&D: https://patreon.com/arcfide