六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 170|回复: 0

Erlang in the browser

[复制链接]

升级  68%

44

主题

44

主题

44

主题

秀才

Rank: 2

积分
152
 楼主| 发表于 2013-1-29 08:48:35 | 显示全部楼层 |阅读模式
    在reddit上看到这个:Erlang in the browser: An Erlang Emulator written in JavaScript
    太酷了,作者用了5000行的js写了一个Erlang的emulator(官方的beam emulator代码行数可是极多的),记得以前还有伙计用js写了整个Linux OS,还真能运行,现在是不是很流行在browser里执行各种语言啊?
    点这里试运行
    Erlang R14B04
Eshell V5.8.5  (abort with ^G)1> 2+3.52> erlang:processes().[<0.0.0>,<0.3.0>,<0.5.0>,<0.6.0>,<0.8.0>,<0.9.0>,<0.10.0>, <0.11.0>,<0.12.0>,<0.13.0>,<0.14.0>,<0.15.0>,<0.16.0>, <0.17.0>,<0.18.0>,<0.19.0>,<0.20.0>,<0.21.0>,<0.24.0>]3> erlang:now().{1327,985077,503001}4> erlang:system_info(os_type).{unix,linux}5> self()! "Hello"."Hello"6> flush().Shell got "Hello"ok7> A=[1,2].[1,2]8> [H|T]=A.[1,2]9> H.110> T.[2]11>       虽然仅仅只有5000行js(代码),但erlang的基本功能都有了,如spawn,基本的bif,message,atom,ets,连erlang的process调度器都有。js解释运行了大部分的bytecode(binary部分还未实现)。
    注:js中只实现了emulator,没有实现compiler,所以用户无法定义函数。呈现在browser中的只是简单的erlang shell(shell是eval执行的),shell本身是已经编译好的beam文件。
 
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表