Thanks ... was show stopper. On Wed, Aug 1, 2012 at 1:45 PM, Sam Tobin-Hochstadt <[email protected]>wrote:
> This looks like something that should work -- I'm not sure why TR > thinks that `Nothing` is the right type to infer for the second > parameter to the `Collection` type. However, changing the last line > to: > > (((inst Collection-append D C) coll) elem)) > > makes it typecheck. > > On Wed, Aug 1, 2012 at 12:17 PM, Ray Racine <[email protected]> wrote: > > The following gives an error of "Expected Nothing, but got D in elem." > > Type checking error? > > > > #lang typed/racket/base > > > > (struct: (D C) Collection ([append : (D -> Void)] > > [build : (-> C)])) > > > > (: List-Builder (All (D) -> (Collection D (Listof D)))) > > (define (List-Builder) > > > > (: lst (Listof D)) > > (define lst '()) > > > > (Collection (λ: ((datum : D)) > > (set! lst (cons datum lst))) > > (λ () lst))) > > > > (: build-Collection (All (D C) (Collection D C)-> C)) > > (define (build-Collection collection) > > ((Collection-build collection))) > > > > (: append-Collection (All (D C) (Collection D C) D -> Void)) > > (define (append-Collection coll elem) > > ((Collection-append coll) elem)) > > > > > > ____________________ > > Racket Users list: > > http://lists.racket-lang.org/users > > > > > > -- > sam th > [email protected] >
____________________ Racket Users list: http://lists.racket-lang.org/users

