Hello!

Mark H Weaver <[email protected]> writes:

>>> +SCM_API void scm_exact_integer_sqrt (SCM k, SCM *s, SCM *r);
>>
>> Shouldn’t it be SCM_INTERNAL?  (If yes, then the doc should use @deffn
>> instead of @deftypefn.)
>
> Why do you think the C interface should be kept internal?  Most of the
> core arithmetic procedures provide public C interfaces.  Why should
> exact-integer-sqrt be treated differently?

Because:

  1. I think we shouldn’t augment the C API unless strictly necessary,
     because the idea is to write Scheme, not C, and because of the
     maintenance cost.

     Here I don’t think it buys us much to be able to do this from C.

  2. This particular function is “unusual” in that it returns ‘void’ and
     takes pointers to SCM.

WDYT?

Thanks,
Ludo’.

Reply via email to