欢迎大家赞助一杯啤酒🍺 我们准备了下酒菜:Formal mathematics/Isabelle/ML, Formal verification/Coq/ACL2, C++/F#/Lisp
Erlang VM
来自开放百科 - 灰狐
(版本间的差异)
小 (→项目) |
小 (→功能) |
||
(未显示1个用户的46个中间版本) | |||
第1行: | 第1行: | ||
− | Erlang VM: [[Erlang]] | + | Erlang VM: [[Erlang]]虚拟机、运行时、编译器、BEAM。 |
==简介== | ==简介== | ||
+ | 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]] | ||
+ | [[文件:Clojerl-logo.png|right]] | ||
+ | [[文件:hamler-logo.png|right]] | ||
+ | [[文件:alpaca-language.png|right]] | ||
+ | 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/synrc/rt RT: Erlang Runtime Library] | ||
+ | *AEVM [[Aeternity]] Virtual Machine | ||
+ | |||
+ | 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/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/ | + | *[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/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/joearms/erl2 erl2] | + | *[https://github.com/gleam-lang/gleam Gleam] A statically typed language for the Erlang VM |
+ | *[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/rvirding/luerl Luerl] [[Lua]] in Erlang | ||
+ | *[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 | ||
+ | |||
+ | ==文档== | ||
+ | *[http://docs.huihoo.com/erlang/conference/euc2017/News-from-the-OTP-Team-Roadmap.pdf News From the OTP Team] | ||
+ | *[http://docs.huihoo.com/erlang/conference/euc2017/Erlang-VM-News-Regarding-Dirty-Schedulers-and-IO.pdf VM features in OTP 20] | ||
+ | *[http://docs.huihoo.com/erlang/conference/euc2016/DevOps-Swiss-Army-Knife-for-the-BEAM.pdf DevOps' Swiss Army knife for the BEAM] | ||
+ | *[http://docs.huihoo.com/erlang/conference/euc2016/Think-Outside-the-VM-Unobtrusive-Performance-Measurement.pdf Think Outside the VM Unobtrusive Performance Measurement] | ||
+ | *[http://docs.huihoo.com/erlang/Create-Your-Own-Language-How-to-implement-a-language-on-top-of-Erlang-Virtual-Machine-BEAM-August-2015.pdf Create Your Own Language: How to implement a language on top of Erlang Virtual Machine (BEAM)] | ||
+ | *[http://docs.huihoo.com/erlang/conference/euc2017/What-we-Found-in-the-BEAM-Code.pdf Recovering Erlang AST from BEAM bytecode] | ||
+ | *[http://docs.huihoo.com/erlang/conference/euc2017/Efene-and-the-BEAM-Community.pdf The BEAM community and efene] | ||
+ | *[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] | ||
+ | *[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> | ||
+ | image:BEAM-languages.png|BEAM语言 | ||
+ | image:hamler-lang-compiler.png|Hamler | ||
+ | image:aeternity-aetmodel-epoch-system-diagram.jpeg|aeternity aetmodel | ||
+ | image:clojerl-windows.png|clojerl | ||
+ | </gallery> | ||
==链接== | ==链接== | ||
*[http://docs.huihoo.com/erlang/20/erts-9.1/doc/html/index.html Erlang Run-Time System Application (ERTS) Reference Manual] | *[http://docs.huihoo.com/erlang/20/erts-9.1/doc/html/index.html Erlang Run-Time System Application (ERTS) Reference Manual] | ||
+ | *[https://medium.com/@mrjoelkemp/jvm-struggles-and-the-beam-4d9c58547410 JVM struggles and the BEAM] | ||
[[category:erlang]] | [[category:erlang]] | ||
+ | [[category:BEAM]] | ||
+ | [[category:virtualization]] | ||
[[category:lisp]] | [[category:lisp]] | ||
+ | [[category:OCaml]] | ||
+ | [[category:haskell]] | ||
+ | [[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
[编辑] 图集
[编辑] 链接
分享您的观点