From: John Thingstad
Subject: Kaz Kylheku
Date: 
Message-ID: <op.t9s5joyhut4oq5@pandora.alfanett.no>
I have noticed you have become dramatically better in Lisp in a relative  
short period of time.
What is you "secret"?

--------------
John Thingstad

From: Kaz Kylheku
Subject: Re: Kaz Kylheku
Date: 
Message-ID: <c40c327f-af75-4038-a4d8-28641e09d98c@1g2000prf.googlegroups.com>
On Apr 18, 6:10 am, "John Thingstad" <·······@online.no> wrote:
> I have noticed you have become dramatically better in Lisp in a relative  
> short period of time.

Not recently, however. The period of time which fits your observation
is from sometime early 2001 when I picked up Lisp for the first time,
through 2002. In early 2003, I was already rewriting the buggy
backquote expander for CLISP.

> What is you "secret"?

Part of the "secret" is something that we all know: Lisp is pretty
easy.

The other part of the secret is that I ``greenspunned'' a lot of the
things that are in Lisp.

Take a look at http://users.footprints.net/~kaz/mpp.html

This silly project was written before I knew anything about Lisp. Yet
it contains elements like:

- symbol data type, with a name property;
- namespaces mapping names to symbols;
- everything is a nested list of items;
- ``eval'' function (item_eval)
  - based on lists, not text source code
  - no heavyweight abstract syntax nodes, just lists
- interning identifiers to symbols
- read tables (copied from TeX)
  - scanned characters assigned to categories
  - user programmable
- local, lexically-scoped macros a la macrolet and symbol-macrolet
- environments
  - concept of a binding as an association
    between a symbol and memory location
    which references a value.

So passage into Lisp was something that was practically necessary; as
you can imagine, I felt right at home.
From: Spiros Bousbouras
Subject: Re: Kaz Kylheku
Date: 
Message-ID: <3c103c92-ffc2-478e-b1d8-9f7f13c28354@m44g2000hsc.googlegroups.com>
On 19 Apr, 04:28, Kaz Kylheku <········@gmail.com> wrote:

> The other part of the secret is that I ``greenspunned'' a lot of the
> things that are in Lisp.
>
> Take a look athttp://users.footprints.net/~kaz/mpp.html
>
> This silly project was written before I knew anything about Lisp.

I've just downloaded it and will play around with
it eventually. It doesn't look silly. Any chance
you'll complete the tutorial eventually ?
From: Pascal Bourguignon
Subject: Re: Kaz Kylheku
Date: 
Message-ID: <87tzhygj7s.fsf@hubble.informatimago.com>
Kaz Kylheku <········@gmail.com> writes:
> For a good laugh, you should see this old project, hosted on my old
> website. Keep in mind that I knew nothing about Lisp at all when I
> wrote this:
>
>   http://users.footprints.net/~kaz/mpp.html
>
> There are no links to it because it's kind of embarassing.  The
> internals of this program are heavily greenspunned:
>
>  - everything is nested lists containing heterogeneous objects of type
> ``item''.
>  - readtables
>  - lexically scoped local macros. I had never seen this anywhere,
>    but it corresponds to Common Lisp's SYMBOL-MACROLET.
>  - macros that compute list structure, rather than strings.
>  - items are part of an object-oriented system hacked up in C.
>  - items have operations structure containing function pointers, and
>    one of these is ... eval!
>  - the concept that eval takes an item as its input, and produces a
>    list of items, not like eval in the Bourne shell or perl, etc.
>  - symbol type with a string as its name, and a polymorphic value
> cell!

There's no reason to be ashamed, on the contrary.

You should heavily publicize that project, and give it as an example
of why lisp is superior to C/C++/...

> [...]
> So as you can see, I was a pretty good fit for becoming a Lisp
> programmer. I found a lot of familiar things in Lisp, but put together
> in a way that was far more complete, robust and easier to understand
> and use, than anything I had come across before.

-- 
__Pascal Bourguignon__                     http://www.informatimago.com/

"A TRUE Klingon warrior does not comment his code!"