[Erlang 0120] Know a little Core Erlang】的更多相关文章

  Erlang开发者或多或少都用过或者听说过Core erlang,它是什么样的呢?新建一个测试模块a.erl,如下操作会生成core erlang代码而非a.beam:   Eshell V6.0 (abort with ^G) 1> c(a,[to_core]). 这时文件夹中已经生成了一个a.core的文件,然后我们如下行事:   2> c(a,[from_core]). {ok,a} 这时已经看到a.beam了,打开a.core的文件,这些看起来熟悉却又有点奇怪的代码是什么意思?有什…
随着erlang的不断发展,它的语法越来越复杂,不便于诸如分析器,调试器此类程序在源码层次直接进行解析,而CORE Erlang旨在为Erlang提供一个人类可读可改的中间表示(Intermediate representation),这样就能方便面向程序源码的工具的开发. 千言万语不如代码一句.这里我们通过一个例子来直观的了解究竟什么是CORE Erlang.在helloworld.erl中输入如下代码: -module (helloworld). -export([simple/0, com…
我在Erlang Resources 豆瓣小站上发起了一个征集活动 [链接] ,"[征集] 我们读过的Erlang论文",希望大家来参加.发起这样一个活动的目的是因为Erlang相关的出版物很少,很多时候都是从学术论文中寻找答案,而发现合适的论文是第一步,这个活动就是为了解决这个问题. 在一个极小的知识点可能都会有一篇精彩的论文为你条分缕析,抽丝剥茧,甚至可以拼凑起来一个完整的Erlang知识系统,我们开始吧... <面向软件错误构建可靠的分布式系统> Making rel…
在2014年的开头就有这样一个令人振奋的好消息,Erlang有一本新书即将出版 <The Erlang Runtime System>,其作者happi在2013年3月份公布了这本书的写作计划:"The plan is to have the book done by the end of 2013 and published early 2014. ",出版方是O’Reilly,按照O’Reilly近一两年的管理,都会有电子版(PDF epub)的版本,所以我们还是有机会…
原文地址: http://www.cnblogs.com/me-sa/archive/2011/07/09/erlang0004.html 由于最终部署的生产环境是Centos,所以我需要在Centos中安装Erlang B13R04 ,第一次做这件事情破费周折,主要是对Erlang依赖的库不熟悉,总是编译不过:这里梳理一下安装过程中的细节:   Erlang依赖哪些库? A fully working GCC compiler environment Ncurses development l…
把之前阅读资料的时候记下的东西,整理了一下. Adding special-purpose processor support to the Erlang VM   P23 简单介绍了Erlang Compiler和Beam文件格式; The Erlang Compiler in short 章节提到了 Core Erlang 这个之前有提到过: [Erlang 0120] Know a little Core Erlang http://www.cnblogs.com/me-sa/p/know…
之前,在 [Erlang 0126] 我们读过的Erlang论文 提到过下面这篇论文: On Preserving Term Sharing in the Erlang Virtual Machine 地址: http://user.it.uu.se/~kostis/Papers/erlang12_sharing.pdf  摘要:In this paper we describe our experiences and argue through examples why flattening t…
Erlang源代码编译为beam文件,代码要经过一系列的过程(见下面的简图),Core Erlang之前已经简单介绍过了Core Erlang,代码转换为Core Erlang,就容易拨开一些语法糖的真面目了.下一阶段就是将Core Erlang转换为opcode,使用c(m,'S')生成的是.S文件可以看到反编译的代码.编译器最终输出的是Virtual Beam Code 但这还不是最终VM执行的代码,在erts\emulator\beam\beam_load.c执行的过程中会完成指令优化,优…
虽然忙,有些事还是要抽时间做; Erlang Resources 小站 2014年1月~6月资讯合集,方便检索.      小站地址: http://site.douban.com/204209/   1月   114 RR Elixir with José Valim by CHARLES MAX WOOD on JULY 17, 2013 http://rubyrogues.com/114-rr-elixir-with-jose-valim/   "The Erlang Runtime Sy…
Whatsapp已经使用Erlang在生产环境跑到96GB内存单机 3M长连接,参加:WhatsApp的Erlang世界.毕竟业务级别能达到Whatsapp那样极少,现在只有千万级,单机太多挂一台影响太大,再者就是没有多线接入,每个机房都得扔那么几台机器吧,所以1M就能满足要求. Erlang 作为长连接网关有着天生的优势: - 擅长与IO密集型业务,也要求将网关设计尽量简单,认证完后,简单解析报头,就直接将请求转发给后端服务处理 - 网络层有beam c 实现得非常高效 ,erlang 代码只…