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
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
.
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.
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.
- 1. Skok do definicji funkcji w Emacs + Slime/leiningen-Swank + Clojure
- 2. Dobry przepływ pracy z emacs + swank + slime + clojure?
- 3. Ustawianie SLIME w emacs
- 4. Zatrzymywanie nieskończonych pętli podczas wykonywania testów clojure w emacs z leiningen i swank/slime
- 5. PARTIAL_WAKE_LOCK i wątek działający w usłudze
- 6. Nie mogę zainicjować ani swank ani clojure-jack-in
- 7. Asynchroniczny wątek długo działający w WCF
- 8. Używanie funkcji clojure.contrib w slime REPL
- 9. Czy mogę użyć dwóch różnych selekcji lisp + slime/swanków z tych samych emacs?
- 10. Ustawienie szlam włączyć ocenić-in-emacs
- 11. Jak ponownie załadować pliki po zapisaniu przy użyciu polecenia swank + leiningen + emacs
- 12. Konfigurowanie SLIME na komputerze MacOSX
- 13. Czy można bezpiecznie utworzyć nowy wątek?
- 14. Czy mogę użyć polecenia swank-js do uzupełnienia interfejsów API node.js w trybie js2?
- 15. Jak utworzyć wątek w WinForms?
- 16. Dokumentacja Clojure w Emacs
- 17. jak utworzyć pakietowy, działający jar, używając Ant
- 18. Jak utworzyć działający JAR w IntelliJ, tak jak w Eclipse
- 19. Emacs: czy mogę zmienić nazwę rozpoczętego procesu?
- 20. Czy mogę zmodyfikować kolor mini bufora emacs?
- 21. Jak utworzyć wątek w przenośnej bibliotece klas?
- 22. Jak mogę utworzyć system działający w tle, taki jaki jest w witrynie Spotify?
- 23. SLIME na Emacs z paredem w repl - jak zapobiec wykonaniu niekompletnych, ale wyważonych wyrażeń?
- 24. Dlaczego swank-js daje mi "dokument nie jest zdefiniowany" w REPL? Emacs?
- 25. Ustalenie, czy wątek śpi
- 26. Osadzanie programu swank-clojure w programie java
- 27. spinacz działający w fazie rozwoju, ale nie działający w produkcji?
- 28. java.lang.OutOfMemoryError: nie można utworzyć nowy wątek
- 29. Jak utworzyć zmienną statyczną wątek bezpieczny
- 30. Konfiguracja SLIME dla rozwoju Common Lisp i Clojure
nadal przydatne, nawet jeśli nie jest to bezpośrednio odpowiedź na to pytanie, dziękuję –