[Top][All Lists]

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

Re: One more question about elisp

From: Francis Moreau
Subject: Re: One more question about elisp
Date: Mon, 09 Nov 2009 21:43:33 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1.50 (gnu/linux)

address@hidden (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

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 ;)


reply via email to

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