Elixir

一種函數式編程語言

Elixir 是一個基於 Erlang 虛擬機的函數式、面向并行的通用編程語言。Elixir 以 Erlang 為基礎,支持分散式、高容錯、實時應用程序的開發,同時亦對其進行擴展使之藉助宏實現元編程,並通過協議支持多態

歷史


José Valim 是 Elixir 語言的設計者。他創造該語言的目標是在維持與現有 Erlang 工具鏈及生態環境兼容性的同時,讓人們可以在 Erlang 虛擬機上進行擴展性更好的、高生產率的開發。
Elixir[一種函數式編程語言]
Elixir[一種函數式編程語言]

特性


• 基於 Erlang 虛擬機(BEAM)之上。
• 與 Erlang 語言的無縫銜接;與Erlang 的互調幾乎無任何額外開銷。
• 基於宏大的元編程能力,語言的抽象語法樹作為頭等公民。
• 基於協議的多態實現。(啟發自Clojure
• 完善的文檔支持。
• 通過消息傳遞(參與者模式)支持 Shared-nothing 并行事務。
• 強調利用遞歸和高階函數的函數式編程勝過基於副作用和循環的命令式編程。
• 一切均為表達式。
• 惰性求值,擁有諸如 futures 和 promises 一類的非同步流數據類型。
• 模式匹配。
• Unicode 支持,UTF-8 字元串。

例子


以下的所有例子也可以保存到文件中並通過elixir在命令行中運行
列表推導
模式匹配
模塊
進程spawn
非同步任務
Elixir
Elixir