Newsgroups: comp.lang.lisp,comp.lang.scheme
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!news2.near.net!news.mathworks.com!hookup!olivea!charnel.ecst.csuchico.edu!csusac!csus.edu!netcom.com!hbaker
From: hbaker@netcom.com (Henry G. Baker)
Subject: Lisp papers available for browsing in WWW format
Message-ID: <hbakerD1x0w7.CA4@netcom.com>
Organization: nil
Date: Thu, 5 Jan 1995 04:38:30 GMT
Lines: 273
Xref: glinda.oz.cs.cmu.edu comp.lang.lisp:16269 comp.lang.scheme:11710

Below are listed some papers relevant to Lisp/Scheme programming and
implementation which are now available for browsing on the World Wide
Web in hypertext ('html') format.

Henry Baker
Read (192.100.81.1) ftp.netcom.com:/pub/hb/hbaker/README for ftp-able papers.
WWW archive: ftp://ftp.netcom.com/pub/hb/hbaker/home.html
************* Note change of address ^^^        ^^^^
(It _is_ accessible, but Netcom is loaded; keep trying.)

---

<a href="ftp://ftp.netcom.com/pub/hb/Use1Var.html">
Use1Var.html (WWW hypertext)</a>

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

<a href="ftp://ftp.netcom.com/pub/hb/LRefCounts.html">
LRefCounts.html (WWW hypertext)</a>

"Minimizing Reference Count Updating with Deferred and Anchored
Pointers for Functional Data Structures".  ACM <cite>Sigplan Notices
29,</cite> 9 (September 1994), 38-43.  Safe mechanisms for reducing
reference count updating overhead.<p>

<a href="ftp://ftp.netcom.com/pub/hb/ForthStack.html">
ForthStack.html (WWW hypertext)</a>

"Linear Logic and Permutation Stacks--The Forth Shall Be First".  ACM
<cite>Computer Architecture News 22,</cite> 1 (March 1994), 34-43.
Linear objects and stack architectures (of a particular type) are an
excellent match.  Compiling Lisp w/closures into Postscript; the Y
combinator in Postscript!  Includes a rather complete bibliography of
stack architectures.<p>

<a href="ftp://ftp.netcom.com/pub/hb/LQsort.html">
LQsort.html (WWW hypertext)</a>

"A 'Linear Logic' Quicksort".  ACM <cite>Sigplan Notices 29,</cite> 2
(February 1994), 13-18. Linear objects can be used to program
'in-place' Quicksorts functionally and efficiently.<p>

<a href="ftp://ftp.netcom.com/pub/hb/LBoyer.html">
LBoyer.html (WWW hypertext)</a>

"The Boyer Benchmark Meets Linear Logic".  ACM <cite>Lisp Pointers
VI,</cite> 4 (October/December 1993), 3-10. 'Apples-to-apples' tests
of reference counting versus tracing garbage collection for the Lisp
'Boyer benchmark'.<p>

<a href="ftp://ftp.netcom.com/pub/hb/LFrpoly.html">
LFrpoly.html (WWW hypertext)</a>

"Sparse Polynomials and Linear Logic".  ACM <cite>Sigsam Bulletin
27,</cite> 4 (December 1993), 10-14. How to do sparse polynomial
multiplication (the Lisp FRPOLY benchmark) functionally and
efficiently using linear objects.<p>

<a href="ftp://ftp.netcom.com/pub/hb/Gaussian.html">
Gaussian.html (WWW hypertext)</a>

"Complex Gaussian Integers for 'Gaussian Graphics'".  ACM
<cite>Sigplan Notices 28,</cite>11 (November 1993), 22-27.  
Common Lisp code for Gaussian integer operations.<p>

<a href="ftp://ftp.netcom.com/pub/hb/ObjectIdentity.html">
ObjectIdentity.html (WWW hypertext)</a>

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

<a href="ftp://ftp.netcom.com/pub/hb/Encode.html">
Encode.html (WWW hypertext)</a>

"Strategies for the Lossless Encoding of Strings as Ada Identifiers".
ACM <cite>Ada Letters XIII,</cite> 5 (Sep/Oct 1993), 43-47.
Interesting ways to translate Lisp identifiers into Ada without losing
readability or distinguishability.<p>

<a href="ftp://ftp.netcom.com/pub/hb/Iterator.html">
Iterator.html (WWW hypertext)</a>

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

