With regards to generics, I don’t think anyone is actively working on them. I was interested in potentially attempting them a while back, but I realized it was probably far too big of a project for me to try and research right now. I think the primary problem of consideration was ensuring sound interop with untyped code, but another point of consideration is the fact that generics aren’t really used all that much in Racket right now, so it’s hard to say precisely what sort of patterns a typed version would need to cover (especially so if the generics system ends up getting extended).
I don’t believe any work has been done on generators, but I can say that I actually have attempted an implementation of streams. They mostly work, but the current problem is the fact that the implementation of stream-cons is a macro, since it needs to be lazy, and its expansion is currently too much for the inference to handle. It might be possible to either improve the inference to typecheck the expansion or reimplement the expansion of stream-cons to be friendlier to the typechecker, but I haven’t pursued either of those routes as of yet. > On May 1, 2015, at 10:08, Benjamin Greenman <[email protected]> wrote: > > This is very exciting. > > But I have a problem right now and want to ask the list: is anyone currently > working on getting the existing racket/generic library to work in #lang > typed/racket? If not, does anyone familiar with the implementation know or > forsee any major difficulty adding bindings / contracts? (The wiki page > <https://github.com/plt/racket/wiki/Typed-Racket-plans> only says "may > require research". > > (On the same issue, how about racket/generator and racket/stream?) -- You received this message because you are subscribed to the Google Groups "Racket Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/AC6F010F-4D00-45BC-B81D-A34B55168239%40gmail.com. For more options, visit https://groups.google.com/d/optout.
