Fork me on GitHub
#clojure-berlin
<
2017-02-22
>
plexus12:02:25

hey Berlin people it's Emacs Berlin tonight with talks by @pesterhazy and myself. There will be drinks and pizza and general merriment!

plexus12:02:38

The talks will be about using Paredit with spacemacs, plus an overview/demo of the various Emacs offerings for Clojure and ClojureScript (cider, inf-clojure, clj-refactor etc)

hans12:02:34

is there a meeting url that i could forward?

pesterhazy13:02:09

actually I'll be focussing mostly on Structural Editing in Emacs (with some notes on Spacemacs) - it turns out that Paredit is an interesting concept all by itself

plexus13:02:47

totally :)

hlolli13:02:34

inf-clojure is going to be hotter topic if self-hosted cljs is going to be a hit 🙂

martinklepsch13:02:02

inf-clojure is great either way 😛

pesterhazy13:02:35

what if you have a compiler error when re-evaluating the current buffer - does inf-clojure jump to the right line in that case?

hlolli13:02:26

the most important feature of cider, flash-sexp 😄 doent work with inf-clojure, how can one program without the flash

pesterhazy13:02:53

:camera_with_flash:

martinklepsch13:02:12

oh and did I just praise inf-clojure above? 🙈

plexus15:02:42

^^ anyone here have a clue about this? would be really great to know for the talk that I'm doing tonight 🙂

pesterhazy15:02:55

excellent question

martinklepsch15:02:11

@plexus I think its not a whole lot but a few things that seem notable/clojure specific: inf-clojure-set-ns, inf-clojure-load-file, inf-clojure-macroexpand, inf-clojure-show-arglist, inf-clojure-show-ns-vars, inf-clojure-show-var-source, …

plexus15:02:56

thanks @martinklepsch that makes sense

plexus15:02:52

apparently (TIL) you can also point inf-clojure at a host/port to connect to over TCP (e.g. socket repl). Probably also something inferior-lisp doesn't do

martinklepsch15:02:36

ah, didn’t know, that’s cool 👍

hlolli15:02:17

it's exactly that part that needs more lovin next months as jvm-free repls get more popular. If one tries out plack/lumo on inf-clojure one steps into a new world riddled with todos.

plexus15:02:15

yeah was just realizing that, e.g. -set-ns issues clojure.core/in-ns, whereas in CLJS land in-ns is a REPL special form, it shouldn't be prefixed.

plexus15:02:35

show-ns-vars also doesn't work. macroexpand does

plexus15:02:28

I have to say setting (setq inf-clojure-program "planck -d"), and doing C-c C-z and have that REPL just there instantly feels great

hlolli15:02:37

ok nice, didnt know that, without the socket repl

martinklepsch16:02:21

My various inf-clojure programs made available via M-x

(defun boot-repl ()
  (interactive) (inf-clojure "boot repl"))

(defun boot-repl-client ()
  (interactive) (inf-clojure "boot repl --client"))

(defun planck ()
  (interactive) (inf-clojure "planck"))

(defun lein-repl ()
  (interactive) (inf-clojure "lein repl"))

(defun lein-connect ()
  (interactive) (inf-clojure "lein repl :connect”))