Run Time Generic Interfaces

46 views
Skip to first unread message

Bill Clare

unread,
Sep 19, 2016, 4:41:45 PM9/19/16
to SG8 - Concepts

  A previous note discusses how concentration on implementation issues has led to some increases in complexity in C++ from a language user’s perspective.  The attached continues this discussion, in somewhat more detail, on the subject of how a programmer might envisage and use notions of Concepts.  In particular, how this might evolve from compile time extension of types to run time dynamic extension of objects.  The paper attempts to avoid much of the C++ technical terms to attempt clarity of meaning versus precision in terminology.


   I am aware that there is already another note on the topic already on this on the forum, and that it is much more exhaustive than this.  I suspect the notes are similar and complementary in many respects, but, not being a language expert, it is hard to tell.  So, I have tried to outline an approach in more general terms, and have included is a fundamental use case to illustrate use and intent. 


  The concern here is that much of the terminology, which is implementation rather than user oriented, is more than just confusing.  Any discipline needs technical terms.  For instance a phrase such has “type erasure” has a useful and forceful intent for those in on the game.  For others it is absolutely bewildering to just stare at it, and some of this goes back to “static”.  The implications are several.  It keeps the language lawyers busy, but that’s good and to be expected.  Often it spreads complexity into the user interface, for instance with iterators in the STL.  Even the term “concepts” does not say what it means to most users.  The real concern though is that, in its lack of clarity, it impedes real progress.  This may even be part of the problem with the Concepts evolution, which might have proceeded along the lines of an interface specification, only secondarily related to template implementation.  


   Perhaps the main differences, particularly in complexity, are just from a user perspective, versus an implementation perspective of the devil in the details.  But, just maybe, there is much simpler approach.  

Runtime Generic Interfaces 161013.pdf
Reply all
Reply to author
Forward
0 new messages