Posted by on Mon, 10/12/2015 - 10:00

Tweet Series: Algae Pythagoras Tree Cantor Dust (this) Koch Curve Sierpinski Triangle Dragon Curve Fractal Plant Last time out we implemented the Pythagoras Tree example from the L-System wikipedia page. Now, let’s continue our journey and see how we can implement the Cantor Dust example in Elm. Example 3 : Cantor Dust First, let’s define

Posted by Gizra on Thu, 10/01/2015 - 00:00

Part of my job is to get my hands dirty with technologies I stumble upon. I've decided to have a go at React. Well, one thing led to the other and it seems I went down the client side rabbit hole. I'd like to share with you my path - watch out though, it's a slippery slope.

"Hello World" in Elm

It all started with this Thinking Flux video which explains the problems Facebook faced in its front-end and the new application architecture they are now using.

Since the Flux concept was out, different libraries were written implementing it, but in my view it seems that Redux is the winner in terms of simplicity, popularity, docs and community. I really recommend going over it - at least the intro and basics. You might be tempted to actually learn a bit of React (tutorial) to follow the examples more easily.

Then I saw Redux was crediting Elm for some of its inspiration, so I decided to give it a quick look. I was immediately blown away by Elm. The syntax is weird (unless you know Haskell), it has a crazy learning curve, but a lot of it makes so much sense.

The following recording is a presentation I first gave internally for Gizra devs, then as a BoF in DrupalCon Barcelona, and finally recorded to share it with everyone.

My goal is to get more people excited about Elm so the community and contributions grows. I feel it is now very much like Drupal about 10 years ago - a small community, far from being mainstream, but with a lot of potential.

Maybe if we'll draw from Drupal's experience in building and cultivating a community we'll be able to bring this awesome tool closer to the mainstream.

Continue reading…

Posted by LambdaCat on Sat, 08/15/2015 - 00:36

In this post we'll get syntax highlighting working and meet all the elm binaries.


We start this article from where we left in How to setup your local development environment for Elm from source, with a newly installed Elm environment we want to take for a spin.

Posted by LambdaCat on Thu, 08/13/2015 - 23:35

A relatively concise guide to getting an easily upgradable Elm environment running on Mac.

At the end of this guide you'll have an environment that:

can build from source
is upgradable using only the command line
can keep multiple versions of Elm around

The easiest way to try out Elm

Posted by Futurice on Mon, 06/15/2015 - 12:42

A couple of weeks ago I decided I would learn something new: functional reactive programming (FRP). It is a programming paradigm that has become very popular over the past few years, as demonstrated by the popularization of languages such as Haskell and Clojure. There is also a strong functional and reactive movement in the web frontend. JavaScript, the only programming language browsers understand, can be used in many different ways, fitting several programming paradigms. The core ideas of immutability and pure functions are quite alien to JavaScript, though, which is why I figured the learning FRP might prove easier with some other language.

Elm is a functional reactive language that compiles to something a web browser can understand. It forces a JS programmer to readjust their thinking, as there are no mutable variables and types are strong. All interaction is modeled through "signals", which are essentially streams of values changing over time. This is why Elm makes a perfect fit for learning FRP. In case you are the least bit curious, please take a look at the article I wrote: Learning FP the hard way: Experiences on the Elm language

Hats off to the Futurice Spice Program for making this learning experience possible!


Cover image: Chinese Elm, 1988-2007 on WikiMedia Commons

Posted by LambdaCat on Mon, 04/27/2015 - 23:27

This first screencast is a short video guide to the marvels of Elm's Debugger.

var tag = document.createElement('script');
tag.src = "";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
var player;
function onYouTubeIframeAPIReady() { player = new YT.Player('player', { height: '400', width: