help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How to quote a list of functions?


From: Rusi
Subject: Re: How to quote a list of functions?
Date: Mon, 17 Aug 2015 22:03:50 -0700 (PDT)
User-agent: G2/1.0

On Tuesday, August 18, 2015 at 10:16:29 AM UTC+5:30, Drew Adams wrote:
> > when and why are functions refered to not
> > using symbols to designate them?
> 
> Anonymous functions.
> http://www.gnu.org/software/emacs/manual/html_node/elisp/Anonymous-Functions.html
> 
> In Emacs Lisp, a named function is named by a symbol.
> 
> In Common Lisp, a named function is named by either a symbol
> or a list of the form `(setf SYMBOL)'.
> http://clhs.lisp.se/Body/26_glo_f.htm#function_name
> 
> > Isn't the most natural way to refer to a function (or
> > anything else) just to type its name?
> 
> Natural?  Please take a poll of the biomass, and get back to us.
> 
> > What are we gaining from having people and not
> > computers deal with this distinction?
> 
> A function has other aspects (signature, in particular),
> besides it name.
> 
> Just as a symbol has aspects (variable value, plist) other
> than its name and its function value.
> 
> What do we "gain" by such distinctions?
> 
> The distinctions are not just mental constructs; they are
> real - real distinctions wrt behavior.
> 
> In the case of people, it's observable behavior that we
> care about.  We typically don't care about all of the
> computer-level behavior.  But we do care about behavior
> distinctions because we make use of them.
> 
> We can make _use_ of the different aspects of functions,
> symbols, whatever.  You ignore such differences at your
> own peril.  Or to be less dramatic: it's your loss.
> 
> Ignoring that there are different aspects means ignoring
> what a Lisp function (or symbol or whatever) _is_, which
> also means ignoring what it can be used for and how it
> can be used.
> 
> In Lisp, in particular, you can treat `(lambda (x) (* x 2))'
> as a list, in addition to treating it as a function.  It
> has different behaviors depending on what you do with it.

Bigger people have not managed to get this.
Scheme gets this better than CL
And CL gets it better than Elisp
However in my very most humble opinion even Abelson and Sussman dont get the
main point of scheme:
Briefly that Apply-Lambda is one axis
And Eval-Quote another.
Functional languages emphasize the former
Non-first-class pre-CL-lisps like Elisp the latter

More here
http://blog.languager.org/2013/08/applying-si-on-sicp.html


reply via email to

[Prev in Thread] Current Thread [Next in Thread]