From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Francis Moreau Newsgroups: gmane.emacs.help Subject: Re: One more question about elisp Date: Mon, 09 Nov 2009 21:43:33 +0100 Organization: Guest of ProXad - France Message-ID: References: <53781544-57b8-4cde-a07a-c3632d8bac7f@a32g2000yqm.googlegroups.com> <87aayx9fb1.fsf@galatea.local> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1257802905 5939 80.91.229.12 (9 Nov 2009 21:41:45 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 9 Nov 2009 21:41:45 +0000 (UTC) To: help-gnu-emacs@gnu.org Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Mon Nov 09 22:41:39 2009 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1N7bzW-0007fT-M7 for geh-help-gnu-emacs@m.gmane.org; Mon, 09 Nov 2009 22:41:39 +0100 Original-Received: from localhost ([127.0.0.1]:48639 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1N7bzW-0008LY-6k for geh-help-gnu-emacs@m.gmane.org; Mon, 09 Nov 2009 16:41:38 -0500 Original-Path: news.stanford.edu!usenet.stanford.edu!news.tele.dk!news.tele.dk!small.news.tele.dk!proxad.net!feeder1-2.proxad.net!212.27.60.64.MISMATCH!cleanfeed3-b.proxad.net!nnrp16-2.free.fr!not-for-mail Original-Newsgroups: gnu.emacs.help User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.50 (gnu/linux) Cancel-Lock: sha1:cPpzz8vpKXlmA8fPZq0Oo+QaaQo= Original-Lines: 51 Original-NNTP-Posting-Date: 09 Nov 2009 21:43:40 MET Original-NNTP-Posting-Host: 82.235.205.153 Original-X-Trace: 1257799420 news-4.free.fr 21870 82.235.205.153:47467 Original-X-Complaints-To: abuse@proxad.net Original-Xref: news.stanford.edu gnu.emacs.help:174562 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:69636 Archived-At: pjb@informatimago.com (Pascal J. Bourguignon) writes: [...] > > THE basic concept of all the languages in the lisp family, is that of > the uniform syntax for data and code (symbolic expressions, sexp). > > This allows to easily write programs to transform programs, since > programs are normal lisp data. Hence the notion of macro. > > This allows to easily extend the language to fit your needs, since the > new operators you can implement with macros are indistinguishable from > primitive operators. > > > Apart from that, the exact primitive data types provided by a lisp > system is rather irrelevant, given a few user level libraries > providing the macros needed to define data abstractions you want. And > if these libraries don't exist, no problem, you can easily write them > yourself. In anycase, in a sizeable lisp program it is expected that > you write yourself your own macros to define your own, application > specific, language. > > > So, yes, structures don't exist in the bare emacs lisp language. But > this doesn't matter, since there is the cl package that provides a > defstruct macro. If this package didn't exist, it wouldn't matter > either, since you could easily write such a defstruct macro yourself. > > And in any case it doesn't matter, since in your application you'll be > expected to define your own macro to define your own entities. (You > may base your macro on defstruct, or you may base it on lower level > emacs lisp vectors, or on cons cells, or whatever, it just does not > matter). > > > Read SICP! > > Structure and Interpretation of Computer Programs > http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-4.html > http://swiss.csail.mit.edu/classes/6.001/abelson-sussman-lectures/ > http://www.codepoetics.com/wiki/index.php?title=Topics:SICP_in_other_languages > http://eli.thegreenplace.net/category/programming/lisp/sicp/ > http://www.neilvandyke.org/sicp-plt/ Ok I'll take time to read them, but I'm going to shift (again) the time when I'll be able to customize my .emacs ;) -- Francis