[racket] Typed Racket blows a gasket on seeing a keyword

From: Shriram Krishnamurthi (sk at cs.brown.edu)
Date: Thu Sep 23 21:15:52 EDT 2010

I don't know whether this is considered a "bug", so I'm not going to
annoy anyone by submitting a bug report, but I sure feel like I
angered the gods:

Definitions window (yes, really, this is the entire content):

#lang typed/racket

(define (f #:somekwd x)
  x)

Output:

Welcome to DrRacket, version 5.0.1 [3m].
Language: typed/racket; memory limit: 128 MB.
. Type Checker: untyped identifier make-required imported from module
<kw.rkt> in: #%module-begin
. Type Checker: untyped identifier missing-kw imported from module
<kw.rkt> in: (define (f #:somekwd x) x)
. Type Checker: Type of argument to apply is not a function type:
Nothing in: (define (f #:somekwd x) x)
. Type Checker: Polymorphic function car could not be applied to arguments:
Domains: (Pairof a b)
         (Listof a)
Arguments: Any
 in: (define (f #:somekwd x) x)
. Type Checker: No function domains matched in function application:
Domains: Integer Zero
         Zero Integer
         Integer Positive-Fixnum
         Positive-Fixnum Integer
         Integer Nonnegative-Fixnum
         Nonnegative-Fixnum Integer
         Integer Negative-Fixnum
         Negative-Fixnum Integer
         Integer Exact-Positive-Integer
         Exact-Positive-Integer Integer
         Integer Exact-Nonnegative-Integer
         Exact-Nonnegative-Integer Integer
         Complex Complex Complex *
Arguments: Any Positive-Fixnum
 in: (define (f #:somekwd x) x)
. Type Checker: Summary: 5 errors encountered in:
  #%module-begin
  (define (f #:somekwd x) x)
  (define (f #:somekwd x) x)
  (define (f #:somekwd x) x)
  (define (f #:somekwd x) x)
>


Posted on the users mailing list.