🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sw.components
Article #190

Re: List ADT example

#190
From: William Thomas Wolfe, 2847
Date: Thu, 28 Sep 1989 19:12
44 lines
2746 bytes
From scc@cl.cam.ac.uk (Stephen Crawley):
> if you insist that I use a different generic list ADT 
> (say POINTER_LIST), please explain how it does storage management 
> without pushing the tricky part (in particular the decision about when
> reference counts should be incremented or decremented) back to application
> code.  

    This is the price you pay for wanting to store references instead 
    of objects.  An object can only be in one place at a time.

> But my point is that [auto-destruct] doesn't exist NOW.  Given that it
> is being CONSIDERED for Ada 9X, it is a safe bet that it won't be 
> available in production Ada systems for at least 3-5 years.  What
> do we do to till then?  

    Ada is the result of a language ENGINEERING process.  There was
    a deliberate decision that the definition of the language would
    be held stable for ten years at a time.  This permits certain
    economic assumptions to be made, which was judged to be more
    important than satisfying those who think that new versions of
    a language should be generated every six months.  This is a
    PRODUCTION language, not a RESEARCH language.  It offers a lot
    of advantages (portability, compiler validation, infrastructure)
    not present with other languages, in addition to a very high level
    of support for good software engineering practices.  

    If you really need auto-destruct right away, use a preprocessor.
    This same technique is already being used for inheritance and
    dynamic binding.  And while you're at it, here's an idea which
    was described by Paul Hilfinger (a member of the Ada design team)
    in his ACM Distinguished Dissertation: literal recognition should
    also be specifiable such that a compiler can be made to recognize
    the literals of any type for which a literal representation 
    recognition procedure has been defined during the compilation
    process.  This is another idea which did not emerge until the
    Ada design had already been frozen.

    We are nearing the end of the ten-year period of definitional
    stability, and obviously this is when the number of new ideas
    which have not yet been incorporated is at its largest.  
    

    Bill Wolfe, wtwolfe@hubcap.clemson.edu
 
Technical Details
Message-ID: <6624@hubcap.clemson.edu>
Path: arc1-ca.pugleaf.net!utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!iuvax!cica!gatech!hubcap!billwolf%hazel.cs.clemson.edu
References: <917@scaup.cl.cam.ac.uk>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!iuvax!cica!gatech!hubcap!billwolf%hazel.cs.clemson.edu
From: billwolf%hazel.cs.clemson.edu@hubcap.clemson.edu (William Thomas Wolfe, 2847 )
Newsgroups: comp.sw.components
Subject: Re: List ADT example
Message-ID: <6624@hubcap.clemson.edu>
Date: 28 Sep 89 19:12:33 GMT
References: <917@scaup.cl.cam.ac.uk>
Reply-To: billwolf%hazel.cs.clemson.edu@hubcap.clemson.edu
Lines: 44