Path: utzoo!utgpu!news-server.csri.toronto.edu!bonnie.concordia.ca!uunet!elroy.jpl.nasa.gov!ncar!gatech!udel!haven.umd.edu!socrates.umd.edu!socrates!rockwell From: rockwell@socrates.umd.edu (Raul Rockwell) Newsgroups: comp.lang.misc Subject: Re: scheme [Re: What does an anti-perl look like] Message-ID: Date: 28 Jun 91 04:35:37 GMT References: <4601@optima.cs.arizona.edu> <1991Jun26.223026.13792@watserv1.waterloo.edu> <603@smds.UUCP> Sender: rockwell@socrates.umd.edu (Raul Rockwell) Organization: Traveller Lines: 40 In-Reply-To: sw@smds.UUCP's message of 27 Jun 91 20: 01:38 GMT Stephen E. Witham: > Lisp has two features: an internal form for programs, and a (over:-) > simple syntax. I think with an "infix Scheme," having a > well-defined internal form would give you most of the power. You'd > need a "code-constant" or > "internal-form-of-this-quoted-code-fragment" construct, e.g., > > x = quote { > function ( a, b ) { > return a+b; > } > }; > > (That's not a lambda expression, it's a quoted lambda expression.) Why such a complicated expression? Why not just x =: + Then, presumably, when you say 1 x 1 the answer would be 2 Or is it important to quote the thing? You could always say x =: '+' (too simplistic? what if you want to have a code constant for some existing function, independent of its symbol? Well, you could always adopt a secondary quoting scheme.... Like, maybe x =: + quoted ) Requiring a lambda expression to express an anonymous function seems to me to be one of LISP's flaws, not one of its advantages. Or, put another way, infix notation already has a clear scheme for representing arguments, why not take advantage of it? -- Raul