A Guide To The Erlang Source
From Erlang Community
(Difference between revisions)
| Revision as of 17:55, 19 August 2009 (edit) Zghst (Talk | contribs) (New page: A guide to the erlang source. == Download == The source can be downloaded from: http://erlang.org/download.html == Tree. == Most of the interesting code is in: erts/emulator/beam == At...) ← Previous diff |
Revision as of 17:59, 19 August 2009 (edit) (undo) Zghst (Talk | contribs) Next diff → |
||
| Line 4: | Line 4: | ||
| The source can be downloaded from: http://erlang.org/download.html | The source can be downloaded from: http://erlang.org/download.html | ||
| - | == Tree | + | == Tree == |
| Most of the interesting code is in: | Most of the interesting code is in: | ||
| erts/emulator/beam | erts/emulator/beam | ||
| - | == Atoms | + | == Atoms == |
| The atoms used in erlang are listed in erts/emulator/beam/atom.names and are referenced in the code as am_foo. So the 'EXIT' atom is am_EXIT in the code. | The atoms used in erlang are listed in erts/emulator/beam/atom.names and are referenced in the code as am_foo. So the 'EXIT' atom is am_EXIT in the code. | ||
| + | |||
| + | == Types == | ||
| + | Most used types are: Sint, Uint, Eterm, ... | ||
| + | Conversion is done in erts/emulator/beam/big.c. For example uint_to_big(Uint x, Eterm *y). term_to_Uint(Eterm term, Uint *up) | ||
| == Scheduler == | == Scheduler == | ||
| The process struct is defined in erts/emulator/beam/process.h. The important function is Process *schedule(Process *p, int calls). The next process is picked in "pick_next_process" of that method. | The process struct is defined in erts/emulator/beam/process.h. The important function is Process *schedule(Process *p, int calls). The next process is picked in "pick_next_process" of that method. | ||
Revision as of 17:59, 19 August 2009
A guide to the erlang source.
Contents |
Download
The source can be downloaded from: http://erlang.org/download.html
Tree
Most of the interesting code is in: erts/emulator/beam
Atoms
The atoms used in erlang are listed in erts/emulator/beam/atom.names and are referenced in the code as am_foo. So the 'EXIT' atom is am_EXIT in the code.
Types
Most used types are: Sint, Uint, Eterm, ... Conversion is done in erts/emulator/beam/big.c. For example uint_to_big(Uint x, Eterm *y). term_to_Uint(Eterm term, Uint *up)
Scheduler
The process struct is defined in erts/emulator/beam/process.h. The important function is Process *schedule(Process *p, int calls). The next process is picked in "pick_next_process" of that method.

Digg It
Del.icio.us
Reddit
Facebook
Stumble Upon
Technorati

