On Sun, Apr 29, 2012 at 6:47 PM, Ryan Culpepper <[email protected]> wrote: > On 04/29/2012 04:33 PM, Matthias Felleisen wrote: >> >> >> On Apr 29, 2012, at 6:29 PM, Asumu Takikawa wrote: >> >>> On 2012-04-29 12:43:48 -0400, Matthias Felleisen wrote: >>>> >>>> What you're really saying is that sequence-map uses the wrong kind of >>>> type. Specifically, it should be polymorphic in the sequence constructor >>>> instead of mapping everything to the top of the class hierarchy (sequence). >>> >>> >>> I don't think this is just a type issue. The sequence that is returned >>> by `sequence-map` is lazy, even if the original sequence was not. That's >>> why you can't get the original type. >>> >>> Cheers, >>> Asumu >> >> >> >> Why is it lazy? >> >> Can we add a strict one that is polymorphic (I apologize to the >> defenders of proper type terminology here for the applying this word >> to a dynamic aspect of Racket programs) in the sequence type-tag? > > > Another problem is that not all sequence types are polymorphic. For example, > strings are sequences, but strings can contain only characters. So what > would > > (sequence-map char->integer "abc") > > return? Custom sequence types can add arbitrary additional constraints.
I believe that the Scala folks have handled this too. I really recommend looking a what they've done. -- sam th [email protected] ____________________ Racket Users list: http://lists.racket-lang.org/users

