guile-user
[Top][All Lists]
Advanced

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

Re: Use core or SRFIs?


From: Zelphir Kaltstahl
Subject: Re: Use core or SRFIs?
Date: Thu, 24 Oct 2019 21:48:32 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0

Thanks for your input!

This also reads reasonable.

On 10/24/19 7:01 PM, Taylan Kammer wrote:
> On 24.10.2019 17:55, Zelphir Kaltstahl wrote:
>> Hello Guile Users!
>>
>> I have a question regarding usage of SRFIs in Guile code.
>>
>> Sometimes there are core functions, which are also available from an
>> SRFI implementation. One example I am currently dealing with are bitwise
>> operations for integer numbers. There is SRFI 60 and there are the core
>> functions like logand, logior and so on.
>>
>> Usually I tend to think, that using the SRFI implementation in such
>> situation is better, as it is an implementation of a common interface,
>> which other Schemes might also have implemented. Using that makes code
>> more portable to other Schemes. However, I want to be sure, that this is
>> a good way of thinking about it. Are there ever arguments against using
>> an SRFI implementation, when an SRFI implementation provides what I need?
>>
>> Another example are structs. I usually use SRFI 9 to make some structs,
>> instead of the core record or struct type.
>>
>> What do you think?
> My decision-tree on this question would go like this:
>
> Do I *really* care about my code being portable?
> |
> -> Yes -> Use the SRFI
> |
> -> No
>    |
>    Is the Guile API an old and crusty one that may be deprecated?
>    |
>    -> Yes -> Use the SRFI
>    |
>    -> No
>       |
>       Is the Guile API noticeably better than the SRFI?
>       |
>       -> Yes -> Use the Guile API
>       |
>       -> No -> Use the SRFI
>
> The criteria for the API/implementation being "better" might include,
> depending on the situation and your subjective tastes:
>
> - simplicity
> - feature-richness
> - performance
>
> I would default to using the SRFI if the Guile-specific API isn't
> noticeably better, because maybe one day you or someone else will try to
> make your code portable.  I don't know of an argument for using a
> Guile-specific API when there's an SRFI that does the same, is as good,
> and is supported by Guile.
>
>> Best regards,
>>
>> Zelphir
>>
> Kind regards,
>
> - Taylan
>
>
> P.S. for SRFI enthusiasts: I've written a ton of them in R7RS Scheme,
> many of which Guile might support:
>
>     https://github.com/TaylanUB/scheme-srfis/
>



reply via email to

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