chicken-users
[Top][All Lists]
Advanced

[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

Attachment: swank-chicken.diff
Description: Text document


reply via email to

[Prev in Thread] Current Thread [Next in Thread]