From: jesse
Subject: mit-scheme+emacs+slime
Date: 
Message-ID: <2007021217174916807-jessem@gmailcom>
Howdy Y'all,

I am a LISP newbie going through the Abelson/Sussman video lectures.
found here:
http://www.swiss.ai.mit.edu/classes/6.001/abelson-sussman-lectures
http://mitpress.mit.edu/sicp/full-text/book/book.html

I have been enjoying the lectures enormously, though I have hit a few
roadblocks and detours along the way.

My questions are (in no particular order) as follows

1. Is mit-scheme current release what I should be using for going over 
these lectures?

2. Is emacs (I miss vi already) really the only way to go?

3. How should I  approach the vast numbers of LISP variants?

4. Although I glean the answer might be: ANYTHING!  What are
    the main uses/implementations of this language?

Thanks in advance for any and all advice.
--
-jesse

From: Adam
Subject: Re: mit-scheme+emacs+slime
Date: 
Message-ID: <1171356529.364202.185110@m58g2000cwm.googlegroups.com>
Hello,

On Feb 13, 9:17 am, jesse <·······@_gmail.com> wrote:
> Howdy Y'all,
>
> I am a LISP newbie going through the Abelson/Sussman video lectures.
> found here:http://www.swiss.ai.mit.edu/classes/6.001/abelson-sussman-lectureshttp://mitpress.mit.edu/sicp/full-text/book/book.html
>
> I have been enjoying the lectures enormously, though I have hit a few
> roadblocks and detours along the way.

