|
[Date Index]
[Thread Index]
[Author Index]
Re: Lisp Macros in Mathematica (Re: If Scheme is so good why MIT
- To: mathgroup at smc.vnet.net
- Subject: [mg102489] Re: Lisp Macros in Mathematica (Re: If Scheme is so good why MIT
- From: David Bailey <dave at removedbailey.co.uk>
- Date: Tue, 11 Aug 2009 04:03:56 -0400 (EDT)
- References: <b0g665llur83sj9dnumktjvnipacj7bgrt@4ax.com> <17pco71asfk7d.1kd4oiidz6nqy.dlg@40tude.net> <h5nht7$8nm$1@smc.vnet.net>
fft1976 wrote:
> On Jul 21, 5:31 am, Xah Lee <xah... at gmail.com> wrote:
>
>> Also, lisp's macros, a feature that gets lispers much ado about
>> nothing. In Mathematica (b ~1989), the whole language can be
>> considered as a extended lisp macros system. When i learned about
>> lisp's macros while practical coding elisp, i find lisp macros are
>> rather so trivial, painful to use, and laughable.
>
> Is this true? How do you write some simple Lisp-like macros in
> Mathematica? Are Mathematica's macros like Scheme's hygienic macros or
> like Lisp's "low-level" macros?
>
Although macros can be abused - as they are in many C programs, where
almost everything is a macro - I'd like to see macros supported directly
in Mathematica, because they would offer an efficient way to access
parts of a structure by name - rather than using Part. This gives you
clarity and speed.
I do have a scheme for doing this. It involves defining functions using
a modified version of the := operator, which replaces macro expressions
on the RHS of the function before saving the result in the normal way.
Macros are defined with a Define\[Breve]Macro call prior to the
functions that use them. I considered using $Pre or $PreRead, but these
do not work when programs are read in with Get or in packages.
David Bailey
http://www.dbaileyconsultancy.co.uk
Prev by Date:
Re: error with Sum and Infinity
Next by Date:
Dynamically create array and display data graphically
Previous by thread:
Fail to export LogLogPlot with ShowLegend
Next by thread:
Dynamically create array and display data graphically
|