Lioness是为数学计算而设计的高级编程语言。该项目包括词法分析器、解析器、编译器和解释器。所有这些都是以无依赖的方式100%使用Swift编写。
Lioness的语法受Swift启发,其功能集类似于GLSL等着色语言。
标准库(简称:stdlib)包含数字操作的基本功能,包括:max/min,ceil,floor,trigonometry等。但不重要的功能,如计算质数,不认为与标准库相关。
特性语法简约,表达力强
所有类型都可推导
5个基本运算符:+, -, /, * 和 ^
^ 表示求幂运算,例如 2^10 将等于1024
所有的运算符都有速记(shorthand),例如,+= for +
数字
所有数字都是浮点数
布尔型
可从对比进行评估
可使用文字定义:true 或 false
函数
支持参数,返回和递归
可在其他函数内部声明
结构体
可包含任何类型,包括其他结构体
循环
for
while
dotimes
repeatwhile
break
continue
if / else / elseif 语句
代码示例下面的Lioness代码递归计算阶乘:
func factorial(x) returns { if x > 1 { return x * factorial(x - 1) } return 1}a = factorial(5) // a = 120下面的Lioness代码使用了一个 dotimes 循环:
a = 1n = 10do n times { a += a}// a = 1024更多例子,点此查看。
有关项目架构的详细说明,点击此处进行查看。
评论