guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] Add SRFI-25 implementation


From: Andreas Rottmann
Subject: Re: [PATCH] Add SRFI-25 implementation
Date: Sat, 14 Nov 2015 16:33:49 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

address@hidden (Ludovic Courtès) writes:

> Mark H Weaver <address@hidden> skribis:
>
>> address@hidden (Ludovic Courtès) writes:
>>
>>> address@hidden (Ludovic Courtès) skribis:
>>>
>>>> Andreas Rottmann <address@hidden> skribis:
>>>>
>>>>> Adds an implementation of SRFI 25 on top of Guile's native arrays. The
>>>>> implementation does not introduce a disjoint type; Guile arrays and
>>>>> SRFI-25 arrays can be used interchangably, though with different, partly
>>>>> conflicting APIs.
>>>>>
>>>>> [...]
>>>>
>>>> If there are no objections, you can push this patch within a day or two
>>>> to ‘stable-2.0’ (or I’ll do it if you happen to be unavailable.)
>>>
>>> Done in aaea5b2 with minor modifications in srfi-modules.texi to make it
>>> more consistent with the rest of the manual.
>>
>> This commit broke the build, because it forgot to add srfi-25.scm.
>>
>> For now, I reverted the commit instead of fixing it, because there are a
>> few other problems with srfi-25.scm which I had told Andreas about over
>> IRC but never posted about.  Sorry about that.  I guess maybe that's why
>> Andreas didn't respond more quickly to your earlier email.
>>
Yep, I didn't come around to address these issues, and assumed they were
communicated and taken into consideration when Ludo stated his intention
to apply my patch.

>> In a couple of places, it has code like this:
>>
>> +     (cond ((array? i)
>> +            (apply array-ref array (array->index-list i)))
>> +           ((vector? i)
>> +            (apply array-ref array (vector->list i)))
>>
>> Since every vector is also considered an array, the second clause of the
>> 'cond' is dead code.
>>
>> Also, it would be good to avoid consing in common cases in 'array-ref'
>> and 'array-set!', by adding special cases for 1 and 2 dimensional array
>> accesses, at least when the indices are given as direct arguments.
>>
>> Finally, the following line should be put somewhere in the module:
>>
>> (cond-expand-provide (current-module) '(srfi-25))
>
> Too much asynchrony here. ;-)  I hope Andreas or you can look into it.
>
I hope I'll have time to look into it tomorrow, and post a patch based
on Ludo's adaptions, addressing the issues raised by Mark; thanks for
cleaning up the docs Ludo, BTW!

Regards, Rotty
-- 
Andreas Rottmann -- <http://rotty.xx.vu/>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]