From: Malcolm McLean
Subject: Intermediate Lisp project
Date: 
Message-ID: <zOidndYXJObB1qHbRVnyhQA@bt.com>
I am C programmer with nearly 20 years' experience, and five years' assembly 
on bedroom micros before that. I've worked my way through a Lisp tutorial. 
However I don't feel quite ready to tackle plugging a Lisp intepreter into 
my adventure game, which is the big project.
So I need something intermediate to do which is easy in GNU CLisp but hard 
in C. Anyone any ideas?

-- 
Free games and programming goodies.
http://www.personal.leeds.ac.uk/~bgy1mm

From: fireblade
Subject: Re: Intermediate Lisp project
Date: 
Message-ID: <1178360705.574865.317860@p77g2000hsh.googlegroups.com>
On May 5, 11:16 am, "Malcolm McLean" <·········@btinternet.com> wrote:
> I am C programmer with nearly 20 years' experience, and five years' assembly
> on bedroom micros before that. I've worked my way through a Lisp tutorial.
> However I don't feel quite ready to tackle plugging a Lisp intepreter into
> my adventure game, which is the big project.
> So I need something intermediate to do which is easy in GNU CLisp but hard
> in C. Anyone any ideas?
>
> --
> Free games and programming goodies.http://www.personal.leeds.ac.uk/~bgy1mm

I have cute program in mind:
Write a paint like program that would allow  people to draw freehad a
keyboard
QWERTY characters , that would make making original warning signs like
below
much easier:
          \|||/
          (o o)
 |~~~~ooO~~(_)~~~~~~~|
 | Please            |
 | don't feed the    |
 | TROLL!            |
 '~~~~~~~~~~~~~~Ooo~~'
         |__|__|
          || ||
         ooO Ooo
From: Timofei Shatrov
Subject: Re: Intermediate Lisp project
Date: 
Message-ID: <463cb561.4781445@news.readfreenews.net>
On 5 May 2007 03:25:05 -0700, fireblade <·················@gmail.com> tried to
confuse everyone with this message:

>On May 5, 11:16 am, "Malcolm McLean" <·········@btinternet.com> wrote:
>> I am C programmer with nearly 20 years' experience, and five years' assembly
>> on bedroom micros before that. I've worked my way through a Lisp tutorial.
>> However I don't feel quite ready to tackle plugging a Lisp intepreter into
>> my adventure game, which is the big project.
>> So I need something intermediate to do which is easy in GNU CLisp but hard
>> in C. Anyone any ideas?
>>
>> --
>> Free games and programming goodies.http://www.personal.leeds.ac.uk/~bgy1mm
>
>I have cute program in mind:
>Write a paint like program that would allow  people to draw freehad a
>keyboard
>QWERTY characters , that would make making original warning signs like
>below
>much easier:

Good idea, because the best such program is written in (oh, the horror!) Java.

-- 
|Don't believe this - you're not worthless              ,gr---------.ru
|It's us against millions and we can't take them all... |  ue     il   |
|But we can take them on!                               |     @ma      |
|                       (A Wilhelm Scream - The Rip)    |______________|
From: fireblade
Subject: Re: Intermediate Lisp project
Date: 
Message-ID: <1178528488.585004.165390@l77g2000hsb.googlegroups.com>
On May 5, 7:16 pm, ····@mail.ru (Timofei Shatrov) wrote:
> On 5 May 2007 03:25:05 -0700, fireblade <·················@gmail.com> tried to
> confuse everyone with this message:
>
>
>
>
>
> >On May 5, 11:16 am, "Malcolm McLean" <·········@btinternet.com> wrote:
> >> I am C programmer with nearly 20 years' experience, and five years' assembly
> >> on bedroom micros before that. I've worked my way through a Lisp tutorial.
> >> However I don't feel quite ready to tackle plugging a Lisp intepreter into
> >> my adventure game, which is the big project.
> >> So I need something intermediate to do which is easy in GNU CLisp but hard
> >> in C. Anyone any ideas?
>
> >> --
> >> Free games and programming goodies.http://www.personal.leeds.ac.uk/~bgy1mm
>
> >I have cute program in mind:
> >Write a paint like program that would allow  people to draw freehad a
> >keyboard
> >QWERTY characters , that would make making original warning signs like
> >below
> >much easier:
>
> Good idea, because the best such program is written in (oh, the horror!) Java.
>
> --
> |Don't believe this - you're not worthless              ,gr---------.ru
> |It's us against millions and we can't take them all... |  ue     il   |
> |But we can take them on!                               |     @ma      |
> |                       (A Wilhelm Scream - The Rip)    |______________|- Hide quoted text -
>
> - Show quoted text -

