2010-09-20 109 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]). 

應該讓你開始。

(而且我也推薦喬的書。)