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

Re: [Scheme-reports] Pattern matching and list comprehensions



On Wed, 2014-03-19 at 10:06 +0400, Denis Trapeznikoff wrote:

> 1) their names should start in the same distinguishing character;
> 2) and they should be short, and, probably, operator-like.
> `$' is not popular in the Report, so it was chosen to not clash with
> standard procedures.

Your use of $ runs up against a common tradition in a few Schemes of
using $ as a prefix for functions attached to foreign code. I am not
sure how ubiquitous this tradition is, but at least some traditions rely
heavily on it. 

> Once again: it was all for brevity.

Brevity is nice, but as others have mentioned, brevity needs to be
understood relative to the rest of the code. APL's use of symbols for
notation allows for very brief code, and so the normal APL program
establishes a relative brevity for new names. Scheme also has a brevity
"standard", but it differs from APL's. A short identifier in Scheme
breaks the overall information density of the code and doesn't help,
especially since there is already a traditional name for this in the
Scheme community. 

As an aside, unlike many languages, Scheme's set of de facto standard
libraries lies strewn all over the place. It will help to seek out some
of these other libraries to see how different groups work with their
libraries, and to avoid duplicating work, if you wish to provide a
publicly attractive library. 

Finally, beware turning Scheme into another language. :-) Scheme let's
you do this, but there are times and places to do this, and times and
places where it doesn't help much. 

-- 
Aaron W. Hsu | arcfide@x | http://www.sacrideo.us
Please support my work: https://www.gittip.com/arcfide/

לֵ֤ב חֲכָמִים֙ בְּבֵ֣ית אֵ֔בֶל וְלֵ֥ב כְּסִילִ֖ים בְּבֵ֥ית שִׂמְחָֽה׃

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
Scheme-reports mailing list
Scheme-reports@x
http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports