On Mar 3, 5:26 am, p...@informatimago.com (Pascal J. Bourguignon) wrote:
> > Hello I was wondering if lispers even implemented the Ideas john
> > backus had about function level progarmming...
> There's already higher level functions in lisp. For example (see the
> paper of which the url is given below), insert is reduce, apply-to-all
> is mapcar & apply. So you can easily write your functions in
> functional style:
Boy, lisp IDIOTS are quick.
Lisp does not do functional level programing. Can't. Nor does almost all the well known functional langs such as Ocaml, Haskell, Mathematica.
I learned about it last year. See:
hard to summarize in one sentence... but basically like functional programing but with one characteristic formalism that sets it apart, namely: creation of functions are limited to a particular set of higher-order functions, and you cannot arbitrary birth functions (e.g. the moronicity of lisp's macros).
The force of this particular formalism is that it makes it more subject to mathematical analysis (and thus makes it more powerful and flexible), similar to for example to the clear separation of features in 2nd order logic from first order logic. Wikipedia said it best, quote:
«This restriction means that functions in FP are a module (generated by the built-in functions) over the algebra of functional forms, and are thus algebraically tractable. For instance, the general question of equality of two functions is equivalent to the halting problem, and is undecidable, but equality of two functions in FP is just equality in the algebra, and thus (Backus imagines) easier.»
«Even today, many users of lambda style languages often misinterpret Backus' function-level approach as a restrictive variant of the lambda style, which is a de facto value-level style. In fact, Backus would not have disagreed with the 'restrictive' accusation: he argued that it was precisely due to such restrictions that a well-formed mathematical space could arise, in a manner analogous to the way structured programming limits programming to a restricted version of all the control-flow possibilities available in plain, unrestricted unstructured programs.»
This thread, illustrates, how often comp lang fanatics propagate patently false things, in their fanaticism. This, includes those lispers who are regulars at comp.lang.lisp. (other similar issues, is how lisp syntax is regular, and how lisp are adept at lisp manipulation)