编程|Pyret 编程语言:探索脚本语言和函数式编程的融合

编程|Pyret 编程语言:探索脚本语言和函数式编程的融合

文章图片

编程|Pyret 编程语言:探索脚本语言和函数式编程的融合

文章图片

编程|Pyret 编程语言:探索脚本语言和函数式编程的融合

文章图片

编程|Pyret 编程语言:探索脚本语言和函数式编程的融合

文章图片

编程|Pyret 编程语言:探索脚本语言和函数式编程的融合

文章图片

编程|Pyret 编程语言:探索脚本语言和函数式编程的融合

文章图片

编程|Pyret 编程语言:探索脚本语言和函数式编程的融合

文章图片

编程|Pyret 编程语言:探索脚本语言和函数式编程的融合

出品|开源中国
文|局长
Pyret 是一门基于 JavaScript 的脚本语言 , 旨在成为编程教育的绝佳选择 , 同时探索脚本语言和函数式编程的融合 。 目前 Pyret 正处于积极设计和开发阶段 , 开发者可以自由使用或对其进行修改 。

Pyret 语法介绍
Pyret 具有受 Python 启发的函数、列表和运算符语法 , 其迭代结构 (Iteration constructs) 的设计为了调用其他语言中的迭代结构 。

Pyret 支持简洁、富有表现力、递归的数据声明 , 支持可选的类型注释 , 支持增量添加 , 以满足各种教学风格和课程需求 。

Pyret 的测试是编程过程的自然组成部分 。 函数可以在where:子句中结束 , 该子句为函数提供了单元测试 , 并且这些断言 (Assertions) 会被动态检查 。

对于缩进的问题 , Pyret 团队认为缩进对于代码的可读性至关重要 , 但他们不希望通过程序的空格来确定其含义 。 相反 , 程序的含义应该决定它的缩进结构 。 缩进只是另一个上下文敏感的规则 。
明确的语法(Pyret 使用显式end分隔符的原因)意味着开发者可以从电子邮件或 Web 复制和粘贴代码 , 而不会改变其含义 。 IDE 会帮助开发者重新缩进代码 , 无需担心这样做会改变程序的含义 。
亮点
注解 (Annotations)
与大多数脚本编程语言不一样 , Pyret 支持开箱即用地检查参数上的注解 。
Python

Pyret

支持长度较长的数字类型
Java

Pyret

结构化数据
Pyret 为编写数据定义提供了优雅的机制 , 而无需开发者具备对类的认知背景 , 以及语法开销 。
Python

Pyret

Pyret 在使用结构化数据方面也非常灵活 , 并在其底层公开了一个简单的对象模式 , 支持结构化代码与更多 nominal 模式搭配使用 。
OCaml

Pyret


Racket

Pyret

运行 Pyret
通过访问  直接在浏览器中运行  , 这是最简单的入门方法 。 查看以了解小部分程序和语法示例 。
如果希望在命令行中在使用 Pyret 进行编程 , 需要从  安装pyret-npm , 安装命令如下:

, 目前该项目正在积极开发三个非常重要的功能:

  • 支持静态类型 , 提供带有标签联合 (tagged unions) 和类型检查器的传统类型系统
  • 使用表作为存储现实世界数据的关键类型
  • 交互式计算模型基于
【编程|Pyret 编程语言:探索脚本语言和函数式编程的融合】