How "Functional" is Elixir?
A Reddit discussion on Elixir's functional programming (FP) purity attracted extensive debate among practitioners. Proponents of strict FP definitions, citing languages like Haskell, noted Elixir's allowance of side effects via message passing and I/O breaks referential transparency. Others defended its pragmatic, immutable-by-default approach as sufficiently functional for building concurrent systems. Concrete outcomes included developers distinguishing between learning FP fundamentals (favoring Haskell) and applying FP patterns to web development (choosing Elixir). The discourse highlighted Elixir's design trade-offs: leveraging the BEAM's actor model for concurrency while accepting constraints like its limited built-in data types.