Subject: Re: newbie in deep over his head
From: Erik Naggum <erik@naggum.net>
Date: Thu, 28 Feb 2002 18:12:42 GMT
Newsgroups: comp.lang.lisp
Message-ID: <3223908767189370@naggum.net>

* "Glenn Burnside" <glenn.burnside@ni.com>
| I've been lurking on this newsgroup for like 6 months now, and I've been
| doing a lot of reading in Graham's two books and online.  But with the
| general mood here, I've approached the act of posting with no small
| amount of trepidation.  So, finally, here goes.

  Boo!

| I was reading recently about read macros - another extensibility feature
| I've never seen anywhere else.  And I noticed that the CL standard
| reserves special delimiters like #n() for things like vectors, etc.  But
| I didn't see anything for defining a lambda expression.

  The reason is that they are not sufficiently widely used.  Even Scheme
  has not done a lot of work to make writing lambda forms easier, even
  though they are far more frequently used there.

| I realize I'm probably treading on holy ground, but I can't help feeling
| that something like
| 
| #[(x y z) (some-op-over x y z)]
| or even
| #l((x y z) (some-op-over x y z))
| would be easier to deal with than
| #'(lambda (x y z) (some-op-over x-y-z))

  The reason could simply be that people want to see the "lambda" because
  it is so special.

| Is there already a read macro shortcut for lambda expressions that I'm
| not aware of?

  No.

| Are there any common implementations that do that?

  Not that I am aware of.

| Am I walking a road that every CL newbie walks, only to get spanked by
| the gurus in the end?

  Gurus do not spank newbies.  Gurus bank stupid newbies.  Only a few
  newbies are stupid.  Those newbies are so stupid they do not even
  understand why they get spanked, and they remain stupid newbies for very
  long, some forever.  Smart newbies transition out of newbiehood quickly.

| Any comments are greatly appreciated.

  Would it make your life easier?  If so, define one yourself.  Do you
  think the language would be different had it supported a reader macro for
  lambda like it does for quote and function?  Do you find it easier or
  harder to use quote and function because they have reader support?

///
-- 
  In a fight against something, the fight has value, victory has none.
  In a fight for something, the fight is a loss, victory merely relief.