Ha, Thanks. I'll try. Jos > -----Original Message----- > From: Hari Prashanth [mailto:[email protected]] > Sent: 26 August 2010 22:18 > To: Jos Koot > Cc: PLT-Scheme Mailing List > Subject: Re: [racket] problem with map example in docs of typed/racket > > 1. You need to explicitly instantiate the list function like this. > > (my-map (inst list (U Integer Symbol)) '(1 2 3) '(a b c)) > > 2. If you take a closer look at the type error you will > figure out why it is. > > ----- Original Message ----- > From: "Jos Koot" <[email protected]> > To: "Hari Prashanth" <[email protected]> > Cc: "PLT-Scheme Mailing List" <[email protected]> > Sent: Thursday, August 26, 2010 3:54:46 PM GMT -05:00 > US/Canada Eastern > Subject: RE: [racket] problem with map example in docs of typed/racket > > Two things worry me: > > In your version, > (my-map list '(1 2 3) '(a b c)) > results in an exception. > > 2: > Replacing the internal calls to map by calls to my-map does > not pass check-syntax. > > It may be my ignorance, though. I just started looking into TR. > > Jos > > > -----Original Message----- > > From: Hari Prashanth [mailto:[email protected]] > > Sent: 26 August 2010 20:17 > > To: Jos Koot > > Cc: PLT-Scheme Mailing List > > Subject: Re: [racket] problem with map example in docs of > typed/racket > > > > I think the example should be changed to > > > > (: my-map > > (All (C A B ...) > > ((A B ... B -> C) (Listof A) (Listof B) ... B -> > (Listof C)))) > > (define (my-map f as . bss) > > (if (or (null? as) (ormap null? bss)) > > null > > (cons (apply f (car as) (map car bss)) > > (apply my-map f (cdr as) (map cdr bss))))) > > > > > > Hari > > > > ----- Original Message ----- > > From: "Jos Koot" <[email protected]> > > To: "PLT-Scheme Mailing List" <[email protected]> > > Sent: Thursday, August 26, 2010 12:51:58 PM GMT -05:00 US/Canada > > Eastern > > Subject: [racket] problem with map example in docs of typed/racket > > > > > > > > See below, > > Jos > > > > In definitions window > > > > #lang typed/racket > > (: map > > (All (C A B ...) > > ((A B ... B -> C) (Listof A) (Listof B) ... B > > -> > > (Listof C)))) > > (define (map f as . bss) > > (if (or (null? as) > > (ormap null? bss)) > > null > > (cons (apply f (car as) (map car bss)) ; These to lines > (apply map f > > (cdr as) (map cdr bss))))) ; are highlighted > > > > Run, then in interactions window: > > > > > > Welcome to DrRacket, version > > > 5.0.1.3--2010-08-19(e55f0cade1d47b2edbc65e7dd61ddce2041814af/a) [3m]. > > Language: typed/racket. > > . Type Checker: Polymorphic function map could not be applied to > > arguments: > > Domain: (A B ... B -> C) (Listof A) (Listof B) ... B > > Arguments: (All (a b) (case-lambda ((Pairof a b) -> a) > ((Listof a) -> > > a))) (List (Listof B) ... B) > > in: (map car bss) > > . Type Checker: Bad arguments to function in apply: > > Domain: A B ... B > > Arguments: A Nothing * > > in: (apply f (car as) (map car bss)) > > . Type Checker: Polymorphic function map could not be applied to > > arguments: > > Domain: (A B ... B -> C) (Listof A) (Listof B) ... B > > Arguments: (All (a b) (case-lambda ((Pairof a b) -> b) > ((Listof a) -> > > (Listof a)))) (List (Listof B) ... B) > > in: (map cdr bss) > > . Type Checker: Bad arguments to polymorphic function in apply: > > Domain: (A B ... B -> C) (Listof A) (Listof B) ... B > > Arguments: (A B ... B -> C) (Listof A) Nothing * > > in: (apply map f (cdr as) (map cdr bss)) . Type Checker: > > Summary: 4 errors encountered in: > > (map car bss) > > (apply f (car as) (map car bss)) > > (map cdr bss) > > (apply map f (cdr as) (map cdr bss)) > > > > > > > > > > > > > > > _________________________________________________ > > For list-related administrative tasks: > > http://lists.racket-lang.org/listinfo/users > >
_________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users

