unrepl

discussing specification of an edn-based repl and its implementations.
cfleming 2017-05-17T02:46:17.703719Z

@cgrand @pesterhazy I had problems concatenating files to send over REPLs with servers running old Clojure versions. I can’t remember if 1.5.0 or 1.6.0 fixed a bug where you couldn’t have multiple ns forms in a single file.

cgrand 2017-05-17T07:21:06.772974Z

cfleming: with nrepl load-file I assume, right?

cfleming 2017-05-17T08:06:32.359873Z

@cgrand Yes, but it was a Clojure bug

cfleming 2017-05-17T02:46:43.706577Z

Obviously unrepl is 1.5.0+ anyway because of EDN.

cgrand 2017-05-17T06:10:00.085908Z

@plexus I didn't thought of it but yeah definitely

pesterhazy 2017-05-17T06:22:15.185881Z

@cfleming, I would argue 1.8.0+ because of Socket Server

pesterhazy 2017-05-17T06:22:56.191358Z

I was happy to find that concatenating the two files just worked for unravel

pesterhazy 2017-05-17T06:23:41.197777Z

but eventually it might be easier/more manageable to put things into a single namespace

pesterhazy 2017-05-17T06:23:52.199157Z

something to consider at least

cgrand 2017-05-17T08:17:03.507381Z

Yeah I understand it was a Clojure bug. My point is just that when you have just a plain repl (socket or not) you don't trigger this bug.

cfleming 2017-05-17T08:25:09.624775Z

I think you do - it was a problem in load-file IIRC

cfleming 2017-05-17T08:28:35.675472Z

I can’t find the JIRA right now.

cgrand 2017-05-17T08:37:19.808264Z

@cfleming with a plain repl there’s no load-file involved (you can’t assume a shared FS), you just feed it form by form (well char by char even).

cfleming 2017-05-17T09:51:28.939809Z

@cgrand Tools will often use load-file behind the scenes though, e.g. by creating a temporary file to do so. It’s the only way to get file/line info for loaded forms (for debugging/stack traces)

cgrand 2017-05-17T09:52:56.961560Z

we were talking about sending concatenated files, in this case file/line info is already so-so