There is some documentation in the pre-release docs at 

http://www.cs.utah.edu/plt/snapshots/current/doc/ts-reference/Typed_Classes.html?q=Class

#:implements should be used inside of a Class type form.

The following is an example from the documentation:

> (define-type Point<%> (Class (field [x Real] [y Real])))
> (: colored-point% (Class #:implements Point<%>
                           (field [color String])))

I hope that clears things up a little bit.

Dan

----- Original Message -----
From: "Alexander D. Knauth" <alexan...@knauth.org>
To: "Asumu Takikawa" <as...@ccs.neu.edu>
Cc: "Racket Users" <users@racket-lang.org>
Sent: Friday, May 2, 2014 9:00:53 PM GMT -05:00 US/Canada Eastern
Subject: Re: [racket] typed racket and interfaces


On May 1, 2014, at 11:49 PM, Asumu Takikawa <as...@ccs.neu.edu> wrote:

> On 2014-05-01 22:53:49 -0400, Alexander D. Knauth wrote:
>> Is there a way to specify inheritance in a class or interface type
>> constructor (so then you can avoid some copying and pasting)?
> 
> IIUC, your question is basically "why does #:implements in Class types
> not copy over initialization arguments?”.
I didn’t know about #:implements, and when I tried to use it, it gave me an 
error telling me that #:implements wasn’t a valid type, and the docs don’t say 
anything about it.  Is #:implements only in a later version (I have 6.0), or 
does it need to be used in a certain place, or what?  


____________________
  Racket Users list:
  http://lists.racket-lang.org/users

____________________
  Racket Users list:
  http://lists.racket-lang.org/users

Reply via email to