What is CLedit
for?
You may read
CLedit as "Common Lisp
editor". CLedit is an editor for freshly-baked Lisp novices. All it aims for
is comfort and usability when exploring Lisp. It is minimalistic and
painless, but nevertheless offers some neat features for your first Lisp
steps:
- fully interactive graphical
editor with
usual copy/paste...
- fully menu/mouse driven
- fully interactive with your Lisp interpreter or compiler
- automatic keyword highlighting
- automatic
parenthesis matcher
- automatic Lisp-help with keyword
completion/suggestions
- a REPL command-line history
- automatic parenthesis-completion for the REPL command-line
- recompile/execute selected parts or whole code with one
mouse-click
- message history from the Lisp interpreter/compiler
- remote/local access to the LispWorks HyperSpecs
- multi-platform (32/64 bit, *nix, Linux, Mac OS, Windows,
...)
When or why
CLedit?
After getting in touch with Common Lisp I quickly got tired of the usual
*nix interfaces. Extremely powerful and capable, but a severe hurdle for
newcomers by themselves. Hardcore "Lispers" will - and shall - prefer Emacs/SLIME e.g. for sure. But
I was too lazy to learn this stuff. Instead of I spent a few hours to provide
an CL-editor suited to my personal needs.
Basic
usage
At the very first start CLedit comes up with default settings. Mostly you
will want to change window sizes or positions e.g. Do this according to your
needs. Next time starting CLedit will respect your actual settings.
When CLedit was started from the command line, different Lisp's may
behave different in case of debugging/errors. E.g. SBCL would need input via
command line too then, CLISP not. To eliminate these subtle differences,
start CLedit from your GUI
only! All things - including debugging - can be handled fully
within CLedit then. This also hinders ghost processes to occure, when sutting
down CLedit or killing running processes.
CLedit interacts with Lisp. So choose your Lisp executable first and start it
up. What Lisp is telling then, you can watch in the "Messages" window.
Entering a command in the CMD-line and pressing return will execute it.
Though looking like a one-liner you may paste in here code of any length.
Missing right parenthesis are added automatically here.
For whole programs the main editor is more convenient however. Enter
your code here, paste it or load it via "File/Open". Other than in the
CMD-line nothing is compiled automatically here. Via "Exec all" you
can - nomen est omen - compile/execute the whole code. Alternatively you
can mark any piece of code and execute this solely via "Exec
selection" from the menu or a right mouse-click.
Lisp keyword
help
Help to a specific Lisp command you get via the HLP-editor. Type in
the first few letters and choose a topic/command via keyword-completion. The
"Message" window will show you syntax and meaning then. For this a Lisp
executable must have been started however.
Syntax
highlighting
When loading a Lisp-file into CLedit keyword/symbol highlighting is applied
automatically. The approach for this is most simple and straightforward - and
hence not perfect. But nearly. My guess: some 99.8% out of the ~1500
recognized Lisp-keywords will work out of the box. When you are a
perfectionist, feel free to add/change the default rules:-) The
code is short and well commented.
Demo
examples
For a quick tryout you may check the example programs. Load one, set an
appropriate CL-executable like "sbcl" or "clisp", start it and go.
The latter means nothing else but clicking the "Execute all" button in the
toolbar. Then you may edit the example
and/or
re-run it as a whole again. Or just recompile/execute a
text/code selections made via mouse. Or play with the REPL-command-line,
....
When you want to try out Lisp shell-scrips, look at the *.sh files. They
provide everything for a quick start.
License
CLedit may be used under the terms of the GNU General Public License
version 3 or later as published by the Free Software Foundation and appearing
in the file
license.gpl included in this package.
This program is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
(C) 2010 Heinz van Saanen