Mustafif / MufiZ

Mufi Lang with Ziggyness
GNU General Public License v2.0
1 stars 0 forks source link

MufiZ

This project uses the Zig v0.13.0

🌐 mufiz.mustafif.com

This project aims to integrate the Mufi-Lang compiler with the Zig language by using the Zig Build system. We hope to integrate more features with this language and see how nicely we can utilize both languages in unity. The advantage of Zig's Build system is easy cross-compatibility and caching, and as we integrate more, we can ensure more memory safety.

Usage:

$ mufiz --help 
    -h, --help
            Displays this help and exit.

    -v, --version
            Prints the version and codename.

    -r, --run <str>
            Runs a Mufi Script

    -l, --link <str>
            Link another Mufi Script when interpreting

        --repl
            Runs Mufi Repl system

Debug vs Release Modes

Now when building under the Debug optimize mode, MufiZ will contain the debugging macros that shows GC tracing, and chunk disassembly. These will be turned off when built under any of the other Release* optimize modes with command zig build -Doptimize=.

Note: The following components are built under a specific optimize mode:

  • libmufiz_scanner: ReleaseFast
    • Since this library doesn't involve memory management on the Zig side, we can prioritize performance.
  • libmufiz_table: ReleaseFast
    • Since this library doesn't involve memory management on the Zig side, we can prioritize performance.
  • clap: ReleaseSafe
    • Since this library involves components that require allocations, we prioritize safety.

Installation

Deb Package

$ sudo dpkg -i mufiz_{version}_{target}.deb

APT

We host our official APT repository on Github on the MufiZ-APT repository. To install using apt follow the instructions below:

$ echo "deb [arch= {arch}, trusted=yes] https://mustafif.github.io/Mufi-APT mufiz main" | sudo tee /etc/apt/sources.list.d/mufiz.list
$ sudo apt update && sudo apt upgrade
$ sudo apt install mufiz

Where {arch} is the architecture of your system.

Supported architectures are:

RPM Package

$ sudo rpm -i mufiz_{version}_{target}.rpm

Linux/MacOS Zip

$ unzip mufiz_{version}_{target}.zip
$ mv mufiz /usr/local/bin

Windows

Scoop

You can also install on Windows for 64/32 bit and arm64 using the Scoop package manager:

scoop bucket add mufi-bucket https://github.com/mustafif/mufi-bucket
scoop install mufi-bucket/MufiZ

Goal

View MufiZ Project Roadmap to see current goals I am currently working on or planning to implement for the current or next versions.


Releases

Version Codename Status
0.1.0 Baloo Archived
0.2.0 Zula Released
0.3.0 Iris Released
0.4.0 Voxl Released
0.5.0 Luna Released
0.6.0 Mars Released
0.7.0 Jade Latest
0.8.0 Ruby In Progress

Features

To support various toolchains, we have added the following features to the project, which can be enabled or disabled using the zig build command:

Related Repositories