|
|
|
|
|
by eli_gottlieb
5192 days ago
|
|
Well, let me take a deeper look at the material. I've based most of my own language work on multimethod systems like those of Cecil, but there's a few things I immediately see on the page: * Cecil divides its type system from its object-inheritance-overriding system. Huh? * Cecil is dynamically typed with static sprinkles on top. So we have dynamic vtables, and also F-bounded polymorphism. * Methods are referred to as being attached to objects, even though they are multimethods. This appears to imply asymmetric multimethods. Again, huh? What a strange design decision to make! * Cecil offers nothing for dealing with ad-hoc polymorphism (ie: operator overloading). Admittedly, when Cecil was published, type-classes didn't even exist yet. |
|
Method dispatching is done symmetrically on the arguments in Cecil.