Re: Snapshot 2015-06
Raymond Toy <[email protected]> Thu, 11 Jun 2015 08:53:52 -0700
| Newsgroups | gmane.lisp.cmucl.devel |
|---|---|
| Message-ID | <[email protected]> |
>>>>> "Fare" == Far <Far> writes:
Fare> On Thu, Jun 11, 2015 at 2:40 AM, Carl Shapiro <[email protected]> wrote:
>> On Wed, Jun 10, 2015 at 11:09 PM, Faré <[email protected]> wrote:
>>>
>>> Lazy getenv, putenv — and if you want to get all of them, or to pass
>>> all of them, use an equal hash-table with strings as key, not an alist
>>> with keywords as keys.
>>
>> Thanks for the clarification.
>>
>> Is your issue with the search time? The libc getenv and putenv uses a
>> linear search with a linear time compare of strings. It is unlikely to be
>> faster than an a-list search.
>>
Fare> My issue is that ext:*environment-list* is an abstraction inversion.
Fare> Instead of providing a higher-level view on an existing API, it
Fare> reinvents a new low-level data structure that doesn't provide any
Fare> performance advantage (indeed, only slowdown) yet introduces a new
Fare> semantic gap (albeit small) between what was and what is, and only
Fare> gets in the way of a further API improvement.
My assumption is that it exists so that execve or whatever can be
called with a new environment that can be easily manipulated from
lisp.
Fare> But if you declare it the official way to access the environment in
Fare> cmucl, I'll revert to using it.
I will put back unix-getenv into the core. And I'll update the main
tarball to include the unix contrib.
--
Ray
_______________________________________________
cmucl-imp mailing list
[email protected]
http://lists.zs64.net/mailman/listinfo/cmucl-imp