Purr:面向JavaScript的安全多范式编程语言
purr[wip] a programming environment for collaboration项目地址:https://gitcode.com/gh_mirrors/pur/purr
项目介绍
Purr是一款专为JavaScript设计的安全、多范式编程语言。它基于简单的按值调用演算,结合了一次性定界延续、代数效应处理器、渐进类型和高阶合约,以及广义的模式匹配。Purr不仅支持函数式、命令式和面向对象编程,还可以通过嵌入式语言实现其他编程范式。
Purr通过运行时验证来确保安全性,但在编译器能够静态证明运行时合约违规不可能发生的情况下,会优化掉动态检查。此外,Purr不会添加任何与JavaScript不干净或不模块化交互的功能,实际的JavaScript代码被隔离在FFI(外部函数接口)中以保持安全性,但运行时值仍然使用相同的内部机制。
项目技术分析
Purr的核心技术包括:
- 多范式支持:Purr原生支持函数式、命令式和面向对象编程,同时允许通过嵌入式语言实现其他编程范式。
- 运行时验证:通过运行时验证来确保代码的安全性,但在编译时能够静态证明的情况下,优化掉不必要的动态检查。
- 渐进类型和高阶合约:Purr支持渐进类型和高阶合约,提供了强大的类型系统和合约机制,确保代码的可靠性和安全性。
- 模式匹配:Purr提供了广义的模式匹配功能,使得代码更加简洁和易于维护。
- 编译器插件和宏:Purr支持编译器插件、内联DSL和可插拔的文字,宏是普通的AST转换函数,必须在执行前编译。
项目及技术应用场景
Purr适用于以下场景:
- 前端开发:Purr可以直接编译为JavaScript,适用于前端开发,提供更安全、更高效的编程体验。
- 跨平台应用:由于Purr与JavaScript的紧密集成,可以用于开发跨平台的Web应用和移动应用。
- 安全敏感的应用:Purr的运行时验证和高阶合约机制使其非常适合开发对安全性要求较高的应用,如金融、医疗等领域。
- 复杂业务逻辑:Purr的多范式支持和强大的模式匹配功能,使其在处理复杂业务逻辑时表现出色。
项目特点
- 安全性:Purr通过运行时验证和高阶合约机制,确保代码的安全性。
- 多范式支持:原生支持函数式、命令式和面向对象编程,同时允许通过嵌入式语言实现其他编程范式。
- 与JavaScript无缝集成:Purr不会添加任何与JavaScript不干净或不模块化交互的功能,实际的JavaScript代码被隔离在FFI中以保持安全性。
- 强大的编译器支持:支持编译器插件、内联DSL和可插拔的文字,宏是普通的AST转换函数,必须在执行前编译。
- 渐进类型和高阶合约:提供了强大的类型系统和合约机制,确保代码的可靠性和安全性。
Purr正处于设计和开发的早期阶段,欢迎开发者加入并贡献代码。如果你对Purr感兴趣,可以访问Purr的GitHub仓库了解更多信息。
purr[wip] a programming environment for collaboration项目地址:https://gitcode.com/gh_mirrors/pur/purr