Pyret是一门基于JavaScript的脚本语言,旨在成为编程教育的绝佳选择,同时探索脚本语言和函数式编程的融合。目前Pyret 正处于积极设计和开发阶段,开发者可以自由使用或对其进行修改。
Pyret语法介绍Pyret具有受Python启发的函数、列表和运算符语法,其迭代结构(Iterationconstructs)的设计为了调用其他语言中的迭代结构。
funto-celsius(f):(f-32)*(5/9)endforeach(strfrom[list:"Ahoy","world!"]):print(str)endPyret支持简洁、富有表现力、递归的数据声明,支持可选的类型注释,支持增量添加,以满足各种教学风格和课程需求。
dataBinTree:|leaf|node(value,left::BinTree,right::BinTree)endPyret的测试是编程过程的自然组成部分。函数可以在where:子句中结束,该子句为函数提供了单元测试,并且这些断言(Assertions)会被动态检查。
funsum(l):cases(List)l:|empty=>0|link(first,rest)=>first+sum(rest)endwhere:sum([list:])is0sum([list:1,2,3])is6end对于缩进的问题,Pyret团队认为缩进对于代码的可读性至关重要,但他们不希望通过程序的空格来确定其含义。相反,程序的含义应该决定它的缩进结构。缩进只是另一个上下文敏感的规则。
评论