[racket] Typed Racket procedure wrapping?

From: Matthias Felleisen (matthias at ccs.neu.edu)
Date: Wed Feb 6 06:58:44 EST 2013

My comment concerns the error message. We used to pay special attention to such things. 


On Feb 5, 2013, at 11:30 PM, Eric Dobson wrote:

> I don't get why TR should use a custom contract instead of case-> providing better error messages.
> 
> You get the same error message with:
> 
> #lang racket
> 
> (define/contract (f) (case->) 2)
> (f 2)
> ;(f)
> 
> 
> On Tue, Feb 5, 2013 at 8:10 PM, Matthias Felleisen <matthias at ccs.neu.edu> wrote:
> 
> On Feb 5, 2013, at 4:17 PM, Asumu Takikawa wrote:
> 
> >>
> >>   In 5.3.2, when running untyped.rkt, I get:
> >>
> >>   #<case-lambda-procedure>: arity mismatch;
> >>    the expected number of arguments does not match the given number
> >>     given: 1
> >>     arguments...:
> >>      5
> >
> > I agree that this error message is bad. It's a result of changing the
> > type `Procedure` to use the contract `(case->)`. Maybe we should use a
> > custom contract here instead that produces a better error message.
> 
> 
> AMEN!
> ____________________
>   Racket Users list:
>   http://lists.racket-lang.org/users
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20130206/e8d5bba7/attachment.html>

Posted on the users mailing list.