Skip to main content
Share Your Experience: Take the 2024 Developer Survey
9 votes

Why does Erlang provide built-in ordering (sorting) of the basic data types?

Quoting Joe Armstrong (emphasis mine): The original reason was that there should be a defined total order over all terms (why? - so that we could write generic sorting algorithms that could ...
aronisstav's user avatar
5 votes

Should Erlang systems be monolithic?

Please note that there is no concept of namespace or process isolation within Erlang VM. You can have only one module with a specific name, so you if you try to run too many different applications ...
Greg's user avatar
  • 214
5 votes

Hiding the protocol behind API?

As an example is the X windowing protocol; it's a binary socket api that everyone tells you to use the XCB library to wrap its use. This means that the programmer using doesn't need to worry about ...
ratchet freak's user avatar
4 votes

What are my options for running highly optimized code on the BEAM?

I don't know much about BEAM, so take anything I say with a shovelful of salt. You could try using HiPE, the BEAM native code compiler. From what I understand, unlike most other VMs, BEAM does not ...
Jörg W Mittag's user avatar
3 votes
Accepted

Erlang: Memory implications of passing around large objects in/to functions

Since you don't specify which implementation you use, it is hard to say. The Erlang Specification does not guarantee any specific optimizations except Proper Tail Calls. So, you have to assume the ...
Jörg W Mittag's user avatar
3 votes

Notify Millions of subscribers at the same time(or with min. delay) in C++?

I know I should not ask for clarification, but it is hard to answer on this question having such high requirements. Having good hardware, it takes ~400ns to send one UDP message. 400 * 1mln = 400ms ...
Dmytro Ovdiienko's user avatar
3 votes

Notify Millions of subscribers at the same time(or with min. delay) in C++?

Warning: This may not be a practical answer to your problem (but then again, it may be). In an ideal world, you'd use multicasting for this job. The basic idea of multicasting is that routers (which, ...
Jerry Coffin's user avatar
  • 44.5k
2 votes

Should Erlang systems be monolithic?

Erlang is designed to be massively scalable. Erlang processes are lightweight; you can have millions of them if you want to. So each "microservice" to which you refer will most likely map to several ...
Robert Harvey's user avatar
1 vote

Is the actor model suited for an application dealing with elapsed time?

There is nothing fundamentally problematic with using the actor model for this and supervision is very helpful in creating stable distributed systems. With that said, you still have to design the ...
Zalastax's user avatar
  • 111
1 vote

When is it NOT good to use actors in akka/erlang?

In order input/output messaging: I recently met with an akka-based application where the actor model actually caused concurrency problems, a simpler model would have sufficed better under load. The ...
DHa's user avatar
  • 121
1 vote

Haskell vs Erlang for web services

Haskell(GHC) has out-of-the-box support for green threads (Erlang's 'processes'). For example forkIO spawns a new green thread and returns its thread id. forkIO :: IO () -> IO ThreadId message ...
Poscat's user avatar
  • 111
1 vote

Haskell vs Erlang for web services

You could also consider Rust. It is not purely functional, but it encourages a semi-functional style Closures Immutability by default It has a strong, safe macro system, allowing you to write macros ...
Solomon Ucko's user avatar

Only top scored, non community-wiki answers of a minimum length are eligible