欢迎大家赞助一杯啤酒🍺 我们准备了下酒菜:Formal mathematics/Isabelle/ML, Formal verification/Coq/ACL2, C++/F#/Lisp
Erlang VM
来自开放百科 - 灰狐
(版本间的差异)
小 (→链接) |
小 (→功能) |
||
(未显示1个用户的23个中间版本) | |||
第2行: | 第2行: | ||
==简介== | ==简介== | ||
+ | BEAM 是 Erlang 开放电信平台(OTP)的核心虚拟机。 | ||
+ | |||
+ | BEAM 是 Erlang 运行时间系统(ERTS)的一部分,它将 Erlang 源代码编译成字节码,然后在 BEAM 上执行。BEAM 字节码文件的扩展名为.beam。 | ||
+ | |||
+ | 会有更多编程语言和实现运行在 BEAM 平台上,尤其 [[PHP]], [[Ruby]], [[Python]] 等 Web 语言,或者用 [[Elixir]] 去替换 [[Ruby]] ... | ||
==功能== | ==功能== | ||
+ | *[https://blog.stenmans.org/theBeamBook/ The Erlang Runtime System] | ||
+ | *[[actor model]] | ||
+ | *[https://en.wikipedia.org/wiki/Comparison_of_application_virtualization_software Comparison of application virtualization software] | ||
+ | *BeamAsm uses [https://github.com/asmjit/asmjit asmjit] to generate native code in run-time. | ||
==项目== | ==项目== | ||
+ | [[文件:Elixir-logo.png|right]] | ||
[[文件:Lisp-Flavored-Erlang-LFE.png|right]] | [[文件:Lisp-Flavored-Erlang-LFE.png|right]] | ||
+ | [[文件:Clojerl-logo.png|right]] | ||
+ | [[文件:hamler-logo.png|right]] | ||
+ | [[文件:alpaca-language.png|right]] | ||
VM | VM | ||
*[https://github.com/bettio/AtomVM AtomVM] Tiny Erlang VM | *[https://github.com/bettio/AtomVM AtomVM] Tiny Erlang VM | ||
*[https://github.com/archseer/enigma Enigma VM] An Erlang VM implementation in [[Rust]] | *[https://github.com/archseer/enigma Enigma VM] An Erlang VM implementation in [[Rust]] | ||
*[https://github.com/synrc/rt RT: Erlang Runtime Library] | *[https://github.com/synrc/rt RT: Erlang Runtime Library] | ||
+ | *AEVM [[Aeternity]] Virtual Machine | ||
+ | |||
Lanauages | Lanauages | ||
*[https://github.com/llaisdy/beam_languages Languages, and about languages, on the BEAM] | *[https://github.com/llaisdy/beam_languages Languages, and about languages, on the BEAM] | ||
− | *[[Elixir programming language]] | + | *除 Erlang 外,[[Elixir programming language]] Erlang VM 平台语言最强大的存在 |
*[https://github.com/koudelka/visualixir Visualixir] is a toy visualizer for BEAM nodes, written in Elixir + Phoenix + d3 | *[https://github.com/koudelka/visualixir Visualixir] is a toy visualizer for BEAM nodes, written in Elixir + Phoenix + d3 | ||
*[https://github.com/alpaca-lang/alpaca Alpaca] Functional programming inspired by ML for the Erlang VM | *[https://github.com/alpaca-lang/alpaca Alpaca] Functional programming inspired by ML for the Erlang VM | ||
*[https://github.com/trifork/erjang/ Erjang] A JVM-based Erlang VM | *[https://github.com/trifork/erjang/ Erjang] A JVM-based Erlang VM | ||
− | *[ | + | *[[LFE]] |
*[https://github.com/joxa/joxa Joxa] A Modern Lisp for the Erlang VM | *[https://github.com/joxa/joxa Joxa] A Modern Lisp for the Erlang VM | ||
*[https://github.com/clojerl/clojerl clojerl] [[Clojure]] implemented on the Erlang VM. | *[https://github.com/clojerl/clojerl clojerl] [[Clojure]] implemented on the Erlang VM. | ||
*[https://github.com/bragful/ephp ePHP] [[PHP]] Interpreter in pure Erlang | *[https://github.com/bragful/ephp ePHP] [[PHP]] Interpreter in pure Erlang | ||
+ | *[https://github.com/johnlinvc/erruby ErRuby] an implementation of the Ruby language on Erlang [https://speakerdeck.com/johnlinvc/what-i-learned-by-implementing-a-ruby-vm-in-erlang What I learned by implementing a Ruby VM in Erlang] | ||
+ | *[http://github.com/tarcieri/reia Reia] is a [[Ruby]]-like scripting language for the Erlang virtual machine. | ||
*[https://github.com/efene/efene efene] | *[https://github.com/efene/efene efene] | ||
*[https://github.com/gleam-lang/gleam Gleam] A statically typed language for the Erlang VM | *[https://github.com/gleam-lang/gleam Gleam] A statically typed language for the Erlang VM | ||
− | *[https://github.com/joearms/erl2 erl2] | + | *[https://github.com/joearms/erl2 erl2] a program generator for a new dialect of erlang |
*[https://github.com/hamler-lang Hamler] [[Haskell]]-style functional programming language | *[https://github.com/hamler-lang Hamler] [[Haskell]]-style functional programming language | ||
*[https://github.com/rvirding/luerl Luerl] [[Lua]] in Erlang | *[https://github.com/rvirding/luerl Luerl] [[Lua]] in Erlang | ||
*[https://github.com/rvirding/erlog Erlog] [[Prolog]] for an Erlang Application | *[https://github.com/rvirding/erlog Erlog] [[Prolog]] for an Erlang Application | ||
+ | *[https://github.com/alpaca-lang Alpaca] Functional programming inspired by [[ML]] for the Erlang VM | ||
==文档== | ==文档== | ||
第38行: | 第56行: | ||
*[http://docs.huihoo.com/erlang/conference/euc2016/Rethinking-the-Language-Runtime-for-Scale.pdf Rethinking the Language Runtime for Scale: Designing and Evaluating a Distributed Computing Language Runtime] [http://docs.huihoo.com/erlang/conference/euc2016/Tutorial-Antidote-Rethinking-the-Language-Runtime-for-Scale.pdf Tutorial: Antidote] [http://docs.huihoo.com/erlang/conference/euc2016/Tutorial-CRDTs-Rethinking-the-Language-Runtime-for-Scale.pdf Tutorial: CRDTs] | *[http://docs.huihoo.com/erlang/conference/euc2016/Rethinking-the-Language-Runtime-for-Scale.pdf Rethinking the Language Runtime for Scale: Designing and Evaluating a Distributed Computing Language Runtime] [http://docs.huihoo.com/erlang/conference/euc2016/Tutorial-Antidote-Rethinking-the-Language-Runtime-for-Scale.pdf Tutorial: Antidote] [http://docs.huihoo.com/erlang/conference/euc2016/Tutorial-CRDTs-Rethinking-the-Language-Runtime-for-Scale.pdf Tutorial: CRDTs] | ||
*[http://docs.huihoo.com/erlang/conference/euc2014/a-status-update-of-beamjit-the-just-in-time-compiling-abstract-machine.pdf A Status Update of BEAMJIT, the Just-in-Time Compiling Abstract Machine] | *[http://docs.huihoo.com/erlang/conference/euc2014/a-status-update-of-beamjit-the-just-in-time-compiling-abstract-machine.pdf A Status Update of BEAMJIT, the Just-in-Time Compiling Abstract Machine] | ||
+ | *[https://files.gotocon.com/uploads/slides/conference_15/995/original/GOTO%20Wiger%20-%20Using%20Erlang%20in%20Blockchain%20Development.pdf Building a blockchain in Erlang] | ||
==图集== | ==图集== | ||
<gallery> | <gallery> | ||
+ | image:BEAM-languages.png|BEAM语言 | ||
image:hamler-lang-compiler.png|Hamler | image:hamler-lang-compiler.png|Hamler | ||
+ | image:aeternity-aetmodel-epoch-system-diagram.jpeg|aeternity aetmodel | ||
+ | image:clojerl-windows.png|clojerl | ||
</gallery> | </gallery> | ||
第54行: | 第76行: | ||
[[category:OCaml]] | [[category:OCaml]] | ||
[[category:haskell]] | [[category:haskell]] | ||
− | [[category: | + | [[category:PHP]] |
+ | [[category:Huihoo Foundation]] |
2022年10月16日 (日) 11:26的最后版本
Erlang VM: Erlang虚拟机、运行时、编译器、BEAM。
目录 |
[编辑] 简介
BEAM 是 Erlang 开放电信平台(OTP)的核心虚拟机。
BEAM 是 Erlang 运行时间系统(ERTS)的一部分,它将 Erlang 源代码编译成字节码,然后在 BEAM 上执行。BEAM 字节码文件的扩展名为.beam。
会有更多编程语言和实现运行在 BEAM 平台上,尤其 PHP, Ruby, Python 等 Web 语言,或者用 Elixir 去替换 Ruby ...
[编辑] 功能
- The Erlang Runtime System
- actor model
- Comparison of application virtualization software
- BeamAsm uses asmjit to generate native code in run-time.
[编辑] 项目
VM
- AtomVM Tiny Erlang VM
- Enigma VM An Erlang VM implementation in Rust
- RT: Erlang Runtime Library
- AEVM Aeternity Virtual Machine
Lanauages
- Languages, and about languages, on the BEAM
- 除 Erlang 外,Elixir programming language Erlang VM 平台语言最强大的存在
- Visualixir is a toy visualizer for BEAM nodes, written in Elixir + Phoenix + d3
- Alpaca Functional programming inspired by ML for the Erlang VM
- Erjang A JVM-based Erlang VM
- LFE
- Joxa A Modern Lisp for the Erlang VM
- clojerl Clojure implemented on the Erlang VM.
- ePHP PHP Interpreter in pure Erlang
- ErRuby an implementation of the Ruby language on Erlang What I learned by implementing a Ruby VM in Erlang
- Reia is a Ruby-like scripting language for the Erlang virtual machine.
- efene
- Gleam A statically typed language for the Erlang VM
- erl2 a program generator for a new dialect of erlang
- Hamler Haskell-style functional programming language
- Luerl Lua in Erlang
- Erlog Prolog for an Erlang Application
- Alpaca Functional programming inspired by ML for the Erlang VM
[编辑] 文档
- News From the OTP Team
- VM features in OTP 20
- DevOps' Swiss Army knife for the BEAM
- Think Outside the VM Unobtrusive Performance Measurement
- Create Your Own Language: How to implement a language on top of Erlang Virtual Machine (BEAM)
- Recovering Erlang AST from BEAM bytecode
- The BEAM community and efene
- Rethinking the Language Runtime for Scale: Designing and Evaluating a Distributed Computing Language Runtime Tutorial: Antidote Tutorial: CRDTs
- A Status Update of BEAMJIT, the Just-in-Time Compiling Abstract Machine
- Building a blockchain in Erlang
[编辑] 图集
[编辑] 链接
分享您的观点