Crates.io | moonalloy |
lib.rs | moonalloy |
version | 0.3.4 |
source | src |
created_at | 2021-12-20 12:59:20.613745 |
updated_at | 2022-06-18 12:22:52.515868 |
description | The oxidized scientific computing library for the 21st century |
homepage | |
repository | https://git.hacktheoxidation.xyz/moonalloy.git |
max_upload_size | |
id | 500688 |
size | 78,500 |
Smelting moonstone and corroded metal to forge a powerful alloy! (Rust + Lua)
Moonalloy is a library for scientific computing and data analysis. It contains functionality for manipulating mathematical objects like Arrays (Vectors) and Matrices. The library can be used by other rust code or any programming language that supports the C ABI. The author has implemented bindings for LuaJIT.
The aim of the project is to a all-in-one, go-to library for scientific computing and data analysis. The functionality should include:
In short, it aims to have similar functionality as NumPy/SciPy or BLAS. It does not intent to become an exact clone of the mentioned libraries with a similar API.
Moonalloy is written with speed and ease of use in mind. Rust was chosen as the backend language since it is fast (similar to C/C++), but it has more safety features and a more modern toolchain than C/C++ that works out-of-box. It also has a built-in FFI that is compatible with the C/C++ ABI.
Lua (LuaJIT) was chosen as the first-class frontend language since it is a fast, interpreted scripting language similar to python. It also supports operator overloading and object-oriented programming, which makes it pleasant to implement a library with an intuitive syntax.