2010-09-20 112 views

回答

15

首先,你可能想看看到Joe Armstrong's thesis,处于较高水平引入二郎。了解该语言背后的想法是有用的。然后,您可以专注于Erlang运行时系统(erts)。 erlang.erl模块可能是一个好的开始。然后,我将关注构成所谓的最小版本,内核stdlib的应用程序。在stdlib中,看看如何实现行为。我可以建议gen_server.erl模块作为开始?

+0

这篇论文是一个迷人的阅读。谢谢你 – GabiMe 2010-09-21 11:35:13

2

简短的回答是,没有好的指导。代码没有很好的记录。

我建议在你家附近找到一个熟悉代码的人,然后以他们的晚餐换取一点点聊天。

如果您无法做到这一点,那么我建议从装载机开始。

./erts/emulator/beam/beam_load.c 

一些有用的信息也可以通过漂亮的打印光束表示找到。我不知道是否有任何方法可以由OTP提供,但HiPE项目有一些秘籍。

hipe:c(MODULE, [pp_beam]). 

应该让你开始。

(而且我也推荐乔的书。)