ember mascot

a tiny language that glows

a new programming language, built around pipes, values and honest errors.
run it here, or install it as a real command on your pc.

ca

// |> passes the value on the left as the first argument
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
  |> filter(fn(n) { n % 2 == 0 })
  |> map(fn(n) { n * n })
  |> sum
  |> print

data, without the noise.

JSON: read and write data

Turn JSON text into Ember values and back again.

try json →

Sorting: put a list in order

Order numbers, reverse them, and keep the first few.

try sorting →

Maps: work with named values

Check keys and walk through values and entries.

try maps →
beginner data lesson →
|>
pipes first
chain data left to right, like a sentence
=
everything is a value
if/else returns a value; functions return their last line
λ
closures & lists
first-class functions, lists, maps, map/filter/reduce
!
friendly errors
clear messages with line numbers; runaway loops are stopped

different on purpose.

no classes, no semicolons, no boilerplate. same idea, a fraction of the noise:

javascript

const total = [1,2,3,4]
  .filter(n => n % 2 === 0)
  .map(n => n * n)
  .reduce((a, b) => a + b, 0);
console.log(total);

ember

[1, 2, 3, 4]
  |> filter(fn(n) { n % 2 == 0 })
  |> map(fn(n) { n * n })
  |> sum
  |> print
five ember mascots: got ember?

ready to write your first line?

open the playground →