Elm er et funksjonelt, typet språk for utvikling i nettlesere. Språket ble designet av Evan Czaplicki i 2012. Elm er bygget rundt prinsippene for functional reactive programming. Elm har som mål å gjøre webutvikling robust, enkelt å refaktorere og ikke minst morsomt. Det kompilerer til JavaScript og har et voksende ekosystem. Syntaksen er inspirert av Haskell, men det er forbausende enkelt å komme igang med å lage noe nyttig!

Våre anbefalinger

Let's be Mainstream
Anbefalt av Magnus

Evan Czaplicki (forfatter av Elm) forsøker å få med hardcore funksjonelle programmerere (med en hang for typer) til å begynne å kommunisere med utenforstående på mer forståelige termer. Etter å ha sett denne fikk jeg endelig lyst til å kikke på et typet funksjonelt språk.

Våre foredrag

I dette foredraget får du en oversikt over hvordan Elm omfavner Funksjonell Reaktive Programmering vha signaler (verdier som endrer seg over tid). Du vil lære litt om Elm platformen og arkitekturen for en typisk Elm applikasjon. Live koding står også på blokka !

The Extensibility Problem

Tar for seg fordeler og ulemper med abstrakt kode, og hvorfor ting som interfaces ikke er en god match for Elm.

Elm Editor Support - Perspectives from an Editor Hacker

Foredrag hvor Magnus forteller om tilstanden på editor/IDE støtte for Elm. Gjennom livekoding demonstrerer Magnus endel av editorstøtten implementert i min Elm plugin for Light Table.

Persistent collections: how they work and when to use them

En gjennomgang av de forskjellige datastrukturene i Elm. Hvordan fungerer de, og når skal de brukes?

Våre screencasts

Managing and diagramming elm packages with d3 in Light Table

Screencast hvor Magnus demonstrerer avhengighetshåndtering og viser avhengighetsgraf (laget med d3) for min Elm Light Table plugin.

Elm package docs preview in Light Table

Screencast som demonstrerer forhåndsvisning av pakke dokumentasjon for Elm i Light Table.

Elm plugin for Light Table

Screencast som demonstrerer første versjon av min elm plugin for Light Table

Vår fri programvare

  • Elm Bootstrap - Elm bibliotek for å lage responsive webapplikasjoner med Twitter Bootstrap 4.
  • Elm Light Table Plugin - Light Table plugin for Elm. Syntax-highlighting, repl/inline eval, elm reactor integrasjon mm
  • Elm Warrior - Et spill for å få mer erfaring med Elm. Spilleren må programmere (i Elm) intelligensen til en liten kriger kalt At, som må finne veien ut av en labyrint og bekjempe fiender på veien.
  • elm-git-install - Et verktøy for å hente Elm-bibliotek direkte fra et git repo. Som oftest brukt for å biblioteker som ikke skal være offentlig tilgjengelige.
  • Vi har også bidratt til elm, elm-css, elm-optimize-level-2 og node-test-runner

Våre blogginnlegg

Moro med trær og glidlåser

Av og til støter du borti programmeringsoppgaver der det gir mening å bruke tre-strukturer for å komme opp med en elegant løsning. I denne bloggposten ser vi på hvordan man kan bruke en tre-struktur for å implementere et hierarkisk søkefilter med noen fiffige krav. For å krydre det litt ekstra, skal vi gjøre det med et funksjonelt språk (Elm) hvor mutering er umulig!

Re-writing Vy.no in Elm

Robin og Kjetil deler sine erfaringer etter at Vy.no ble skrevet om til Elm.

Elm Light 0.4.0 - AST driven Elm features in Light Table using PEG.js

For å kunne tilby enda mer avansert Elm støtte i Light Table har jeg implementert en hjemmesnekret AST vha peg.js. Dette har gitt vesentlig forbedret autocomplete og endel hendige refactor relaterte funksjoner.

Spør oss om Elm

Magnus

Robin

Nils