|
|
|
|
|
by davvid
523 days ago
|
|
> This post misses the IMO best indentation scheme for lisp [...] Likewise, a lispier(?) and more compact compromise?: (define (match:element variable restrictions)
(define (ok? datum)
(every
(lambda (restriction)
(restriction datum))
restrictions))
(define (element-match data dictionary succeed)
(and
(ok? data)
(let ((vcell (match:lookup variable dictionary)))
(if vcell
(and
(equal? (match:value vcell) data)
(succeed dictionary))
(succeed (match:bind variable data dictionary))))))
element-match)
|
|