1a = -> [1 to 50]
2const b = --> [2 til 5]
3var c = ~~> 10_000_000km * 500ms - 16~ff / 32~lol
4e = (a) -> (b) ~> (c) --> (d, e) ~~> <[list of words]>
5dashes-identifiers = ->
6  a - a b -- c 1-1 1- -1 a- a a -a
7underscores_i$d = ->
8  /regexp1/
9  //regexp2//g
10  'strings' and "strings" and \strings and \#$-"\'strings
11
12another-word-list = <[ more words ]>
13
14[2 til 10]
15  |> map (* 2)
16  |> filter (> 5)
17  |> fold (+)
18
19obj =
20  prop1: 1
21  prop2: 2
22
23class Class extends Anc-est-or
24  (args) ->
25    <- # Comment
26    <~ /* Comment */
27    void undefined yes no on off
28    a.void b.undefined c.off d.if f.no g.not
29    avoid bundefined coff dif fno gnot
30    "inter #{2 + 2} #variable"
31    '''HELLO 'world' '''
32
33copy = (from, to, callback) -->
34  error, data <- read file
35  return callback error if error?
36  error <~ write file, data
37  return callback error if error?
38  callback()
39
40take(n, [x, ...xs]:list) =
41  | n <= 0     => []
42  | empty list => []
43  | otherwise  => [x] +++ take n - 1, xs
44