Raymond Toy <toy.raymond at gmail.com> writes:
> Aleksej Saushev wrote:
>> Raymond Toy <raymond.toy at ericsson.com> writes:
>>
>>> Aleksej Saushev wrote:
>>>
>>>> Raymond Toy <toy.raymond at gmail.com> writes:
>>>>
>>>>> However, there is no guarantee that different systems will always have
>>>>> different filenames, so they'll overwrite each other. Also,
>>>>> *maxima-tempdir* defaults to the user's home directory, so fasls from
>>>>> maxima subsystems will clutter the users home directory.
>>>>>
>>>> Maybe it is better to default to /tmp or ${TMPDIR}?
>>>>
>>> Do you mean *maxima-tempdir* should default to /tmp? I assume there's a
>>> good reason for making it the home directory. Perhaps to support windows?
>>>
>>> Or do you mean put fasls into /tmp/binary-<lisp>? I don't think that's
>>> a good idea. We still have the problem with non-unique names, and I
>>> certainly don't want to be loading up someone else's fasls.
>>>
>>> We could do /tmp/<user>/<stuff>, but I think I would want my fasls to
>>> survive a reboot.
>>
>> No, I mean that _temp_-dir should be temporary (in accordance to POLA),
>>
> POLA?
http://en.wikipedia.org/wiki/Principle_of_least_astonishment
Here "tempdir" is expected to be temporary one, which is /tmp, /var/tmp
or wherever ${TMPDIR} points to. User home directory is the less expected
value for it, contrary to temporary directory it is expected to persist
and enter backup system.
>>>> Specifically, note the first rule for .OBJDIR
>>>>
>>> I suppose we could do that. I don't want to make it overly complicated.
>>
>> That wasn't meant as instruction, it is information about "prior art."
>>
>> I'm not sure about precise usage pattern for generated files, but if
>> they are meant completely intermediate without own value, quite like
>> object files, you may follow this way.
>>
> Unlike .o files from C, fasl files are important in Lisp.
To me it looks the same way: the only need for object files is time saving,
you can easily skip that step (e.g. Borland "Turbo" compilers did that).
I don't see how "fasl" files are more important.
After more thought I think that you're really looking for "MAKEOBJDIRPREFIX",
this does solve what you want: when set - user may set - "fasl" files are put
into respective directory and searched there, when unset you use default value,
which is "~/.maxima/fasl/" for user, and some another directory like
/var/lib/maxima/fasl/ for root.
--
HE CE3OH...