Imperative Shell around the Functional Core
Elixir is the perfect language to build upon the methodology from this talk:
Imperative Shell around the Functional Core
-- from RubyConf 12 - Boundaries by Gary Bernhardt - YouTube
Elixir data structures are obviously immutable, and the code and data
are combined within the same Module. (The FauxO style programming
from this talk.)
And Gary even introduced Actor Model which is the concurrency model used by Elixir/Erlang.
In Ruby, we need some self-disciplines to force ourselves to write an imperative shell around the functional core. But in Elixir, the language is already encouraging us to write code in this style. I think that's why I feel so excited about Elixir.
This talk was also mentioned in: