Erlang / Erlang Basics Interview questions
What is a module in Erlang?
A module is Erlang's unit of code organization — a single .erl file compiling to
one unit that groups related functions under a shared name. The file starts with a -module(Name).
declaration matching the filename, and an -export([...]). attribute listing which functions
outside code may call.
-module(math_utils). -export([square/1]). square(N) -> N * N.
Functions not listed in -export are private to the module. Calling a function in another
module uses the Module:Function(Args) syntax, e.g. math_utils:square(4).
Modules can also be hot-swapped: the BEAM can load a new version of a module into a running system while old processes still executing the previous version finish naturally, which underpins Erlang's live upgrade story.
More Related questions...