mink 0.1.1

(WIP) Portable and modular scripting language for all
Documentation
<div align="center">

# Mink


### The scripting language for all


</div>

Mink is a fast, simple and modular scripting language built on top of Rust.
While it was originally targeted as a language for game engines, it now lives as a general-purpose language for any project.

<div align="center">

### Simple


</div>

Mink's syntax is simple, clear and explicit.
On the user-end, it allows for dynamic typing and fast prototyping.

<div align="center">

### Developer-friendly


</div>

On the developer-end, Mink focuses on providing a simple but powerful API.
Mink is completely modular as a language, allowing developers to implement their own libraries with ease
(even the standard library!).

<div align="center">

### Example: Greet


</div>

```Mink
print("Hi, Diego!")
```

```Rust
use mink::*;

fn main() {
    let mut vm = Mink::new();
    
    let script = Script::new("greeting", include_str!("greeting.mink"));
    vm.add_script(script);
    
    vm.exec("greeting");
}
```

<div align="center">

### Example: Custom Library


</div>

```Rust
// mathlib.rs
use mink::*;

pub fn lib() -> Library {
    let mut lib = Library::new("math", true);
    lib.add_func(Function::new("mag", Some(2), math_mag));
    lib
}

fn math_mag(_: &Mink, args: Vec<Value>) -> Value {
    let x = args[0].num();
    let y = args[1].num();
    Value::Num((x * x + y * y).sqrt())
}
```

```Rust
// main.rs
mod mathlib;

use mink::*;

fn main() {
    let vm = Mink::new();
    vm.add_lib(mathlib::lib());
}
```