discard smart-pattern
This commit is contained in:
parent
6aa1250d32
commit
ba869b5cb6
|
@ -6,10 +6,12 @@
|
|||
(provide rec
|
||||
arr
|
||||
dict
|
||||
discard
|
||||
|
||||
rec*
|
||||
arr*
|
||||
dict*
|
||||
discard*
|
||||
|
||||
literal->literal-pattern
|
||||
literal-pattern->literal
|
||||
|
@ -43,10 +45,12 @@
|
|||
(define (rec label pats) (Pattern-group (GroupType-rec label) (items->entries pats)))
|
||||
(define (arr pats) (Pattern-group (GroupType-arr) (items->entries pats)))
|
||||
(define (dict pats) (Pattern-group (GroupType-dict) pats))
|
||||
(define (discard) (Pattern-discard))
|
||||
|
||||
(define (rec* label pats) (rec 'group (list (rec 'rec (list (lit label))) (dict (items->entries pats)))))
|
||||
(define (arr* pats) (rec 'group (list (rec 'arr (list)) (dict (items->entries pats)))))
|
||||
(define (dict* pats) (rec 'group (list (rec 'dict (list)) (dict pats))))
|
||||
(define (discard*) (rec '_ (list)))
|
||||
|
||||
(define (literal->literal-pattern v)
|
||||
(let walk ((v (->preserve v)))
|
||||
|
|
Loading…
Reference in New Issue