speculative

https://github.com/borkdude/speculative
borkdude 2018-11-26T12:09:45.003200Z

https://github.com/slipset/speculative/pull/152

borkdude 2018-11-26T12:16:40.003500Z

The main point left to decide is: Should non-set args be allowed?

borkdude 2018-11-26T12:18:54.004900Z

Given the current state (no coercion) calling set functions with non-set args give surprising results. That would be a reason to NOT accept them, so you can change your code after you have detected it.

flowthing 2018-11-26T12:19:18.005300Z

clj -A:test:coal-mine-clj throws Caused by: java.lang.RuntimeException: Unable to resolve symbol: instrument in this context for me.

borkdude 2018-11-26T12:19:36.005700Z

@flowthing have you updated from the most recent master? I pushed some fixes a couple of minutes ago

flowthing 2018-11-26T12:19:49.005900Z

Probably not — I'll give it a try.

borkdude 2018-11-26T12:20:35.006500Z

Maybe you could find the 4clojure problems that focus on sets and then run those specifically. Running all of coal-mine really takes an insane amount of time.

borkdude 2018-11-26T12:21:09.007600Z

And even if the 4clojure problems break with your specs, it isn’t said that your specs are wrong.

flowthing 2018-11-26T12:21:14.007800Z

Insane like hours or days? I have a server where I can run long-running tasks, so if it's something like one day, it shouldn't be too bad.

borkdude 2018-11-26T12:21:29.008100Z

could try, I haven’t done that

flowthing 2018-11-26T12:21:40.008400Z

And yeah, pulling the latest master fixed the issue. :thumbsup:

flowthing 2018-11-26T12:21:45.008600Z

I'll give it a go.

flowthing 2018-11-26T12:25:58.009200Z

I guess I need to add the set functions into speculative.instrument/known-fdefs before running coal mine tests?

borkdude 2018-11-26T12:26:11.009400Z

yes.

borkdude 2018-11-26T12:29:26.010200Z

@flowthing to make sure you are finding errors, you could depend on a :local/root version of coal-mine and put a deliberate mistake in there like (set/union 1 1)

👍 1
flowthing 2018-11-26T12:33:24.011500Z

I think clj -A:test:coal-mine-clj prints a list of namespaces it's going to test when it starts, but clojure.set functions don't appear in that list even if I add them into known-fdefs.

flowthing 2018-11-26T12:33:48.012Z

I don't have time to continue looking into it today, but I'll take another look tomorrow.

borkdude 2018-11-26T12:38:27.012600Z

@flowthing if you could push your current branch, I’ll take a look

flowthing 2018-11-26T12:41:52.013100Z

Weird... it works on my Mac, but not on my Linux server. I'll look into it.

flowthing 2018-11-26T12:43:51.013800Z

Ah, works now. I just messed up with Git branches.

flowthing 2018-11-26T12:44:07.014100Z

I'll leave it to run and see how it goes.