Simplified split-xlist so that it might typecheck in Racket v.6.5
This commit is contained in:
parent
250885b002
commit
76c9e89b20
|
@ -22,15 +22,12 @@
|
|||
(List (Listof A)
|
||||
B)))
|
||||
(define (recur l)
|
||||
(if (null? l)
|
||||
(list '() (ann l B))
|
||||
(if (pred-b? l)
|
||||
(list '() l)
|
||||
(let ([split-rest (recur (cdr l))])
|
||||
(cons (cons (car l)
|
||||
(car split-rest))
|
||||
(cdr split-rest)))
|
||||
)))
|
||||
(if (pred-b? l)
|
||||
(list '() l)
|
||||
(let ([split-rest (recur (cdr l))])
|
||||
(cons (cons (car l)
|
||||
(car split-rest))
|
||||
(cdr split-rest)))))
|
||||
recur)
|
||||
|
||||
(define-syntax-rule (m-split-list v (xlist τ₁ ^ *₁ . whole-τ-rest))
|
||||
|
@ -42,10 +39,6 @@
|
|||
(make-predicate (xlist . whole-τ-rest)))
|
||||
v))
|
||||
|
||||
#;(: cons2 (∀ (A B ...) (→ A (List B ...) (List A B ...))))
|
||||
#;(define (cons2 a b)
|
||||
(cons a b))
|
||||
|
||||
(define-syntax (bounded-filter stx)
|
||||
(syntax-case stx ()
|
||||
[(_ 0 heads t l)
|
||||
|
|
Loading…
Reference in New Issue
Block a user