nendo 0.5.3 → 0.5.4
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/init.nnd +7 -5
- data/lib/init.nndc +2078 -1997
- data/lib/nendo/experimental.nnd +58 -0
- data/lib/nendo/experimental.nndc +2614 -3
- data/lib/nendo/test.nnd +40 -8
- data/lib/nendo/test.nndc +704 -361
- data/lib/nendo.rb +29 -3
- data/lib/rfc/json.nndc +6 -6
- data/lib/srfi-1.nndc +147 -147
- data/lib/srfi-2.nndc +90 -90
- data/lib/srfi-26.nndc +251 -251
- data/lib/text/html-lite.nndc +23 -23
- data/lib/util/combinations.nndc +191 -191
- data/lib/util/list.nnd +2 -0
- data/lib/util/list.nndc +692 -609
- data/lib/util/match.nndc +5551 -5551
- data/test/nendo_spec.rb +19 -3
- data/test/syntax_spec.rb +339 -15
- data/test/testframework_spec.rb +153 -0
- data/test/util-list-test.nnd +6 -6
- metadata +6 -5
data/lib/init.nnd
CHANGED
@@ -311,7 +311,7 @@
|
|
311
311
|
(else (if (zero? level)
|
312
312
|
(cond ((eq? (car form) 'unquote) (car (cdr form)))
|
313
313
|
((eq? (car form) 'unquote-splicing)
|
314
|
-
(raise RuntimeError (+ "Error: Unquote-splicing wasn't in a list: " (write-to-string form))
|
314
|
+
(%raise RuntimeError (+ "Error: Unquote-splicing wasn't in a list: " (write-to-string form))
|
315
315
|
(sprintf "%s:%s outside list." (*FILE*) (*LINE*))))
|
316
316
|
((and (pair? (car form))
|
317
317
|
(eq? (car (car form)) 'unquote-splicing))
|
@@ -331,7 +331,7 @@
|
|
331
331
|
|
332
332
|
(define unquote
|
333
333
|
(macro (lst)
|
334
|
-
(raise RuntimeError "Error: unquote appeared outside quasiquote" (sprintf "%s:%s outside quasiquote" (*FILE*) (*LINE*)))))
|
334
|
+
(%raise RuntimeError "Error: unquote appeared outside quasiquote" (sprintf "%s:%s outside quasiquote" (*FILE*) (*LINE*)))))
|
335
335
|
|
336
336
|
|
337
337
|
(define unquote-splicing
|
@@ -856,11 +856,11 @@
|
|
856
856
|
,@(cddr lst))))))
|
857
857
|
(cond
|
858
858
|
((> 2 (length lst))
|
859
|
-
(raise ArgumentError ". dot-operator requires 2+ arguments." (sprintf "%s:%s in dot-operator" (*FILE*) (*LINE*))))
|
859
|
+
(%raise ArgumentError ". dot-operator requires 2+ arguments." (sprintf "%s:%s in dot-operator" (*FILE*) (*LINE*))))
|
860
860
|
(else
|
861
861
|
(if (symbol? (second lst))
|
862
862
|
(generate-method-call-form lst)
|
863
|
-
(raise TypeError ". dot-operator requires method name as symbol." (sprintf "%s:%s in dot-operator" (*FILE*) (*LINE*))))))))
|
863
|
+
(%raise TypeError ". dot-operator requires method name as symbol." (sprintf "%s:%s in dot-operator" (*FILE*) (*LINE*))))))))
|
864
864
|
|
865
865
|
|
866
866
|
(define (with-open filename pred . lst)
|
@@ -1299,7 +1299,7 @@
|
|
1299
1299
|
;; ----------------------------------------
|
1300
1300
|
(define (%setup-%tailcall-mark sexp)
|
1301
1301
|
(define (reserved? sym)
|
1302
|
-
(let* ([reserved-orig '(quote syntax-quote macro %syntax begin lambda if %let letrec define define-syntax)]
|
1302
|
+
(let* ([reserved-orig '(quote syntax-quote macro %syntax begin lambda if %let letrec define define-syntax %guard)]
|
1303
1303
|
[reserved (append reserved-orig
|
1304
1304
|
(map
|
1305
1305
|
(lambda (orig)
|
@@ -1368,6 +1368,8 @@
|
|
1368
1368
|
sexp)
|
1369
1369
|
((%syntax /nendo/core/%syntax)
|
1370
1370
|
sexp)
|
1371
|
+
((%guard /nendo/core/%guard)
|
1372
|
+
sexp)
|
1371
1373
|
((begin /nendo/core/begin)
|
1372
1374
|
`(,_car
|
1373
1375
|
,@(setup-proc-body (cdr sexp))))
|