欢迎来到 Lumos 文档页¶
这个项目仍处于早期开发阶段,所以文档和代码可能随时发生变化
早期开发:新建文本文件 (bushi)
什么是 Lumos
Lumos 是一个 实验性质的编程语言,旨在提供现代化的编程体验和强大的功能。它结合了 C/C++ 的灵活性和现代编程语言的简洁性,同时具有自动引用计数的内存管理和其他高级特性。
粗心的小明不小心把水泼到了文档上,导致字都糊啦~
感觉可能造不出来
问点问题¶
你们认为如何书写返回类型比较好?
fn add(i32 a, i32 b) -> i32;
什么C++fn add(i32 a, i32 b): i32;
什么Kotlinfn add(i32 a, i32 b) i32;
什么Zig
关于编译器¶
我希望其他人能够加入进来帮助我完成它。
我的目标¶
- Lumos 希望能做到
- ASM 一样可控
- C/C++ 一样灵活
- Rust 一样安全
- Python 一样简单易学
- Kotlin 一样优雅
- Lumos 不希望变成
- ASM 一样难以阅读
- C++ 一样复杂
- Rust 一样限制繁多
- Python 一样慢
- JS 一样混乱
画大饼,别信
我认为¶
一个编程语言应该是:可控的
while (true) { /* do nothing */ }
// 很明显这不应该是未定义行为
// 在 Lumos 中,它会产生一个死循环
(i32)0x80000000 >> 1;
// 很明显它的值不应该是 0x40000000 0xc0000000 二选一
// 在 Lumos 中,它为 0xc0000000
一个编程语言应该是:逻辑清晰的
list() + map();
// 很明显它们不应该能够相加