精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

LFE將Lisp編程帶到Erlang虛擬機上

責任編輯:editor006

作者: Sergio De Simone

2016-04-08 16:47:50

摘自:INFOQ

經過8年的開發,Lisp Flavoured Erlang(LFE)達到了1 0版本,將Lisp編程穩定支持帶到了Erlang虛擬機上(BEAM)。對于使用Erlang和LFE定義一個列表元素求和的遞歸函數的語法,下面的代碼片段提供了一個基本的比較:

經過8年的開發,Lisp Flavoured Erlang(LFE)達到了1.0版本,將Lisp編程穩定支持帶到了Erlang虛擬機上(BEAM)。LFE由Erlang最初開發者之一的Robert Virding創建。

LFE是一個Erlang編譯器的Lisp–2(即類Common Lisp)前端,這意味著它允許基于宏的元編程,并支持使用遞歸和高階函數。為了同Erlang的理念保持一致,LFE采用了一種消息傳遞參與者模型,該模型嚴格執行一種“無共享”范式,并完全支持模式匹配。由于它生成的代碼同Erlang百分之百兼容,所以LFE可以同普通的Erlang和使用開放電信平臺(OTP)的應用程序完美共存,其中,OTP是Erlang中一個中間件和庫的集合,旨在支持創建高可用、并發、可擴展的架構。

對于使用Erlang和LFE定義一個列表元素求和的遞歸函數的語法,下面的代碼片段提供了一個基本的比較:

Erlang:

sum(L) -> sum(L,0).

sum([], Total) -> Total;

sum([H|T], Total) -> sum(T, H+Total).

LFE:

(defun sum (l) (sum l 0))

(defun sum

(('() total) total)

(((cons h t) total) (sum t (+ h total))))

按照Lisp慣例,LFE可以通過REPL使用,這使得試用和試驗這門語言的特性更容易。REPL及其他用于任務管理、項目創建和依賴管理的工具均由lfetool項目提供。它可以通過Docker運行docker pull lfex/lfe進行安裝,其中會包含創建和運行LFE項目所需的所有組件。

還有一點值得注意,LFE維護者承擔起了編寫《計算機程序的構造和解釋》LFE版本的任務,該書是Gerald Jay Sussman和Hal Abelson的經典著作。不過,這項工作目前尚處于準備階段。

為了了解更多關于這門語言的信息,InfoQ采訪了lfetool及許多LFE庫的維護者Duncan McGreggor。

經過多年的開發之后,LFE近日達到了1.0版本。這意味著什么?對于在生產環境中使用,您如何評價LFE的穩定性或準備狀態?

Robert以前已經在LFE郵件列表和推特上提到過這一點,但v1.0本質上是隨意定的。對于1.0版本,它已經準備好很長一段時間了。實際上,據我們了解,有多家知名公司和少數創業公司在生產環境中使用了LFE。其中有一部分已經在生產環境中使用LFE幾年了。這很容易理解,因為LFE的編譯結果同Core Erlang百分之百兼容。Erlang已經在生產環境中穩定運行幾十年了。

在Erlang虛擬機上使用一門類Lisp語言有什么好處呢?

關于Lisp的好處,就是從60年代開始人們所說的那些:靈活性和通用性(借助REPL、宏、同像性、輕松創建DSL的能力,等等。)將這些好處同Lisp社區數十年來所做的、可供LFE借鑒的有關語言/庫的工作相結合,你會有非常令人印象深刻的資源可供汲取。雖然任何現代Lsip都可以添加Erlang的核心特性,諸如高并發和容錯功能,但對于需要創建分布式系統的Lisper而言,LFE有點讓夢想變成現實。

您可以分享一些關于LFE路線圖的見解嗎?LFE SICP的開發速度如何?

現在,對于LFE,其中一個最為優先的事項是更新文檔(合并、更新、支持多版本、讓用戶/讀者更容易貢獻)。為了讓LFE社區成員統一到單個實用的用戶體驗上,相關工作值得我們花幾年去做。那有許多工作要做!我們已經有了一個新的設計,目前正在探索從多個文檔源生成內容。關于這一點,我們緩慢但穩步地推進,希望這些工作會受到LFE社區的歡迎。

有關將SICP轉換成LFE的工作過去停滯了(由于主要編者的工作安排),但受到近來文檔工作的鼓舞,那項工作已經重啟。上周已經進行了多項支持性更新——很快會有更多的內容。

LFE托管在GitHub上,可以從Homebrew、Docker和源代碼安裝。

查看英文原文:LFE Brings Lisp to the Erlang Virtual Machine 

鏈接已復制,快去分享吧

企業網版權所有?2010-2024 京ICP備09108050號-6京公網安備 11010502049343號

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 长沙市| 自贡市| 江永县| 恭城| 集安市| 中山市| 静宁县| 军事| 平山县| 云和县| 巍山| 塘沽区| 论坛| 遂溪县| 潼南县| 松溪县| 鹤岗市| 米易县| 桦川县| 呈贡县| 上杭县| 河源市| 察哈| 庆安县| 即墨市| 改则县| 西和县| 阿克苏市| 镇赉县| 霍山县| 颍上县| 阳泉市| 明水县| 尚义县| 克什克腾旗| 玉龙| 台中县| 灵武市| 新野县| 建水县| 图片|