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)
- New: Downloadable all-in-one binaries for R14 and A2000.
- What's new?, and what will be new?
The snapshot of the current development.
- The latest fixes (the current development snapshot, see above) are in latest.
- The latest documents are usually the online docs but
better the Winhelp version.
(The http protocol might cause some problems donwloading this so you should better use this ftp
link, instead of the link in the index above)
- The LSP sources are newer than the sources in the help
file, but they are still experimental. Download the latest released
stdlib.zip.
- Compare the dates to your version. I update the releases usually
monthly and the sources in latest daily.
Mails to me regarding the
STDLIB will be published in the mail archive.
I assume your permission without further asking.
Directory layout:
- stdlib root -
This directory contains the last released version in source and
packed format.
- latest -
The latest directory contains the latest not-released versions and fixes.
- old -
The old directory contains outdated packed versions and old docs.
- archive -
The archive directory contains the new stdlib mail archive as stdlib* text files
and a browsable and searchable HTML version.
This version superceded the old wmf based HTML index, because it handles mime attachments
and foreign codepages better, is faster and more reliable. wmf e.g. breaks with >70 messages
per folder.
- old-archive -
The old-archive directory contains the old stdlib mail archive
(same content as the new, but with different filenames),
still here for back references to old links. The change date was 6.Nov 99.
- samples -
The samples directory contains some useful (and not finished) examples
using library functions.
- utils -
The utils directory contains useful scripts I use to compile the library.
I also have a local perl distribition for win32 and some other scripts
somewhere here.
- html -
In html are the online docs produced with Microsofts HTML Help 1.2
The supported java treeviewer applet seems to work now.
I splitted it into plain TOC,
MSIE with the ActiveX plugin and
Java enabled.
- sys -
Special AutoLISP specific versions for:
VLISP/VILL/ALISP/ACOMP/SMALL
and Vill 2.0-STANDALONE versions in source code,
These versions are generated automatically from the main sources which are called DYNAMIC. See below.
Last update: 27.Oct 99
- contrib -
In contrib are contributed functions not yet incoorporated into the stdlib.
I might change some names if necessary, put it into std modules, or just leave it there for
your convenience. But keep sending them, we are needing some more.
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/stdlib-pp.pl and needs perl.
Beware! These versions cannot be tested that thoroughly as the DYNAMIC version.
- Only BI4 requires some postprocessing mandatory (see utils/makebi4)
I successfully compiled v0.3 for acomp r12 international release. Since the old acomp compiler
has better diagnostics than VLisp I found some forgotten local variables and even some bugs VLisp,
myself and Serge haven't found so far.
Have a look at STDLIB.BI4
and stdlib-bi4.out
- VLISP and VILL benefit in the linked, optimized compiler mode from seperate versions.
Compiling standard or not-linked has about the same performance and memory usage as with the
ordinary DYNAMIC one.
- AutoCAD Releases <=R11 have problems with inline comments and some memory restrictions
according to Serge Pashkov. We provide a leightweight library version for earlier
AutoLISP releases, named SMALL, also removing some dependencies to be
able to load less needed basic modules. STDALL.LSP so far doesn't load on low memory.
The old binio.zip 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