unrepl

discussing specification of an edn-based repl and its implementations.
pesterhazy 2017-12-20T10:09:32.000124Z

just say it in Spanish - el rep

dominicm 2017-12-20T10:43:03.000023Z

https://onelook.com/?w=un*el&ssbp=2&ssbp=1 is good if you're searching for un*el words

pesterhazy 2017-12-20T10:45:35.000062Z

that's useful!

pesterhazy 2017-12-20T10:46:47.000435Z

speaking of which, where did OneLook's reverse dictionary search go?

dominicm 2017-12-21T11:20:22.000208Z

https://www.onelook.com/thesaurus/

dominicm 2017-12-21T11:20:27.000046Z

Rolled into this

dominicm 2017-12-21T11:21:36.000300Z

Makes sense really, a synonym for "cobweb light" could easily be gossamer

pesterhazy 2017-12-21T11:57:11.000180Z

note sure it makes sense... I want to search for "adjective relating to horse" and I want to get equine back

pesterhazy 2017-12-21T11:57:30.000170Z

I don't want random synonyms for "horse"

dominicm 2017-12-21T12:03:18.000057Z

Makes sense from the problem being solved, I mean.

dominicm 2017-12-21T12:03:54.000180Z

Apparently there's a 1.0 link for the just reverse dictionary https://www.onelook.com/?w=entersearchhere&loc=revfp_legacy

pesterhazy 2017-12-21T12:13:16.000286Z

👍

pesterhazy 2017-12-21T12:13:30.000227Z

it strangely capitalizes the results though

pesterhazy 2017-12-21T12:14:15.000082Z

but it does have "equine" for 🐴 and "feline" for 🐱, so I'm 😹

dominicm 2017-12-21T20:36:22.000477Z

I noticed that the UI marks synonyms with a flag

pesterhazy 2017-12-20T10:46:55.000205Z

http://reversedictionary.org/ seems to work ok though

pesterhazy 2017-12-20T10:47:34.000292Z

e.g. to find a word for "using pretentious words": http://reversedictionary.org/wordsfor/using%20pretentious%20words

cgrand 2017-12-20T10:49:50.000268Z

fun, spiral yields romanesco

bozhidar 2017-12-20T11:24:41.000458Z

In the past when I was wondering what to rename nrepl.el to I took a look at https://onelook.com/?w=*repl*&ssbp=1&ls=a

bozhidar 2017-12-20T11:25:01.000324Z

They I figured out how the vim-fireplace name came to be 😄

dominicm 2017-12-21T11:22:19.000177Z

This is how I chose the name vim-replant for my plugin also 😄

cgrand 2017-12-20T11:25:36.000066Z

and how CIDER came to be?

bozhidar 2017-12-20T11:25:51.000203Z

I do think that stuffing REPL in the name of such project is not really a hard requirement.

bozhidar 2017-12-20T11:25:53.000344Z

haha

bozhidar 2017-12-20T11:27:14.000329Z

I was just about to mention this. Well, I really liked the name SLIME and what it stood for (Superior Lisp Interaction Mode Enhanced) and I wanted something that’s also five letter and it sounded cool by itself and could be expanded into something.

bozhidar 2017-12-20T11:27:36.000004Z

5 letters also meant I wouldn’t have to change the indentation in nrepl.el when doing the rename. 😄

😂 2
bozhidar 2017-12-20T11:28:09.000037Z

The author of nREPL Chas Emerick proposed the name CIDER and I instantly liked it.

bozhidar 2017-12-20T11:29:03.000257Z

Ironically he was also the one suffering the most by the choice of the nrepl.el name as almost all the tickets he’d get were for the Emacs package, not for nREPL itself. For most people there was just one nREPL.

cgrand 2017-12-20T11:32:28.000332Z

unrepl being 6 chars, let’s find a backronym for LAMBIC!

bozhidar 2017-12-20T11:32:49.000147Z

or SPIRAL 😉

cgrand 2017-12-20T11:33:07.000239Z

yeah but out of theme with CIDER

bozhidar 2017-12-20T11:35:26.000352Z

Lean and Awesome Mode for Building Interactively on Clojure

cgrand 2017-12-20T11:35:44.000412Z

You have a knack

pesterhazy 2017-12-20T11:37:45.000192Z

we have found the winner

pesterhazy 2017-12-20T11:37:50.000313Z

romanseco!

cgrand 2017-12-20T11:38:34.000221Z

typo intended?

pesterhazy 2017-12-20T11:38:52.000227Z

nope lol

pesterhazy 2017-12-20T11:39:00.000181Z

romanesco

pesterhazy 2017-12-20T11:39:51.000229Z

fingers crossed that @volrath likes cauliflower

bozhidar 2017-12-20T11:40:06.000297Z

Super Terrific REPL Orchestration Emacs Mode

😂 1
bozhidar 2017-12-20T11:40:28.000167Z

I really struggled with the O here 😄

pesterhazy 2017-12-20T11:41:43.000277Z

does melpa allow heavy metal umlauts aka röck döts?

