chicken-hackers
[Top][All Lists]
Advanced

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

Re: [Chicken-hackers] [PATCH] warn if binding to keyword


From: John Cowan
Subject: Re: [Chicken-hackers] [PATCH] warn if binding to keyword
Date: Tue, 25 Oct 2011 16:22:06 -0400
User-agent: Mutt/1.5.18 (2008-05-17)

Thomas Bushnell, BSG scripsit:

> Normally we rely on IF to be a special-form too. But Scheme does the
> Right Thing by letting you bind any name you want, and treating all
> names as the same.

Quite so.  The question is, are keywords really identifiers?  In Common
Lisp, where they come from, they are symbols but not identifiers.

> The instinct here comes from the fact that keywords *look *like
> syntax, but really are just self-evaluating symbols, and so suddenly
> people want them to behave like syntax. But even then, note that
> syntax in Scheme is also constructed from identifiers which can be
> rebound if you like.

Keywords are lexically different from identifiers.  Scheme doesn't let
you rebind 12 or #(a b c) or ) either.

> (let ((lambda ...)) ...)
> (let ((foo: ...)) ...)
> (let ((=> ...)) (cond ...))
> 
> should all work.

As Sydney Smith said about the quarreling publicans, we will never agree,
for we are arguing from different premises.

-- 
Let's face it: software is crap. Feature-laden and bloated, written under
tremendous time-pressure, often by incapable coders, using dangerous
languages and inadequate tools, trying to connect to heaps of broken or
obsolete protocols, implemented equally insufficiently, running on
unpredictable hardware -- we are all more than used to brokenness.
                   --Felix Winkelmann



reply via email to

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