Batteries Included

The list of modules that comes with Erlang is extensive. It can be hard for a new user of Erlang to know how to approach this list.

This is a break down of modules you will most likely make use of.

Data Structures

lists
Manipulate Erlang lists, commonly used higher order functions
proplists
Manipulate lists of “property” values
dict
Key/value dictionary
sets
Collection of unique elements
queue
FIFO queues
orddict
Ordered dictionaries
ordsets
Ordered sets
string
String manipulation
unicode
Unicode manipulation

Data Storage and Retrieval

ets
In memory Erlang term storage
dets
On disk Erlang term storage

Files

file
Higher level file operations
filelib
Lower level file operations
filename
File name manipulation

Date/Time

calendar
Miscellaneous date and time functions

Networking

inet
Various TCP/IP functions
gen_tcp
Interface to TCP/IP sockets
gen_udp
Interface to UDP sockets
gen_sctp
Interface to SCTP sockets

General IO

io
IO server functions
io_lib
IO library functions

Regular Expressions

re
Regular expression support

Erlang System

erlang
Erlang BIFs (built in functions)
sys
Interface to Erlang system messages
init
Coodination of Erlang system startup

Operating System

os
Operating system functions

File Archives and Compression

zip
Read and create zip archives
zlib
ZLIB compression support

Hash Digests and Cryptography

base64
base64 encoding and decoding
crypto
Cryptographic functions

General Computation

math
Common mathematical functions
random
Pseudo random number generation

Testing

eunit
EUnit support
ct
Common Test support

Debugging

dbg
Text based tracing
debugger
Graphical debugger

Developer Utilities

edoc
Documentation generator
cover
Coverage analysis
cprof
Call count profiling tool
fprof
Time profiling tool
dialyzer
Discrepancy analysis tool

Internet

ftp
FTP client
httpc
HTTP client
httpd
HTTP server

OTP

application
OTP application functions
proc_lib
Lowed level OTP support
gen_server
High level OTP interface for Erlang processes
supervisor
Supervise other OTP processes
gen_event
Extensible OTP interface for Erlang processes
gen_fsm
OTP interface for finite state machines
comments powered by Disqus