Subject: Re: Lisp and Scheme with fewer parentheses
From: rpw3@rpw3.org (Rob Warnock)
Date: Thu, 09 Nov 2006 05:55:59 -0600
Newsgroups: comp.lang.lisp,comp.lang.scheme
Message-ID: <aYKdnbVKUYDSis7YnZ2dnUVZ_u6dnZ2d@speakeasy.net>
grackle <davidhuebel@gmail.com> wrote:
+---------------
| I think this might end up happening some day if someone creates a
| popular language like Python or Ruby on top of Lisp.  As long as the
| S-expressions are clearly optional and mostly kept out of sight, they
| wouldn't be a barrier to adoption, but in the end everyone with any ego
| or ambition would end up using them.
+---------------

That's essentially what happened with my P'Lite Scheme[1], which
had a syntax similar to Tcl (with a little ML flavor thrown in for
some constructs), and to a lesser extent with OPFR[2]. Both were
*great* for non-Lisper use at an interactive REPL (which the users
treated as a "command line" interface, much like Tcl), especially
when lots of application-specific functions were provided in the
running image so that few subexpressions needed to be typed. But
when doing serious *programming* the irregular syntax just got in
the way.

So I still sometimes use OPFR for programs that need REPLs\\\\\...
uh... command-line interfaces for canned functions while still
providing complex subexpressions [full Common Lisp!] for power
users. But I've pretty much given up on P'Lite Scheme [and never
even bothered with building a P'Lite Lisp].


-Rob

[1] See my previous postings on "Parentheses-Lite Scheme" (P'Lite):

       plite> def fact = fn x in \
			   if x < 2 then 1 else x * [fact [1- x]];
       plite> fact 5
       120
       plite> 

[2] See my previous postings on "Outer-Parentheses-Free REPL" (OPFR):

       opfr> defun fact (x) (if (< x 2) x (* x (fact (1- x))))
       FACT
       opfr> fact 5
       120
       opfr> expt 2 100
       1267650600228229401496703205376
       opfr> deflex foo 12
       FOO
       opfr> incf foo 5
       17
       opfr> foo
       17
       opfr> 

-----
Rob Warnock			<rpw3@rpw3.org>
627 26th Avenue			<URL:http://rpw3.org/>
San Mateo, CA 94403		(650)572-2607