SISAL
SISAL(串流和迭代所用单赋值语言)是通用单赋值函数式编程语言,它具有严格语义、隐式并行和高效阵列处理。SISAL输出中间形式1(IF1)的数据流程图。它派生自VAL(Jack Dennis1979年设计的面向值的算法语言),并增加了递归和有限串流(stream)。它有着类Pascal语法,并被设计为用于在各种多处理器上的数值程序的高级语言。
编程范型 | 函数式、数据流程 |
---|---|
設計者 | James McGraw |
實作者 | James McGraw等人,在曼彻斯特大学、LLNL、科罗拉多州立大学和DEC |
发行时间 | 1983年 |
型態系統 | 静态、强类型 |
網站 | sourceforge |
主要實作產品 | |
osc, sisalc | |
啟發語言 | |
VAL, Pascal, C, Fortran | |
影響語言 | |
Haskell,SAC |
历史编辑
SISAL的定义在1983年由James McGraw等人于曼彻斯特大学、劳伦斯利弗莫尔国家实验室、科罗拉多州立大学和DEC提出[1]。它被修订于1985年,而第一个编译实现于1986年做出。据某些来源所说[2],它的性能优于C并匹敌Fortran,它将高效性和自动并行化结合了起来。
它有如下版本:Cray X-MP、Cray Y-MP、Cray-2、Sequent、Encore Alliant、DEC VAX-11/784、数据流程架构、KSR1、Transputer和脉动阵列。
架构编辑
SISAL不只是数据流程和细粒度并行的语言。它还是把人类可读文字的数据流程语言转换成图格式(所谓的“IF1”,即中间形式1)的一组工具。SISAL计划有一部份还涉及到将这种图转换成可运行的C代码[3]。
例子编辑
两个n×n矩阵的乘法的例子程序:
define maintype OneDim = array [real];type TwoDim = array [OneDim];function generate(n : integer returns TwoDim, TwoDim) for i in 1, n cross j in 1, n returns array of real(i)/real(j) array of real(i)*real(j) end forend function % generatefunction doit(n : integer; A, B : TwoDim returns TwoDim) for i in 1, n cross j in 1, n c := for k in 1, n t := A[i,k] * B[k,j] returns value of sum t end for returns array of c end forend function % doitfunction main(n : integer returns TwoDim)let A, B := generate(n) in doit(n, A, B)end letend function % main
SISAL复兴编辑
在2010年SISAL短暂的复活了,伍斯特理工学院的一群本科生为SISAL语言探究实现了一个细粒度并行后端[3]。
在2018年于SISAL-IS计划中SISAL被现代化为基于缩进的语法、头等函数、lambda、闭包和惰性语义[4]。
脚注编辑
- ^ James R. McGraw, Stephen K. Skedzielewski, Stephen J. Allan, Dale H. Grit, R. Oldehoeft, John R. W. Glauert, Ivan Dobes, Paul H. Hohensee. SISAL: streams and iteration in a single-assignment language. Language reference manual。
- ^ Retire Fortran?: a debate rekindled, David Cann, August 1992, Communications of the ACM, Volume 35, Issue 8
- ^ 3.0 3.1 存档副本 (PDF). [2020-04-17]. (原始内容存档 (PDF)于2016-03-04).
- ^ 存档副本. [2020-04-17]. (原始内容存档于2018-06-12).
引用编辑
外部链接编辑
- SISAL Parallel Programming(页面存档备份,存于互联网档案馆) SourceForge.net project page
🔥 Top keywords: Baike: 首页Special:搜索胖猫跳江事件背着善宰跑九龍城寨之圍城逆天奇案2璩静淚之女王歌手2024Energy (組合)新生 (网络剧)习近平匈牙利邊佑錫劉俊謙 (香港)金智媛神耆小子塞尔维亚金秀賢 (男演員)母亲节猩球崛起:王國誕生九龍寨城馴鹿寶貝家族榮耀之繼承者Seventeen (組合)六四事件不夠善良的我們张维为楊佩潔TripleS支配物种庆余年郭葦昀洪若潭命案金惠奫2024年英雄联盟季中邀请赛春色寄情人BABYMONSTER笑看風雲乘風2024排球少年!!角色列表破墓徐巧芯中华人民共和国中華民國打天下2WIND BREAKER—防風少年—习明泽排球少年!!彭丽媛磁暴ILLIT贾斯汀·比伯逆天奇案BOYNEXTDOOR猿人爭霸戰:猩凶革命張書偉我的婆婆怎麼那麼可愛我獨自升級怪獸8號謝坤達IVE (組合)與鳳行關於我轉生變成史萊姆這檔事角色列表黃道十二宮福建號航空母艦虽然不是英雄葉乃文五月天張員瑛草榴社区張文傑2024年花蓮地震极光香緹·摩爾迷宮飯呂家愷搜查班長1958日本劉德華海莉·鮑德溫蕭景鴻越位 (足球)葬送的芙莉蓮周處除三害 (電影)毛泽东願榮光歸香港林峯周雨彤伍允龍羅毓儀香港Baike: 分類索引沒有秘密猩球崛起:終極決戰角質層唐振剛柯佳嬿文化大革命