From: ilias
Subject: LISP - The Entry Point
Date: 
Message-ID: <an5493$5lk$3@usenet.otenet.gr>
people.

i'm happy to let you know, that i've found the entry point.

which entry-point?

i'll tell you later.

first of all: you've maybe noticed a small change.

i became a little ironic.

this is to offend the hairsplitters.

and to offend garbage.

-

garbage is not something wrong that someone tells me .

garbage is an 'expert', who tries to teach me.

and who himself has not understood.

and who don't take back his didactical tone.

even if you show him that he is (al least maybe) wrong.

that's garbage.

-

human brain.

there are facts.

and the ability to process facts.

-

from now on, i'll treat with respect only those which treat me with respect.

this is cause i've to focus my energy on working.

thus i've not enouth energy for gentleness.

-

The Entry Point.

*year*:

well, it is 1958.

John McCarthy.

there i'll begin.

maybe i've to go back more.

will see.

i've already started.

-

*language*:

C or C++

i code in C++, although i use in the begining only C subset.

i'm not exactly sure if i keep that.

*functionality*

i know nearly nothing.

the reader-concept.

the macro a little.

backquote a little.

garbage collector. i've an idea what this is, cannot imagine that it is
so complicated. claim and release memory. but will see.

and of course all that knowledge from *using* many languages. but
nothing indeep, mostly fuzzy in memory.

-

the good thing: i can assimilate everything. no need to develope it.

i'm undereducated. that's why i can decide quicker what to assimilate
and what not.

how that, without knowing it? well, i'll know what i need. i give
someone the abstract description of what i need. and he tells me: this
an that you can use. i say: explain me 'with apples' the differences.
then i decide: that one.

you see: i'm depending on experts which are able to explain 'with
apples', which is nothing more than abstracting an essence down to a
general common sense level.

but before i loose 'virginity', i'll try to build a lisp without looking
at another code.

i've no imagination of how to build such a simple system. the first
coding has started. seems really difficult.

i continue now

-

crepes with nutella.

From: Fred Gilham
Subject: Re: LISP - The Entry Point
Date: 
Message-ID: <u7it0ohli6.fsf@snapdragon.csl.sri.com>
Why, with so many other newsgroups to ann...I mean languages to
learn, did you pick Lisp?

Why not Scheme?  Perl?  Modula-3?  Dylan?  Clipper?  Icon?  VRML?

Why not Fortran?  It's even older than Lisp, and has a much more
active following including many interesting people, who, I am sure,
will be more than happy to pan-fr...I mean spend their time
enlightening someone with such an obtu...I mean interesting approach
to learning as yours.

Think about it.  If CLL is such an unfriendly place, perhaps that says
something about Lisp itself.  Perhaps people who get to know Lisp well
become the kind of people who will flame, toast, roast and otherwise
barbecue innocent seekers after knowledge.  (My mouth is watering
already.)

It has become clear that CLL is not worthy of your attention.  I don't
think Lisp is either.  It simply has too much academic baggage for
someone with such a pristine intellect as yours.  I still think you
won't be really happy until you find your true home in some
Microsoft-related newsgroup.

-- 
Fred Gilham                                        ······@csl.sri.com
``This is mere entertainment featuring fictional characters. No real
human relationships were shattered in the making of this TV series.''
From: ilias
Subject: Re: LISP - The Entry Point
Date: 
Message-ID: <an77m5$all$1@usenet.otenet.gr>
Fred Gilham wrote:
[...]
-

>> crepes with nutella.

eat them.

they are lastily.
From: Hrvoje Blazevic
Subject: Re: LISP - The Entry Point
Date: 
Message-ID: <an7n7k$btsv$1@as201.hinet.hr>
Fred Gilham wrote:
> It has become clear that CLL is not worthy of your attention.  I don't
> think Lisp is either.  It simply has too much academic baggage for
> someone with such a pristine intellect as yours.  I still think you
> won't be really happy until you find your true home in some
> Microsoft-related newsgroup.
> 

:-) :-) :-)

