2012-08-09 16 views
6

Często znajduję swój własny początek długiego procesu z REPL, a potem życzę sobie, żebym mógł dalej używać REPL do innych zadań, gdy był uruchomiony. Czy mogę używać szlamu do pokazania bieżącego wątku lub uruchomienia nowego wątku kontrolnego REPL? Uruchomienie dodatkowego buforu REPL również byłoby w porządku.Czy mogę utworzyć działający wątek w Slime (Swank Emacs)?

Odpowiedz

2

Edit:

Hm, jakoś udało się przegap tag Clojure na swoje pytanie. Byłbym bardzo zaskoczony, gdyby poniższe rozwiązanie działało dla Clojure, ponieważ, jak zapewne wiecie, społeczność Clojure niestety (przynajmniej dla tych z nas korzystających z Clojure i CL) utrzymuje swoją własną wersję Slime. Nie usunę odpowiedzi, ponieważ może być pomocna dla programistów CL szukających tej funkcji.

ile jest podobne rozwiązanie dla Clojure, co pozwala na wielokrotne REPLs multipleksowane w pojedynczym gnieździe, można może tylko uruchomić drugi serwer swank ręcznie (z buforem *inferior-lisp*) i łączenia się z nim poprzez slime-connect jako obejście. (Nie można przetestować tę ATM, odkąd przestałem używać Slime z Clojure jakiś czas temu.)


Czy spróbować slime-mrepl contrib? Ja nie faktycznie używał go sam, ale szybkie testy pracował dla mnie pod CCL/Win/Emacs 24.

testowałem to tak: M-x slime wprowadź (sleep 10) w REPL, bufor przełącznika M-x slime-new-mrepl.

2

Proszę wybaczyć mi nieco banalną i nieumiejętną odpowiedź; z drugiej strony będzie działać z dowolnym REPL z clojure.

Gdy wiem z góry, uruchamiam długotrwałe zadanie z REPL, a następnie rozpoczynam obliczenia przy użyciu future i sprawdzam z future-done? przed wyrejestrowaniem.

+0

nadal przydatne, nawet jeśli nie jest to bezpośrednio odpowiedź na to pytanie, dziękuję –

1

To może nie odpowiedzieć na to pytanie, ale może to być pomocne, aby uświadomić sobie, że dopóki (slime-communication-style) jest :spawn, oceny odbywa się za pomocą C-x C-e zawsze tarło swój własny wątek i mogą przebiegać równolegle do tego, co dzieje się w wątku REPL. Wyjście (z println itd.) Pojawi się w buforze REPL.

Powiązane problemy