SASL语言
| 编程范型 | 纯函数式 |
|---|---|
| 設計者 | David Turner |
| 发行时间 | 1972年 |
| 受影响于 | |
| ISWIM | |
| 影響語言 | |
| KRC, Miranda, Haskell | |
SASL(缩写的St Andrews Static Language,或者St Andrews Standard Language,义为圣安德鲁斯静态语言或标准语言),是纯函数式编程语言,在1972年由David Turner于圣安德鲁斯大学,基于ISWIM的应用式子集而开发[1]。在1976年,Turner重新设计并重新实现它为非严格(惰性)语言[2]。它以这种形式成为了Turner以后的语言KRC和Miranda的基础,但是SASL表现为无类型的,而Miranda有多态类型。
Burroughs公司使用SASL来书写编译器和操作系统[3]。
样例代码
rec fac n = n < 0 -> 1;
n * fac (n-1)
in fac 10
let ((a,b),(c,d)) = x in ((a,c),(b,d))
length () = 0
length (a:x) = 1 + length x
ack 0 n = n+1
ack m 0 = ack (m-1) 1
ack m n = ack (m-1) (ack m (n-1))
taut f = logical f -> f;
taut (f True) & taut (f False)
引用
- ^ Turner, D.A. An Implementation of SASL. University of St. Andrews, Department of Computer Science Technical Report.
- ^ D.A. Turner. A New Implementation Technique for Applicative Languages (PDF). [2021-09-06]. (原始内容 (PDF)存档于2021-09-06).
- ^ Turner, D. A. Some History of Functional Programming Languages (PDF). [2020-04-25]. (原始内容存档 (PDF)于2020-04-15).