[slimpl] How to help Slimpl

Peter Seibel peter at gigamonkeys.com
Thu Feb 23 08:26:56 CST 2006


On Feb 23, 2006, at 5:56 AM, Larry Clapp wrote:

> Hi, all,
>
> Paolo Amoroso's recent call to arms on the Gardener's list galvanized
> me to actually write the How To Help Slimpl post that I've needed to
> do for weeks.

Excellent. And I'll add one simple task to the top of this list: if  
someone could transfer this list of tasks to the project page on the  
ALU Wiki then Larry could send a mail to the main Gardeners' list and  
let everyone know that if they have any interest in the project they  
can take another look. I think that will also make the project ready  
to be officially blessed.

-Peter

>
> As I see it, Slim-Vim needs a few infrastructure pieces to help it
> integrate with Vim, some of which this list has discussed already (and
> some of which Slim-Vim can't actually use yet).  I've hesitated to
> post such a list in part because it requires more knowledge of Vim or
> Perl than Lisp, and because so many of them I could do by myself and
> just haven't had time or haven't gotten around to yet.  Well, more
> fool I.  :)  Here goes:
>
> - An event system of some kind.  The list has discussed this before,
>   so several ideas for this exist.  I just want someone to complete
>   it, document it, and package it as a stand-alone Vim module.
>
>   Requirements: I would need to register a Vim function that will get
>   called periodically.  Ideally the end-user could specify the period.
>
>   At this point, I feel somewhat leery of anything requiring a change
>   to Vim or Slime, but perhaps we could offer differing levels of
>   performance based on the sophistication of the user, e.g. a Vim-only
>   event system that anyone could use, or a patched Vim for more
>   advanced/adventurous users.  (QUICK POLL: Does anyone else share my
>   concern along these lines, or would everyone on the list feel
>   perfectly comfortable patching Vim and recompiling it for
>   themselves?)
>
> - An interface to the Hyperspec, ideally something that interfaces
>   with Vim's tag system in a sane way.
>   - My VILisp has an interface that works for me, but I've gotten
>     little feedback about whether it works for other people.  If
>     someone would like to play with it on other operating systems and
>     browsers and report bugs, that would help me improve it.  See
>     http://www.vim.org/scripts/script.php?script_id=221.
>   - A script to convert the Hyperspec to a Vim help file.  (We can't
>     just re-release the Hyperspec as a Vim help file, so far as I can
>     tell; I think that would count as a "derivative work".)  Such a
>     script may already exist for general HTML.  Great; point us to it!
>
> - Sytax highlighting for a slimpl debugger window.  (This will have to
>   wait until I *have* a slimpl debugger window, but it's waiting in
>   the shed.  (I initially wrote "in the wings", but "in the shed"
>   works better with the gardening metaphor. :))
>
> - Testing on other operating systems / versions of Perl / versions of
>   Vim / versions/implementations of Lisp.  I've done the vast majority
>   of my testing on Debian Linux with Vim 6.4, Perl 5.7/5.8, and clisp
>   2.33.  For the foreseeable future, I plan to test against "a recent
>   CVS snapshot of Slime", which I'll update every so often, so no need
>   to test earlier versions of that.
>
> - Documentation on the slime/swank interface.  This needn't mention
>   Slimpl at all, of course, and might get us a few warm fuzzies from
>   the Slime team.
>
> - A REPL mode for Vim.  I envision this as a mostly-normal editor
>   buffer, except that you can't make changes above the last expression
>   (if you try to, the editor should automatically copy the current
>   expression to the last line and start editing it there), and if you
>   press a certain key, it calls a function (which will call Slim-Vim
>   to evaluate the expression and return a result).
>
> - Someone to scrutinize Vim's indentation system and a) tell us how to
>   tweak it for best results, b) write an indent-expression that
>   adjusts indentation properly, and/or c) tell us how to hook Slim-Vim
>   into it.
>
>   For example, Vim doesn't, by default, indent FLET expressions very
>   well:
>
>   (flet ((some-long-function-name ()
> 				  (expr)))
>     ...)
>
> - Write a Vim function that looks at the current cursor position and
>   returns true if it's in a Lisp comment.  This would help with
>   extracting "the current expression" from the buffer.  Currently I
>   use the % operator, which doesn't ignore text in comments, so if you
>   have "(foo" or an emoticon in a comment it breaks Slim-Vim (and
>   VILisp, for that matter).
>
>   See also ":help %", and search Vim.org for related modules.
>
> That's about all I can think of at the moment.  Thanks for reading
> this far.  :)
>
> -- Larry
>
> _______________________________________________
> slimpl mailing list
> slimpl at lispniks.com
> http://www.lispniks.com/mailman/listinfo/slimpl


-- 
Peter Seibel           * peter at gigamonkeys.com
Gigamonkeys Consulting * http://www.gigamonkeys.com/
Practical Common Lisp  * http://www.gigamonkeys.com/book/




More information about the slimpl mailing list