| From: Noel Welsh (noelwelsh at gmail.com) Date: Mon Mar 29 09:31:36 EDT 2010 |
|
This common pattern
(define (foo a [b 1] [c 2] [d 3]) ...)
which expands into a case-lambda like
(define foo
(case-lambda (([a] (foo a 1 2 3))
([a b] (foo a b 2 3)) ...))
is a damn pain to type and Type in Typed Scheme. It would be really
nice it one could just write:
(: foo (Integer [Integer] [Integer] [Integer] -> Integer))
(define (foo a [b 1] [c 2] [d 3]) ...)
in Typed Scheme.
N.
| Posted on the dev mailing list. |
|