3 ms·
Hey Eric! > I've previous written about techniques for implementing fast multiple > dispatch using Dylan's type system: > http://www.cs.dartmouth.edu/reports/a
by BruceM 12y ago
Hey Eric!
> I've previous written about techniques for implementing fast multiple
> dispatch using Dylan's type system:
> http://www.cs.dartmouth.edu/reports/abstracts/TR2001-404/ http://www.cs.dartmouth.edu/reports/abstracts/TR2001-404/
We may be coming back to you about this. The dispatch mechanism implemented in Open Dylan is great for 1990s hardware, but less so on today's architectures.
> Limited integer types were ....
One of my next posts (already a good deal written, but a lot to go) is about the "limits of limited types" and looks at how they might be generalized into some more interesting and broadly useful types, namely parametric polymorphism and refinement types. There's some interesting research required to pull that off though.
> - Both type unions and subclass types worked quite well in practice.
Funny ... I forgot to mention subclass types (since they're technically an extension to the language and not part of the core specification).
> Dylan was an exceptionally good language for its time, and I had a ton of fun using it.
I hope that you're on the hackers mailing list still, then. We're going to start some discussions this coming week about the future of Dylan and making some fairly drastic changes to things.
One thing is that we'd like to make it much easier to hack on. The compiler is, as you indicate, fairly complex and it would be great to reduce the build time, add more tests, and in general, make it simpler.
Another is that some parts of Dylan could use an update in keeping with modern research and theory. The type system is an interesting example of this, and that's why I wrote an overview of what we have now. We'd like to increase the knowledge available to the compiler and increase the amount of static checking that can be done. I've already written about adding function types, we want to add parametric polymorphism in a general sense, and there are other things that can still be improved.
There are also just some missing features in the language & implementation like vector math, a solid Unicode definition and implementation. It would be interesting to revisit mutability of some things.
We'll see!