[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Managing large LISP code

   Is there any standard technique for managing large amounts
of Lisp code?   For example, even though people are taught
C or Pascal or FORTRAN in colleges and universities, it is
usually at the level that only one file is needed, and maybe
less than 1000 lines of code.   In that case, there is no
real need for file management or any special style that
has to be maintained while writing code.   However, once
the code gets to be very large, people start using makefiles
and standard ways of naming functions and variables arise.
This allows people to maintain multiple files in multiple
directories, and modify large amounts of code without
recompiling everything.   Basically, these are techniques
that one learns in software engineering (which I have
never taken in a class, nor am I overly familiar with
the techniques involved).

    Anyway, since I am not at that level of programming,
but maybe at soon, I am wondering if there are some Lisp
gurus out there who can point out what special techniques
there are in Lisp to handle large files in terms of
organization, tools, and techniques.   You can often
get a book that talks about the rudiments of programming
in a language.   Then, sometimes you get "tricks of
the trade" books (such as Norvig's book or the new book
"On Lisp") which tell you ways of writing standard size
programs (individual, and small) like the experts, but
you rarely get a book on how to maintain larger pieces
of code, even in a popular language like C, where people
tend to learn this stuff at companies that do a lot of
software and teach this either directly or by picking
it up from more experienced programmers.

    So, if anyone has any ideas on how to maintain
large Lisp programs, please let me know.  I am cross-posting
this to the MCL Lisp group as I will probably be working
with MCL and therefore, there may be specific tools in
there that make this kind of task easier.   However,
general information would also help.

    Thanks in advance.

Charles Lin