Re: [Gardeners] Scheme vs CommonLisp

2008-08-14 Thread Daniel Weinreb

Peter,

Wow, what an awesome answer.  This is exactly right to the
best of my own knowledge.  I will add a few more facts.

As Peter knows, there are a few people out there who are
100% /au courant/ with both Common Lisp and Scheme,
technically, culturally, and historically,
and can accurately assess the similarities and differences
in great detail and very fairly.

Alan Bawden and Guy Steele are the ones who spring
to mind, but I'm sure there are some others out there.

Although Scheme has specs (for the different revisions)
that are written far more carefully than the Common Lisp
spec, nevertheless the differences between the
implementations are severely worse than among the
11 Common Lisp implementations.  (Alexey Radul
did a presentation not long ago on this at the Boston
Lisp Meeting.)  Also, revision 6 (known as R6RS)
of Scheme, which came out last year, is somewhat
controversial, and some Scheme maintainers have
said that they will stick at revision 5; but it remains
to be seen.

The guys behind PLT Scheme are extremely smart
and are doing a wonderful job.  They have some
great programming tools, aimed at students, but
usable by anyone.  Someday it would be nice if
someone created analogous technology for Common
Lisp.

-- Dan

___
Gardeners mailing list
Gardeners@lispniks.com
http://www.lispniks.com/mailman/listinfo/gardeners


Re: [Gardeners] Scheme vs CommonLisp

2008-08-14 Thread Daniel Weinreb


nubis wrote:

 I know, I know, this sounds like ramblings from a person who can't make
 up his mind (which in part, they are)
   
On the contrary, I think you have a very good grasp of the tradeoffs.
 Am I to wrong to look at Common lisp for a metaprogramable python
 replacement? (with less library bindings and googlish hype) 
   
No, you're right.
 Is opening a REPL and running your program the recomended way to run a
 lisp program? was it ever, or was it just a misconception?
   
Yes, while you're developing, definitely.  Once you deploy an 
application, there
are ways to start Lisp running your program, so the end user need not 
see the REPL.

-- Dan

-- 

Daniel Weinreb
[EMAIL PROTECTED]
http://danweinreb.org/blog/
http://ilc2009.scheming.org/

___
Gardeners mailing list
Gardeners@lispniks.com
http://www.lispniks.com/mailman/listinfo/gardeners


Re: [Gardeners] Scheme vs CommonLisp

2008-08-14 Thread Daniel Weinreb


Marek Kubica wrote:

 Scheme does
 only provides only HOP (runs only on Bigloo) and the stuff that PLT
 Scheme comes with.
   
HOP is so cool!  As long as you want to program in the Bigloo 
implementation of Scheme.
http://hop.inria.fr/  It won the Open Source Software Competition at ACM 
Multimedia 2007.
I saw Manuel Serrano's presentation at the Montreal Scheme and Lisp User 
Group
last fall.  Everybody was blown away.
 The feature and problem with Scheme is that it has been traditionally
 tiny, so it is hard to write useful code that is implementation
 independent
(And also the implementations just aren't very compatible with each other
Common Lisp implementations are actually quite good about this, as far
as the language spec goes.  Language extensions, however are idiosyncratic.)
  so you often have a hard time to find libraries that you
 need (for example datetime - as far as I have seen only SCSH seems to
 have facilities to calculate with dates). Usually I'd recommend PLT
 Scheme which comes with batteries included and has a Cheeseshop
 equivalent called PLaneT where you can find some more libraries that
 might help you.
   
Indeed.  But HOP probably won't work with it.

 Common Lisp has the great SLIME extension, whereas Scheme has DrScheme
 which is also a reasonably good Scheme editor with some nifty features.
   
PLT Scheme has DrScheme; I don't know whether it runs in other Schemes.

-- Dan
 Now, the conclusion is... use what fits your mind better. Maybe I am
 talking too much about it, I should better try to continue building
 some real programs :)

 regards,
 Marek
 ___
 Gardeners mailing list
 Gardeners@lispniks.com
 http://www.lispniks.com/mailman/listinfo/gardeners

   

-- 

Daniel Weinreb
[EMAIL PROTECTED]
http://danweinreb.org/blog/
http://ilc2009.scheming.org/

___
Gardeners mailing list
Gardeners@lispniks.com
http://www.lispniks.com/mailman/listinfo/gardeners


Re: [Gardeners] Scheme vs CommonLisp

2008-08-14 Thread Marek Kubica
On Thu, 14 Aug 2008 10:08:47 -0400
Daniel Weinreb [EMAIL PROTECTED] wrote:

 HOP is so cool!  As long as you want to program in the Bigloo 
 implementation of Scheme.
 http://hop.inria.fr/  It won the Open Source Software Competition at
 ACM Multimedia 2007.
 I saw Manuel Serrano's presentation at the Montreal Scheme and Lisp
 User Group
 last fall.  Everybody was blown away.

