Erlang
From Wikipedia, the free encyclopedia
Remove ads
Erlang係一種通用嘅函數式。Erlang都可以指Erlang/OTP嘅通稱,開源電信平台(OTP)係Erlang嘅常用執行環境同埋一系列嘅標準元件。
Erlang 執行環境係專有以下要求嘅系統設計:
Remove ads
其他程式設計典範
惰性求值
Erlang程式員可以用惰性求值。但係,必須用λ演算式,先至可以做到惰性求值。
以下是惰性求值的一例:假設有個剖析器程式如下,由於同埋早求值特徵,呢個程式將唔會求解。
Expr() -> alt(then(factor(), then(literal($+), factor())), Then(factor(), then(literal($-), factor()))). Factor() -> alt(then(term(), then(literal($*), term())), Then(term(), then(literal($/), term()))). Term() -> alt(number(), Xthen(literal($(), thenx(expr(), literal($))))).
呢度用λ演算式同埋適當用函數名稱表示,就可以進行求值。示例如下。
Expr() -> Fun () -> Alt(then(fun factor/0, then(literal($+), fun factor/0)), Then(fun factor/0, then(literal($-), fun factor/0))) End. Factor() -> Fun () -> Alt(then(fun term/0, then(literal($*), fun term/0)), Then(fun term/0, then(literal($/), fun term/0))) End. Term() -> Fun () -> Alt(number(), Xthen(literal($(), thenx(expr(), literal($))))) End.
Remove ads
應用
- Wings 3D,一個用Erlang編寫嘅三維計算機圖形軟體。
- YAWSWayback Machine嘅版面存檔備份,用Erlang編寫嘅高效HTTP伺服器。
- DISCOWayback Machine嘅版面存檔備份,用Erlang編寫嘅MapReduce架構系統。
- Apache CouchDBWayback Machine嘅版面存檔備份,用Erlang編寫嘅MapReduce文件式資料庫系統。
- RabbitMQWayback Machine嘅版面存檔備份,能搭配Erlang運作嘅訊息佇列系統。
- 開放電信平台
- WhatsApp:佢嘅後端伺服器應用用咗Erlang同埋FreeBSD[3]。支持咗4.5億嘅活躍用戶
- ejabberdWayback Machine嘅版面存檔備份,世界上最流行嘅XMPP即時通訊伺服器
- EMQXWayback Machine嘅版面存檔備份,用Erlang編寫嘅高可用、分佈式MQTT消息伺服器。
Remove ads
社區
- Erlang Central(英文)
- Erlang Resources 豆瓣小站Wayback Machine嘅版面存檔備份(大陸簡體)
- Erlang中文社區 erlang-china.org(大陸簡體)
- Erlang中文教程 erlang-cn.comWayback Machine嘅版面存檔備份(大陸簡體)
- Erlang中文社區 cnerlang.com(大陸簡體)
- Erlang中文 erlang-cn.org(大陸簡體)
參考
睇多啲
出面網頁
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads