-
Notifications
You must be signed in to change notification settings - Fork 2
/
README
53 lines (36 loc) · 857 Bytes
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
A note on the indentation syntax.
: (colon) starts a new indentation block, like "let", "of" or "where" in Haskell.
Each line in an indentation block is considered as an block item.
If a block item consists of 2 or more elements, they are automatically parenthesized.
For example:
foo:
bar
baz quux
zot
means
foo
bar
(baz quux)
zot
.
Note that the entire block is not parenthesized.
As in Haskell, you can continue a block item by indenting more.
. (dot) acts like an opening parenthesis, but lacks a matching closing parenthesis.
Its scope extends to the right as far as possible, before hitting a closing parenthesis
or the end of a block item the dot belongs to.
Example:
(foo . bar baz)
means
(foo (bar baz))
Also:
.:
def a . + b c
def z . do:
x = 3
+ x x
means
((def a (+ b c))
(def z
(do
(x = 3)
(+ x x))))