Fluxus http://www.pawfal.org/fluxus/ is also cool, while not being a
web framework it is a really impressing thing to show others how great
Scheme (and basically also other Lisps) is; unfortunately it runs only
on PLT Scheme.

  Common Lisp has the great SLIME extension, whereas Scheme has
  DrScheme which is also a reasonably good Scheme editor with some
  nifty features. 
 PLT Scheme has DrScheme; I don't know whether it runs in other
 Schemes.
No, it does not, but it has support for other custom-languages (called
as far as I get it teachpacks) like Typed Scheme etc.

Besides DrScheme there is still Quack
http://www.neilvandyke.org/quack/ for Emacs, so SLIME users are not
forced to change editors. But it is not as fully featured as Emacs.
DrScheme has also the Ability to show pictures in the REPL, which is
possible with SLIME only using some patches which do not look like
they would be integrated into SLIME anytime soon.

regards,
Marek
___
Gardeners mailing list
Gardeners@lispniks.com
http://www.lispniks.com/mailman/listinfo/gardeners


Re: [Gardeners] Scheme vs CommonLisp

2008-08-14 Thread Chris Dean

nubis [EMAIL PROTECTED] writes:
 I can find the differences between them STFW (already found some of
 them), but I want your informated subjective opinion. What are the
 biggest differences technical and culturally between Common Lisp and
 Plt Scheme. Which kind of people uses each one?

The other answers have been great, but I wanted to give you my
opinion.  Especially since colleagues ask me this question all the
time.   (Well, actually they ask me is they should use Scheme or
Common Lisp.)

I think that if you are just starting out, you should use PLT Scheme.
It has a very friendly and helpful community as well as a very good
set of libraries.  That isn't to say the other Schemes and CLs aren't
good (they are generally wonderfully), but PLT is a particularly good
environment to start in.

That's my opinion, for whatever it's worth!

If you choose PLT Scheme there is a simple guide to writing web apps
at http://docs.plt-scheme.org/more/

Cheers,
Chris Dean

___
Gardeners mailing list
Gardeners@lispniks.com
http://www.lispniks.com/mailman/listinfo/gardeners


Re: [Gardeners] Scheme vs CommonLisp

2008-08-13 Thread Peter Seibel
Typically Scheme is seen as less real world than Common Lisp but
specific Scheme implementations (such as PLT) can be very much real
world. Common Lisp gives you more out of the box (i.e. the same
between implementations) but depending on what part of the real world
you want to deal with you may still need to have small amounts of
implementation specific code. Then there are various subtle
differences between the languages and surrounding cultures that
partisans can fight about forever.

I could also quote from the (not very complete) Lisp FAQ at
http://www.lispniks.com/faq/faq.html#s7q1

Is Scheme a Lisp?

Yes. Anyway, the Scheme standard (R5RS) says it is. (Scheme is a
statically scoped and properly tail-recursive dialect of the Lisp
programming language.) On the other hand, Scheme and Common Lisp,
while sharing an intellectual legacy and a number of important
characteristics, also differ in ways just subtle enough to stir up a
good old fashion religious war. Consequently, Scheme vs. Common Lisp
discussions almost never go well. And you may run across prominent
Common Lispers who will argue—in an angels on a pinhead kind of
way—that Scheme is not in fact a Lisp. You may also hear folks who say
Scheme is not Lisp, meaning, Scheme is not the end-all-and-be-all of
possible Lisp dialects. This is usually said in conversations with
people turned off Lisp forever by a bad undergraduate experience
with Scheme.

Ultimately Scheme and Common Lisp differ in their history and their
current communities of users. Scheme was invented in order to test out
certain theories of language design and continues to be used by people
interested in having a small, simply defined language for further
language research and pedagogy. Which is not to say that's the only
way Scheme is used, but it helps give the Scheme community its
particular flavor. Common Lisp, on the other hand, is the offspring of
the systems-programming Lisps of the Artificial Intelligence boom. It
continues to be an important AI language and is now used largely by
people who care more about raw power and writing software than they do
about conceptual purity and good pedagogy. Again, this is a portrait
in broad strokes but there is truth in it.

As an intellectual exercise, learning both Scheme and Common Lisp will
enrich your understanding of the platonic ideal of Lisp and of
programming in general. As a practical matter, if you do learn both,
you'll likely gravitate to one or the other based on your own
predilections and the kind of projects you are interested in.

-Peter

P.S. This list is more or less specific to Common Lisp but I'm happy
to have a discussion going here as long as it stays civil.

