I'm not sure the desires for lightweight clojure-emacs integration and any
CLJS integration are yet sympathetic.  Figwheel is a pretty complex piece
of software. For example, see my issue that has been languishing for almost
a year and hints at greater problems with the compiler integration:
https://github.com/bhauman/lein-figwheel/issues/593 .  From my perspective,
this is more due to coupling of the REPL to the compiler itself than a
problem with figwheel.

But I was surprised when the thread went in this direction just from
reasons I think someone might want to not use cider, fast startup time,
less stuff to go wrong.  CLJS adds that back unless it's gotten
significantly better since the last time I tried.

On Thu, Jul 5, 2018 at 2:19 PM rob <r.p.l...@gmail.com> wrote:

> If ClojureScript repl integration works smoothly out of the box then
> that's already one reason to use it over Cider...  (This is not a jab at
> Cider, just a statement of fact that Cider's support for ClojureScript
> development has so far been lacking, IME)
>
>
> On Thursday, July 5, 2018 at 10:51:02 AM UTC-7, Austin Haas wrote:
>>
>>
>> I tried Monroe, yesterday. It seems to work as advertised. I didn't have
>> any issues. It's nice that "jump to definition" works out of the box. It
>> does not appear to support Eldoc, so no help with function signatures.
>>
>> This is the Emacs config I'm currently using:
>>
>> ;;; clojure-mode
>>
>> (add-to-list 'load-path "~/.emacs.d/site-lisp/third-party/clojure-mode/")
>> (require 'clojure-mode)
>> (add-hook 'clojure-mode-hook 'rainbow-delimiters-mode)
>> (add-hook 'clojure-mode-hook 'paredit-mode)
>> (add-hook 'clojure-mode-hook 'hs-minor-mode)
>> (add-hook 'clojure-mode-hook #'eldoc-mode)
>>
>> ;;; REPL
>>
>> ;; Monroe
>>
>> (add-to-list 'load-path "~/.emacs.d/site-lisp/third-party/monroe/")
>> (require 'monroe)
>> (add-hook 'clojure-mode-hook 'clojure-enable-monroe)
>> (setf monroe-detail-stacktraces 'true)
>>
>> I went on to include Figwheel.
>>
>> I created a new project using `lein new figwheel my-project` (which
>> provides the fig-start and cljs-repl functions), and then entered the
>> following commands to set up a Clojurescript dev environment:
>>
>> M-x monroe-nrepl-server-start
>> M-x monroe
>> (fig-start)
>> (cljs-repl)
>>
>> On my machine, those 4 steps take about 30 seconds to run. The first
>> takes 18 seconds, and the rest only take about a second each, but the whole
>> process ends up taking close to 30.
>>
>> Figwheel seems to work great, but I couldn't figure out how to evaluate
>> code in a library dependency and have it updated in the running system. I
>> can evaluate functions, but the new definitions don't appear to be called
>> by the main code. I might be misunderstanding how this is supposed to work;
>> I don't know if it's a Figwheel issue or a Monroe issue or my mistake. But
>> to work around that, and to fix other issues preventing a clean initial
>> compilation, I had to restart the REPL a few dozen times, which was tedious.
>>
>> I'm posting this information in case it is useful to someone else who is
>> trying to discover the current state-of-the-art with running Clojure in
>> Emacs in a straightforward, minimal way. I'm also hoping that people will
>> reply with comments and suggested improvements. (FWIW, I've been using
>> Emacs full-time for about 20 years, Clojure full-time for about 7 years,
>> and Common Lisp for 5+ years before that, so I'm not new to REPL-driven
>> development in Emacs.)
>>
>>
>> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to