-
Notifications
You must be signed in to change notification settings - Fork 3
/
tests.term
121 lines (113 loc) · 2.02 KB
/
tests.term
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
tests
"paren term thing
a(d m)
a d m
"more paren term things
let life(happen)
let (life happen)
let life:happen
"treat colons as colons even if there's a space
ne ne : ne
(ne (ne ne))
"central feature about terms alone on their lines not being in a list
a
b
c
a b c
"head linecontent list doesn't open onto the indental
if cond
then
else
((if cond) then else)
"a closed list will not take on more entries
(only)
then
else
((only) then else)
"invoked string
a b"s
(a (b s))
"escaped chars can occur in the middle of unquoted atoms. Yes it was weird that you did it the other way. The intuition driving this is=> If there are no spaces a person should just be able to remove the quotes and the string should mean the same thing.
h\"ow
"h\"ow"
"
h"ow
"finalize the multiline string's newline only after finding another line matching the indent given. Only newline if the indent goes all the way up.
m "
something
(m "something\n")
"and if there's no newline
m "
something
(m something)
"newline without equivalent indent should *not* produce a newline
m "
something
(m something)
":mindnt-punctuated multiline string
m "
something
something
(m "something\n\nsomething\n")
"false initial multiline
a
m "
n o
l
(a (m "") (n o) l)
"function after colon
a b:c(d) d
(a (b (c d)) d)
"many open parens
-
A(B(C(D(E
N(M(E
- (A (B (C (D E)))) (N (M E))
"colon interrupted by closing paren
(a b:)
(a (b))
"trailing colon
a b:
c
a (b c)
a b:c
"non trailing colon
a b :c
a (b c)
"trailing paren
A B(C
D
(A (B C D))
"nested trailing parens
A (B F (C
D
E
(A (B F (C D E)))
"escaped char quoted or not
"A\"a" string
A\"a string
"chained colons, uhhh
A:B:C:D:E
(A (B (C (D E))))
"indent does not create empty lists
a
b
c
a b c
failing
"double colon" "
a:: c
"colon at beginning of scope"
"
:b
"
b(: c)
"
:
a
d
"
a
bios ()
:
so