[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-users] SLIME and Chicken
From: |
Christian Kellermann |
Subject: |
Re: [Chicken-users] SLIME and Chicken |
Date: |
Tue, 4 Jan 2011 14:29:22 +0100 |
User-agent: |
Mutt/1.5.20 (2009-06-14) |
Dear Nick,
* Nick Gasson <address@hidden> [110102 22:32]:
> Hi all,
>
> I've been working on a SLIME backend for Chicken Scheme. If you haven't
> used it before, SLIME is an Emacs-based development environment for
> Common Lisp - http://common-lisp.net/project/slime/. The Chicken port
> has gotten to the state where it's usable for development so it might
> be interesting too other people too.
>
> It currently supports the following:
> - Compile region (C-c C-c) and load file (C-c C-l)
> - Various eval commands: interactive (C-c :), region (C-c C-r), defun
> (C-M-x), pretty-print (C-c C-p)
> - The SLIME REPL
> - Simple tab completion and parameter hints (eldoc)
> - Describe symbol (C-c C-d d) and apropos (C-c C-d a) using chicken-doc
> - Very basic SLDB support - it displays the call chain on error
>
> There's some more information in these posts:
> http://www.doof.me.uk/2010/12/12/using-slime-with-chicken-scheme/
> http://www.doof.me.uk/2011/01/01/update-to-chicken-swank-server/
>
> If you're interested in trying it the git repository is here:
> https://github.com/nickg/swank-chicken
> Setup instructions are in the README file.
>
> Lots of SLIME features are unimplemented unfortunately, but hopefully
> I've covered most of the common ones. The debugger in particular is
> quite lacking. One SLIME feature I'd really like to have is M-. (jump
> to definition), but I can't see a way to extract the required file/line
> information from Chicken. Does anyone know if this is possible?
First of all thanks for this awesome contribution! I really like
it. I haven't used slime before so maybe my suggestions are no
brainers but here they are:
- Make the swank-chicken.scm file also part of the installation of
the swank egg. Then people can just symlink to it or point their
slimes to the system location
- Use irrgex is needed on my newer chicken to make the egg compile
- Move your fine work over to the egg repository. Then it is more
accessible for chicken users. Mario will gladly give you a repo
directory to store it in.
- Maybe make the location of csi a parameter? It may be a
misconfiguration of my emacs but I needed to include the full path
in chicken-swank.
- With newer chickens csi does have commands to show the local
variables in call-chains, so maybe this can be added. From the swank
introductory video I gathered that this is standard behaviour on
lisps.
I have attached my suggestions as a patch against the git repo.
That's it for now, I will happily test any newer versions of it.
Welcome to the chicken world :)
Kind regards,
Christian
swank-chicken.diff
Description: Text document