From 5618abb4f4e3fb061ab5ebd7225a97943623af7b Mon Sep 17 00:00:00 2001 From: Sam Tobin-Hochstadt Date: Thu, 17 Jun 2010 15:02:24 -0400 Subject: [PATCH] provide more information in inference failures original commit: 8990459be69c3e720871bff23827826709990c49 --- collects/typed-scheme/infer/constraints.rkt | 4 ++-- collects/typed-scheme/infer/signatures.rkt | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/collects/typed-scheme/infer/constraints.rkt b/collects/typed-scheme/infer/constraints.rkt index 037fa4cd..fb504a5c 100644 --- a/collects/typed-scheme/infer/constraints.rkt +++ b/collects/typed-scheme/infer/constraints.rkt @@ -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) diff --git a/collects/typed-scheme/infer/signatures.rkt b/collects/typed-scheme/infer/signatures.rkt index 5286215d..962bea83 100644 --- a/collects/typed-scheme/infer/signatures.rkt +++ b/collects/typed-scheme/infer/signatures.rkt @@ -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