Hi!
I have started a new attempt on
Common Lisp IDE, it is named clcon.
See screenshots at
https://bitbucket.org/budden/clcon/wiki/Screenshots
Goal is a cross-platform Common Lisp IDE with
more "modern" look and feel, under permissive license.
It is intended first of all for beginners.
Also it can be used as a GUI for using CL as a
scripting language. E.g. it can be embedded
into commercial application, you can add your
own menus, graphics, etc.
IDE is built as a client/server application.
On server side, SWANK server on SBCL is
responsible for most of the work. I
add thin wrappers on the lisp side
as necessary.
Client (IDE itself) is in plain tcl/tk
(not generated from Lisp). Some client
code is generated from server.
Client-server dialog organisation
did not take its final shape yet.
Different parts of IDE may use different
ways to communicate.
I use bits of cl-tk to communicate
from client to server. Also I use
my own set of functions to pass conses
to tcl/tk.
Features currently demonstrated:
- SWANK-based REPL with command history
- completion
- go to definition
- inspector (like slime-inspect)
- concept of IDE command. IDE commands are
typed at lisp REPL with "." escape character
at first position of line and share their history
with lisp REPL requests. I found it rather convinient,
maybe better than M-x in EMACS.
Compilation messages highlighting and hyperlinking
is now under development.
All this was done in less than two weeks.
I believe using client/server architecture
without attempt to use "wrappers" or "bindings"
around Tk is a key to success. Sockets turned
out to be the only reliable cross-platform IPC
mean.
Current state of code is "development". Not
even pre-alpha. E.g. we have hardcode cl-user
package in REPL. But some parts of IDE really
work.
You are welcome to participate.
Tracker is full of tasks :)