From: Sean SCC
Subject: New to Lisp and Web Programming
Date: 
Message-ID: <1157381274.421393.38930@i42g2000cwa.googlegroups.com>
I was a professional programmer back in the old DOS days. I know C,
8086 assembler, Clipper, Pascal etc. After an almost complete break
from programming (except for VBA) I now want to get back into serious
hobbyist programming.

I have chosen CL as my choice of language, and CLISP as my development
environment. For practical reasons I need to develop under Windows XP.

Whenever I start a new language I usually try to write a significant
application to learn a healthy portion of the language - I generally
choose a game of some sort, unless I have a pressing alternative.

Well now I have a pressing alternative. I need to write an application
that can access various websites to scrape information, and I need to
create my own website with a summarised and well laid out version of
the scraped data. The website would require the data to be stored in a
database of some form which the users coould acess. Over time the web
site would need to have things like a forum, feedback ability and other
goodies added.

Of the websites I need to access, some would require a login/password,
some would allow direct access to a URL with the info and some can only
be accessed by pressing on some button with calls a script - so not
allowing direct access.

Ok that's the background - now really looking for advice on how I can
get the knowledge in order to implement the above.  Books, Websites,
pointers to code and libraries on the net and any help I can get is
appreciated. I am not looking for a turnkey solution like - "install
package ABC and it does everything already for you". Remember I want to
learn how - as in "teach a man to fish..."

:-)

From: Pascal Costanza
Subject: Re: New to Lisp and Web Programming
Date: 
Message-ID: <4m2td7F47qeaU1@individual.net>
Sean SCC wrote:
[...]

> I have chosen CL as my choice of language, and CLISP as my development
> environment. For practical reasons I need to develop under Windows XP.
> 
> Whenever I start a new language I usually try to write a significant
> application to learn a healthy portion of the language - I generally
> choose a game of some sort, unless I have a pressing alternative.
[...]

> 
> Ok that's the background - now really looking for advice on how I can
> get the knowledge in order to implement the above.  Books, Websites,
> pointers to code and libraries on the net and any help I can get is
> appreciated. I am not looking for a turnkey solution like - "install
> package ABC and it does everything already for you". Remember I want to
> learn how - as in "teach a man to fish..."
> 
> :-)

This is definitely a healthy attitude.

Good websites that provide overviews of what is available (libraries, 
books, tutorials, etc.) can be found at http://cl-user.net , 
http://common-lisp.net and http://www.cliki.net

Some time ago I have written a guide for "advanced beginners" which you 
can find at http://p-cos.net/lisp/guide.html

Good books about Common Lisp include "Practical Common Lisp" by Peter 
Seibel and "Paradigms of Artificial Intelligence Programming" by Peter 
Norvig. For advanced topics, especially macro programming, "On Lisp" by 
Paul Graham is highly recommended.

In the beginning, it's a good idea not to worry too much about 
portability across several Common Lisp implementations. Just program 
against one specific implementation, and worry about portability later 
when this becomes necessary. (This seems to be a typical beginner's 
mistake.)


I hope this helps.


Pascal

-- 
My website: http://p-cos.net
Common Lisp Document Repository: http://cdr.eurolisp.org
Closer to MOP & ContextL: http://common-lisp.net/project/closer/
From: Sean SCC
Subject: Re: New to Lisp and Web Programming
Date: 
Message-ID: <1157382879.062546.36320@74g2000cwt.googlegroups.com>
Thanks Pascal,

I have looked at your web site some time ago - will go look again.

I have purchased the books:
Practical Common Lisp
Paradigms of Artificial Intelligence
Structure and Interpretation of Computer Programs
Exercise book to SICP

Even though these are generally avaliable online I like to support
Authors that share their work online and I just find it easier in many
cases to have the actual book. On Lisp by PG will likely be my next
purchase.

Unfortunately none of these books as far as I know mention much about
web programming in CL and I am mostly stuck at this point - I can learn
CL but not sure how to use CL for web access/development.




Pascal Costanza wrote:

> This is definitely a healthy attitude.
>
> Good websites that provide overviews of what is available (libraries,
> books, tutorials, etc.) can be found at http://cl-user.net ,
> http://common-lisp.net and http://www.cliki.net
>
> Some time ago I have written a guide for "advanced beginners" which you
> can find at http://p-cos.net/lisp/guide.html
>
> Good books about Common Lisp include "Practical Common Lisp" by Peter
> Seibel and "Paradigms of Artificial Intelligence Programming" by Peter
> Norvig. For advanced topics, especially macro programming, "On Lisp" by
> Paul Graham is highly recommended.
>
> In the beginning, it's a good idea not to worry too much about
> portability across several Common Lisp implementations. Just program
> against one specific implementation, and worry about portability later
> when this becomes necessary. (This seems to be a typical beginner's
> mistake.)
>
>
> I hope this helps.
>
>
> Pascal
>
> --
> My website: http://p-cos.net
> Common Lisp Document Repository: http://cdr.eurolisp.org
> Closer to MOP & ContextL: http://common-lisp.net/project/closer/
From: Ari Johnson
Subject: Re: New to Lisp and Web Programming
Date: 
Message-ID: <m2wt8jtz5p.fsf@hermes.theari.com>
"Sean SCC" <···········@googlemail.com> writes:

