Subject: Re: C# is not Dylan (was: Re: C# : The new language from M$)
From: Erik Naggum <erik@naggum.net>
Date: 2000/07/04
Newsgroups: comp.lang.lisp,comp.lang.dylan
Message-ID: <3171713054143887@naggum.net>

* "Janos Blazi" <jblazi@vipsurf.de>
| Well, wjen I started learning Lisp last year I thought than the parentheses
| will become a nightmare but now I see that this is not the case.  But there
| is one example when I still think that infix syntax would be preferable: In
| long mathematical formulae:
| 
| (/ (+ (- b) (sqrt (- (* b b) (* 4 (* a c))))) (* 2 a))
| 
| ot something like that (I have not checked if the formula is correct) still
| looks messy and I wonder if practicing would help.  I can see immediately if
| the infix form is correct, though.

  Hardcore Lispers know that the syntax of Common Lisp is programmable
  and act accordingly.  Infix has its merit for very simple arithmetic
  and if that is done often enough to be usefully modified, one simply
  adds a little convenience to the language.  I prefer to use { and }
  to bracket infix expressions:

{ (sqrt(b * b - 4 * a * c) - b) / (2 * a)) }

  However, note that (* 4 (* a c)) is better written (* 4 a c).  Few
  infix-oriented people get beyond two-argument arithmetic functions,
  but all arithmetic functions take many arguments, and redundancy in
  form is   A better approach
  to the above would thus be

(/ (- (sqrt (- (* b b) (* 4 a c))) b) 2 a)

  But note how little infix syntax buys you in this case.

[ The sore freaks in comp.lang.dylan don't need to be reminded that
  their language doesn't have a programmable syntax, so followups are
  redirected away from the pathetic loser camp. ]

#:Erik
-- 
  If this is not what you expected, please alter your expectations.