MufiZ v0.6.0 Released!

I am happy to announce the next release of MufiZ, the Mars release. It brings massive changes and is an exciting new release that shows how much we can improve the language.
Release Notes for Mars (0.6.0)
Started on February 21st 2024.
Released on April 23rd 2024.
New Features
Added support for
Matrixdata type.Added support for
FVectordata type.This data type is a fixed array of floating point numbers that is able to use SIMD instructions.
This data type is used to represent vectors in 3D space.
Added network support via being able to send CRUD requests.
- This is able to be done using native Zig networking.
Added exponent token
^Proper random number generation with either uniform or normal distribution.
Other Changes
Lots of code cleanup and added more documentation.
More functionality in the language with added builtin functions.
Updated to
v0.8.0ofclapfor the CLI.Added features to optionally disable networking and filesystem access, and to enable sandboxing (REPL only).
Optimize your code with the new
FVectordata type, which can perform operations 3x faster than theArraydata type.Updated
what_isfunction to be able to identify any Object type.Updated
build_multito use the Zig build system instead of a Python script which would have caching conflicts. Using a seperate Python script for packaging the binaries.Adding support for package managers like
aptandscoopto install MufiZ.Switched from using
FNV-1atoxxhash64for hashing.- Will do a benchmark in the future to test the performance between
fnv1a,cityhash64andxxhash64.
- Will do a benchmark in the future to test the performance between
Switched to building targets:
arm-linuxon Debug optimization due to an LLD issue.Added
x86target support.
Added Builtin Functions
Math
rand(): Generate a random number between 0 and 1.randn(): Generate a random number with a normal distribution.
Networking
get_req(): Send a GET request to a server.post_req(): Send a POST request to a server.put_req(): Send a PUT request to a server.del_req(): Send a DELETE request to a server.
Collections
matrix(): Create a matrix with the given dimensions.fvec(): Create a vector with the given size or array.linspace(): Create a float vector of evenly spaced numbers.slice(): Get a subarray of an array.splice(): Remove a subarray from an array.sum(): Get the sum of a list.mean()Get the mean of a list.std()Get the standard deviation of a list.var()Get the variance of a list.maxl()Get the maximum value of a list.minl()Get the minimum value of a list.workspace(): Prints all global variables.interp1(): Linear interpolation between two points.dot(): Get the dot product of two vectors.cross(): Get the cross product of two vectors.norm(): Get the norm of a vector.proj(): Get the projection of one vector onto another.reflect(): Get the reflection of one vector off another.reject(): Get the rejection of one vector off another.refract(): Get the refraction of one vector through another.angle(): Get the angle between two vectors.set_row(): Set a row in a matrix.set_col(): Set a column in a matrix.set(): Set a value in a matrix.kolasa(): Get the Kolasa matrixrref(): Get the reduced row echelon form of a matrix.rank(): Get the rank of a matrix.det(): Get the determinant of a matrix.transpose(): Get the transpose of a matrix.lu(): Get the LU decomposition of a matrix.
Removals
Removed
snappackaging supportRemoved
wasm32-wasitarget inbuild_multi.zigscript, can still be built from source with:zig build -Doptimize=ReleaseSmall -Dtarget=wasm32-wasi -Denable_fs=false -Denable_net=false -Dsandbox=true
Check Out the Release at [Github](https://github.com/Mustafif/MufiZ/releases/tag/v0.6.0) today!