On Wed, Aug 13, 2008 at 1:58 PM, nubis [EMAIL PROTECTED] wrote:
 Hi everybody,
 I recently came across plt scheme, through Common Lisp, I've never got a
 chance to work with common lisp, I'm mostly a python web guy. But when I
 found Scheme my first thought was this is a 'real world' lisp, I know
 I can find the differences between them STFW (already found some of
 them), but I want your informated subjective opinion. What are the
 biggest differences technical and culturally between Common Lisp and Plt
 Scheme. Which kind of people uses each one?


 And also I don't like this list to be so quiet, I know most members know
 lots of things I would like to know myself, please share :)

 nubis :)
 http://woobiz.com.ar

 ___
 Gardeners mailing list
 Gardeners@lispniks.com
 http://www.lispniks.com/mailman/listinfo/gardeners




-- 
Peter Seibel
http://www.codersatwork.com/
http://www.gigamonkeys.com/blog/
___
Gardeners mailing list
Gardeners@lispniks.com
http://www.lispniks.com/mailman/listinfo/gardeners


Re: [Gardeners] Scheme vs CommonLisp

2008-08-13 Thread Ivan Toshkov
On Wed, Aug 13, 2008 at 11:58 PM, nubis [EMAIL PROTECTED] wrote:
 Hi everybody,
 I recently came across plt scheme, through Common Lisp, I've never got a
 chance to work with common lisp, I'm mostly a python web guy. But when I
 found Scheme my first thought was this is a 'real world' lisp, I know
 I can find the differences between them STFW (already found some of
 them), but I want your informated subjective opinion. What are the
 biggest differences technical and culturally between Common Lisp and Plt
 Scheme. Which kind of people uses each one?

Both Common Lisp and Scheme are great languages and I think it is
mostly a question of what you would prefer.  I started with Scheme and
after a few years of doing almost nothing with it I gave Common Lisp a
try.  I haven't done much with it either, but still it's closer to my
tastes.

For me the biggest hurdle with Scheme was there are a bunch of good
implementations and a bunch of good libraries, but the libraries
weren't very portable.  But this was a few years back, and now PLT
really looks like a great Scheme with great libraries, so it shouldn't
be a problem any more.

You could try learning just enough of both languages, and see which
one fits your tastes better.  Use it for some time and give the other
a second chance: at the very least it won't hurt.  For CL starting
with Practical Common Lisp[1] seems like a safe bet.

I guess Schemers can give a good advise where to start with it.  I
started with SICP[2] and was blown away, but many people don't like it
that much.

Have fun.
Ivan



 And also I don't like this list to be so quiet, I know most members know
 lots of things I would like to know myself, please share :)

 nubis :)
 http://woobiz.com.ar


[1] http://www.gigamonkeys.com/book
[2] http://mitpress.mit.edu/sicp/

-- 
...Please don't assume Lisp is only useful for Animation and Graphics,
AI, Bioinformatics, B2B and E-Commerce, Data Mining, EDA/Semiconductor
applications, Expert Systems, Finance, Intelligent Agents, Knowledge
Management, Mechanical CAD, Modeling and Simulation, Natural Language,
Optimization, Research, Risk Analysis, Scheduling, Telecom, and Web
Authoring just because these are the only things they happened to
list.
 -- Kent Pitman
___
Gardeners mailing list
Gardeners@lispniks.com
http://www.lispniks.com/mailman/listinfo/gardeners


Re: [Gardeners] Scheme vs CommonLisp

2008-08-13 Thread nubis
On Thu, 2008-08-14 at 00:40 +0300, Ivan Toshkov wrote:
 On Wed, Aug 13, 2008 at 11:58 PM, nubis [EMAIL PROTECTED] wrote:
  Hi everybody,
  I recently came across plt scheme, through Common Lisp, I've never got a
  chance to work with common lisp, I'm mostly a python web guy. But when I
  found Scheme my first thought was this is a 'real world' lisp, I know
  I can find the differences between them STFW (already found some of
  them), but I want your informated subjective opinion. What are the
  biggest differences technical and culturally between Common Lisp and Plt
  Scheme. Which kind of people uses each one?
...snip...
 You could try learning just enough of both languages, and see which
 one fits your tastes better.  Use it for some time and give the other
 a second chance: at the very least it won't hurt.  For CL starting
 with Practical Common Lisp[1] seems like a safe bet.
 
 I guess Schemers can give a good advise where to start with it.  I
 started with SICP[2] and was blown away, but many people don't like it
 that much.
 
 Have fun.
 Ivan
Thanks! yes, I read Practical Common Lisp around 6 months ago, (great
book, thanks Peter) thats how I joined this list.

