nydp 0.1.4 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +32 -3
- data/lib/lisp/core-010-precompile.nydp +31 -13
- data/lib/lisp/core-015-documentation.nydp +5 -1
- data/lib/lisp/core-030-syntax.nydp +8 -1
- data/lib/lisp/core-040-utils.nydp +1 -1
- data/lib/lisp/core-050-test-runner.nydp +3 -5
- data/lib/lisp/core-080-pretty-print.nydp +1 -0
- data/lib/lisp/tests/date-examples.nydp +31 -0
- data/lib/lisp/tests/def-examples.nydp +16 -0
- data/lib/lisp/tests/foundation-test.nydp +8 -0
- data/lib/lisp/tests/hash-examples.nydp +5 -0
- data/lib/lisp/tests/parser-tests.nydp +4 -0
- data/lib/lisp/tests/pre-compile-examples.nydp +19 -0
- data/lib/lisp/tests/pretty-print-tests.nydp +4 -0
- data/lib/nydp/date.rb +16 -5
- data/lib/nydp/version.rb +1 -1
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 37191dabf60a754266ff7898dad970be1f0cedcd
|
4
|
+
data.tar.gz: fa74bdef9dff4ec5be87e23630064e6a9603ea13
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d32cdb68d796ca1434fed7e1e5603e718f00dcadca3779e738e870308e9a4b66a64a5e0d6c5dedb2c09cb0e929fc7560f23b40e8aa32ed42ffbcb702164c3197
|
7
|
+
data.tar.gz: 762f0e8f0b52151b8e85d8b0e4221979207609587f96f061b58fb02c18d55e8a759a10642ffc67cfeb35a7fbea53b4fdd16d42c915606240059b22b4d1f4b01f
|
data/README.md
CHANGED
@@ -65,7 +65,6 @@ After parsing its input, `'nydp` passes the result as an argument to the `pre-co
|
|
65
65
|
You can override `pre-compile` to transform the expression in any way you wish. By default, the `boot.nydp` implementation of `pre-compile` performs macro-expansion.
|
66
66
|
|
67
67
|
|
68
|
-
|
69
68
|
```lisp
|
70
69
|
(def pre-compile (expr)
|
71
70
|
(map pre-compile
|
@@ -80,7 +79,6 @@ nydp > (pre-compile '(yoyo 42))
|
|
80
79
|
==> (do-yoyo 42)
|
81
80
|
```
|
82
81
|
|
83
|
-
|
84
82
|
#### 2. Special symbol syntax
|
85
83
|
|
86
84
|
The parser detects syntax embedded in smybol names and emits a form whose first element names the syntax used. Here's an example:
|
@@ -230,7 +228,7 @@ However, this doesn't need to be built-in, it can be done with macros alone. On
|
|
230
228
|
(def fun (a b . others) ...)
|
231
229
|
```
|
232
230
|
|
233
|
-
In this example, `
|
231
|
+
In this example, `others` is either nil, or a list containing the third and subsequent arguments to the call to `fun`. For many examples of this kind of invocation, see [invocation-tests](lib/lisp/tests/invocation-tests.nydp) in the `tests` directory.
|
234
232
|
|
235
233
|
|
236
234
|
|
@@ -398,6 +396,37 @@ nydp > (p:pp:dox-src 'pp/find-breaks)
|
|
398
396
|
The pretty-printer is still rather primitive in that it only indents according to some hard-coded rules, and according to argument-count
|
399
397
|
for documented macros. It has no means of wrapping forms that get too long, or that extend beyond a certain predefined margin or column number.
|
400
398
|
|
399
|
+
#### 11 DSLs
|
400
|
+
|
401
|
+
The `pre-compile` system (described earlier in "Macro-expansion runs in lisp") is available for implementing local, mini-languages. To do this, use `pre-compile-with`
|
402
|
+
in a macro. `pre-compile-with` expects a hash with expansion rules, and an expression to expand using these rules. For example, to build a "describe" dsl :
|
403
|
+
|
404
|
+
```lisp
|
405
|
+
(= describe-dsl (hash))
|
406
|
+
(= describe-dsl.def (fn (a b c) `(a-special-kind-of-def ,a ,b ,c)))
|
407
|
+
(= describe-dsl.p (fn (w) `(alternative-p ,w)))
|
408
|
+
|
409
|
+
(mac describe (name expr outcome)
|
410
|
+
`(add-description ',name
|
411
|
+
(pre-compile-with describe-dsl ',expr)
|
412
|
+
',outcome))
|
413
|
+
```
|
414
|
+
|
415
|
+
In this example, `describe-dsl` establishes rules for expanding `def` and for `p` which will shadow their usual meanings, but only in the context
|
416
|
+
of a `describe` form.
|
417
|
+
|
418
|
+
This technique is useful to avoid cluttering the global macro-namespace with rules that are used only in a specific context. A word of warning:
|
419
|
+
if you shadow a popular name, for example `let`, `map` or `do`, you are likely to run into trouble when some non-shadowed macro inside your
|
420
|
+
dsl context expands into something you have shadowed; in this case your shadowy definitions will be used to further expand the result.
|
421
|
+
|
422
|
+
For example, if you shadow `with`, but not `let`, and then you use a `let` form within a sample of the dsl you are specifying ; the `let`
|
423
|
+
form expands into a `with` form, thinking the `with` will expand in the usual way, but in fact no, your private dsl is going to expand
|
424
|
+
this `with` in your private special way, possibly in a way that's incompatible with the form produced by `let`.
|
425
|
+
|
426
|
+
If, notwithstanding the aforementioned, the outcome works the way you expected it to, then you have the wrong kind of genius and your
|
427
|
+
license to program should be revoked.
|
428
|
+
|
429
|
+
|
401
430
|
## Installation
|
402
431
|
|
403
432
|
Add this line to your application's Gemfile:
|
@@ -1,22 +1,27 @@
|
|
1
1
|
|
2
|
-
|
3
|
-
(assign mac-expand (fn (macfn name body)
|
2
|
+
(assign mac-expand (fn (names macfn name body)
|
4
3
|
(cond macfn
|
5
|
-
(pre-compile
|
4
|
+
(pre-compile-with names
|
5
|
+
(apply macfn body))
|
6
6
|
(cons name body))))
|
7
7
|
|
8
8
|
(assign macs (hash))
|
9
9
|
|
10
10
|
(assign pre-compile-expr
|
11
|
-
(fn (name body)
|
12
|
-
(mac-expand
|
11
|
+
(fn (names name body)
|
12
|
+
(mac-expand names
|
13
|
+
(hash-get names name)
|
14
|
+
name
|
15
|
+
body)))
|
13
16
|
|
14
17
|
(assign pre-compile-each
|
15
|
-
(fn (args)
|
18
|
+
(fn (names args)
|
16
19
|
(cond args
|
17
20
|
(cond (pair? args)
|
18
|
-
(cons (pre-compile
|
19
|
-
|
21
|
+
(cons (pre-compile-with names
|
22
|
+
(car args))
|
23
|
+
(pre-compile-each names
|
24
|
+
(cdr args)))
|
20
25
|
args))))
|
21
26
|
|
22
27
|
(assign pre-compile-msg
|
@@ -25,23 +30,36 @@
|
|
25
30
|
compiled))
|
26
31
|
|
27
32
|
(assign pre-compile-raw
|
28
|
-
(fn (arg)
|
33
|
+
(fn (names arg)
|
29
34
|
(cond (pair? arg)
|
30
35
|
(cond (eq? (car arg) 'quote)
|
31
36
|
arg
|
32
|
-
(pre-compile-each
|
37
|
+
(pre-compile-each names
|
38
|
+
(pre-compile-expr names
|
39
|
+
(car arg)
|
40
|
+
(cdr arg))))
|
33
41
|
arg)))
|
34
42
|
|
35
43
|
(assign pre-compile-debug
|
36
|
-
(fn (arg)
|
37
|
-
(pre-compile-msg arg
|
44
|
+
(fn (names arg)
|
45
|
+
(pre-compile-msg arg
|
46
|
+
(pre-compile-raw names
|
47
|
+
arg))))
|
38
48
|
|
39
49
|
(assign debug-pre-compile
|
40
50
|
(fn (arg)
|
41
|
-
(assign pre-compile
|
51
|
+
(assign pre-compile-with
|
52
|
+
(cond arg
|
53
|
+
pre-compile-debug
|
54
|
+
pre-compile-raw))))
|
42
55
|
|
43
56
|
(debug-pre-compile nil)
|
44
57
|
|
58
|
+
; builtin pre-compile does nothing; override here to provide macro-expansion
|
59
|
+
(assign pre-compile
|
60
|
+
(fn (arg)
|
61
|
+
(pre-compile-with macs arg)))
|
62
|
+
|
45
63
|
; we override this later to provide automatic documentation
|
46
64
|
(hash-set macs 'def
|
47
65
|
(fn (name args . body)
|
@@ -28,6 +28,8 @@
|
|
28
28
|
(def dox-examples (name)
|
29
29
|
(hash-get examples name))
|
30
30
|
|
31
|
+
(def dox-example-names () (hash-keys examples))
|
32
|
+
|
31
33
|
(def dox-arg-names (name)
|
32
34
|
(cond (dox? name)
|
33
35
|
(cadddr (car (dox-lookup name))))))
|
@@ -81,9 +83,11 @@
|
|
81
83
|
'args
|
82
84
|
'`((fn nil ,@args)))
|
83
85
|
|
86
|
+
(mac def-assign args `(assign ,@args))
|
87
|
+
|
84
88
|
(def define-def-expr (name args documentation body)
|
85
89
|
; used internally by 'def
|
86
|
-
`(do (assign ,name (fn ,args ,@body))
|
90
|
+
`(do (def-assign ,name (fn ,args ,@body))
|
87
91
|
(dox-add-doc ',name
|
88
92
|
'def
|
89
93
|
',documentation
|
@@ -168,12 +168,16 @@
|
|
168
168
|
,(build-hash-get-key:car rnames)
|
169
169
|
,value-expr)))
|
170
170
|
|
171
|
+
(def isa (type obj) (eq? (type-of obj) type))
|
172
|
+
|
171
173
|
(mac = (name value)
|
172
174
|
(if (isa 'symbol name)
|
173
175
|
`(assign ,name ,value)
|
174
176
|
(caris 'dot-syntax name)
|
175
177
|
(dot-syntax-assignment (cdr name) value)))
|
176
178
|
|
179
|
+
(mac def-assign args `(= ,@args))
|
180
|
+
|
177
181
|
(def brace-list-hash-key (k)
|
178
182
|
(if (isa 'symbol k) `(quote ,k)
|
179
183
|
(caris 'unquote k) (cadr k)
|
@@ -199,8 +203,11 @@
|
|
199
203
|
(build-ampersand-syntax (car rest))))
|
200
204
|
|
201
205
|
(mac brace-list-mono (arg) arg)
|
206
|
+
(mac brace-list-empty () '(hash))
|
202
207
|
|
203
208
|
(mac brace-list args
|
204
|
-
(if (no
|
209
|
+
(if (no args)
|
210
|
+
`(brace-list-empty)
|
211
|
+
(no (cdr args))
|
205
212
|
`(brace-list-mono ,(car args))
|
206
213
|
(brace-list-build-hash args)))
|
@@ -1,3 +1,4 @@
|
|
1
|
+
|
1
2
|
(def eachr (f things)
|
2
3
|
(when things
|
3
4
|
(eachr f (cdr things))
|
@@ -78,7 +79,6 @@
|
|
78
79
|
(iso (cdr x) (cdr y)))))
|
79
80
|
|
80
81
|
(def x1 (thing) thing)
|
81
|
-
(def isa (type obj) (eq? (type-of obj) type))
|
82
82
|
(def sym? (arg) (isa 'symbol arg))
|
83
83
|
(def string? (arg) (isa 'string arg))
|
84
84
|
(mac just (arg) arg)
|
@@ -51,8 +51,6 @@
|
|
51
51
|
|
52
52
|
(mac examples-for (name . examples)
|
53
53
|
(let suite-name "examples for ~(pp name)"
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
',(collect (curry !caris 'comment)
|
58
|
-
examples)))))
|
54
|
+
(let plain-examples (collect (fn (x) (isa 'string (car x))) examples)
|
55
|
+
`(do (register-test '(suite ,suite-name ,@plain-examples))
|
56
|
+
(dox-add-examples ',name ',plain-examples)))))
|
@@ -0,0 +1,31 @@
|
|
1
|
+
(examples-for date
|
2
|
+
("creates a single date" (to-string (date 1965 6 8)) "1965-06-08" )
|
3
|
+
("navigates to next day" (let d (date 2004 3 11) (to-string d.tomorrow)) "2004-03-12" )
|
4
|
+
("navigates to previous day" (let d (date 2006 6 22) (to-string d.yesterday)) "2006-06-21" )
|
5
|
+
("navigates to previous year" (let d (date 1971 12 18) (to-string d.last-year)) "1970-12-18" )
|
6
|
+
("navigates to next year" (let d (date 1974 1 11) (to-string d.next-year)) "1975-01-11" )
|
7
|
+
("navigates to previous month" (let d (date 1971 12 18) (to-string d.last-month)) "1971-11-18" )
|
8
|
+
("navigates to next month" (let d (date 1974 1 11) (to-string d.next-month)) "1974-02-11" )
|
9
|
+
("jumps a year to previous month" (let d (date 1974 1 11) (to-string d.last-month)) "1973-12-11" )
|
10
|
+
("navigates to previous week" (let d (date 2008 2 16) (to-string d.last-week)) "2008-02-09" )
|
11
|
+
("navigates to next week" (let d (date 1972 11 13) (to-string d.next-week)) "1972-11-20" )
|
12
|
+
("navigates to year start" (let d (date 1972 11 13) (to-string d.beginning-of-year)) "1972-01-01" )
|
13
|
+
("navigates to year end" (let d (date 1972 11 13) (to-string d.end-of-year)) "1972-12-31" )
|
14
|
+
("navigates to month start" (let d (date 1971 11 18) (to-string d.beginning-of-month)) "1971-11-01" )
|
15
|
+
("navigates to month end" (let d (date 1971 11 18) (to-string d.end-of-month)) "1971-11-30" )
|
16
|
+
("navigates to week start" (let d (date 2015 11 6) (to-string d.beginning-of-week)) "2015-11-02" )
|
17
|
+
("navigates to week end" (let d (date 2015 11 6) (to-string d.end-of-week)) "2015-11-08" )
|
18
|
+
|
19
|
+
("returns its year" (let d (date 1999 12 31) d.year) 1999)
|
20
|
+
("returns its month" (let d (date 1999 12 31) d.month) 12 )
|
21
|
+
("returns its day" (let d (date 1999 12 31) d.day) 31 )
|
22
|
+
("returns its week-day" (let d (date 1999 12 31) d.week-day) 5 )
|
23
|
+
("recognises not monday" (let d (date 2015 11 1) d.monday? ) nil )
|
24
|
+
("recognises monday" (let d (date 2015 11 2) d.monday? ) t )
|
25
|
+
("recognises tuesday" (let d (date 2015 11 3) d.tuesday? ) t )
|
26
|
+
("recognises wednesday" (let d (date 2015 11 4) d.wednesday?) t )
|
27
|
+
("recognises thursday" (let d (date 2015 11 5) d.thursday? ) t )
|
28
|
+
("recognises friday" (let d (date 2015 11 6) d.friday? ) t )
|
29
|
+
("recognises not friday" (let d (date 2015 11 7) d.friday? ) nil )
|
30
|
+
("recognises saturday" (let d (date 2015 11 7) d.saturday? ) t )
|
31
|
+
("recognises sunday" (let d (date 2015 11 8) d.sunday? ) t ))
|
@@ -0,0 +1,16 @@
|
|
1
|
+
(assign foo (hash))
|
2
|
+
(def foo.bar (a b) (* a b))
|
3
|
+
(def foo.zeb (a b) (* a (foo.bar a b)))
|
4
|
+
|
5
|
+
(examples-for def
|
6
|
+
("can assign a function to a hash key"
|
7
|
+
(foo.bar 3 4)
|
8
|
+
12)
|
9
|
+
|
10
|
+
("sets hash keys"
|
11
|
+
(hash-keys foo)
|
12
|
+
(bar zeb))
|
13
|
+
|
14
|
+
("hash defs are accessible wherever the hash is"
|
15
|
+
(foo.zeb 5 7)
|
16
|
+
175))
|
@@ -4,6 +4,14 @@
|
|
4
4
|
2.5))
|
5
5
|
|
6
6
|
(examples-for eq?
|
7
|
+
("is nil for two different dates"
|
8
|
+
(eq? (today) (+ (today) 1))
|
9
|
+
nil)
|
10
|
+
|
11
|
+
("is true for two identical dates"
|
12
|
+
(eq? (date 2015 3 12) (+ (date 2015 3 1) 11))
|
13
|
+
t)
|
14
|
+
|
7
15
|
("true for two empty symbols"
|
8
16
|
(eq? '|| '||)
|
9
17
|
t)
|
@@ -19,6 +19,11 @@
|
|
19
19
|
nil))
|
20
20
|
|
21
21
|
(examples-for brace-list
|
22
|
+
("with no args builds an empty hash"
|
23
|
+
(let thing {}
|
24
|
+
(list (type-of thing) (hash-keys thing)))
|
25
|
+
(hash nil))
|
26
|
+
|
22
27
|
("build a hash table from brace-list syntax"
|
23
28
|
(let hsh { foo 1 bar 2 }
|
24
29
|
(list 'foo hsh.foo 'bar hsh.bar))
|
@@ -20,6 +20,10 @@
|
|
20
20
|
(parse "%this-and-that")
|
21
21
|
((percent-syntax || this-and-that)) )
|
22
22
|
|
23
|
+
("parses a percent-prefix-mixed-with-dot-syntax symbol"
|
24
|
+
(parse "%this.and.that")
|
25
|
+
((percent-syntax || (dot-syntax this and that))) )
|
26
|
+
|
23
27
|
("parses a dot-syntax symbol"
|
24
28
|
(parse "this.that.zozo")
|
25
29
|
((dot-syntax this that zozo)) )
|
@@ -0,0 +1,19 @@
|
|
1
|
+
(examples-for pre-compile-with
|
2
|
+
("does nothing with an empty hash"
|
3
|
+
(pre-compile-with (hash) '(let a 1 (p a)))
|
4
|
+
(let a 1 (p a)))
|
5
|
+
|
6
|
+
("uses the given macros to expand the given expression"
|
7
|
+
(let lang { p (fn args `(print-stuff ,@args))
|
8
|
+
def (fn (name . body) `(define-it ,(to-string name) ,(len body) ,@body))
|
9
|
+
brace-list (fn (first second third) `(brace-things ,first (p ,second))) }
|
10
|
+
(pre-compile-with lang
|
11
|
+
'(let a 'b
|
12
|
+
(p { a b c }
|
13
|
+
(with (m n)
|
14
|
+
(def p q r s tt))))))
|
15
|
+
(let a 'b
|
16
|
+
(print-stuff (brace-things a
|
17
|
+
(print-stuff b))
|
18
|
+
(with (m n)
|
19
|
+
(define-it "p" 4 q r s tt))))))
|
@@ -25,6 +25,10 @@
|
|
25
25
|
(pp '(string-pieces "hello " (bang-syntax || (dot-syntax x y (ampersand-syntax foo bar))) " and welcome to " (prefix-list "%%" (a b c d)) " and friends!"))
|
26
26
|
"\"hello ~~!x.y.foo&bar and welcome to ~~%%(a b c d) and friends!\"")
|
27
27
|
|
28
|
+
("perent-syntax"
|
29
|
+
(pp '(percent-syntax || (dot-syntax x y)))
|
30
|
+
"%x.y")
|
31
|
+
|
28
32
|
("brace list"
|
29
33
|
(pp '(&x {a 1 b "two" c 'three d ,four e (sub invocation) f {sub brace list} }))
|
30
34
|
"(&x {a 1 b \"two\" c 'three d ,four e (sub invocation) f {sub brace list}})"))
|
data/lib/nydp/date.rb
CHANGED
@@ -8,8 +8,12 @@ module Nydp
|
|
8
8
|
|
9
9
|
MONTH_SIZES = [nil, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
|
10
10
|
def build y, m, d
|
11
|
-
|
12
|
-
|
11
|
+
if m < 1
|
12
|
+
build( y - 1, m + 12, d )
|
13
|
+
else
|
14
|
+
s = MONTH_SIZES[m]
|
15
|
+
::Date.new(y, m, (d > s ? s : d))
|
16
|
+
end
|
13
17
|
end
|
14
18
|
|
15
19
|
def initialize ruby_date
|
@@ -24,14 +28,16 @@ module Nydp
|
|
24
28
|
def + int ; r2n(ruby_date + int , nil) ; end
|
25
29
|
def > other ; ruby_date > other.ruby_date ; end
|
26
30
|
def < other ; ruby_date < other.ruby_date ; end
|
31
|
+
def == other ; ruby_date == other.ruby_date ; end
|
27
32
|
|
33
|
+
@@pass_through = %i{ monday? tuesday? wednesday? thursday? friday? saturday? sunday? }
|
28
34
|
@@keys = Set.new %i{
|
29
35
|
year month week_day day
|
30
36
|
last_year next_year beginning_of_year end_of_year
|
31
37
|
last_month next_month beginning_of_month end_of_month
|
32
38
|
last_week next_week beginning_of_week end_of_week
|
33
39
|
yesterday tomorrow
|
34
|
-
}
|
40
|
+
} + @@pass_through
|
35
41
|
|
36
42
|
def year y, m, d, w ; y ; end
|
37
43
|
def month y, m, d, w ; m ; end
|
@@ -56,6 +62,12 @@ module Nydp
|
|
56
62
|
def yesterday y, m, d, w ; ruby_date - 1 ; end
|
57
63
|
def tomorrow y, m, d, w ; ruby_date + 1 ; end
|
58
64
|
|
65
|
+
@@pass_through.each do |n|
|
66
|
+
class_eval "def #{n} * ; ruby_date.#{n} ; end"
|
67
|
+
end
|
68
|
+
|
69
|
+
def dispatch key, y, m, d, w ; self.send(key, y, m, d, w) if @@keys.include?(key) ; end
|
70
|
+
|
59
71
|
def [] key
|
60
72
|
key = key.to_s.gsub(/-/, '_').to_sym
|
61
73
|
y = ruby_date.year
|
@@ -63,8 +75,7 @@ module Nydp
|
|
63
75
|
d = ruby_date.day
|
64
76
|
w = ruby_date.wday
|
65
77
|
|
66
|
-
|
67
|
-
r2n adjusted, nil
|
78
|
+
r2n(dispatch(key, y, m, d, w), nil)
|
68
79
|
end
|
69
80
|
end
|
70
81
|
end
|
data/lib/nydp/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nydp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Conan Dalton
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-11-
|
11
|
+
date: 2015-11-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -101,6 +101,8 @@ files:
|
|
101
101
|
- lib/lisp/tests/collect-tests.nydp
|
102
102
|
- lib/lisp/tests/cons-examples.nydp
|
103
103
|
- lib/lisp/tests/curry-tests.nydp
|
104
|
+
- lib/lisp/tests/date-examples.nydp
|
105
|
+
- lib/lisp/tests/def-examples.nydp
|
104
106
|
- lib/lisp/tests/detect-examples.nydp
|
105
107
|
- lib/lisp/tests/dot-syntax-examples.nydp
|
106
108
|
- lib/lisp/tests/dox-tests.nydp
|
@@ -115,6 +117,7 @@ files:
|
|
115
117
|
- lib/lisp/tests/len-examples.nydp
|
116
118
|
- lib/lisp/tests/list-tests.nydp
|
117
119
|
- lib/lisp/tests/parser-tests.nydp
|
120
|
+
- lib/lisp/tests/pre-compile-examples.nydp
|
118
121
|
- lib/lisp/tests/pretty-print-tests.nydp
|
119
122
|
- lib/lisp/tests/quasiquote-examples.nydp
|
120
123
|
- lib/lisp/tests/range-examples.nydp
|