Wednesday, January 26, 2005

Who You Gonna Blog?

Numerous fellow SLIMErs were gracious enough to respond in email to my whiny plea for help with setting up SLIME to support multiple Lisps on Windows yesterday. Here's a small bit of backstory and some extensive recap:


One thing I forgot to mention was what SLIME setup I had working before I put that blog post up. Here's what's relevant:



;;;; {{{ SLIME setup

(setq inferior-lisp-program "c:/languages/acl70/alisp.exe")
(add-to-list 'load-path "~/.elisp/slime-1.0")
(require 'slime)
(slime-setup)

;;; Allegro CL setup on Windows
;;; From Bill Clementson
;;; See <http://home.comcast.net/~bc19191/blog/040303.html>

(global-set-key
[(f5)]
'(lambda ()
(interactive)
(shell-command "c:/languages/acl70/alisp.exe +B +cm -L ~/.slime.lisp&")
(delete-other-windows)
(slime-connect "localhost" 4005)))

;;;; }}}





  • Zach Beane, benevolent dictator for life of Planet Lisp, was first out of the gate with the following:



    1. Start slime with C-u M-x slime and choose your lisp program

    2. After that slime has started, use C-c C-x c, select the lisp you
      want, and hit "d" to make it the default connection for C-c C-c and
      the like. the REPLs are named according to the lisp they're
      running.

    Enjoy!


  • Peter Seibel, ringleader of the Bay Area Lispniks (I have yet to attend a meeting even though I've been on the mailing list for like two years now), chimed in, helpfully noting that I might have better luck searching the SLIME mailing list archive or asking there (which I didn't even think of, and is a very good point):


    You might have gotten a quicker response if you asked this question on
    the SLIME mailing list. Or not, since I'm about to give you the
    answer:



    C-u M-x slime



    It'll prompt you for the Lisp program to run. And once you've got
    multiple instnaces you can use M-x slime-list-connections to get a
    list of Lisps your connected to. From that list you can do things like
    pick which one you want to be the default Lisp for things like
    slime-compile-defun in a source buffer. If that doesn't work out for
    you, try the mailing list (available via Gmane); they're quite
    helpful.



  • jconnors sent me a setup based off of Bill Clementson's work with SLIME on Windows with multiple Lisps, along with extensive Emacs Lisp source code (much obliged!):


    Write defuns that start your lisp as a shell-command, with command line
    parameters pointing to an init file that makes that lisp load and starts a
    swank server, as well as the usual init stuff (adsf, uffi, whatever)..


    ..then when you fire up emacs, you call start-clisp (for example), clisp
    obediently starts, runs a swank server, and you can connect to it with
    slime-connect on 127.0.0.1:1782. Bill Clementson used this approach for
    running multiple lisps on Win32.



    He adds:


    Caevat: I don't know if this will give you multiple slime buffers, only
    multiple swanks.


  • Ignas Mikalajunas let me know about the C-u M-x slime solution:


    Can't recall exactly yet if you will launch more than one slime this way, slime will ask you whether you want to keep your other repls running or not.


  • Dan Pierson suggested I look into define-slime-dialect. Extending or modifying it might be an option.

  • Finally, Bill Clementson himself sent me a nice message with pointers to his previous relevant blog entries:


    If you're after some basic instructions for setting up
    Emacs/SLIME for multiple CL implementations on Win32,
    you might want to have a look at these blog entries:


    http://home.comcast.net/~bc19191/blog/040306.html
    http://home.comcast.net/~bc19191/blog/040315.html
    http://home.comcast.net/~bc19191/blog/040704.html
    http://home.comcast.net/~bc19191/blog/050106.html


    The third URL is probably the most relevant one for
    you.





Thanks for all the help! I'll post more once I get a setup working.

0 Comments:

Post a Comment

<< Home