Aziz,

Jose Ortega Ruiz recently announced his geiser project; a SLIME-like Emacs package for Scheme hacking. In order for him to hook it up to an implementation, he needs a certain level of introspective capabilities. Awhile back I asked him for what he needs. This is what he listed:

- Source location information (file (at least) and line/column) for
  procedures, variables and modules.
- List of symbols bound in a given module/environment, preferably with
  their kind (procedure, macro, variable...) and visibility (exported,
  private, imported...)
- List of callers/callees of a given procedure.
- If the system supports generic functions, list of methods for a given
  generic, preferably accompanied by their location.
- Procedure/generic/macro arities, with the actual names of the
  parameters if possible (not just a number).
- Docstrings (if supported) or any other output of a help-like command.

Based on the error messages I've seen from Ikarus, the first one seems good to go. Given R6RS libraries, it seems like the second point is a natural given. The rest I'm not sure of. I know that both Ikarus and Ypsilon support an 'apropos'.

I'm already dreaming up stuff for Geiser... Stuff like

   "export current definition"
   "export all definitions"
   "export record"

etc.

Jose is also the author of FUEL (Factor's Ultimate Emacs Library). Aziz, I happen to know that you're a vim user. Here's the thing; Slava Pestov (author of Factor) wrote his own editor called Jedit. FUEL was so damn good, it convinced Slava to switch from Jedit to Emacs. So beware. ;-) Jose is like a missionary for the Church of Emacs.

Ed

PS: Fujita, please consider this Ypsilon too! :-)

-------- Original Message --------
Subject: geiser release
Date: Thu, 14 May 2009 02:11:24 +0200
From: Jose A. Ortega Ruiz <[email protected]>
To: [email protected]
Newsgroups: gmane.lisp.guile.user


Hi,

I've been working on a new scheme-emacs interaction thingie for a while,
and it's come to the point of being quite usable. Think of Slime for
Scheme, with Guile its best supported back-end. Although, of course,
we're not there yet, i'm hoping to improve things, perhaps based on your
criticism and feature requests :)

If you feel like giving it a try, the git incantation is

  git clone http://git.hacks-galore.org/geiser.git

Look at the README file, the only extant documentation so far, for
details (including installation instructions). I've also posted a
perfectly useless blog entry at my programming-musings.org.

Any feedback extremely welcome!

Happy hacking,
jao
--
I went to the woods because I wished to live deliberately, to front only the
essential facts of life, and see if I could not learn what it had to teach,
and not, when I came to die, discover that I had not lived.
 -Henry David Thoreau, naturalist and author (1817-1862)




Reply via email to