State of v0.6.0 Mars Release

Since this release is going to be quite the largest that will be released yet, at the time of writing, the next branch, which houses all the commits for v0.6.0 is 72 commits ahead of the main branch, which houses the current v0.5.0.

The Mars release is going out of this world and will contain the following new changes:

  • We have upgraded to Zig v0.12.0-dev and with this new toolchain, we hope this will reduce the future headache of migrating from v0.11.0.

  • We have introduced the two following collection types:

    • Matrix: This multidimensional array allows users to create a multidimensional array. This type may also create a tensor where all elements are matrices.

    • FloatVector: This array strictly contains only double types and features using AVX2 for parallel operations. The size of 3 allows it to be used for Vec3 operations.

  • More collection type builtins

  • Networking Features: We introduce the following builtins for sending network requests:

    • get_req

    • post_req

    • put_req

    • del_req

  • Random numbers of Uniform and Normal Distributions

This release, however, comes with the following removals or modifications though:

  • wasm32-wasi is ran with enable_fs and enable_net disabled and has sandbox mode enabled so it runs on a REPL-only system.

  • arm-linux-* toolchains have been removed due to issues with the LLD link when running on build_multi.py and will continually be tested to see if I can put the toolchain back in.

There is still a lot of code cleanup that needs to be done, and there are still differences between the implementations of the collection types. While making the builtin function arguments easier, type lookup for better error handling. I'd like to make build_multi.py to be smarter and help more with debugging certain toolchains, so this is why v0.6.0 is taking a lot longer than other releases.

Did you find this article valuable?

Support MufiZ-Lang News by becoming a sponsor. Any amount is appreciated!