unrepl

discussing specification of an edn-based repl and its implementations.
cgrand 2017-06-27T14:27:18.176415Z

Tangentially related to unrepl but this could benefit from machine printing and elision:

pesterhazy 2017-06-27T14:42:45.573914Z

yeah, anything tree like really

pesterhazy 2017-06-27T14:42:55.578345Z

but tracing is a great example of that

richiardiandrea 2017-06-27T14:45:30.644552Z

I wonder if it works in cljs as well

cgrand 2017-06-27T14:46:13.662918Z

nah I use the java debugging ifrastructure to have this level of tracing

cgrand 2017-06-27T14:46:19.665968Z

in fact itโ€™s a JVM tracer

cgrand 2017-06-27T14:47:18.691551Z

do V8 or JSCore have a public debug API?

richiardiandrea 2017-06-27T14:48:44.729038Z

This is what i have found: https://nodejs.org/dist/latest-v8.x/docs/api/tracing.html

richiardiandrea 2017-06-27T14:49:03.737813Z

That JVM tracer is cool, how do you hook it up?

richiardiandrea 2017-06-27T14:49:28.748812Z

I guess it is in clojure.tools.trace ?

cgrand 2017-06-27T14:50:52.785350Z

no itโ€™s a new development, tools.trace works by redefining vars

cgrand 2017-06-27T14:51:33.803422Z

In my case the JVM has to be started with -Xdebug -agentlib:jdwp=transport=dt_socket,server=y,suspend=n (no explicit port required)

cgrand 2017-06-27T14:51:58.813772Z

and then I have code to connect the JVM to itself as a debugger

richiardiandrea 2017-06-27T15:08:03.249052Z

Well that is great, node has a debugging/inspecting layer, not an expert however and it looks very limited: https://nodejs.org/dist/latest-v8.x/docs/api/debugger.html

cgrand 2017-06-27T15:31:39.869132Z

A bit rudimentary indeed

pesterhazy 2017-06-27T15:44:40.206396Z

@cgrand debugging/tracing/repl-driven development could be a killer feature of nrepl

cgrand 2017-06-27T15:46:10.245566Z

next step is to open a new repl when an exception is thrown

1โค๏ธ
dominicm 2017-06-27T15:48:51.313786Z

@richiardiandrea you can attach chrome to a running nodejs instance for a full blown debugger

richiardiandrea 2017-06-27T15:49:50.339239Z

Yeah I have recently enabled boot to work with Dirac for a Repl in there for my colleagues ๐Ÿ˜€

richiardiandrea 2017-06-27T15:50:10.347336Z

But it is not the same thing ๐Ÿ˜€

richiardiandrea 2017-06-27T15:51:17.376085Z

And I don't personally use it, at some point I will help porting unrepl to cljs just don't have enough time now and when I have time, it is too little and I prefer to tackle smaller problems

cgrand 2017-06-27T15:52:49.415296Z

re: cljs port, dynamic ns are not seen by require (self-hosted) so: โ€ข either add workarounds in the blob โ€ข fix cljs. Whatโ€™s the best course of procrastination? ๐ŸŽต

richiardiandrea 2017-06-27T15:56:13.501096Z

@cgrand I guess you spoke with D. Nolen already? What did he say? Usually patches to self host are more likely to happen, especially because you have very active projects/maintainers behind it

cgrand 2017-06-27T15:57:32.535575Z

@richiardiandrea ๐Ÿคฆ I forgot you opened the issue for that

cgrand 2017-06-27T15:59:54.596771Z

the fix should cover both slef-host and regular ๐Ÿ˜• to not create yet another divergence

richiardiandrea 2017-06-27T16:00:41.620200Z

Ok yeah that is tougher then, Darwin already proposed something and got bounced ๐Ÿ˜€

richiardiandrea 2017-06-27T16:01:29.642025Z

(don't remember the details now)

pesterhazy 2017-06-27T16:23:27.165210Z

๐ŸŽถ procrastination isn't good for me ๐ŸŽถ