Simplified split-xlist so that it might typecheck in Racket v.6.5

This commit is contained in:
Georges Dupéron 2016-09-25 16:19:46 +02:00
parent 250885b002
commit 76c9e89b20

View File

@ -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)