<a href="ftp://ftp.netcom.com/pub/hb/YoungGen.html">
YoungGen.html (WWW hypertext)</a>

"'Infant Mortality' and Generational Garbage Collection".  ACM
<cite>Sigplan Notices 28,</cite> 4 (April 1993), 55-57.  The
intuitions behind 'generational garbage collectors' are sometimes not
well thought out.<p>

<a href="ftp://ftp.netcom.com/pub/hb/Inlines.html">
Inlines.html (WWW hypertext)</a>

"Inlining Semantics for Subroutines which are Recursive".  ACM
<cite>Sigplan Notices 27,</cite> 12 (December 1992), 39-46. A
semantics for subroutine 'inlining' which handles recursive
subroutines and 'unrolls' tail-recursive loops.<p>

<a href="ftp://ftp.netcom.com/pub/hb/MetaCircular.html">
MetaCircular.html (WWW hypertext)</a>

"Metacircular Semantics for Common Lisp Special Forms".  ACM
<cite>Lisp Pointers V,</cite> 4 (Oct-Dec 1992), 11-20.  Expressing
various combinations of Common Lisp 'special forms' in terms of one
another.<p>

<a href="ftp://ftp.netcom.com/pub/hb/BoyerB.html">
BoyerB.html (WWW hypertext)</a>

"The Boyer Benchmark at Warp Speed".  ACM <cite>Lisp Pointers
V,</cite> 3 (Jul-Sep 1992), 13-14.  Using 'memoization' to speed up
the Boyer benchmark.<p>

<a href="ftp://ftp.netcom.com/pub/hb/TriangB.html">
TriangB.html (WWW hypertext)</a>

"The Gabriel 'Triangle' Benchmark at Warp Speed".  ACM <cite>Lisp
Pointers V,</cite> 3 (Jul-Sep 1992), 15-17.  Using bit vectors and
memoization to speed up the Triangle benchmark.<p>

<a href="ftp://ftp.netcom.com/pub/hb/PuzzleB.html">
PuzzleB.html (WWW hypertext)</a>

"Speeding up the 'Puzzle' Benchmark a 'Bit'".  ACM <cite>Lisp Pointers
V,</cite> 3 (Jul-Sep 1992), 18-21.  Using bit vectors to speed up the
Puzzle benchmark.<p>

<a href="ftp://ftp.netcom.com/pub/hb/TakB.html">
TakB.html (WWW hypertext)</a>

"A Tachy 'TAK'".  ACM <cite>Lisp Pointers V,</cite> 3 (Jul-Sep 1992),
22-23.  Using memoization to speed up the TAK benchmark.<p>

<a href="ftp://ftp.netcom.com/pub/hb/Subtypep.html">
Subtypep.html (WWW hypertext)</a>

"A Decision Procedure for Common Lisp's SUBTYPEP Predicate".  <cite>J.
Lisp and Symbolic Computation 5</cite>, 3 (Sept. 1992), 157-190.  How
to eliminate the kludgery when implementing Common Lisp's 'subtypep'
function, by using bit vectors.<p>

<a href="ftp://ftp.netcom.com/pub/hb/LinearLisp.html">
LinearLisp.html (WWW hypertext)</a>

"Lively Linear Lisp--'Look Ma, No Garbage!'".  ACM <cite>Sigplan
Notices 27,</cite> 8 (August 1992),89-98.  How to implement a 'linear'
language efficiently through 'behind the scenes' hash consing.<p>

<a href="ftp://ftp.netcom.com/pub/hb/BuriedStale.html">
BuriedStale.html (WWW hypertext)</a>

"The Buried Binding and Dead Binding Problems of Lisp 1.5".  ACM
<cite>Lisp Pointers V,</cite> 2 (Apr-Jun 1992), 11-19. An early (1976)
discussion of the space requirements of function closures.<p>

<a href="ftp://ftp.netcom.com/pub/hb/CritLisp.html">
CritLisp.html (WWW hypertext)</a>

"Critique of DIN Kernel Lisp Definition".  <cite>Lisp and Symbolic
Compututation 4,</cite> 4 (March 1992), 371-398.  (Although nominally
about a European proposal for a standard Lisp, this paper talks about
Lisp capabilities in general.)<p>

<a href="ftp://ftp.netcom.com/pub/hb/NoMotionGC.html">
NoMotionGC.html (WWW hypertext)</a>

