provide more information in inference failures
original commit: 8990459be69c3e720871bff23827826709990c49
This commit is contained in:
parent
9f8b2e4e2b
commit
5618abb4f4
|
@ -14,13 +14,13 @@
|
|||
|
||||
(define-values (fail-sym exn:infer?)
|
||||
(let ([sym (gensym 'infer-fail)])
|
||||
(values sym (lambda (s) (eq? s sym)))))
|
||||
(values sym (λ (s) (and (pair? s) (eq? (car s) sym))))))
|
||||
|
||||
;; why does this have to be duplicated?
|
||||
;; inference failure - masked before it gets to the user program
|
||||
(define-syntaxes (fail!)
|
||||
(syntax-rules ()
|
||||
[(_ s t) (raise fail-sym)]))
|
||||
[(_ s t) (raise (list fail-sym s t))]))
|
||||
|
||||
;; Widest constraint possible
|
||||
(define (no-constraint v)
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
;; inference failure - masked before it gets to the user program
|
||||
(define-syntaxes (fail!)
|
||||
(syntax-rules ()
|
||||
[(_ s t) (raise fail-sym)]))
|
||||
[(_ s t) (raise (list fail-sym s t))]))
|
||||
[cnt cset-meet (cset? cset? . -> . cset?)]
|
||||
[cnt cset-meet* ((listof cset?) . -> . cset?)]
|
||||
no-constraint
|
||||
|
|
Loading…
Reference in New Issue
Block a user