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

Reply via email to