Rust but LISP:用 LISP 语法探索 Rust 语义,宏简单、编辑易、语法统一!

Rust but LISP:用 LISP 语法探索 Rust 语义,宏简单、编辑易、语法统一! 平台AI 代码创作方面有 GitHub Copilot 可借助 AI 编写更优质的代码GitHub Spark 能构建并部署智能应用GitHub Models 可管理并比较提示词MCP Registry新能集成外部工具。开发者工作流中Actions 可自动化任何工作流Codespaces 是即时开发环境Issues 能规划并跟踪工作Code Review 可管理代码变更。应用程序安全领域GitHub Advanced Security 可发现并修复漏洞代码安全能在构建过程中保障代码安全密钥保护可防患于未然阻止信息泄露。探索板块有为何选择 GitHub、文档、博客、更新日志、市场等内容。解决方案按公司规模划分有企业版、中小型团队、初创企业、非营利组织等方案。按用例划分包括应用现代化、DevSecOps、DevOps、CI/CD 等还有查看所有用例的选项。按行业划分涉及医疗保健、金融服务、制造业、政府机构等也有查看所有行业的途径。资源按主题探索有人工智能、软件开发、DevOps、安全等主题还有查看所有主题的入口。按类型探索包括客户案例、活动与网络研讨会、电子书与报告、商业洞察、GitHub 技能等。支持与服务方面有文档、客户支持、社区论坛、信任中心、合作伙伴等。开源社区方面GitHub Sponsors 可资助开源开发者。项目有 Security Lab、Maintainer Community、Accelerator、GitHub Stars、Archive Program 等。仓库包括主题、热门趋势、集合等。企业版企业解决方案是由人工智能驱动的开发者平台。可用附加组件有 GitHub Advanced Security 企业级安全功能、Copilot for Business 企业级人工智能功能、高级支持企业级 24/7 支持。ThatXliner/rust - but - lisp 仓库该仓库公开有通知、分叉、加星等操作选项还有代码、问题、拉取请求、操作、项目、安全与质量、洞察等导航选项。主分支有分支和标签可查看还有文件夹和文件包括示例、src、.gitignore、Cargo.lock、Cargo.toml、README.md 等。rlisp 介绍rlisp 具有 LISP 语法的 Rust 语义是透明的 s 表达式前端可直接编译为 Rust无需运行时和垃圾回收只需 (s - expr →.rs → 二进制文件)。Rust 的所有权、借用、生命周期、泛型、特征、模式匹配等特性都可用 s 表达式表达rustc 负责类型检查、借用检查和优化rlisp 仅处理语法。安装与使用方法安装时可通过 git clone https://github.com/ThatXliner/rlisp.git 克隆仓库cd rlisp 进入目录cargo install --path. 进行安装。使用时rlisp compile file.lisp 可转换为 file.rsrlisp build file.lisp 可转换并使用 rustc 编译rlisp run file.lisp 可转换、编译并运行。语法映射展示了 LISP 与 Rust 语法的映射关系如 (fn add ((x i32) (y i32)) i32 ( x y)) 对应 fn add(x: i32, y: i32) - i32 { (x y) } 等。二元运算符采用中缀形式如 ( a b) 对应 (a b)。宏rlisp 宏是编译时的 s 表达式转换器无需 proc_macro 包、令牌流处理和 syn/quote。宏体使用了从 LISP 借鉴的三种特殊形式(quasiquote template)、(unquote name)、(unquote - splicing name)。通过定义 when 宏和 double 宏展示了宏的使用rest 会捕获剩余参数到列表unquote - splicing 会展开列表。循环展示了 while 循环、loop 循环、for 循环以及带解构的 for 循环的用法。闭包介绍了无类型闭包、带返回类型的类型化闭包和移动闭包的定义方式。模块、可见性和导入包括公共函数、模块、结构体的定义以及不同可见性修饰符的使用还展示了导入标准库模块的方式。内联 Rust使用 (rust ...) 可直接使用原生 Rust 代码字符串会原封不动插入到生成的 .rs 文件中。为什么要这样做主要是为了好玩探索去掉语法后 Rust 的语义表现。也有实际好处如宏变得简单结构化编辑容易语法统一。许可证该项目采用 MIT 许可证。其他信息有加星、关注者、分叉等信息还有语言为 Rust 100.0% 等内容。同时页面加载时出现错误提示重新加载页面。