Windows Common LISP
- From: jvdvyah <benkooijman@xxxxxxxxx>
- Date: Sun, 9 Nov 2008 18:10:29 -0800 (PST)
Hi all,
At the risk of inviting ridicule, I have a proposal and am looking for
feedback, suggestions, tips and pointers that can help me out.
I've been a LISP-lurker for a while now, attempting to learn LISP and
keeping an eye on what's going on everywhere. Windows is my platform
of choice (for various reasons) and I've found that Windows is a tad,
um, underserved when it comes to Common LISP and somewhat newbie-
unfriendly (it's a little better for Scheme but I'm not interested -
much - in Scheme just yet).
After playing with various implementations, IDEs, libraries, etc. on
Windows (or rather, trying to play with them), it's all rather grim.
ASDF-INSTALL is not Windows-friendly (who was it that said that Common
LISP didn't have to rely on external utilities? Hah!), various major
libraries don't run on Windows are or a nightmare to get working
(MCCLIM anyone? Yes, I know it's been done but documentation is, well,
fragmented), some major implementations have only partial Windows
support (SBCL? Yes, I know they're working on it: kudos to those brave
fellows/gals).
In short, for just about any problem you encounter on Windows, there
*is* a solution of some sort, but finding that solution and then
getting it to work, in most cases, is a challenge at least. I think
this explains the newbie-fright-syndrom that pops up so often.
I've looked at various attempts to resolve some of this (Gardeners',
LispBuilder, etc.) but I think all of these are slow in getting
established because it's just too big a challenge: they all try to do
all three major platforms at once (Mac, Linux, Windows). Although I
admire the intent, and some of the things already achieved are very
impressive, I don't think it's practical to try to do this (yet).
Rather than bombard communities like these with a zillion questions to
solve individual problems, I thought I'd get of my behind and try to
help improve the situation, following examples of some of the leading
lights here.
So, I propose the following: that I put together a turn-key Common
LISP installation package that includes most of what the average
newbie would want. Below is a list of my current ideas for that and
I'm looking for feedback, suggestions, pointers to things that may be
of use, etc. I will try and do most of the actual work involved in it
(installer, configuration, patches, testing, hosting, etc.) but no
doubt I'll have to ask some of you for help at a few points (I'm far,
far, from being LISP-fluent).
Note: most of this idea borrowed from Peter's LispBox, naturally. Note
that this may grow to be a very large download so I'd need to look at
pulling in things during install on-demand instead as well.
I imagine multiple packages or a single packages but with choices (the
former is probably easier to build, the latter easier to maintain once
built: TBD). The main point is to avoid newbies having to go hunt for
packages/downloads to get simple things done (simple as in what *they*
are used to being simple: putting up "Hello, world" in a dialog box
should be a no-brainer (and bundled as working example)). Same for
networking (usockets?), multi-threading (need that for proper GUI work
anyway), database access, etc.
CONTENTS:
One or more IDEs or IDE of choice (at least GNU/X/W32-Emacs, with
optionally easily-activated VImpulse thrown in for VI die-hards;
others may be ABLE, Eclipse+Cusp, etc.)
One or more Common LISP implementations:
CLISP - for the size-sensitive
SBCL - for the speed-freaks; may need to contribute to Win32 port to
make this happen
ECL - for the C/C++ lovers
Lispworks Personal Edition - coz' it's good
Allegro Express Edition - ditto
Corman Common LISP - well, it's the only Windows-only
implementation; can hardly leave that out, now, can i?
A set of (optional) packages (idea borrowed from Edi's StarterPack).
General requirements: must work on Windows (but I'd be willing to
contribute patches to make that happen for important ones), must be
easily installable (which means handling dependencies), should be
downloaded on-demand (preferably pulling them from Cliki or home site
etc. on demand, so may need to hack ADSF-INSTALL for Windows or use
CLBUILD or ask Edi how he did it, etc.).
A GUI built-in/ready-to-go. I'd prefer it to be something like Cells-
gtk, which provides two good things in one but it's a hairy beast to
get up and running (esp. on Windows). Alternatives: MCLIM+GTK, MCCLIM
+Graphics-forms, LTK, RNDZL with pre-built GUI examples, wxCL (yes, I
know it's dead), etc. Will need to figure out how to bundle the
servers for these if need be.
Other packages: regular expressions, rational (for the current times)
path/filename abstraction, networking, database access, containers,
series, utilities, Qi, CLOCC, etc. Main requirements is that they
should be complete (i.e. not half-finished) *or* stable and still
being maintained.
CONFIGURATION
Everything should work out-of-the-box, meaning that after installation
(and the choices the user made during that), starting up the IDE
should be a double-click affair, packages should be pre-loaded or
hints should be provided on how to load them (e.g. could be menu in
the IDE).
There should be ready-to-run examples that demonstrate just about
every basic facility and package. Examples must be discoverable
(another menu?).
There should be an easy way to deploy a program: this requires careful
balancing of the whole program-as-you-go/image/core model with the
build-an-executable-and-send-it-out model: both should be obvious,
supported, explained and demonstrated.
Some sort of tutorial should be bundled (maybe Peter's book, or Lisp
In Spells or something: copyright issues here, so must get appropriate
permissions). Hyperspec (CLtL?) bundled and integrated.
Anyway, that's about it. I'm sure I've forgotten a lot (tell me!) and
I'm over-reaching (will probably need to trim some of this down so I
my addled brain can handle all of it). This is not something I'm
aiming to have up-and-running in a few weeks; this will take some
time. I think it may be best to start with a single IDE, single
implementation, with GUI and multi-threading and some other minor
packages, examples and tutorial pre-installed; that will already be a
major step.
Some reality-check questions:
Is this is good idea or should I instead direct my efforts to helping
some of the other somewhat similar initiatives? If so, which one(s)?
Are there any download stats for Lisp-in-a-Box, Peter's LispBox, Edi's
Starterpack, etc. Are these things popular?
As said, I'll probably need to trim it down a bit. What do you think I
should drop?
Is this better as a Gardeners project? If so, why? If not, why not?
Anybody willing to help?
Any and all feedback welcome (especially if you think I'm crazy to
even try it).
Ben.
.
- Follow-Ups:
- Re: Windows Common LISP
- From: Mohamed Samy
- Re: Windows Common LISP
- From: MasterZiv
- Re: Windows Common LISP
- From: jenspettersen
- Re: Windows Common LISP
- From: Grant Rettke
- Re: Windows Common LISP
- From: philip . armitage
- Re: Windows Common LISP
- From: Tamas K Papp
- Re: Windows Common LISP
- Prev by Date: Re: Alternatives 4
- Next by Date: Re: The PL design space is not that simple (was: Re: Alternatives 4)
- Previous by thread: Go to label
- Next by thread: Re: Windows Common LISP
- Index(es):
Relevant Pages
|