[chicago-lisp] (no subject)

Corey Sweeney corey.sweeney at gmail.com
Fri Dec 8 17:49:52 UTC 2006


On 12/7/06, Damien Kick <dkixk at earthlink.net> wrote:
>
>
> "Most" Common Lispniks would write an iterative, i.e. non-functional,
> version, such as the following:
>
> (loop for i from 1 upto 10 summing i)
>

Interesting.  This a tangent, but 90% of the time my iteration needs can be
served by map and fold.  The other times i use a recursive function.  Long
ago I used basic-a and C/C++, etc. and when i'd do for loops i'd usually be
off by +-1 on my first try.  But if "loop" works for you, go for it :)


When the most exposure to lisp I had was the usual cursory intro from a
> comparative languages course and a intro to AI course in college, I had the
> impression that everything in lisp was always recursion.  Having been
> reintroduced by Paul Graham's *ANSI Common Lisp*, I was under the
> impression that doing things like using setq should be done only in
> emergencies.  I forget how he phrases it.  Something like pretending that it
> incurs a cost to the function or something like that.  But that's why I'm
> personally glad that Peter Siebel wrote *Practical Common Lisp*, as it
> focuses more on getting useful stuff done, and shows quite a bit of the
> "just get stuff done" aspects of the language.
>

I avoid using set commands whenever I can, but I probably have differnt
goals then you when programming.  This is majorly tangental, and has nothing
to do with any of our group decisions, but now that I said it, I'm getting
really interested.  What are peoples goals when programming?  Some goals
that I see are:

* Learn things to improve my own programming technique
* Get the current product/feature useable now
* Get the current product/feature into a elegant (i.e. easily maintainable)
form.

I'm sure there are others.

I guess the priority order matters to.  I think most of the time my
priorities are:

1. Learn things to improve my own programming technique     {as evidenced by
my excessive use of continuations :)}
2. Get the current product/feature into a elegant (i.e. easily maintainable)
form.
3. Get the current product/feature useable now

But depending on what else is going on (i.e. who's waiting for what i'm
working on), then "Get the current product/feature useable now" can get
pushed up.  How about everyone else?


Common Lisp and Scheme do come from different communities.  I think it is
> interesting to note that most all the many divergent lisp dialects that were
> used at one time <http://tinyurl.com/y7puru>, 3Lisp, Flavors, Franz Lisp,
> Interlisp, Lisp 1.5, LOOPS, XLisp, ZetaLisp, etc., have been subsumed by
> Common Lisp.  However, Scheme remains distinct.  I think that is indicative
> of the differences between the languages and the communities.  But like is
> mentioned in the comp.lang.functional FAQ (ibid):
>

It is often possible to write functional-style programs in an imperative
> language, and vice versa. It is then a matter of opinion whether a
> particular language can be described as functional or not.
>
> If one wants to slide far enough down the slippery slope, even C/C++ could
> be considered functional languages because one can write such code without
> using assignment (or iteration (...)).
>

ya, functional programming can be refered to as a "technique" that can be
used in a lot of languages.

On the other hand, I'm writing a language that's purely functional, so I'm
in the clear on this :)




> Corey wrote:
>
> I would personally prefer having some room for non-lisp languages, but I
> would still be ok with constraining ourselfs to lisp ( i.e. no ML or
> haskel (or erlang ;) ).  I would have a issue though if we were to constrain
> ourselfs to the common lisp dialect.
>
>
> I personally would not have an issue with including many divergent
> dialects in the lisp family.  In fact, I would love it if somebody could get
> Paul Graham to come talk about Arc, the newest vaporware member of the
> family.  I suppose I would have an issue with a lisp group which was not
> cognizant of the distinctions, though.
>

I've seen him on the scheme mailing lists lately.  He does actually answer
his email, so someone could probably just send him a email asking him.  It
should probably be someone more diplomatic then me :)


Question.  Does Allegroserve *require* you to buy allegro common lisp?  You
> might alienate some potential helpers that way.
>
>
> No.  There is Portable AllegroServe <http://portableaserve.sourceforge.net/>.
> It works with:
>
>
>    - CMU Common Lisp
>    - Steel Bank Common Lisp
>    - GNU clisp (only single-threaded operation)
>    - OpenMCL
>    - Xanalys Lispworks
>    - MCL
>    - Scieneer Common Lisp (slightly broken as of 2004-02-29)
>    - Corman Common Lisp (with non-standard install method, might be
>    broken as of 2004-02-29)
>    - Allegro Common Lisp
>
> The only reason I mentioned it was that it is an entire HTTP server in CL,
> as opposed to only part of it, as one would find with something like
> mod_lisp.  But as others have mentioned, there are lots of other
> alternatives.  Personally, I am looking for a lisp group because I like lisp
> and don't have enough excuse to use it at work.  In fact, I think it would
> be sweet if we could get our hands on an old Symbolics machine and have
> everything be lisp, from the raw iron all the way up.  But I'm strange like
> that.  I don't expect a Linux group to host its web-server on a box running
> something other than Linux and I like my lisp groups to use as much lisp as
> possible.
>


I assume no one cares, but I'll mention it anyway:  Drscheme comes with a
full web server too :)    It's based on continuation based dialogs.  It's
discussed in this paper:  http://www.ccs.neu.edu/scheme/pubs/afp2002-f.ps.gz
(I think there's a better paper on it, but i couldn't find it today)


If you get a symbolics machine I'd be really interested in seeing it.  I
keep hearing about them, but i can never see it run.  (last i saw it only
ran on a proprietary card, inserted into a alpha)


Corey wrote:
>
> Also as I mentioned before {in person}, having just implemented a wiki in
> scheme, I would probably be able to give some guidance if you decide to do a
> wiki.
>
>
> And there is CLiki <http://www.cliki.net/CLiki> and The Common Lisp
> Directory <http://tinyurl.com/y3fkb6>, both written in CL.
>



Corey wrote:
>
> This is probably too big of a project, but I'll toss out the idea anyway.
> What about writing a common lisp "interpreter" in scheme?
>
>
> Yeah, you're right.  It probably *is* too big of a project.  Sure, we
> could knock out the basics of the language, what with lexical scoping and
> closures coming for free from Scheme, and adding dynamic scoping (special
> variables) in a few lines of code.  Sure, CL style macros would be a day or
> two at best.  Pathnames, logical pathnames, packages, and reader macros
> aren't even worth mentioning.  CLOS would be a week or two.  A full
> meta-object protocol might take another week.  Maybe two.  Adding CL style
> conditions would probably be two weeks, maybe three tops.  But doing things
> like getting unwind-protect and call/cc to play well together might be a
> bit harder <http://tinyurl.com/y8pl6r>.
>

Actually, your schedule makes it sound attainable.  Basically instead of
going after full ANSI-CL compliance, we could get "most" CL features working
pretty quick.  It wouldn't quite be a commercial development environment,
but would provide some of the benifits.  Basically the progress of the
system could be measured by:

When developing a program in the new system, what percentage of it was able
to be done in the "emulated" Common Lisp, and how much had to be done in
scheme?

{also, i havn't cought the concept of unwind-protect and dynamic-wind yet.
I just know that people are able to use those types of calls to block my
continuations after they see me using continuations to get at stuff they
didn't want me in :)}

Corey

-- 
((lambda (y) (y y)) (lambda (y) (y y)))
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/chicago-lisp/attachments/20061208/1cbdabe8/attachment.html>


More information about the Chicago-lisp mailing list