bozhidar 2017-12-20T11:42:11.000202Z

I think so, but they are hard to type for users, so that makes those a bad idea.

pesterhazy 2017-12-20T11:42:21.000342Z

or would it be Heavy Meta Umlauts?

bozhidar 2017-12-20T11:42:28.000047Z

😄

cgrand 2017-12-20T11:45:50.000285Z

Splendid Pluripotent Interactive REPL for Another Lisp

pesterhazy 2017-12-20T11:46:31.000052Z

.o0(somebody has used Reverse Dictionary Search)

cgrand 2017-12-20T11:47:04.000236Z

No! I swear

pesterhazy 2017-12-20T11:47:20.000179Z

It's not omnipotent, only pluripotent 🙂

cgrand 2017-12-20T11:47:56.000311Z

> (of an immature or stem cell) capable of giving rise to several different cell types.

cgrand 2017-12-20T11:48:22.000047Z

there’s the “upgrade” idea in there 😉

volrath 2017-12-20T13:48:53.000397Z

I lol-ed with all this conversation... particularly with "Splendid Pluripotent Interactive REPL for Another Lisp" 😄

volrath 2017-12-20T13:49:23.000275Z

the name CIDER is hard to top... it's so cool haha

volrath 2017-12-20T13:54:08.000256Z

right now I'm definitely between SPIRAL and STROEM, I like both.. but before making it official with a new name, I've been putting a lot of thought on the value proposition of another IDE, besides having UNREPL as the communication protocol.. basically related to this https://github.com/Unrepl/unrepl.el/issues/5

volrath 2017-12-20T13:56:47.000109Z

I do believe there's room for alternative approaches, and that's what's currently driving me into this. the other side of the coin is that I'm not entirely sure I'll be able to put the amount of work to make a reliable alternative to CIDER in the long run.. and I wouldn't like this work to just die out because of it

volrath 2017-12-20T13:59:45.000277Z

so for now... I'm taking a time on reflect on this, while I work on testing for all that's been built so far, which won't add more features to the mix

cgrand 2017-12-20T13:59:46.000196Z

@volrath it would be helpful if you stated explicitly things that you’d like to do differently than CIDER does (hey I mistyped CIDER as CODER) beyond unrepl/nrepl

volrath 2017-12-20T14:01:09.000374Z

so far these are the things that weight the most in my mind:

cgrand 2017-12-20T14:01:19.000348Z

unrepl.el can also be seen as a way to get experience with unrepl, make it matures until incumbents 😉 see it as the right choice

volrath 2017-12-20T14:02:45.000471Z

- Working buffer dev over REPL buffer dev: The IDE should encourage newcomers
     to try this workflow, without being too pushy.
   - Fewer buffers, fewer distractions
   - Fewer (unified) ways to interact with evaluation results
   - The REPL buffer is a great place to save history
   - The REPL buffer is a great place to explore things that are difficult to
     explore in the working buffer.
   - Emacs level intermediate representation (AST) is great! let's...
     - explore different types of data visualizations
     - take advantage of static analysis of the code, a la Cursive. (although
       this might fit better in something like clj-refactor)

volrath 2017-12-20T14:04:21.000020Z

those are more like broad strokes, I have some other more concrete ideas but I'm still sitting on them

volrath 2017-12-20T14:12:55.000420Z

In fact, if anyone has opinions on this matter, I think it'd be good to use the github issue instead of slack to discuss this.. anything would be welcomed 🙂

cgrand 2017-12-20T16:01:16.000256Z

Brave souls can try to build lumo from https://github.com/cgrand/lumo/tree/suspension

👏 2
cgrand 2017-12-20T16:01:56.000167Z

on this branch the stock repl (both term & socket) is upgradable

cgrand 2017-12-20T16:03:16.000298Z

The async nature of JS forces the upgrade to be a bit different

cgrand 2017-12-20T16:03:46.000768Z

Example:

