Thanks! -- Éric
On Apr 4, 2012, at 3:45 PM, Luke Vilnis wrote: > I had to instantiate the "map" function explicitly, and couldn't use "cons?" > because it returns whether something is a Pair, not a Listof - but the > following works: > > (: cars : (All (A) (Listof (Listof A)) -> (Listof A))) > (define (cars ls) > ((inst map A (Listof A)) car (filter (λ (x) (not (empty? x))) ls))) > > > (cars (list (list 1 2 3 4) (list 6 2 3 4))) > - : (Listof Positive-Byte) > '(1 6) > > On Wed, Apr 4, 2012 at 4:17 PM, Eric Tanter <etan...@dcc.uchile.cl> wrote: > Hi, > > Is there a way to get this to typecheck? > > (: cars : (All (A) (Listof (Listof A)) -> (Listof A))) > (define (cars ls) > (map car (filter cons? ls))) > > By looking at the error, it seems the problem is that it is impossible to map > car on a list of lists: > > (map car '((1))) > Type Checker: Polymorphic function map could not be applied to arguments... > > > Thanks, > > -- Éric > > ____________________ > Racket Users list: > http://lists.racket-lang.org/users > ____________________ Racket Users list: http://lists.racket-lang.org/users