I actually just got through using the book they have for free online
(though I didn't know about the video lectures until too late) and
highly recommend it. I can't say I actually know how to do much
practically with lisp afterwards, but it gives you a very firm grasp
of the fundamentals of programming. Given all that, my answer is going
to be very sympathetic to the needs of the newbie, but might not be
totally correct.

>
> My questions are (in no particular order) as follows
>
> 1. Is mit-scheme current release what I should be using for going over
> these lectures?
> 2. Is emacs (I miss vi already) really the only way to go?

If you go to that course page on OpenCourseWare, you'll see that in
the last year available online, they switched to teaching students
with the newer PLT Scheme distribution and its much more user-friendly
Dr. Scheme editor (http://www.drscheme.org/). I found it much easier
to deal with thinking through the assignments without having to think
through the text editor. That said, if you want to do serious work in
lisp later, you are probably better off getting used to emacs+slime
now. It isn't that hard after a few days if you just constantly do
it.
>
> 3. How should I  approach the vast numbers of LISP variants?

With a sense of humor? Your system and your library needs will make it
very easy to narrow down the many completely impossible possibilities
to the one or two that, while listed as compatible, will end up being
horrendously complicated to make work. If you're good with google,
though, you can find fixes for almost anything, as you're not the
first with any of these questions.

I can say, personally, that in trying to get a recent project to work,
I went through all of the freely-available versions of commercial
distributions and found them a bit too restrictive, but was very happy
with SBCL. It includes asdf package support (invented it, actually)
and seems much faster than the other open source implementations.

> 4. Although I glean the answer might be: ANYTHING!  What are
>     the main uses/implementations of this language?

To learn a bit about the unique pluses of lisp, check out Graham's On
Lisp (Warning, pdf! http://lib.store.yahoo.net/lib/paulgraham/onlisp.pdf)
which covers some high-level stuff that is possible, but not as easy,
to do in other languages.

Good luck!

-Adam

>
> Thanks in advance for any and all advice.
> --
> -jesse
From: bradb
Subject: Re: mit-scheme+emacs+slime
Date: 
Message-ID: <1171377766.064423.232010@a34g2000cwb.googlegroups.com>
On Feb 12, 5:17 pm, jesse <·······@_gmail.com> wrote:
> Howdy Y'all,
>
> I am a LISP newbie going through the Abelson/Sussman video lectures.
> found here:http://www.swiss.ai.mit.edu/classes/6.001/abelson-sussman-lectureshttp://mitpress.mit.edu/sicp/full-text/book/book.html
>
> I have been enjoying the lectures enormously, though I have hit a few
> roadblocks and detours along the way.
>
> My questions are (in no particular order) as follows
>
> 1. Is mit-scheme current release what I should be using for going over
> these lectures?
>
> 2. Is emacs (I miss vi already) really the only way to go?
If you want to use Slime (and you really do want to), then yes, Emacs
is the only real answer.  I'm a Vim/Vi user too normally, I've
modified Viper and the default Slime keymapping to get them to feel
like Vi.
You can get my changes from darcs
darcs get http://common-lisp.net/project/vial/darcs/extended-viper
The major Viper/Vim difference is that ^G is used instead of ^C for
changing back to command mode.  And you should get in the habit of
pressing ^G, because it is "quit" from lots of other Emacs modes, like
search.

Cheers
Brad
From: Rob Warnock
Subject: Re: mit-scheme+emacs+slime
Date: 
Message-ID: <-6CdnYSGzIA-IUzYnZ2dnUVZ_tadnZ2d@speakeasy.net>
jesse  <·······@_gmail.com> wrote:
+---------------
| 2. Is emacs (I miss vi already) really the only way to go?
+---------------

A heretic's answer: No, if you simply can't abide Emacs [I can't,
though not for lack of trying], don't despair. You can use "Vi" or
"Vim" to successfully code in Lisp (including Common Lisp & Scheme),
though you do lose certain accelerators available in Emacs, especially
the automatic reformatting/reindenting. Just be sure to familiarize
yourself with the features of "Vi/Vim" that *do* support Lisp,
e.g., paren matching, use of "%" as a motion character -- including
combinations with editing ops, such as "y%" or "d%", and the shifting
ops, such as ">%" and "<%" -- and the "." (repeat last change). IMHO
it also helps to set the left/right shift amount ("shiftwidth" or "sw")
to one (":set sw=1"). Then you can shift a whole s-expr [possibly
spanning multiple lines] right/left by placing the cursor on the
opening/closing paren and typing ">%" or "<%", respectively, then
one or more "." ops to continue shifting in the same direction.

It will also help if you develop a small set of personal functions
and/or macros for use in the REPL to replace some of the accelerators
available in Emacs. You don't need to do this all at once; just keep
in mind. When you discover you're typing the same thing over & over,
then maybe it's time for a convenience function/macro. [One of my
favorites is a REDO function, defined differently for each project
to do whatever is needed to reload/recompile anything that's changed
since the last time. So when you do a write from "Vi", type a (REDO)
into the REPL to update everything. If you're using ASDF then it's
as simple as (DEFUN REDO () (ASDF:OPERATE 'ASDF:LOAD-OP :MY-SYSTEM)).]

+---------------
| 3. How should I  approach the vast numbers of LISP variants?
+---------------

The biggest decision is Scheme versus Common Lisp. If you pick
Scheme, there are a *lot* of them, all quite different in the
available libraries, but one good one for a beginner is PLT Scheme
a.k.a. DrScheme. If you pick Common Lisp, almost all of them
support pretty much the full language, so it's not as hard to
change from one to another. I use CMUCL (mostly), but if you
use Windows that's not a viable choice (yet). There's a list of
free ones here <http://www.cliki.net/Common%20Lisp%20implementation>,
or both free & commercial Common Lisps (*and* Schemes) here
<http://wiki.alu.org/Implementation>.

+---------------
| 4. Although I glean the answer might be: ANYTHING!
|    What are the main uses/implementations of this language?
+---------------

My favorite answer to this [by the creator of the CLHS hypertext]:

    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

As for myself, I only use it for "shell scripting", hardware debugging,
database-backed web sites, mail filters, graphing & plotting data,
system-building metatools, and other minor stuff like that.


-Rob

-----
Rob Warnock			<····@rpw3.org>
627 26th Avenue			<URL:http://rpw3.org/>
San Mateo, CA 94403		(650)572-2607
From: Jens Axel Søgaard
Subject: Re: mit-scheme+emacs+slime
Date: 
Message-ID: <45d32ed0$0$836$edfadb0f@dread12.news.tele.dk>
jesse skrev:

> 1. Is mit-scheme current release what I should be using for going over 
> these lectures?

<http://www.plt-scheme.org/software/drscheme/tour/>

<http://download.plt-scheme.org/drscheme/>

-- 
Jens Axel S�gaard