18 December 2016
I’ve pushed hard at schoolwork for the past two weeks, and a day of Rest presented itself. No new studies, no reviews, no school.
But what to do?
Polyglot that I am, the day’s learning was set aside to learn a new language: Elixir. I’ve played with some functional languages previously, notably Clojure and Rust, but neither truly caught my heart. Elixir has frequently popped up in comparison to one of my current favorites, Go, which has a somewhat similar concurrency philosophy.
Installing it was simple, pacman -S elixir handling
everything that was needed. Before launching into exercises directly I
read through the official getting started guide, then looked around for
a style guide along the lines of gofmt or
autopep8. Nothing exactly right was there, but the lovely
Elixir Koans kept me thrumming back
and forth in the guts of the language’s syntax. Setting Vim up to
auto-save made this particularly pleasurable. Afterwards I exercised
and tried to think/write/code in the proper paradigm.
And that was more or less all I had time for.
The language has its oddities (|>?) but was sharply
functional, not tied to the sluggishly starting JVM, and easy to work
with. I suspect I will return to it. The Actor model of concurrency is
distinctly interesting and had me imagining what it could do in the kind
of heavy simulation ala Dwarf Fortress that I’ve been interested in
pursuing.