歡迎您光臨本站 註冊首頁

Futhark 0.12.1 發布,Haskell 寫的小型函數式編程語言

←手機掃碼閱讀     admin @ 2019-08-25 , reply:0

Futhark 0.12.1 發布了。Futhark 是一個小型函數式編程語言,採用 Haskell 開發,使用靜態類型、并行數據以及純函數數組,它對編譯器提前進行深度優化,通過 OpenCL 生成 GPU 代碼。Futhark 並不是為圖形編程而設計的,通過使用 GPU 來加速并行的數組計算,支持常規嵌套的數據并行化處理。

此版本最主要的變化是用戶不可見的內部改進,開發團隊重寫了內核并行性的內部表示,這與之前在 PPoPP'19 論文中提出的內容非常相似,其目的是使應用程序并行性與 GPU 并行性的複雜映射更加清晰。

Futhark 最初是一種非常嚴肅的語言,它具有完全單態的特性,幾乎沒有任何模式匹配,並且完全是一階的(儘管有一些語法糖試圖模仿二階函數)。這是因為 Futhark 的主要編譯目標(GPU)是一個十分苛刻的環境,開發團隊不想支持任何無法有效編譯的功能。

隨著時間的推移,這些限制減少了:

  • 2016 年年底增加了一個高階模塊系統。
  • 2017 年新增了 Records。
  • 在 0.4 版本中加入了高階函數和參數多態性。

除了遞歸之外,Futhark 還缺少另一個函數式語言共有的特性,即聚合類型(sum type,或者稱為代數數據類型),這意味著諸如選項和任何類型等函數式編程語言最典型的特性都無法在 Futhark 中表達,其它類型的枚舉必須使用整數進行編碼。大多數函數式語言都通過指針結構實現聚合類型,這對於 Futhark 來說是不行的。

此版本即解決了該問題,具體方案查看:

https://futhark-lang.org/blog/2019-08-21-futhark-0.12.1-released.html


[admin ]

來源:OsChina
連結:https://www.oschina.net/news/109324/futhark-0-12-1-released
Futhark 0.12.1 發布,Haskell 寫的小型函數式編程語言已經有190次圍觀

http://coctec.com/news/all/show-post-212861.html