[racket] [typed] optional parameter
On Fri, Nov 11, 2011 at 6:22 AM, Eric Tanter <etanter at dcc.uchile.cl> wrote:
>
> but if I annotate g using case->, the same error happens:
>
> (: g (case-> (-> Number) (Number -> Number)))
> (define (g [x 10])
> x)
>
> Type Checker: Expected Number, but got Any in: (define (g (x 10)) x)
>
> Can someone explain why this error happens, and how to correctly annotate g?
Unfortunately, Typed Racket needs a little more help from the
programmer here. This will work:
#lang typed/racket
(: g (case-> (-> Number)
(Number -> Number)))
(define (g [#{x : Number} 10]) x)
I hope to make what you wrote work eventually, but it doesn't yet.
--
sam th
samth at ccs.neu.edu