> Thanks Pascal,
>
> I have looked at your web site some time ago - will go look again.
>
> I have purchased the books:
> Practical Common Lisp
> Paradigms of Artificial Intelligence
> Structure and Interpretation of Computer Programs
> Exercise book to SICP
>
> Even though these are generally avaliable online I like to support
> Authors that share their work online and I just find it easier in many
> cases to have the actual book. On Lisp by PG will likely be my next
> purchase.
>
> Unfortunately none of these books as far as I know mention much about
> web programming in CL and I am mostly stuck at this point - I can learn
> CL but not sure how to use CL for web access/development.

The same way as you would do it in any language.  Either find or
create a library of routines to access the web, and then build your
application on top of it.  The cool thing about Lisp is that you can
do it all incrementally.  Create a function that grabs a document by
its URL and then test it at the REPL.  Create another function (or do
this one first) that parses the document for the information you want,
and test it with sample data before tying it to the downloader
function.  Etc.

You may want to look at http://www.cliki.net/ for existing code to
help you get started.
From: John Thingstad
Subject: Re: New to Lisp and Web Programming
Date: 
Message-ID: <op.tfeuj7q6pqzri1@pandora.upc.no>
On Mon, 04 Sep 2006 17:14:39 +0200, Sean SCC <···········@googlemail.com>  
wrote:

>
> Unfortunately none of these books as far as I know mention much about
> web programming in CL and I am mostly stuck at this point - I can learn
> CL but not sure how to use CL for web access/development.
>

There are no books on web programming in CL that I a am aware of.
But it basically evolves around understanding HTML, CSS, JavaScript, HTTP  
and
CGI protocol (XML, XML-RPC, SOAP..). I learned programming for the web  
with PHP.
www.sitepoint.com has many books for example and OReilly as well.
Then I work to transfer that knowledge to CL.
I like AlegroServe and ActionScript's, but there are many other
options out there. The references and user guides for this
are good enough that if you know how to do it in PHP you
should have little trouble figuring out how to do it in
Lisp.


-- 
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
From: Andras Simon
Subject: Re: New to Lisp and Web Programming
Date: 
Message-ID: <vcdd5aaav2y.fsf@csusza.math.bme.hu>
"Sean SCC" <···········@googlemail.com> writes:

> Thanks Pascal,
> 
> I have looked at your web site some time ago - will go look again.
> 
> I have purchased the books:
> Practical Common Lisp
> Paradigms of Artificial Intelligence
> Structure and Interpretation of Computer Programs
> Exercise book to SICP
> 
[...]
> 
> Unfortunately none of these books as far as I know mention much about
> web programming in CL and I am mostly stuck at this point - I can learn
> CL but not sure how to use CL for web access/development.

Chapter 26 of Practical Common Lisp is about web programming with
AllegroServe. (AllegroServe's documentation is quite readable, too.)

Andras
From: Pascal Bourguignon
Subject: Re: New to Lisp and Web Programming
Date: 
Message-ID: <87u03nboc2.fsf@thalassa.informatimago.com>
"Sean SCC" <···········@googlemail.com> writes:
> Well now I have a pressing alternative. I need to write an application
> that can access various websites to scrape information, and I need to
> create my own website with a summarised and well laid out version of
> the scraped data. The website would require the data to be stored in a
> database of some form which the users coould acess. Over time the web
> site would need to have things like a forum, feedback ability and other
> goodies added.

You're lucky.  We are a new drakma package which is a  http client.

(I would have called it weitz-http-client to let users find it easily
when googling: http client lisp; with a name like drakma, who will we
be able to convince that lisp programmers are not money oriented?).


There are of course several lisp http servers and html generating
packages too.


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

COMPONENT EQUIVALENCY NOTICE: The subatomic particles (electrons,
protons, etc.) comprising this product are exactly the same in every
measurable respect as those used in the products of other
manufacturers, and no claim to the contrary may legitimately be
expressed or implied.
From: Sean SCC
Subject: Re: New to Lisp and Web Programming
Date: 
Message-ID: <1157388122.708752.16860@e3g2000cwe.googlegroups.com>
Pascal Bourguignon wrote:
> "Sean SCC" <···········@googlemail.com> writes:
> > Well now I have a pressing alternative. I need to write an application
> > that can access various websites to scrape information, and I need to
> > create my own website with a summarised and well laid out version of
> > the scraped data. The website would require the data to be stored in a
> > database of some form which the users coould acess. Over time the web
> > site would need to have things like a forum, feedback ability and other
> > goodies added.
>
> You're lucky.  We are a new drakma package which is a  http client.
>
> (I would have called it weitz-http-client to let users find it easily
> when googling: http client lisp; with a name like drakma, who will we
> be able to convince that lisp programmers are not money oriented?).
>
>
> There are of course several lisp http servers and html generating
> packages too.
>
>
> --
> __Pascal Bourguignon__                     http://www.informatimago.com/
>
> COMPONENT EQUIVALENCY NOTICE: The subatomic particles (electrons,
> protons, etc.) comprising this product are exactly the same in every
> measurable respect as those used in the products of other
> manufacturers, and no claim to the contrary may legitimately be
> expressed or implied.


Thanks again - Drakma seems like a good place to look at source code to
get an idea of web programming.

The problem is there are probably a lot of web/lisp libraries out there
but but not all lend themselves to understanding by both a web and Lisp
newbie.
From: Robert Uhl
Subject: Re: New to Lisp and Web Programming
Date: 
Message-ID: <m3k64jkrkl.fsf@NOSPAMgmail.com>
Allegroserve has an HTTP client as well as a server--the client can read
the web sites, your code can process that, and then you can serve it
out...

-- 
Robert Uhl <http://public.xdi.org/=ruhl>
A layman knows he has to kick it; An amateur knows where to kick it; A
professional knows how hard.                            --Mike Andrews