Posted by crossingtheruby.com on Sun, 11/08/2015 - 02:00

I was fortunate to book a seat to the Elm Tutorial at the CodeMesh conference in London with Elm author Evan Czaplicki at the very last minute. Fortunate because there was space left but also because if I hadn’t left it to the last responsible moment then I would likely have booked a flight in from Amsterdam instead of the train through the channel tunnel. As it happened, thick fog had grounded most planes at Schiphol on Monday morning so the only downside to the train was that I was forced to purchase a seat in first class.

Continue reading…

Posted by crossingtheruby.com on Sat, 11/07/2015 - 02:00

It didn’t take long for Elm to grab my attention. While keeping abreast of developments in the React.js world I was listening to the JavaScript Jabber podcast, episode 179 with Dan Abramov, off the back of his React Europe talk ‘Live React: Hot Reloading with Time Travel’. He was talking about the Redux architecture applied to React and the many benefits that came out of structuring applications in that way. He also mentioned being called out by Evan Czaplicki for not crediting or referencing Elm in that talk as much as he might have done due to the similarity of Redux to Elm and the Elm Architecture. Dan went on to say:

Continue reading…

Posted by crossingtheruby.com on Fri, 11/06/2015 - 02:00

I have never been quite as excited about a programming language as I am about Elm. It’s been only two weeks since I first set eyes on it, yet I am completely and utterly sold. The last time I had a comparable experience was when Ruby with Rails convinced me, by their elegance and fitness for purpose, that I should in fact learn to program and make a career out of it.

Continue reading…

Posted by Gizra on Thu, 11/05/2015 - 00:00

As part of our adoption of Elm in production, Gizra devs are learning and practicing their Elm skills.

After they are done going over the existing videos/tutorials, we let them get their hands dirty. elm-hedley was created just for that - to simulate a simple yet typical web app with login, RESTful, etc.

Here's the existing app. As you see each event appears as a clickable link.

The challenge is to add a counter next to each event label that increments when clicked. When you refresh the page (F5) it shouldn't remember the previous clicks and should start back at 0.

In short, it should look like this (notice the bottom left list):

Go ahead, fork the repo and try for yourself. And don't peek below, as it has the answer!

.
.
.
.
.

Continue reading…

Posted by Rundis on Fri, 10/30/2015 - 01:00

Background

I’ve just started playing around a little bit with elm.
This weekend I’m going to codemesh where I’ll be attending an Elm workshop
with the author of Elm, Evan Czaplicki.

To ensure I have an editor I’m familiar with and to get me started a little, I figured I’d create an Elm language plugin
for Light Table. However lately I’ve been a little busy helping out getting https://github.com/LightTable/LightTable version 0.8
released. Last weekend we got an 0.8 alpha out. I needed some of the features from Electron. So now with Light Table using
Electron under the hoods I could finally complete an intial plugin release. It’s rough, but it’s an ok start I suppose !

Demo

ScreenCast demo

The plugin

You can find the plugin repo on github https://github.com/rundis/elm-light

Posted by theburningmonk.com on Mon, 10/26/2015 - 09:00

Tweet Series: Algae Pythago­ras Tree Can­tor Dust Koch Curve Sier­pin­ski Triangle Dragon Curve Frac­tal Plant (this) Last time out we imple­mented the Dragon Curve exam­ple from the L-System wikipedia page. Now, we’re finally at the end of our journey, let’s see how we can implement the Fractal Plant example in Elm.   Example 7 :

Posted by theburningmonk.com on Thu, 10/22/2015 - 10:00

Tweet Series: Algae Pythago­ras Tree Can­tor Dust Koch Curve Sier­pin­ski Triangle Dragon Curve (this) Frac­tal Plant Last time out we imple­mented the Sierpinski Triangle exam­ple from the L-System wikipedia page. Now, let’s con­tinue our jour­ney and see how we can imple­ment the (rather impressive sounding) Dragon Curve exam­ple in Elm.   Example 6 : Dragon

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

In my last post I was giving a high level overview of why we were looking at Elm in Gizra. Since that post, we've almost completed the demo app, and we've changed our status from "Looking at Elm" to "Choosing Elm".

The reason? In short - I believe it will save us money.
(Oh, and it's fun)

Continue reading…

Posted by theburningmonk.com on Mon, 10/19/2015 - 10:00

Tweet Series: Algae Pythago­ras Tree Can­tor Dust Koch Curve Sier­pin­ski Triangle (this) Dragon Curve Frac­tal Plant Last time out we imple­mented the Koch Curve exam­ple from the L-System wikipedia page. Now, let’s con­tinue our jour­ney and see how we can imple­ment the Sierpinski Triangle exam­ple in Elm.   Example 5 : Sierpinski Triangle First, let’s

Posted by theburningmonk.com on Thu, 10/15/2015 - 10:00

Tweet Series: Algae Pythago­ras Tree Can­tor Dust Koch Curve (this) Sier­pin­ski Triangle Dragon Curve Frac­tal Plant Last time out we imple­mented the Cantor Dust exam­ple from the L-System wikipedia page. Now, let’s con­tinue our jour­ney and see how we can imple­ment the Koch Curve exam­ple in Elm.   Example 4 : Koch Curve Once again,

Posted by theburningmonk.com 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.

elm-make
elm-package
elm-reactor

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