(lumo.repl/suspension-request
  (fn [r resume]
    (let [print-fn *print-fn*]
      (lumo.repl/read-chars r
        (fn loop [s]
          (if (re-find #“bye” s)
            (resume {:value :ok})
            (binding [*print-fn* print-fn]
              (println “you said: ” s)
              (lumo.repl/read-chars r loop))))))))

cgrand 2017-12-20T16:11:30.000025Z

the equivalent Clojure is

(loop []
  (let [s (.readLine *in*)]
    (if (re-find #“bye” s)
      :ok
      (do
        (println “you said: ” s)
        (recur)))))

richiardiandrea 2017-12-20T17:24:39.000223Z

wow that is nice indeed

bozhidar 2017-12-20T19:24:43.000418Z

> right now I’m definitely between SPIRAL and STROEM, I like both.. but before making it official with a new name, I’ve been putting a lot of thought on the value proposition of another IDE, besides having UNREPL as the communication protocol.. basically related to this https://github.com/Unrepl/unrepl.el/issues/5 Yeah, I’ve meant to respond this, but I’ve been pretty busy at work these days. In the end of the day it really comes down to the fact that every Lisp IDE for Emacs has between 0 and 1 maintainer and eventually this impedes their development significantly. I’m all for innovation and healthy competition, but I know sooner or later everyone gets into a point where they can’t allocate a lot of time for OSS and generally stagnation begins there (even for popular projects like SLIME, SLY, Geiser and CIDER). I recall how sky was the limit when I had a lot of time for it, and how things are going now. Segmenting a tiny community might be detrimental in the long run.

👍 2
2017-12-20T20:21:46.000040Z

I can't see this as critical segregation, this most important component of standardized clojure development in emacs clojure-mode is not being replaced. I'm already codeing entirely inf-clojure, wish that project had more maintainers and better vision, the userbase I think is pretty big (not obvious from Tickets and PR's). Adding yet another configureable feature to cider, sounds not so attractive to me no matter how good it may be. I doubt that old-schoolers will be changeing away from cider anytime soon. I've not looked at unrepl.el as I'm only programming in cljs these days. I think cider rocks, use it when (rarely) I do vanilla clojure. My opinion is maybe that unrepl.el can be added as a feature into cider, but also potentially a standalone.

bozhidar 2017-12-20T20:45:30.000180Z

haha

bozhidar 2017-12-20T20:45:53.000005Z

@hlolli I guess you don’t know I’m also the maintainer of both clojure-mode and inf-clojure 🙂

bozhidar 2017-12-20T20:47:01.000412Z

In comparison to CIDER they are trivial projects - they were both quickly derived from lisp-mode and inferior-lisp originally. I recall I hacked together the first version of inf-clojure in 1 day day. 🙂

bozhidar 2017-12-20T20:47:23.000773Z

The amount of work that went into CIDER is of completely different magnitude.

cgrand 2017-12-20T20:48:24.000226Z

I can see an antitrust lawsuit coming :-)

bozhidar 2017-12-20T20:49:03.000181Z

😂 😂 😂

bozhidar 2017-12-20T20:50:55.000406Z

Anyways, this just serves to illustrate how few people are working on the Emacs tooling. It seems Emacs Lisp scares most people away, as most project don’t get many outside contributions.

2017-12-20T20:58:15.000436Z

I don't think it's fair to blame elisp or lack of interest of other people for lack of PR's. I've had 2 merges into inf-clojure, somehow when the maintainer are very busy doing other things, projects end their life. But that's a diversion of my point, the lightweight is what attracts me to inf-clojure. Been thinking myself to actually make a new clojure mode for emacs, so I'm glad to hear that someone is trying to create a new emacs package for clojure.

bozhidar 2017-12-20T21:16:11.000088Z

> I don’t think it’s fair to blame elisp or lack of interest of other people for lack of PR’s. I’m not blaming anything or anyone. I’m just stating personal observations that stretch way beyond Clojure-related projects. 🙂 I appreciate everyone’s contributions and I welcome new projects and ideas. I’m just ware of fragmentation . I really don’t think there’s anything foundational in clojure-mode, except the fact that everyone uses. Realistically this can be rewritten from scratch in something like a week. It took us something like 3-4 years to “rewrite” SLIME and that’s a vicious cycle. In the mean time there was little innovation, just a lot of catching up to do. But @volrath really has some great ideas in the UI department and that’s pretty awesome.

👍 1
2017-12-20T21:16:27.000219Z

But I may want to add to what I wrote, I don't think there's any need for a new mode, given that what already exists can be improved and maintained well. I'm actually also not in favour of segregateing ad infinitum. @richiardiandrea has been doing very nice commits lately to inf-clojure and I have good faith that project can grow.

2017-12-20T21:17:18.000575Z

agree @bozhidar

richiardiandrea 2017-12-20T21:19:14.000275Z

thanks btw 😄

richiardiandrea 2017-12-20T21:20:05.000096Z

having contributed to clojure-mode, cider, nrepl and inf-clojure I really really like to contribute on inf-clojure 🙂

2017-12-20T21:22:54.000113Z

To be bit politically bromantic, @richiardiandrea should at this point have merge rights so that there's an active maintainer and that will automatically motivate it's users to interact and vibrate, prompting more PR's as a consequence.

bozhidar 2017-12-20T21:25:31.000027Z

🙂

bozhidar 2017-12-20T21:28:53.000554Z

I appreciate everything @richiardiandrea is doing for inf-clojure and I wouldn’t mind giving him commit right eventually. The main reason I haven’t done this so far is that he’s not very familiar with Emacs practices and could use some guidance and help here and there. CIDER and clojure-mode have many people with commit rights there, but alas - all of them have been inactive for a while.

bozhidar 2017-12-20T21:29:58.000148Z

I’m not a great maintainer of my projects for sure, and I wouldn’t mind nothing depending on me, but so far has been hard to achieve. 🙂

richiardiandrea 2017-12-20T21:31:51.000045Z

I am not familiar with those things for sure and I actually totally like the fact that you screen my code..and come on you are a good maintainer :)

bozhidar 2017-12-20T21:32:39.000216Z

🙇