You are probably right --- He *is* using M$ Windows for posting :-)
From: Blitzen
Subject: Re: LISP - The Entry Point
Date: 
Message-ID: <pan.2002.09.29.12.44.26.159604.2303@bemail.org>
o..................... k.....................
From: ilias
Subject: Re: LISP - The Entry Point
Date: 
Message-ID: <an7i49$h3c$1@usenet.otenet.gr>
i just realize that John McCarthy has read this paper here, which is was 
important for the developement of lisp:

A. Church: The Calculi of lambda-Conversion. Princeteon, 1941

Can someone point me to an online discussion about this? which uses 
non-academic terminology to explain it?
From: ilias
Subject: Re: LISP - The Entry Point
Date: 
Message-ID: <an80mu$qb9$1@usenet.otenet.gr>
> *language*:
> 
> C or C++
> 
> i code in C++, although i use in the begining only C subset.

-

will change to C++.

i'm to lazy to implement with C constructs.

but will only use few things of OO.

buttom-up-from scratch design of 'foreign thoughts' is not my strength.

additionally, i'm not so good in *creating* 'facts'.

much better in *evaluating* and *interconnecting* facts.

-

so, as i stuck, i looked at some C++ code.

but much to complex implemented.

i've set an limit of 10 pages for the core.

-

can anyone point me to a design guide?

or tell me the sequence of the functions i've to implement?

-

e.g.:

(please forgive me the naming. it follows strictly my 'internal' 
terminology)

i start with:

typedef unsigned long atom;

struct node
{
   atom *first;
   atom *rest;
};

now i need...

?

(i'm so 'virgin' in mind, i've *never* implemented a list)

-

i'm unable to continue my simpe C++ database project.

looks senseless to me.
From: Christopher Browne
Subject: Re: LISP - The Entry Point
Date: 
Message-ID: <an81g5$brjqk$1@ID-125932.news.dfncis.de>
In the last exciting episode, ilias <·······@pontos.net> wrote::
> i'm unable to continue my simpe C++ database project.
>
> looks senseless to me.

