Questions tagged [otp]

OTP is a set of useful middle-ware, libraries and tools written in Erlang. It is an integral part of the open source distribution of Erlang. (For the one-time passwords, use [tag:one-time-password])

OTP is a set of useful middle-ware, libraries and tools written in Erlang. It is an integral part of the open source distribution of Erlang.
Erlang was originally developed in the Computer Science Laboratory at the Swedish Telecom company Ericsson. OTP stands for Open Telecom Platform which was a brand attempt before Ericsson released Erlang/OTP as open source. However neither Erlang nor OTP is specific to telecom applications.

It contains:

  • Erlang interpreter
  • Erlang compiler
  • A protocol for communication between servers (nodes)
  • Corba Object Request Broker
  • A static analysis tool called Dialyzer
  • A distributed database server (Mnesia)
  • Lots of libraries

Erlang/OTP has been used to build systems with 99.9999999% reliability (that’s nine nines).

Getting started

  1. Download the Erlang/OTP release for your platform.
  2. Check out Stack Overflow questions tagged and .
  3. Ask questions!

Community

Other places for discussing Erlang/OTP, beyond the question & answer format of Stack Overflow:

686 questions
117
votes
12 answers

How to get Erlang's release version number from a shell?

Many programs return their version number with a command like: $ program --version program (platform info) v1.2.3 This is useful for scripting the installation or maintenance of the program, and some other controlled automation magic from System…
Eric Platon
  • 8,821
  • 6
  • 37
  • 45
106
votes
4 answers

Are there things Elixir can do that Erlang cannot, or vice versa?

This question is in the context of the Beam VM and the capabilities that it provides, not in the general context of what a Turing complete language can do. I want to invest some time to learn either pure Erlang or Elixir. I get the basic differences…
Saša Šijak
  • 7,295
  • 5
  • 41
  • 74
42
votes
1 answer

How do you design the architecture of an Erlang/OTP-based distributed fault-tolerant multicore system?

I would like to build an Erlang/OTP-based system which solves an 'embarassingly parrallel' problem. I have already read/skimmed through: Learn You Some Erlang; Programming Erlang (Armstrong); Erlang Programming (Cesarini); Erlang/OTP in Action. I…
skanatek
  • 4,793
  • 3
  • 41
  • 69
32
votes
3 answers

What's the best way to do something periodically in Erlang?

I have a process that needs to do some work every fifteen seconds. I'm currently doing it like this: -behavior(gen_server). interval_milliseconds ()-> 15000. init()-> {ok, _State = FascinatingStateData, _TimeoutInterval =…
offby1
  • 5,675
  • 25
  • 43
32
votes
5 answers

Erlang/OTP behaviors for beginner

As I understood from the "Erlang and OTP in action" book, the word behavior refers to: the behaviour interface, which is a set of functions; the behaviour implementation, which is the application-specific code (a callback module); the behaviour…
Kirill
  • 827
  • 1
  • 10
  • 14
29
votes
5 answers

Achieving code swapping in Erlang's gen_server

I am looking to make use of Erlang's hot code swapping feature on a gen_server, so that I don't have to restart it. How should I do that? When I searched, all I could find was one article which mentioned that I need to make use of…
jeffreyveon
  • 12,818
  • 17
  • 72
  • 113
24
votes
2 answers

How do I do an HTTPS request with Erlang?

I tried the inets library but it times out. I don't think it supports HTTPS. I am trying to use ibrowse, but it isn't working.
gersh
  • 2,017
  • 3
  • 21
  • 23
23
votes
6 answers

Access project version within elixir application

I have an elixir project with a defined version. How can I access this from within the running application. in mix.exs def project do [app: :my_app, version: "0.0.1"] end I would like to be access this version number in the application…
Peter Saxton
  • 3,848
  • 5
  • 25
  • 44
21
votes
1 answer

Good practices when developing an application in Erlang (and Riak)?

We are getting familiar with Erlang/OTP and Riak (Core, KV, Pipe, and so on) trying to build an open-source distributed application in turn. Our project is going to have a bunch of dependencies : tools like erlang_js, protobuffs, etc., but also…
matehat
  • 4,906
  • 2
  • 25
  • 40
21
votes
1 answer

Which OTP behavior should I use for an "endless" repetition of tasks?

I want to repeatedly run the same sequence of operations over and over again next to a Phoenix application (without crashing the whole web-app if something brakes in the worker of course) and don't really know wether I should use a GenServer,…
optikfluffel
  • 1,848
  • 3
  • 17
  • 27
18
votes
4 answers

Concurrency: Processes vs Threads

What are the main advantages of using a model for concurrency based on processes over one based on threads and in what contexts is the latter appropriate?
Kummo
  • 3,402
  • 4
  • 18
  • 28
18
votes
1 answer

How does one generate an HMAC string in Elixir?

I'm attempting to write an Amazon Product Advertising API client in Elixir. The developer guide describes the process for signing an API request in which the an HMAC-SHA26 hash must be created using the request and the "Secret Access Key." This is…
Zach Garwood
  • 183
  • 1
  • 1
  • 8
18
votes
6 answers

Erlang lists:index_of function?

I'm looking for an Erlang library function that will return the index of a particular element in a list. So, if X = [10,30,50,70] lists:index_of(30, X) would return 1, etc., just like java.util.List's indexOf() method. Does such a method exist in…
Justin
  • 4,203
  • 5
  • 26
  • 54
18
votes
2 answers

Introduction to Erlang/OTP production applications deployment

I would like to develop and deploy an Erlang/OTP application into production on a VPS. I am pretty familiar with developing Erlang code on a local machine and my question is about deployment. Basically, I would like to know what steps I should take…
skanatek
  • 4,793
  • 3
  • 41
  • 69
17
votes
4 answers

Erlang/OTP: Synchronous vs. Asynchronous messaging

One of the things that attracted me to Erlang in the first place is the Actor model; the idea that different processes run concurrently and interact via asynchronous messaging. I'm just starting to get my teeth into OTP and in particular looking at…
sfinnie
  • 9,214
  • 1
  • 31
  • 43
1
2 3
45 46