OK so I've been quietly following this thread and i have a few observations / questions.
First, I use - I guess - what you guys are calling a STDlib: I have "common functions" wrapped in a separate .fas file that gets loaded when a drawing file is opened / created. Some of the things I don't like are when I want to share a specific routine - like an ODCL routine: I have to painstakingly remember where all the lib subs are and try to remember to include them in the shared routine. This is a mess. However, this is offset by the ease of managing these subs in one place!
I don't know if any one here played around with Chad's "SharpLISP" thing, but one of the aspects I found interesting (and correct me, C++ guys, if I'm wrong) was the way in which ARX applications used "Include files". These were files with standard functions defined - .h files I think they were. What I liked is that you still have a central place for common functions, but they got "included" in the separate compiled applications.
So I thought about adopting a similar approach to AutoLISP. Instead of having my common library as a standalone fas file I would "include" the functions I needed for individual routines when I made up my fas projects. Now I know that not being separate namespace, as additional fas files are loaded, the previous defuns will be overwritten: but If they come from the same included file it doesn't matter - right?
So the benefit would that I still have common / shared routines defined in a single location, but compiled routines would be stand-alone. Once Opendcl 4 is released I'm going to restructuring all my routines to take advantage of some of Owens enhancements. I thinking I may incorporate an "include" file type system as well.
So a typical .prj file might look something like: (note the :OWN-LIST atrribute)
;;; VLisp project file [V2.0] jb06 saved to:[S:/jbTools Application/jbTools 2007 v1.2/06 - Detail Manager] at:[7/17/07]
(VLISP-PROJECT-LIST
:NAME
jb06
:OWN-LIST
("S:/jbTools Application/jbTools 2007 v1.2/00 - Common/jbCommonFunctions"
"jb06"
"jb06-00")
:FAS-DIRECTORY
"S:/jbTools2007"
:TMP-DIRECTORY
"\\\\Server\\Data\\Support\\jbTools Application\\jbTools 2007 v1.2\\06 - Detail Manager\\temp"
:PROJECT-KEYS
(:BUILD (:standard) :MERGED T :SAFE-MODE T :MSGLEVEL 1)
:CONTEXT-ID
:AUTOLISP)
;;; EOF