Hi,
first of all, the search path for )LOAD, )SAVE, and friends is
configurable in the GNU APL preferences file
as LIBREF-0 ... 9.
Shared libraries are installed in an own directory which is usually
/usr/lib/apl or /usr/local/lib/apl.
The exact location is determined by (and can also be changed via)
./configure.
Currently no default values are provided for LIBREF-0 ... 9 and then a
directory scheme similar to IBM APL2
is chosen. However, that scheme is more suitable for (single-user)
Windows than for linux. In a linux environment
we should have some directories whose structure is user related
(following the user/group/all paradigm) and
others that are system related (usr/lib/apl).
I believe that the case where a user did not install is not so important
because normal users (as opposed to
library developers) should install and then everything should be fine.
Those who don't want to install can change
their preferences file accordingly.
I could change the preferences file so that it uses the same prefix as
the shared libs for workspaces shipped with GNU APL.
Workspaces developed out-of-tree can do the same trick but would require
their own ./configure. Right now the workspace
directories exist in the GNU APL package (workspaces, wslib1 ... wslib9)
but are not installed.
/// Jürgen
On 05/15/2014 05:18 PM, Elias Mårtenson wrote:
Actually, I have already mentioned to Jürgen that we need some way of
specifying a default serach path for )LOAD and friends. However, I
have not seen it as particularly important yet since we don't have a
completed package manager yet.
I personally dislike workspaces and I know I'm not alone in the desire
to have plain source files instead of an opaque format. Therefore, I
don't really have any particular drive to make it. But, go right ahead
and make one if you feel that would be useful.
Regards,
Elias
On 15 May 2014 22:30, Blake McBride <blake1...@gmail.com
<mailto:blake1...@gmail.com>> wrote:
Greetings,
I am in the process of writing a proposed README.txt file for the
SQL interface to GNU APL. That package comes with a file named
sql.apl that is a shell script to startup GNU APL with the SQL
shared library and APL routines already loaded.
IMO, that method of loading it has a few problems. It only works
from the distribution directory unless the user knows (without
understanding the pieces) what paths need to be changed - which is
undocumented. It is further complicated by the need for the
startup path of APL and its relation to the workspaces directory
used by APL. All this is way too much for a newbie.
The second problem is that that script pre-loads needed APL
functions. Again, when a newbie loads their own workspace, they
will lose the APL routines.
My suggestion, without necessarily removing sql.apl, is to have
that package include an actual workspace that can be loaded. That
workspace would be a copy of sql.apl except that:
1. sql∆∆load_library world be renamed to SQL∆LoadLibrary to be
consistent with the other functions in that workspace.
2. SQL∆LoadLibrary will take an argument specifying the full path
of lib_sql.so rather than having it hard-coded.
Along with some documentation, I think this will make the SQL
library a lot easier to use for newbies.
Thanks.
Blake