1个不稳定版本

0.1.0 2024年8月2日

547开发工具 中排名 #547

Download history 114/week @ 2024-07-29 7/week @ 2024-08-05

121 每月下载量

MIT 许可证

100KB
2.5K SLoC

Rascal

受帕斯卡和Rust启发的语言

灵感

我的高层次目标是开发一种使编写命令式风格的代码感觉更可靠的编程语言。我还没有完全开发出实现这一目标的语言结构,但我有多个粗略的灵感来源。

示例

这是一个计算第 n 个斐波那契数列的极其简单的示例。目前观察输出的唯一方法是程序返回代码。

fun fib(n: int32) -> int32 begin
    if n == 0 then
        return 0;
    else if n == 1 then
        return 1;
    end

    return fib(n - 1) + fib(n - 2);
end

program calc_fib begin
    let index = 7;
    return fib(index);
end

用法

您可以使用类似于 gcc 的一些基本选项尝试编译器的最新版本。使用Cargo构建Rascal编译器 rascalc,并确保您已安装 gcc。然后您可以通过运行以下命令来编译上面的 calc_fib 示例:

rascalc fib.ras -o fib

路线图

我目前正在开发语言的基础。我的原始目标是针对WASM,但为了加快语言开发并希望确保Rascal不仅仅是一个“高级”WASM,我首先开始生成C。然后我们可以调用 gcc

我希望能稍后更新 backends/wasm.rs WASM后端。

依赖项

~6–9.5MB
~167K SLoC