[Date Prev] [Date Next] [Thread Prev] [Thread Next] Date Index Thread Index Search archive:
Date:Mon Jul 18 15:01:11 1995 
Subject:What's clutter in the design of a prog. language? [was: Minor 
From:Scott McKay 
Volume-ID:950719.02 

   Date: Tue, 18 Jul 1995 01:17:27 -0400
   From: s398960@aix1.uottawa.ca (Patricia Wilson)

   I guess that's a difference between a language like Pop-11 and Dylan. 
   Pop-11 evolved slowly  through over 20 years of research. Dylan people 
   are in a big rush to define and freeze the  language. Scott, you want to 
   to make the major modifications quickly; and rather than merely  saying 

I do?

   that you are just postponing minor additionsoewhich would be quite 
   legitimate because  of time constraintsoeyou reject legit ones as 
   clutter. Of course, there are proposals that are just  clutter, but my 

The onus is on you to demonstrate that a proposal is not clutter.  You
haven't done that.  In fact, by dint of its symmetry with 'if', I
think you have succeeded in proving that it is just clutter.

   (admittedly low priority) proposal just combines logically related 
   constructs in a  natural way that (I conjecture) 99% of programmers 
   will use in most of their programs. No new  term is added, the syntax is 
   merely enriched.  Rather than argue about the particular merits of this 
   minor proposal the interesting question that is up for grabs is:

	   How does one disguish between clutter and a good language design 
   proposal? The question applies both to very minor modifications, and 
   major ones too. 

"Clutter" is stuff that gets added to the language which could have
been trivially expressed in the language via a very simple macro or a
very simple function.  It's stuff that adds another way to do the same
thing.  Pop-11 is admittedly a cool language -- I've used it, and
enjoyed using it -- but I don't think that presenting it as a paradigm
of good modern language design holds much water.

So I stand by my claim.  Your proposal just adds stuff of the language
without enriching it.  Your version of 'unless' is exactly 'if ~'; In
fact, I proposed flushing Dylan's existing version of 'unless' for the
same reason.  Write a macro.