I agree learning a little of both languages till I know which one I
rather code in. Here's my story so far: I learned a lot by reading PCL,
understanding the CLOS blew my hat off as we say here in Argentina
when something really impresses us, I really learned a lot about OOP
when I thought I knew pretty much, and I just love the looping language.
On the other hand, PLT scheme has DrScheme, with a small tool to
generate a stand-alone executable (which makes it easier to deploy and
share with non-lispers), smalltalkish 'message-passing' OO approach,
like (send object message args...), and only one obvious way of
importing modules. Overall is easier to grasp than the vast common lisp.
Library wise, I think I rather common-lisp b/c it seems to have way more
libraries and FFI's. Some things I didn't like about scheme is the tail
recursion orientation, and the lack of dynamic scoping. I still don't
understand why people like paul graham think dynamic scoping is
harmful :s (never read an actual explanation)

Anyways as a python guy, I like the zen of python, I agree with it, and
common lisp looks compatible with it, with the added value of
metaprogramming.

I know, I know, this sounds like ramblings from a person who can't make
up his mind (which in part, they are)

Am I to wrong to look at Common lisp for a metaprogramable python
replacement? (with less library bindings and googlish hype) 

Is opening a REPL and running your program the recomended way to run a
lisp program? was it ever, or was it just a misconception?

I'm just a web programmer that ocassionally makes games, and I feel the
toolchains for this tasks are not as 'snappy' as python's, I'm not
saying I wouldn't get into it, just want to know what I'm getting
into :)

-- 
nubis :)
http://woobiz.com.ar

___
Gardeners mailing list
Gardeners@lispniks.com
http://www.lispniks.com/mailman/listinfo/gardeners


Re: [Gardeners] Scheme vs CommonLisp

2008-08-13 Thread Marek Kubica
Hi,

On Wed, 13 Aug 2008 17:58:37 -0300
nubis [EMAIL PROTECTED] wrote:

 I recently came across plt scheme, through Common Lisp, I've never
 got a chance to work with common lisp, I'm mostly a python web guy.
 But when I found Scheme my first thought was this is a 'real world'
 lisp, I know I can find the differences between them STFW (already
 found some of them), but I want your informated subjective opinion.
 What are the biggest differences technical and culturally between
 Common Lisp and Plt Scheme. Which kind of people uses each one?

I'm also a Python guy and if you count in Spyce (long-dead now),
Webware (ultimately turned into Python Paste), Django, Werkzeug,
Nevow and the WSGI stack so I have to call byself also a web guy, I
guess.

Anyway: When I first started I also had the question on what to start
with. One of my first issues was the documentation. Practical Common
Lisp by Peter Seibel is really a big plus for choosing CL, because it
shows like no other book how CL can be useful in these days. On the
Scheme side there is SICP which I personally don't like too much, but
maybe I'll learn to appreciate some time. The problem is that most
documentation (mainly books) are outdated, e.g. Scheme and the Art of
Programming is a nice book but for example the Macros that they
describe look quite different these days because when the book was
written they were not yet standardized. Peter, in case you'd like to
write Practical Scheme, add me to the is-surely-going-to-buy-it
list :)

If you want to do web-stuff, then CL is probably the better way as
there are numerous libraries and framweorks like UnCommon Web (UCW),
Hunchentoot, CL-WHO (in case you know Nevow Stan) etc. Maybe not that
numerous as Python but you're not left alone with CGI-only. Scheme does
only provides only HOP (runs only on Bigloo) and the stuff that PLT
Scheme comes with.

The feature and problem with Scheme is that it has been traditionally
tiny, so it is hard to write useful code that is implementation
independent so you often have a hard time to find libraries that you
need (for example datetime - as far as I have seen only SCSH seems to
have facilities to calculate with dates). Usually I'd recommend PLT
Scheme which comes with batteries included and has a Cheeseshop
equivalent called PLaneT where you can find some more libraries that
might help you.

On the CL side there is CLOS and the MOP, whereas on the Scheme side
there are numerous smaller clones of the CLOS (e.g. STklos), numerous
independent object systems and numerous implementation-bound object
systems (PLT has as far as I understand two of them). But unlike CL,
OOP is not that important in Scheme as the language and the community
are focused more on functional approaches to problem-solving. Oh and
yeah, let me mention that I think Python resembles Scheme more than CL;
sometimes when I have nothing useful to do I start seeing things that
are identical in Python and in Scheme.

Common Lisp has the great SLIME extension, whereas Scheme has DrScheme
which is also a reasonably good Scheme editor with some nifty features.

Now, the conclusion is... use what fits your mind better. Maybe I am
talking too much about it, I should better try to continue building
some real programs :)

regards,
Marek
___
Gardeners mailing list
Gardeners@lispniks.com
http://www.lispniks.com/mailman/listinfo/gardeners