The AutoLISP Standard Library

Effort for a standarization for an AutoLISP Programmers Library

This is no lisp library for AutoCAD users, there are no AutoCAD programs included at all!

The Standard AutoLISP Library is an exhaustive AutoLISP programmers library, not comparable to similar but not-exhausting approaches, as doslib or ELF or similar free or commercial code libraries. Better than doslib or ELF it is free for commercial use and comes with full sources.
See the new AcadWiki entry where can fix things and leave notes. (This is currently populated) Mails to me regarding the STDLIB will be published in the mail archive. I assume your permission without further asking.

Directory layout:

Problems downloading?

You may also try this ftp url

Loading STDLIB

1) You may load the whole as project (STDALL.LSP or STDLIB.FAS or STDLIB.BI4, ...) or
2) load STDLIB.LSP and the system loads all single modules (exemplary) or
3) load just STDINIT.LSP and then with (std-require) just the modules you need.

The project does not include BINIO.FAS and the other extensions so far. Also have look at the sample init.lsp loader and a sample initrts.lsp VLISP RTS loader which should be customized for your system.

Latest fixes and changes

The LSP sources change weekly. I upload them to the latest dir to let others also fix some bugs and provide implementation suggestions. The released versions prior 0.5 will probably contain some bugs. Regular updates are favoured over stability in this phase. So if you experience bugs (even in load-time!) please try to fix it and send it back or at least report the bug. I put all immediate fixes into the latest directory, even if they only partially solve a problem...

I try to use all of them in all my new projects and to rewrite most the old stuff to be able to detect any bugs as well.

When finished?

I plan to bring out the release candidate 0.5 this year. See Todo what is missing. Basically it is ready and stable. The docs are considered stable, the user input functions might be changed later. See the latest Questionnaire.

STDINPUT raises some design and philosophical questions:
Do it "just" or do it "good" or do it "customizable" but less understandable? Or completely left to the user at all, just reserve the names and document it? So far I think of removing the table name getters and the ssget wrapper. std-ssget could be provided if it will allow initget keywords, but this will need an external function and I don't think it is portable enough.

Error handling, the next major issue, is now quite production stable. It is still quite verbose on version < 0.5.
I still generate some warnings on possible conflicts, such as invalid nested pairs of std-var-init/restore, VLIDE debugging abortions with [Ctrl-R], error inside *error* user functions or not safe-enough restore functions.
Transparent nesting (lisp inside lisp at user input) with :TRANSPARENT is not functional yet.

Special AutoLISP specific versions

There are be seperate VLISP/VILL/ALISP/ACOMP/SMALL and Vill 2.0-STANDALONE versions in source code, in the sys/%version subdirs, from v0.3015 on. (see latest/*.zip for the current versions) These versions are generated automatically from the main sources which are called DYNAMIC. The postprocessor is in utils/ and needs perl. Beware! These versions cannot be tested that thoroughly as the DYNAMIC version.

The old contains Binary File IO support for Vital Lisp and Visual Lisp (for all versions), and some other file functions. The new ARX/ADS versions superceded that.

speech.html contains my very old Camp ADGE 97 speech about this project. HTML Help Update 1.2 to enable your win32 system to read compressed HTML Help (*.chm). This also came with IE4.

Reini Urban, created: March 30, 1998, last updated: July 11, 2000