Check-in [3efc59d401]
Not logged in

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: 3efc59d40134e40926ade0b517865a8f48e2acbe
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
Hide Diffs Unified Diffs Ignore Whitespace Patch

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)