It seems to me sometimes we try to achieve almost perfection at the outset . but what is already there is sufficient , functional , useful but not mature. Javascript serves as a good example from humble beginnings its becoming quite serviceable now, we have some "dont do this" habits , decent libs like jquery , refined language specs and decent compilers.
- For the same type name in different libs , this is an issue but for static compilation a parser can surely rename types and their cals and Bitc main use will be static compilation. For dynamic compilation you also have the "Dll hell or automake/.configure hell " for what version of lib you are using and any modern system should surely have versioning and not crappy and expensive to maintain hand crafted make scripts? So to me the basic band aid until a better system can be done is sufficient for the chosen roll. And like Javascript , Haskell programmers have developed some habits here. - Regarding The TypeClasses vs Inheritance I agree with Sandro about trying to fit in methods on records ( i think) ... Also when C++ first came out everyone went wow and did all this multiple inheritance , we then moved to the habit's of only using single inheritance ( and putting anyone who had a bug from implementing multiple inheritance on the altar of ridicule) . Now inheritance is being mostly replaced by interfaces and IOC containers for the improved testability . I know you have to support existing libs but you don't have to support virtual methods at the highest performance , so there are practical options to replace the virtual with a lookup table/capsules but only for the virtual call . As you state this is only in "some" cases.. The highest performance code rarely uses virtual , and im not sure if my thinking is the same but when im thinking virtual calls i don't care about performance , my goal is maintenance and re-usability when i write fast code its only in key areas and static / mutable code. . While like my methods on my records ( as im an old C dev) but can live without them . BTW any one seen any performance figures of Habit ? Regards, Ben
_______________________________________________ bitc-dev mailing list [email protected] http://www.coyotos.org/mailman/listinfo/bitc-dev
