unrepl

discussing specification of an edn-based repl and its implementations.
2018-03-30T06:20:46.000017Z

cgrand 2018-03-30T08:26:33.000108Z

@kotarak @volrath @pesterhazy is there any sense to define a common complete action then? (yes I can take the union of what all of us are doing)

cgrand 2018-03-30T08:35:05.000240Z

I fear itโ€™s going to look like the Homermobile

volrath 2018-03-30T08:36:18.000293Z

I feel it's not needed in unrepl. this type of thing fits better in something like orchard

cgrand 2018-03-30T08:38:13.000242Z

My hope was to define the contract (action) not necessarily the impl.

cgrand 2018-03-30T08:44:24.000276Z

maybe I should stop worrying

2018-03-30T09:05:29.000277Z

@cgrand I agree with @volrath that such a thing should be in some separate library.

2018-03-30T09:07:24.000019Z

I'm also not sure that defining the action is actually the right thing todo.

2018-03-30T09:08:11.000144Z

Maybe. I could live with the transforming the input on the client side into the required vim format.

2018-03-30T09:08:44.000067Z

However that would be slower and bans me from adding possibly not contained information.

2018-03-30T09:09:01.000079Z

(There is always a feature you can add to the Homermobile. ๐Ÿ˜› )

2018-03-30T09:10:21.000181Z

So I'd rather have a small wrapper around the library which does the heavy-lifting.

2018-03-30T09:11:07.000124Z

Whether this is hidden behind a commonly defined action or whether it's my own doesn't really matter, does it?

2018-03-30T09:11:41.000232Z

Having a common action would then mean, however, that only what goes in would be specified. The output would obviously differ.

cgrand 2018-03-30T09:16:34.000217Z

the output would be specified but in a human readable form only

2018-03-30T09:16:45.000267Z

How can you do that?

cgrand 2018-03-30T09:17:19.000235Z

By writing a document ๐Ÿ™‚ and having you to read and implement it ๐Ÿ™‚

2018-03-30T09:17:23.000113Z

Vim needs a map contain this and that key. Emacs requires a list. IntelliJ takes ......

2018-03-30T09:17:37.000121Z

How do you describe that?

2018-03-30T09:17:52.000079Z

You can specify only the inner heavy-lifting part.

2018-03-30T09:18:12.000289Z

Is defining the action worthwile?

2018-03-30T09:18:28.000251Z

Now that we expect to send the blob for kick-off?

2018-03-30T09:18:50.000241Z

No one ever sees the action except the connection counter-part.

cgrand 2018-03-30T09:20:01.000283Z

actions were meant for one client to support multiple blobs

2018-03-30T09:20:58.000050Z

Is this a relic of "we connect to a unrepl server"?

cgrand 2018-03-30T09:21:18.000002Z

no

2018-03-30T09:21:26.000263Z

The client is obviously in full control of the blob it sends.

2018-03-30T09:21:48.000255Z

For me the actions mainly take care of versioning and shading.

cgrand 2018-03-30T09:22:04.000161Z

hey, you are the one developing just-in-time shading of user-provided actions!

2018-03-30T09:22:14.000107Z

And whether I have a local action mapping system or the one we have at the unrepl side now doesn't really matter.

2018-03-30T09:22:27.000092Z

Except for connection specific things like auxing.

cgrand 2018-03-30T09:22:51.000128Z

youโ€™ll have to support one blob per target (ok now thereโ€™s only one)

2018-03-30T09:22:52.000059Z

Not user provided! Extension provided!

2018-03-30T09:23:00.000128Z

They are not dynamic for a given connection!

2018-03-30T09:23:16.000142Z

Once you start up vim you are static.

2018-03-30T09:23:24.000255Z

But you can extend things.

cgrand 2018-03-30T09:23:52.000240Z

I know thereโ€™s no way to quit

2018-03-30T09:24:14.000028Z

๐Ÿ˜„

2018-03-30T09:24:18.000280Z

No. Indeed not.

2018-03-30T09:24:30.000212Z

I tried emacs, IntelliJ, Eclipse.

2018-03-30T09:24:46.000229Z

But my Vim kept running, so I thought I might as well use it. ๐Ÿ˜‰

2018-03-30T09:25:32.000125Z

Even with multiple targets, you are fully in charge of the resp. blob, aren't you.

cgrand 2018-03-30T09:25:34.000203Z

Real mensch write their own editor ๐Ÿ˜‰

2018-03-30T09:26:04.000089Z

Harharhar. Only creatures of the night do that! ๐Ÿ˜‰

cgrand 2018-03-30T09:26:05.000067Z

How is The-Project-Previously-Known-As-Pinky going?

2018-03-30T09:26:23.000085Z

ร–h. Waiting for me to finish working on Vimpire at the moment.

2018-03-30T09:26:32.000052Z

dummdidumm

cgrand 2018-03-30T09:27:07.000029Z

yeah but my hope was that tools author would have basic intreaction ok without having to write custom actions for each taregt

2018-03-30T09:28:50.000233Z

Hmm.. Since I have no clue about ClojureScript, that was not my concern. I see the problem more on the client side. That each client has its own requirements and interfaces.

2018-03-30T09:29:53.000047Z

(Eg. the completion in vimpire is actually voodoo. Normally the interface is syncronuous. And they do some black magic to make it asyncronuous. Otherwise I wouldn't be able to provide completion, because the connection is async.)

2018-03-30T09:30:29.000312Z

(And async also not even being a unrepl problem, but a vim one.)

cgrand 2018-03-30T11:03:14.000197Z

Shading with find & replace failure:

(ns compliment.core$lGKpTGw5kbRXJ4kBA9SDwnNAxCE
  "Core namespace. Most interactions with Compliment should happen
  through functions defined here."
  (:require (compliment.sources$p8UbKISrPlDh$sMwHBsmdzBLjpU ns-mappings
                                namespaces-and-classes
                                class-members
                                keywords
                                special-forms
                                local-bindings
                                resources)
            [compliment.sources$p8UbKISrPlDh$sMwHBsmdzBLjpU :refer [all-sources]]
            [compliment.context$50K5FJhtgeO$CW7edfPjhgFPlr8 :refer [cache-context]]
            [compliment.utils$YmBUUrJwullK9KE0yVCYElF$2Xk :refer [*extra-metadata*]]
            [clojure.string :refer [join]])
  (:import java.util.Comparator))
The prefix gets shaded instead of the full namespaces

2018-03-30T13:06:50.000346Z

2018-03-30T14:48:15.000011Z

2018-03-30T15:21:46.000477Z

2018-03-30T15:28:25.000212Z

2018-03-30T15:31:52.000279Z

2018-03-30T15:32:42.000630Z

(... and caused by @kotarak. ๐Ÿ˜ )

dominicm 2018-03-30T20:44:53.000154Z

I'm not sure if this was noticed amongst the spec conversation: https://github.com/athos/spectrace/blob/master/README.md