ippan / clover

a scripting language created in Rust~

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Clover

clover clover-std clover-cli
crates.io crates.io crates.io

CI Crates.io

a scripting language created in Rust

still in development~

Features

  • bytecode
  • first class function
  • error handling

Example

You can go to examples directory for more examples

Hello World

function main()
    print("hello world!")
end

Include other file

rectangle.luck

public model Rectangle
    width
    height
end

implement Rectangle
    function area(this)
        this.width * this.height
    end
end

main.luck

include Rectangle from "./rectangle.luck"

function main()
    local rect = Rectangle(20, 30)
    print(rect.area())
end

Editor support

Visual Studio Code

Use Clover VSCode Support for code highlighting in Visual Studio Code

Integrate to your project

Example

let result = create_state_by_filename("example/main.luck");

match result {
  Ok(mut state) => {
    state.execute();
  }
}

Export native function/struct to Clover

see clover-std

CLI

Install

use Cargo to install the clover-cli

cargo install clover-cli

Usage

clover examples/main.luck

About

a scripting language created in Rust~

License:MIT License


Languages

Language:Rust 100.0%