[ Home ]
SBCL Internals

The pages on this CLiki-driven site can be edited by anybody at any time. No warranty of any kind can therefore be made; any implied warranties of merchantability or fitness for a particular purpose are expressly disclaimed
[ Home ] [ Recent Changes ] [ About CLiki ] [ Text Formatting ]

This is an important principle for software development and maintenance.

See http://www.c2.com/cgi/wiki?OnceAndOnlyOnce for more information. As pointed out there, Common Lisp is expressive enough that it leaves few good excuses for putting information in more than one place.

SBCL tries to do better at this than the original CMU CL code did. E.g. we keep the Memory Map constants in one place, not two, various repeated idioms and out-and-out cut-and-pasted code has been factored out into shared functions, and new definitions like *OPTIMIZE-BYTE-COMPILATION* (at least until the byte compiler went away around sbcl-0.7.0) are used liberally to collect common new idioms.

Other possible targets for future duplicate code reduction are

-- Daniel Barlow and Bill Newman


This page is linked from: Bill Newman   Registers   Wishlist  

CLiki pages can be edited by anyone at any time. Imagine a fearsomely comprehensive disclaimer of liability. Now fear, comprehensively