SASL语言

维基百科,自由的百科全书
跳转到导航 跳转到搜索
SASL
编程范型纯函数式
设计者David Turner英语David Turner (computer scientist)
发行时间1972年,​53年前​(1972
当前版本
    Module:EditAtWikidata第29行Lua错误:attempt to index field 'wikibase' (a nil value)
    网站{{URL|example.com|可选的显示文本}}Module:EditAtWikidata第29行Lua错误:attempt to index field 'wikibase' (a nil value)
    受影响于
    ISWIM
    影响语言
    KRC, Miranda, Haskell

    SASL(缩写的St Andrews Static Language,或者St Andrews Standard Language,义为圣安德鲁斯静态语言或标准语言),是纯函数式编程语言,在1972年由David Turner英语David Turner (computer scientist)圣安德鲁斯大学,基于ISWIM的应用式子集而开发[1]。在1976年,Turner重新设计并重新实现它为非严格(惰性)语言[2]。它以这种形式成为了Turner以后的语言KRCMiranda的基础,但是SASL表现为无类型的,而Miranda有多态类型。

    Burroughs公司英语Burroughs Corporation使用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)
    

    引用[编辑]

    1. ^ Turner, D.A. An Implementation of SASL. University of St. Andrews, Department of Computer Science Technical Report. 
    2. ^ D.A. Turner. A New Implementation Technique for Applicative Languages (PDF). [2021-09-06]. (原始内容 (PDF)存档于2021-09-06). 
    3. ^ Turner, D. A. Some History of Functional Programming Languages (PDF). [2020-04-25]. (原始内容存档 (PDF)于2020-04-15). 

    外部链接[编辑]