Hi, Although the typed racket documentation mentions Values as a type constructor, it does not work:
Welcome to DrRacket, version 6.1.0.3--2014-07-18(e827817/a) [3m]. Language: typed/racket; memory limit: 1024 MB. > (define (foo) : (Values Number Number) (values 1 2)) . Type Checker: parse error in type; type name `Values' is unbound in: Values . Type Checker: wrong number of values: expected 1 but got 2 in: (values 1 2) . Type Checker: Summary: 2 errors encountered in: Values (values 1 2) OTOH, the lowercase values seems to work as a type constructor. > (define (bar) : (values Number Number) (values 1 2)) > bar - : (-> (values Number Number)) #<procedure:bar> Moreover, there is some kind of confusion between values and Values: > (values 1 2) - : (values Integer Integer) [more precisely: (Values One Positive-Byte)] 1 2 Am I missing something? Best, António.
_________________________ Racket Developers list: http://lists.racket-lang.org/dev