Well it's up to Malcom. Anyway thanks for thumbs up.

cheers
bobi
From: ·················@gmail.com
Subject: Re: Intermediate Lisp project
Date: 
Message-ID: <1178370103.206638.38770@p77g2000hsh.googlegroups.com>
On May 5, 11:16 am, "Malcolm McLean" <·········@btinternet.com> wrote:
> I am C programmer with nearly 20 years' experience, and five years' assembly
> on bedroom micros before that. I've worked my way through a Lisp tutorial.
> However I don't feel quite ready to tackle plugging a Lisp intepreter into
> my adventure game, which is the big project.
> So I need something intermediate to do which is easy in GNU CLisp but hard
> in C. Anyone any ideas?
>
> --
> Free games and programming goodies.http://www.personal.leeds.ac.uk/~bgy1mm

Try some web application development if that interests you, or rewrite
some piece of software written in c.

Pet
From: Rainer Joswig
Subject: Re: Intermediate Lisp project
Date: 
Message-ID: <joswig-775967.11501805052007@news-europe.giganews.com>
In article <·······················@bt.com>,
 "Malcolm McLean" <·········@btinternet.com> wrote:

> I am C programmer with nearly 20 years' experience, and five years' assembly 
> on bedroom micros before that. I've worked my way through a Lisp tutorial. 
> However I don't feel quite ready to tackle plugging a Lisp intepreter into 
> my adventure game, which is the big project.
> So I need something intermediate to do which is easy in GNU CLisp but hard 
> in C. Anyone any ideas?

Why not do a small 'natural language interface'?

In the literature there are small projects like a natural
language interface to a database (Winston&Horn) or to
some mathematics (Norvig). Other, funny, attempts
were 'Eliza' (M-x Doctor in Emacs). There are
also some generators of output. There the idea
is that you have some representation of what
you want to 'say' and the program generates the
actual sentences. For fun you could even experiment
with a simple speech interface. This usually
one of the first things I get working in a Lisp
environment (interfacing to speech). Imagine some
universal speech-based notification system where
you can output things. It would also need to
make sure that you are not overflown with messages,
the maybe priorities for informations, times where
you wouldn't want to notified, ...
and so on (mail arrived, calendar events, time,
weather changes, internet connection loss, daylight
conditions, chat, important news from the net, ...).

Or why not do something game related? Define some small language
and write a parser for it.

Typical questions then:

* what is the domain and the language?

* how can you represent the language nicely in Lisp?

* how to represent the 'knowledge' of your domain?

* how to parse the language?

* how to write a nice compiler/interpreter from your
  language to Lisp?

* how to deal with input/output errors?


This would give you a bit of feeling for programming
with symbols and functions. Quite some difference from
assembler and C. You would implement some language
on top of Lisp. Which would give you an idea about
embedding integrating something like that into Lisp.

-- 
http://lispm.dyndns.org
From: Alan Crowe
Subject: Re: Intermediate Lisp project
Date: 
Message-ID: <864pmrii3b.fsf@cawtech.freeserve.co.uk>
Rainer Joswig <······@lisp.de> writes:

> In article <·······················@bt.com>,
>  "Malcolm McLean" <·········@btinternet.com> wrote:
> 
> > I am C programmer with nearly 20 years' experience, and five years' assembly 
> > on bedroom micros before that. I've worked my way through a Lisp tutorial. 
> > However I don't feel quite ready to tackle plugging a Lisp intepreter into 
> > my adventure game, which is the big project.
> > So I need something intermediate to do which is easy in GNU CLisp but hard 
> > in C. Anyone any ideas?
> 
> Why not do a small 'natural language interface'?
> 
> In the literature there are small projects like a natural
> language interface to a database (Winston&Horn) or to
> some mathematics (Norvig). Other, funny, attempts
> were 'Eliza' (M-x Doctor in Emacs). 

Rainer makes excellent suggestions.

To make this more concrete here is part of my personal
"Learn CL better" plan:

1) re-read Norvig chapter on Eliza

2) code it up

3) redo it with

    3.1) context free grammars as templates

    3.2) using Earley algorithm for parsing

This could go in lots of directions - interface to a
database to produce a stateful chatbot, which could be a
text adventure...

The Earley algorithm copes with all context free grammars. You
would have great freedom devising templates which should
make writing the chat-rules easier and more fun.

The Earley algorithm is a bugger to code. Doing it several
times until one has nice code kills two birds with one
stone, improving ones Lisp technique and learning an
important algorithm. I think one would get a strong sense of
doing something in CL that one would not attempt in C

Alan Crowe
Edinburgh
Scotland