From: jonathon
Subject: Lisp project directory layout
Date: 
Message-ID: <1114485730.803363.52710@f14g2000cwb.googlegroups.com>
Coming from a C background, the standard 'lib, include, src, doc'
layout is usually the most common.

What are some common layouts for Lisp projects, not necessarily
including docs but grouping everything else, including patches, in an
easy to build/distribute hierarchy?

From: Christopher C. Stacy
Subject: Re: Lisp project directory layout
Date: 
Message-ID: <umzrm9ndm.fsf@news.dtpq.com>
"jonathon" <···········@bigfoot.com> writes:

> Coming from a C background, the standard 'lib, include, src, doc'
> layout is usually the most common.
 
> What are some common layouts for Lisp projects, not necessarily
> including docs but grouping everything else, including patches, in an
> easy to build/distribute hierarchy?

Pretty much the same thing:  src, doc, bin, patches.
Not lib and include; subsystems are subdirs under src.
Top-level dir has README, bootstrap, etc.

Just download some Lisp packages off the net to see what "most people" do.
From: jonathon
Subject: Re: Lisp project directory layout
Date: 
Message-ID: <1114514330.659933.3270@z14g2000cwz.googlegroups.com>
Christopher C. Stacy wrote:
> Pretty much the same thing:  src, doc, bin, patches.
> Not lib and include; subsystems are subdirs under src.
> Top-level dir has README, bootstrap, etc.

I've noticed that Lisp is a lot more flexible or dynamic with patching.
 In C, I would just update the source tree and bump the rev of the
binary or the library.  Why maintain separate when patches when you can
just update the corrected file itself and distribute it?
From: Christopher C. Stacy
Subject: Re: Lisp project directory layout
Date: 
Message-ID: <uhdhtjumn.fsf@news.dtpq.com>
"jonathon" <···········@bigfoot.com> writes:

> Christopher C. Stacy wrote:
> > Pretty much the same thing:  src, doc, bin, patches.
> > Not lib and include; subsystems are subdirs under src.
> > Top-level dir has README, bootstrap, etc.
> 
> I've noticed that Lisp is a lot more flexible or dynamic with patching.
>  In C, I would just update the source tree and bump the rev of the
> binary or the library.  Why maintain separate when patches when you can
> just update the corrected file itself and distribute it?

The "patches" directory contains files loaded at load-time (when you
start the application); these files contain only the functions that
have changed (for this version of the program), rather than wholesale
replacement of entire source files.

It's faster to load a small patch file than to reload the entire 
contents of many entire files in the system.  A patch file might
also contain code that does not appear in the actual (corrected)
master source files.   For example, it can contain instructions
that are executed as the file is being loaded.