On Fri, Dec 18, 2009 at 2:44 AM, parawaiter <parawai...@gmail.com> wrote:

> On Dec 17, 2009, at 20:05 , Keith Wright wrote:
> > Currently, the variables that Scheme programmers know as
> > |<| and |>|, are called in C _less and _gr.
>
> This probably also applies to things like string<? -> string_lt()
> (string_lt_p ?)
>

Yes, the `_less' and `_gr' convention is universal in the Scheme-to-C API
according to the manual


>
> > Propose to rename the C variables so that |<| and |>|
> > are called in C *_lt* and and *_gt*, respectively.
> >
> > I'm not sure whether the asterisks are meant to
> > be part of the name.
>
> I think that is an artifact of a multipart mime font-change.
>

Right, that's done by Gmail. The original was in bold.


>
> >  This seems good to me; what
> > was the programmer thinking that made it seem
> > good to have asymmetric identifers for
> > |<| and |>|?  The names .LT. and .GT. go back
> > to the Fortran of the late fifties.
>
> I don't see how _less and _gr was introduced with any consideration either,
> except just having to have a name as they were implemented.
>
> > Whether it is worth the trouble to change,
> > I don't know.
>
> That's the question, and I'll leave that to you guys. lt, gt, are
> universally known. Even /bin/sh 'test' uses this. And as far as scheme
> implementations go, I've probably found mine (for my kind of C-integrated
> usage) in chibi-scheme, so disregard my opinion as anything but an outsider.
> I'm just saying that I think the original poster has a point and his
> suggestion is what I would expect to find when searching for the
> C-equivalents of the given scheme predicates...
>
>
Perhaps a little statement about my reason to suggest this seeming minor
(maybe not, according to Linas Vepstas) change. There are several Scheme
implementations that provides a Scheme-to-C API, as far as I know, like
Gambit-C, Chicken, PLT Scheme, (so does Bigloo?). I did not look into detail
of their API, solely look through their name conventions (maybe this is not
a good practice, but I don't think there's too much difference between these
APIs, so the name convention does matter in a sense). I cannot say they did
wrong, but not that beautiful really. And I finally came to Guile after
being told by some others that it has the most beautiful API. I surprising
found it was true, except these two names (`_less' and `_gr'), it's far less
beautiful than `_lt' and `_gt', note that we do have `_leq' and `_geq' (I'd
like further suggest change them to `_le' and `_ge') with symmetry. I admit
I am a perfectionist. So this proposal may not worth it. Guile's API is
beautiful, but if the mentioned four names (may affect others) are fixed, it
would be perfect.

Thanks.


-- 
DAI Yi
(代 毅)

Reply via email to