Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | improved error info form matchable |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
3efc59d40134e40926ade0b517865a8f |
User & Date: | aldo 2016-12-08 00:38:23 |
Context
2016-12-08
| ||
00:39 | minor fixes on cairo check-in: 35fd13c928 user: aldo tags: trunk | |
00:38 | improved error info form matchable check-in: 3efc59d401 user: aldo tags: trunk | |
00:37 | improved string-split check-in: 524150d095 user: aldo tags: trunk | |
Changes
Changes to matchable.sls.
405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 |
;; clauses. `g+s' is a list of two elements, the get! and set! ;; expressions respectively. (define-syntax match-next (syntax-rules (=>) ;; no more clauses, the match failed ((match-next v g+s) (error 'match "no matching pattern")) ;; named failure continuation ((match-next v g+s (pat (=> failure) . body) . rest) (let ((failure (lambda () (match-next v g+s . rest)))) ;; match-one analyzes the pattern for us (match-one v pat g+s (match-drop-ids (begin . body)) (failure) ()))) ;; anonymous failure continuation, give it a dummy name ((match-next v g+s (pat . body) . rest) |
| |
405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 |
;; clauses. `g+s' is a list of two elements, the get! and set!
;; expressions respectively.
(define-syntax match-next
(syntax-rules (=>)
;; no more clauses, the match failed
((match-next v g+s)
(error 'match "no matching pattern" v))
;; named failure continuation
((match-next v g+s (pat (=> failure) . body) . rest)
(let ((failure (lambda () (match-next v g+s . rest))))
;; match-one analyzes the pattern for us
(match-one v pat g+s (match-drop-ids (begin . body)) (failure) ())))
;; anonymous failure continuation, give it a dummy name
((match-next v g+s (pat . body) . rest)
|