Maru 编程语言开源项目教程
maru Maru - a tiny self-hosting lisp dialect 项目地址: https://gitcode.com/gh_mirrors/mar/maru
1. 项目介绍
Maru 是一种编程语言,它是一种自托管且体积小巧的 Lisp 方言。它包含了一个符号表达式求值器,能够将自身的实现编译成机器码,总共大约 2000 行代码。Maru 旨在在非常基础的层面上具有可塑性,任何无法在常见平台上轻松容纳的特殊需求都被视为平台的缺陷,应当被解决而不是被排除。本项目也是一个探索引导和计算系统发展的领域,主要目的是清晰地表达语言在自身或其他语言之上的引导过程。
2. 项目快速启动
首先,您需要在您的系统中安装必要的依赖项。
对于 Debian 及衍生系统,运行以下命令安装所需的软件包:
sudo apt install make time rlwrap
sudo apt install llvm clang
sudo apt install gcc-multilib
对于 MacOS 系统,确保安装了 XCode,然后通过 Homebrew 安装 LLVM:
xcode-select --install
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
brew install llvm
echo export PATH="$(brew --prefix llvm)/bin:$PATH" >> ~/.bash_profile
source ~/.bash_profile
接下来,克隆项目仓库并编译测试:
git clone https://github.com/attila-lendvai/maru.git
cd maru
make test-bootstrap-x86
您可以选择指定平台和后端来进行引导测试:
make PLATFORM=[libc,linux] test-bootstrap[-llvm,-x86]
3. 应用案例和最佳实践
- 构建自定义平台:根据您的特定需求,您可以构建一个自定义平台。使用
default.nix
文件来配置 Nix 和 NixOS 环境。 - 跨平台支持:Maru 旨在支持所有拥有
libc
和GNU
工具链或LLVM
的平台。为其他平台添加支持时,贡献补丁是非常受欢迎的。 - 引导和自托管:探索如何使用 Maru 的引导过程来自托管语言,以及如何将这一过程形式化以方便移植到新架构。
4. 典型生态项目
目前,Maru 的生态系统还在不断发展中。您可以关注以下项目:
- 相关文档:在
doc/
目录下,您可以找到更多详细讨论的文档。 - 社区讨论:加入
maru-dev
Google 小组,与其他开发者讨论和交流。 - 贡献和协作:通过 GitHub 提交问题和补丁,共同维护和改进 Maru 项目。请记得在贡献前创建自己的分支,并准备好进行
git fetch
和git rebase
操作。
以上就是 Maru 编程语言开源项目的最佳实践和快速启动指南。希望您能够顺利开始您的探索之旅。
maru Maru - a tiny self-hosting lisp dialect 项目地址: https://gitcode.com/gh_mirrors/mar/maru
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考