Have you considered taking your discussion to comp.databases or
comp.lang.c++, both of which would be tremendously more relevant fora
than comp.lang.lisp?
-- 
(reverse (concatenate 'string ·············@" "sirhc"))
http://cbbrowne.com/info/languages.html
"When campaigning, be swift as  the wind; in leisurely march, majestic
as the forest; in raiding and plundering, like fire; in standing, firm
as  the  mountains.   As  unfathomable  as the  clouds,  move  like  a
thunderbolt."  -- Sun Tzu, "The Art of War"
From: ilias
Subject: Re: LISP - The Entry Point
Date: 
Message-ID: <an82g1$r9h$1@usenet.otenet.gr>
Christopher Browne wrote:
> In the last exciting episode, ilias <·······@pontos.net> wrote::
> 
>>i'm unable to continue my simpe C++ database project.
>>
>>looks senseless to me.
> 
> 
> Have you considered taking your discussion to comp.databases or
> comp.lang.c++, both of which would be tremendously more relevant fora
> than comp.lang.lisp?

Mr. Browne!

Hello, i hope you are fine.

Please read my post fully (you've quoted me 'off-context'). I'm writing 
a lisp from scratch, to see how difficult it is. So i'm in topic.

I'm just a little confused, it is really difficult to find the entry 
point to start coding. I know lisp only somehow fuzzy. I know cons, 
pair, first, rest etc.! but i don't know exactly what they do and how 
everything is represented in memory.

That why i've just printed some documents, which have more graphical 
representation. so i think i'll understand until tomorrow.

But suggestion (in topic, please) are of course welcome.
From: Greg Menke
Subject: Re: LISP - The Entry Point
Date: 
Message-ID: <m3heg8fcb3.fsf@europa.pienet>
ilias <·······@pontos.net> writes:

> 
> I'm just a little confused, it is really difficult to find the entry
> point to start coding. I know lisp only somehow fuzzy. I know cons,
> pair, first, rest etc.! but i don't know exactly what they do and how
> everything is represented in memory.
> 

Well that is certainly an improvement over playing syntax games.  


> 
> But suggestion (in topic, please) are of course welcome.

Start small- learn how to use loop to iterate over a list, then how to
use the various clauses to tailor its behavior.  You cannot start
coding in any non-trivial sense until you understand how a sufficient
number of parts of the language work.  This is true for any
programming language you might try to learn.  You can safely ignore
the in-memory representation of data for the time being.

Gregm
From: ilias
Subject: Re: LISP - The Entry Point
Date: 
Message-ID: <an9jaq$2sp$1@usenet.otenet.gr>
Greg Menke wrote:
> ilias <·······@pontos.net> writes:
> 
> 
>>I'm just a little confused, it is really difficult to find the entry
>>point to start coding. I know lisp only somehow fuzzy. I know cons,
>>pair, first, rest etc.! but i don't know exactly what they do and how
>>everything is represented in memory.
>>
> 
> 
> Well that is certainly an improvement over playing syntax games.  

i'm implementing a lisp interpreter, so i control the 'syntax-games' better.

>>But suggestion (in topic, please) are of course welcome.
> 
> Start small- learn how to use loop to iterate over a list, then how to
> use the various clauses to tailor its behavior.  You cannot start
> coding in any non-trivial sense until you understand how a sufficient
> number of parts of the language work.  This is true for any
> programming language you might try to learn.  You can safely ignore
> the in-memory representation of data for the time being.

a missunderstanding.

i have problems with implementing a lisp interpreter in C++.

i'm a lisp novice.

after i've finishing the basic implementation of the lisp interpreter, 
i'll be still a lisp novice.
From: Russell Wallace
Subject: Re: LISP - The Entry Point
Date: 
Message-ID: <3d9aedc6.833295908@news.eircom.net>
On 29 Sep 2002 23:14:13 GMT, Christopher Browne <········@acm.org>
wrote:

>Have you considered taking your discussion to comp.databases or
>comp.lang.c++, both of which would be tremendously more relevant fora
>than comp.lang.lisp?

Uh - no, no, C++ really isn't the right language for you ilias,
honestly, trust me on this one. Much better off to give up on it now.
Try... um, Visual Basic, that's it! That'd suit you much better :)

-- 
"Mercy to the guilty is treachery to the innocent."
Remove killer rodent from address to reply.
http://www.esatclear.ie/~rwallace
From: Justin Johnson
Subject: Re: LISP - The Entry Point
Date: 
Message-ID: <1033471443.58008.0@doris.uk.clara.net>
> typedef unsigned long atom;
>
> struct node
> {
>    atom *first;
>    atom *rest;
> };
>
> now i need...
>
> ?

This is going to get you a one entry list because you only have pointers to
atoms.  Your pointers should also be able to point to other nodes.

Try:

struct Node
{
    union NodeData
    {
        int Integer;
        int Symbol;
        int FunctionId;
        // Other data types go here...string, float, etc etc
    };

    enum NodeType
    {
        INTEGER, SYMBOL, FUNCTIONID, LIST
    }

    NodeType Type;
    NodeData Data;
    Node* pHead; //CAR
    Node* pRest; //CDR
};

Ok, this is pretty naive but should get you going.

--
Justin Johnson

"ilias" <·······@pontos.net> wrote in message
·················@usenet.otenet.gr...
> > *language*:
> >
> > C or C++
> >
> > i code in C++, although i use in the begining only C subset.
>
> -
>
> will change to C++.
>
> i'm to lazy to implement with C constructs.
>
> but will only use few things of OO.
>
> buttom-up-from scratch design of 'foreign thoughts' is not my strength.
>
> additionally, i'm not so good in *creating* 'facts'.
>
> much better in *evaluating* and *interconnecting* facts.
>
> -
>
> so, as i stuck, i looked at some C++ code.
>
> but much to complex implemented.
>
> i've set an limit of 10 pages for the core.
>
> -
>
> can anyone point me to a design guide?
>
> or tell me the sequence of the functions i've to implement?
>
> -
>
> e.g.:
>
> (please forgive me the naming. it follows strictly my 'internal'
> terminology)
>
> i start with:
>
> typedef unsigned long atom;
>
> struct node
> {
>    atom *first;
>    atom *rest;
> };
>
> now i need...
>
> ?
>
> (i'm so 'virgin' in mind, i've *never* implemented a list)
>
> -
>
> i'm unable to continue my simpe C++ database project.
>
> looks senseless to me.
>
From: ilias
Subject: Re: LISP - The Entry Point
Date: 
Message-ID: <ana0kl$don$1@usenet.otenet.gr>
catastrophe !!!

My 60 days trial for Borland C++ Builder expires tomorrow.

I don't know if it is allowed to try for another 60 days.

If not, i must set up another C++ system.

I use windows OS, but i'd like to switch to a linux system one day. so 
i'd like to have a cross-platform C++, but a nice one, with an 
integrated developement environment.

can someone suggest me one?

I don't want to deal with complicated installations-sequences.

this is stuff for freaks that have nothing better to do than to manage 
complicated things.

i have this need, too. I compensate it with 'spider', this is something 
like 'pacienda' (this card game on windows). *very* complicated. 
Althougth i do not always win, after a few game *i* am the winner.

when i see those lousy installation read me's, i shout: why does this 
guy (the manual writer, which is in general the programmer or one of the 
programmers) writes all this down, so thousands of people have to do 
that, instead of providing a simple install.bat or setup.exe or so.

this small detail is one reason that companies win in competition. 
Whilst the others exhaust their potential customers with dealing with 
details, the others make things simple (not better, just simpler) and 
win the competition.

this reminds me somehow... lisp.

whow.

in topic again.

-

Get the essence:

I sense that i sense it.
From: ilias
Subject: Re: LISP - The Entry Point
Date: 
Message-ID: <andfh8$ncp$1@usenet.otenet.gr>
terrible day.

during writing i hear a little cat screaming outside.

after 5 min i went out, find it.

i think 3 to 4 months or so.

i take it with me, i give it something to eat.

but this cattle don't eat.

just: miaaah, miaaah.

i cannot keep the cat here. impossible.

so out again.

takes me all the concentrations.

i feel like a little bad now.

conscience crisis.

espsecially as the 'miaaaa' was so loud, that i was afraid the 
neighbours wake up.

water helps.

more concsience crisis.

-

conscience. the word is not logical.

science.

con.

con science.

anyway.

-

the reader. i've finished the skeleton.

the specs are really complicated written.

intuition was right.

things became clear due to coding.

It should be possible to shrink the reader-algorithm-description to 
about 60% to 70% of its current size.

whilst keeping information value.

whilst increasing precision.

this way people can learn quicker.

-

and of course "The Scary Readtable" is fully correct.

·················································@usenet.otenet.gr

how can anyone believe it's not?

funny.

-

the cat is still outside.

i'll got to play with it a little.

and then home sweet home.

-
From: ilias
Subject: Re: LISP - The Entry Point
Date: 
Message-ID: <anf5nq$5k3$1@usenet.otenet.gr>
i got the first 'answer' of my 'lisp'.

-

lisp interpreter is easy to implement.

the challange is the raising complexity.

-

Borland C++ Builder 60-day-Evaluation is very gentle.

it shows since 2 days: 0 days remaining.

but it still continues to work.

am i illegal now?

i don't know.

it looks like a marketing thing.

-

write a lisp, instead of discussing in c.l.lisp

more fun.

-
From: Justin Johnson
Subject: Re: LISP - The Entry Point
Date: 
Message-ID: <1033576228.89133.0@demeter.uk.clara.net>
> lisp interpreter is easy to implement.

Wait 'til you get to closures, macros and garbage collection. :-)

--
Justin Johnson

"ilias" <·······@pontos.net> wrote in message
·················@usenet.otenet.gr...
> i got the first 'answer' of my 'lisp'.
>
> -
>
> lisp interpreter is easy to implement.
>
> the challange is the raising complexity.
>
> -
>
> Borland C++ Builder 60-day-Evaluation is very gentle.
>
> it shows since 2 days: 0 days remaining.
>
> but it still continues to work.
>
> am i illegal now?
>
> i don't know.
>
> it looks like a marketing thing.
>
> -
>
> write a lisp, instead of discussing in c.l.lisp
>
> more fun.
>
> -
>
>
From: Donald Fisk
Subject: Re: LISP - The Entry Point
Date: 
Message-ID: <3D9BB1D1.FFC68772@enterprise.net>
Justin Johnson wrote:
> 
> > lisp interpreter is easy to implement.
> 
> Wait 'til you get to closures, macros and garbage collection. :-)

Closures can be implemented easily using the funarg
mechanism, and is just a matter of saving the environment
along with the function when the function is evaluated, and
then using that environment when the function is applied.
This is explained in detail in The Anatomy of Lisp starting
at page 146.

For macros, just get eval to macroexpand them (macroexpansion
is just treating the macro as a function applied to the
unevaluated arguments), before evaluating the macroexpansion.

The only problem closures and macros is keeping track of the
correct environment, but this is well understood.

Garbage collection is more problematic.   You can get
around the problem entirely by writing your interpreter
in a language such as Java which supports garbage collection,
but that of course is cheating.   A simple mark and sweep
collector is straightforward to implement in C, and the
algorithm is well known.   If you do this, you need to
remember to use an explicit stack, as if you naively
do something like

List append(List x, List y)
{
  List z = NULL;
  while (x != NULL) {
    z = cons(first(x), z);
    x = rest(x);
  }
  while (z != NULL) {
    y = cons(first(z), y);
    z = rest(z);
  }
  return y;
} 

the mark phase of the garbage collector might not see
x or y when it is called during one or other of the
calls to cons.   (BTW, before anyone points out, I'm
aware the algorithm above can be rewritten recursively,
or with only one cons if pointers are rearranged.   Also,
using NULL as NIL might not be a good idea.)

More sophisticated techniques (e.g. generational
garbage collectors) are probably overkill in a learning
exercise, unless you're learning about garbage collection
per se.

Le Hibou
-- 
Dalinian: Lisp. Java. Which one sounds sexier?
RevAaron: Definitely Lisp. Lisp conjures up images of hippy coders,
drugs,
sex, and rock & roll. Late nights at Berkeley, coding in Lisp fueled by
LSD.
Java evokes a vision of a stereotypical nerd, with no life or social
skills.
From: ilias
Subject: Re: LISP - The Entry Point
Date: 
Message-ID: <anftpj$lor$1@usenet.otenet.gr>
> Borland C++ Builder 60-day-Evaluation is very gentle.
> 
> it shows since 2 days: 0 days remaining.
> 
> but it still continues to work.
> 
> am i illegal now?
> 
> i don't know.
> 
> it looks like a marketing thing.

i've just finished the construct "reader macros".

and i got very much fun of how such a simple thing can be documented so 
complicated.

it's really a game.

-

i was to early happy.

the Windows ME maschine crashed again.

after restarting: "thank you for evaluating borland"

-

my motivation is against zero now.

is there any C++ compliler for Windows OS which generates executables 
for Linux / Unix / MAC ?

-

Mozilla seems to be overloaded with all this babbling in c.l.l.

i loose the saved news-content for the third time.

any suggestions for a good Newsreader, which is available for linux, too 
(binary compatible)?

-
From: ilias
Subject: Re: LISP - The Entry Point
Date: 
Message-ID: <ani71q$lqf$1@usenet.otenet.gr>
ilias wrote:
>> Borland C++ Builder 60-day-Evaluation is very gentle.
>>
>> it shows since 2 days: 0 days remaining.
>>
>> but it still continues to work.
>>
[...]
> 
> the Windows ME maschine crashed again.
> 
> after restarting: "thank you for evaluating borland"
> 
> -
> 
> my motivation is against zero now.
> 


deinstalled Borland C++ Builder.

retrieved new eval keys with my *old* account @ borland.

installed.

works.

seems finally that borland tolerates  it

-
From: ilias
Subject: Re: LISP - The Entry Point
Date: 
Message-ID: <anickv$ppm$1@usenet.otenet.gr>
which technology to choose?

i tend to use C++ more that i should.

e.g. the readtable becomes very simple, when implemented in C++.

-

C++ is flexible.

functional style.

violating functional style.

goto.

-

it makes things simple.

on the other side, a C implementation is 'nearer' to hardware.

thus the core can be simply translated to hardware.

i've lost overview of hardware-design-technology.

are ther C++ to VHDL / Verilog translations available?

-