"The Treadmill: Real-Time Garbage Collection without Motion Sickness".
ACM <cite>Sigplan Notices 27,</cite> 3 (March 1992), 66-70. How to do
real-time garbage collection without copying.<p>

<a href="ftp://ftp.netcom.com/pub/hb/LazyAlloc.html">
LazyAlloc.html (WWW hypertext)</a>

"CONS Should not CONS its Arguments".  ACM <cite>Sigplan Notices
27,</cite> 3 (March 1992), 24-34.  How to <em>safely</em> allocate
stuff on the stack.<p>

<a href="ftp://ftp.netcom.com/pub/hb/CacheCGC.html">
CacheCGC.html (WWW hypertext)</a>

"Cache-Conscious Copying Collectors".  OOPSLA'91/GC'91 Workshop on
Garbage Collection.<p>

<a href="ftp://ftp.netcom.com/pub/hb/CLOStrophobia.html">
CLOStrophobia.html (WWW hypertext)</a>

"CLOStrophobia: Its Etiology and Treatment".  ACM <cite>OOPS Messenger
2,</cite> 4 (October 1991), 4-15.  How to make the Common Lisp Object
System <em>safely</em> more efficient.<p>

<a href="ftp://ftp.netcom.com/pub/hb/Prag-Parse.html">
Prag-Parse.html (WWW hypertext)</a>

"Pragmatic Parsing in Common Lisp".  ACM <cite>Lisp Pointers 4,</cite>
2 (Apr-Jun 1991), 3-15.  If you have Common Lisp, you shouldn't need
to hack Unix 'lex' and 'yacc'.<p>

<a href="ftp://ftp.netcom.com/pub/hb/ShallowArrays.html">
ShallowArrays.html (WWW hypertext)</a>

"Shallow Binding Makes Functional Arrays Fast".  ACM <cite>Sigplan
Notices 26,</cite> 8 (1991), 145-147.  Single-threaded functional
arrays have O(1) update using 'shallow binding'.<p>

<a href="ftp://ftp.netcom.com/pub/hb/TreeShadow.html">
TreeShadow.html (WWW hypertext)</a>

"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.<p>

<a href="ftp://ftp.netcom.com/pub/hb/TInference.html">
TInference.html (WWW hypertext)</a>

"The Nimble Type Inferencer for Common Lisp-84".  Unpublished memo,
1990.  Set-based type inference for pre-CLOS Common Lisp.<p>

<a href="ftp://ftp.netcom.com/pub/hb/Bitvectors.html">
Bitvectors.html (WWW hypertext)</a>

"Efficient Implementation of Bit-vector Operations in Common Lisp".
ACM <cite>Lisp Pointers 3,</cite> 2-4 (Apr-Jun 1990), 8-22.  How to
implement bit vector operations efficiently.<p>

<a href="ftp://ftp.netcom.com/pub/hb/OptAlloc.html">
OptAlloc.html (WWW hypertext)</a>

"Optimizing Allocation and Garbage Collection of Spaces in MacLisp".
In Winston and Brown, eds.  <cite>Artificial Intelligence: An MIT
Perspective.</cite> MIT Press, 1979.  How to allocate the sizes of the
various spaces in 'big bag of pages' (BIBOP) garbage collection
systems.<p>

<a href="ftp://ftp.netcom.com/pub/hb/RealTimeGC.html">
RealTimeGC.html (WWW hypertext)</a>

"List Processing in Real Time on a Serial Computer",
<cite>Communications of the ACM 21,</cite> 4 (April 1978), 280-294.
Discusses copying garbage collection, incremental (real-time) garbage
collection, real-time reference counting, etc.<p>

<a href="ftp://ftp.netcom.com/pub/hb/ShallowBinding.html">
ShallowBinding.html (WWW hypertext)</a>

"Shallow Binding in Lisp 1.5", <cite>Communications of the ACM
21,</cite> 7 (July 1978), 565-569.  An elegant 'tree-rerooting' model
for binding environments.  It also works for a variety of other
"environment"-like mechanisms such as functional arrays for O(1)
update and write-ahead/write-behind mechanisms for database recovery.<p>

<a href="ftp://ftp.netcom.com/pub/hb/Futures.html">
Futures.html (WWW hypertext)</a>

"The Incremental Garbage Collection of Processes", with Carl Hewitt,
ACM <cite>Sigplan Notices 12,</cite> 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.<p>

------
