Ada papers available for WWW browsing

A number of papers in hypertext format relevant to Ada programming and/or Ada implementations are now available for browsing on the World Wide Web.

Use1Var.html (WWW hypertext)
"'Use-Once' Variables and Linear Objects--Storage Management, Reflection and Multi-Threading". Submitted to ACM Sigplan Notices, September, 1994. A high-level discussion of 'linear' and 'non-linear' (traditional) names/variables/objects in programming languages.

LRefCounts.html (WWW hypertext)
"Minimizing Reference Count Updating with Deferred and Anchored Pointers for Functional Data Structures". ACM Sigplan Notices 29, 9 (September 1994), 38-43. Safe mechanisms for reducing reference count updating overhead.

ObjectIdentity.html (WWW hypertext)
"Equal Rights for Functional Objects or, The More Things Change, The More They Are the Same". ACM OOPS Messenger 4, 4 (October 1993), 2-27. Programming language types should include the notion of whether an object is mutable or immutable.

LimitedRoots.html (WWW hypertext)
"Safe and Leakproof Resource Management using Ada83 Limited Types". ACM Ada Letters XIII, 5 (Sep/Oct 1993), 32-42. How to do resource management and garbage collection safely 'on top of' Ada, rather than 'underneath' (in the implementation).

Encode.html (WWW hypertext)
"Strategies for the Lossless Encoding of Strings as Ada Identifiers". ACM Ada Letters XIII, 5 (Sep/Oct 1993), 43-47. Interesting ways to translate identifiers from one programming language into another without losing readability or distinguishability.

Iterator.html (WWW hypertext)
"Iterators: Signs of Weakness in Object-Oriented Languages". ACM OOPS Messenger 4, 3 (July 1993), 18-25. If your language requires iterators in order to get anything done, your language's control structures are grossly deficient.

LimitedRobbery.html (WWW hypertext)
"How to Steal from a Limited Private Account--Why Mode IN OUT Parameters for Limited Types Must be Passed by Reference". ACM Ada Letters XIII, 3 (May/June 1993), 91-95. Passing IN OUT parameters of limited type by copy-in, copy-out opens up a major loophole in Ada's type safety, which can be closed only by requiring that such parameters be passed by reference.

Inlines.html (WWW hypertext)
"Inlining Semantics for Subroutines which are Recursive". ACM Sigplan Notices 27, 12 (December 1992), 39-46. A semantics for subroutine 'inlining' which handles recursive subroutines and 'unrolls' tail-recursive loops.

SigAda92Positions.html (WWW hypertext)
"Ada9X Issues for AI Systems". Issues paper for Ada/AI/RT WG Workshop, Summer '92 SigAda Meeting, June 24-25, 1992.

NoMotionGC.html (WWW hypertext)
"The Treadmill: Real-Time Garbage Collection without Motion Sickness". ACM Sigplan Notices 27, 3 (March 1992), 66-70. How to do real-time garbage collection without copying.

LazyAlloc.html (WWW hypertext)
"CONS Should not CONS its Arguments". ACM Sigplan Notices 27, 3 (March 1992), 24-34. How to safely allocate stuff on the stack.

OOAdaLetters.html (WWW hypertext)
"Object-Oriented Programming in Ada83--Genericity Rehabilitated". ACM Ada Letters XI, 9 (Nov/Dec 1991), 116-127. How to do single inheritance OO programming in Ada83 using overloading and generics.

LPprogram.html (WWW hypertext)
"Structured Programming with Limited Private Types in Ada". ACM Ada Letters XI, 5 (Jul/Aug 1991), 79-90. How to program with Ada's 'limited' (assignment-less) types.

TreeShadow.html (WWW hypertext)
"Worlds in Collision: A Mostly Functional Model of Concurrency Control and Recovery". Unpublished, 1990. Shallow binding and concurrency control. Write-ahead and write-behind for database and transaction recovery are simply various versions of shallow binding.

Bitvectors.html (WWW hypertext)
"Efficient Implementation of Bit-vector Operations in Common Lisp". ACM Lisp Pointers 3, 2-4 (Apr-Jun 1990), 8-22. How to implement bit vector operations efficiently.

RealTimeGC.html (WWW hypertext)
"List Processing in Real Time on a Serial Computer", Communications of the ACM 21, 4 (April 1978), 280-294. Discusses copying garbage collection, incremental (real-time) garbage collection, real-time reference counting, etc.

Futures.html (WWW hypertext)
"The Incremental Garbage Collection of Processes", with Carl Hewitt, ACM Sigplan Notices 12, 8 (August 1977), 55-59. An early discussion of the concept of 'futures' in a parallel functional programming language. Naively uses 'reachability' for eliminating garbage processes, which is now known to be insufficient in the presence of shared cells with assignment.