unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
* Understanding slime and swank
@ 2010-03-02 13:40 Andrea Crotti
  2010-03-02 14:14 ` Eric Abrahamsen
  2010-03-02 23:27 ` Sean Sieger
  0 siblings, 2 replies; 8+ messages in thread
From: Andrea Crotti @ 2010-03-02 13:40 UTC (permalink / raw)
  To: help-gnu-emacs

I would like to start using clojure and I've also found it can be used
with slime also.  Though I don't understand how to pass from for example
sbcl to clojure slime.  If I load the library *swank-clojure* then no
way, I'm not able to go back to sbcl slime...

Now my configuration is simply like this

--8<---------------cut here---------------start------------->8---
(add-to-list 'Info-default-directory-list "~/.emacs.d/slime/doc/")

;; the path should be already set up correctly
(setq inferior-lisp-program "sbcl")
(require 'slime)
(slime-setup)
(setq slime-complete-symbol*-fancy t)
(setq slime-complete-symbol-function 'slime-fuzzy-complete-symbol)
--8<---------------cut here---------------end--------------->8---


But I remember in the past I did have a smarter auto completion...

And by the way I'm not able to see the slime documentation, even if this
file
slime.texi

is in the path Info-default-directory-alist...

Thanks,
Andrea





^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Understanding slime and swank
  2010-03-02 13:40 Understanding slime and swank Andrea Crotti
@ 2010-03-02 14:14 ` Eric Abrahamsen
  2010-03-03 10:31   ` Andrea Crotti
       [not found]   ` <mailman.2215.1267612335.14305.help-gnu-emacs@gnu.org>
  2010-03-02 23:27 ` Sean Sieger
  1 sibling, 2 replies; 8+ messages in thread
From: Eric Abrahamsen @ 2010-03-02 14:14 UTC (permalink / raw)
  To: help-gnu-emacs


On Mar 2, 2010, at 9:40 PM, Andrea Crotti wrote:

> I would like to start using clojure and I've also found it can be used
> with slime also.  Though I don't understand how to pass from for  
> example
> sbcl to clojure slime.  If I load the library *swank-clojure* then no
> way, I'm not able to go back to sbcl slime...
>
> Now my configuration is simply like this
>
> --8<---------------cut here---------------start------------->8---
> (add-to-list 'Info-default-directory-list "~/.emacs.d/slime/doc/")
>
> ;; the path should be already set up correctly
> (setq inferior-lisp-program "sbcl")
> (require 'slime)
> (slime-setup)
> (setq slime-complete-symbol*-fancy t)
> (setq slime-complete-symbol-function 'slime-fuzzy-complete-symbol)
> --8<---------------cut here---------------end--------------->8---
>
>
> But I remember in the past I did have a smarter auto completion...

Are you looking for slime-lisp-implementations? The example from the  
docs looks like this:

(setq slime-lisp-implementations
            '((cmucl ("cmucl" "-quiet"))
              (sbcl ("/opt/sbcl/bin/sbcl") :coding-system utf-8-unix)))

The one at top will be default, I think you run slime with a prefix  
arg to autocomplete choose from different implementations.

Eric


>
> And by the way I'm not able to see the slime documentation, even if  
> this
> file
> slime.texi
>
> is in the path Info-default-directory-alist...
>
> Thanks,
> Andrea
>
>
>





^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Understanding slime and swank
  2010-03-02 13:40 Understanding slime and swank Andrea Crotti
  2010-03-02 14:14 ` Eric Abrahamsen
@ 2010-03-02 23:27 ` Sean Sieger
  1 sibling, 0 replies; 8+ messages in thread
From: Sean Sieger @ 2010-03-02 23:27 UTC (permalink / raw)
  To: help-gnu-emacs

Andrea Crotti <andrea.crotti.0@gmail.com> writes:

    And by the way I'm not able to see the slime documentation, even if this
    file
    slime.texi

Right?  Have you run `makeinfo slime.texi' in the directory in which it
resides, to produce slime.info?





^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Understanding slime and swank
  2010-03-02 14:14 ` Eric Abrahamsen
@ 2010-03-03 10:31   ` Andrea Crotti
  2010-03-03 16:27     ` Sean Sieger
       [not found]   ` <mailman.2215.1267612335.14305.help-gnu-emacs@gnu.org>
  1 sibling, 1 reply; 8+ messages in thread
From: Andrea Crotti @ 2010-03-03 10:31 UTC (permalink / raw)
  To: help-gnu-emacs

Eric Abrahamsen <girzel@gmail.com> writes:

> On Mar 2, 2010, at 9:40 PM, Andrea Crotti wrote:
> Are you looking for slime-lisp-implementations? The example from the
> docs looks like this:
>
> (setq slime-lisp-implementations
>            '((cmucl ("cmucl" "-quiet"))
>              (sbcl ("/opt/sbcl/bin/sbcl") :coding-system utf-8-unix)))
>
> The one at top will be default, I think you run slime with a prefix
> arg to autocomplete choose from different implementations.
>

mm no I didn't mean that...
I would like to use this:
http://github.com/jochu/swank-clojure

And also switch to other lisp implementations.
It's not very clear how I should do, they also say to add this
--8<---------------cut here---------------start------------->8---
(add-to-list 'slime-lisp-implementations '(sbcl ("sbcl")))
--8<---------------cut here---------------end--------------->8---

But now again is only sbcl working, also prefixing M-x slime.

Before only loading "swank-clojure" was enough to make it working...

I just would like to understand more or less how swank-slime work and
which variables I should set up..
Now the conf is
--8<---------------cut here---------------start------------->8---
(add-to-list 'Info-default-directory-list "~/.emacs.d/slime/doc/")

;; the path should be already set up correctly
(setq inferior-lisp-program "sbcl")
(require 'slime)
(require 'slime-fuzzy)
(slime-setup)
(setq slime-complete-symbol*-fancy t)
(setq slime-complete-symbol-function 'slime-fuzzy-complete-symbol)

(require 'swank-clojure)

(add-to-list 'slime-lisp-implementations '(sbcl ("sbcl")))
--8<---------------cut here---------------end--------------->8---


And I also have the slime.info now but still I can't see the
documentation..

Anyway using auto-complete with slime maybe?
Also another problem is that not requiring 'slime-fuzzy didn't find me
the completing function, isn't there any autoloading then?
Thanks





^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Understanding slime and swank
  2010-03-03 10:31   ` Andrea Crotti
@ 2010-03-03 16:27     ` Sean Sieger
  2010-03-03 17:13       ` Peter Dyballa
  0 siblings, 1 reply; 8+ messages in thread
From: Sean Sieger @ 2010-03-03 16:27 UTC (permalink / raw)
  To: help-gnu-emacs

Andrea Crotti <andrea.crotti.0@gmail.com> writes:

    And I also have the slime.info now but still I can't see the
    documentation..

I've never liked that stuff in my dotemacs; I locate the directory where
the Emacs install has placed its info files and edited the dir file of
that directory.  Bing.  Clean, forget all about it.  Build new info,
overwrite it to that directory again.





^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Understanding slime and swank
  2010-03-03 16:27     ` Sean Sieger
@ 2010-03-03 17:13       ` Peter Dyballa
  2010-03-05 21:36         ` Sean Sieger
  0 siblings, 1 reply; 8+ messages in thread
From: Peter Dyballa @ 2010-03-03 17:13 UTC (permalink / raw)
  To: Sean Sieger; +Cc: help-gnu-emacs


Am 03.03.2010 um 17:27 schrieb Sean Sieger:

>  I locate the directory where
> the Emacs install has placed its info files and edited the dir file of
> that directory.  Bing.  Clean, forget all about it.


That's not clean, you get dir~. The clean way is to use install-info.

--
Greetings

   Pete

Rain is saved up in cloud banks.





^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Understanding slime and swank
  2010-03-03 17:13       ` Peter Dyballa
@ 2010-03-05 21:36         ` Sean Sieger
  0 siblings, 0 replies; 8+ messages in thread
From: Sean Sieger @ 2010-03-05 21:36 UTC (permalink / raw)
  To: help-gnu-emacs

Peter Dyballa <Peter_Dyballa@Web.DE> writes:

    That's not clean, you get dir~. The clean way is to use install-info.

Thank you, Pete.





^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Understanding slime and swank
       [not found]   ` <mailman.2215.1267612335.14305.help-gnu-emacs@gnu.org>
@ 2010-03-07  6:24     ` Tim X
  0 siblings, 0 replies; 8+ messages in thread
From: Tim X @ 2010-03-07  6:24 UTC (permalink / raw)
  To: help-gnu-emacs

Andrea Crotti <andrea.crotti.0@gmail.com> writes:

> Eric Abrahamsen <girzel@gmail.com> writes:
>
>> On Mar 2, 2010, at 9:40 PM, Andrea Crotti wrote:
>> Are you looking for slime-lisp-implementations? The example from the
>> docs looks like this:
>>
>> (setq slime-lisp-implementations
>>            '((cmucl ("cmucl" "-quiet"))
>>              (sbcl ("/opt/sbcl/bin/sbcl") :coding-system utf-8-unix)))
>>
>> The one at top will be default, I think you run slime with a prefix
>> arg to autocomplete choose from different implementations.
>>
>
> mm no I didn't mean that...
> I would like to use this:
> http://github.com/jochu/swank-clojure
>
> And also switch to other lisp implementations.
> It's not very clear how I should do, they also say to add this
> (add-to-list 'slime-lisp-implementations '(sbcl ("sbcl")))
>
> But now again is only sbcl working, also prefixing M-x slime.
>
> Before only loading "swank-clojure" was enough to make it working...
>
> I just would like to understand more or less how swank-slime work and
> which variables I should set up..
> Now the conf is
> (add-to-list 'Info-default-directory-list "~/.emacs.d/slime/doc/")
>
> ;; the path should be already set up correctly
> (setq inferior-lisp-program "sbcl")
> (require 'slime)
> (require 'slime-fuzzy)
> (slime-setup)
> (setq slime-complete-symbol*-fancy t)
> (setq slime-complete-symbol-function 'slime-fuzzy-complete-symbol)
>
> (require 'swank-clojure)
>
> (add-to-list 'slime-lisp-implementations '(sbcl ("sbcl")))
>
>
> And I also have the slime.info now but still I can't see the
> documentation..
>
> Anyway using auto-complete with slime maybe?
> Also another problem is that not requiring 'slime-fuzzy didn't find me
> the completing function, isn't there any autoloading then?
> Thanks
>
>
>

First of all, I think its very important to be working with the latest
versions of slime. It appears that the slime developers are rather slow
when it comes to releasing new stable versions and the current
development head has moved on a long way since the last 'stable'
release. 

Secondly, subscribe to the slime dev list. This is the best place to get
assistance and advice. 

Now for my, probably wrong, understanding of how it all works. 

Essentially, there is an emacs part i.e. slime and a remote 'server'
component, swank. The two ends communicate over a socket layer using an
agreed protocol. 

There are two ways of getting things started. The first and most common
approach is to start it all from the emacs side. When you do M-x slime,
emacs starts an inferior process to run the 'server' implementation i.e.
sbcl, cmucl, clojure etc. As part of that process, it tells the server
implementation to run the swank package/code, which sets up all the
necessary listeners and other bits to allow the slime<->swank
communication. 

This is the bit where I"m not clear on how to get slime to work with
both CL and clojure as the way they will be started and the code that
needs to be loaded will be different. For all CL implementations, its
just load and run swank.lisp. However, once you add in a java based lang
or even scheme, thenn somehow slime will ned to be told what the
commands are that it needs to send to the inferior lisp/java process to
load the necessary packatge/class and start the top level loop. 

There is an alternative approach, which may be easier. 

Slime has the ability to connect and start working with an already
running system. This is useful, for example, when you have a CL server
app and you want to connect to it without stopping and re-starting it. 
The basic idea is that you start the swank process when you start your
app and have it just listening on the socket. At some later point, you
can then start slime and say connect to the swank process running on
server x listening on socket y. 

Maybe this wold be something that could work for you. Just start your
clojur or lisp processes independently of emacs and slime. Ensure they
load their swank implementation and that all necessary config stuff is
set, such as the port and any network/access controls. You should then
be able to conect to whatever implementation you want using the
slime-connect command.

Tim

-- 
tcross (at) rapttech dot com dot au


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2010-03-07  6:24 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-03-02 13:40 Understanding slime and swank Andrea Crotti
2010-03-02 14:14 ` Eric Abrahamsen
2010-03-03 10:31   ` Andrea Crotti
2010-03-03 16:27     ` Sean Sieger
2010-03-03 17:13       ` Peter Dyballa
2010-03-05 21:36         ` Sean Sieger
     [not found]   ` <mailman.2215.1267612335.14305.help-gnu-emacs@gnu.org>
2010-03-07  6:24     ` Tim X
2010-03-02 23:27 ` Sean Sieger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).