ghostwheel

Hassle-free clojure.spec, automatic generative testing, side effect detection, and evaluation tracing for Clojure(-Script) ā€“ https://github.com/gnl/ghostwheel
gnl 2018-11-21T00:56:49.003800Z

@genekim It's a great question that's been on my mind since I wrote Ghostwheel ā€“ static typing and generative testing are a perfect match as each approach has weaknesses that the other one covers. Some sort of compatibility with core.typed is very likely to be in Ghostwheel's future. core.typed sort of seemed to have left the spotlight for a good while and it's great to see that Ambrose is on it and moving things forward (thanks for the hint). When I last looked into it it didn't seem quite ready for prime time ā€“ apparently the type checker was quite slow and the ClojureScript support was significantly behind what was happening on the Clojure side. When core.typed works on ClojureScript again I'll see about making them play well together, as I'm writing only ClojureScript these days and cross-platform support is currently the top priority for Ghostwheel (proper Clojure support is coming with the next release, which is just receiving its last polish).

claudiu 2018-11-21T07:05:09.006600Z

@clojurians.net you mentioned a new release that's in the works. Have you considered having alternate versions that are a bit more minimalist ? In the repl podcast the author of expound mentioned how much he tried to have it without any dependencies. My thought was to have something that just has the macros for the >defn stuff šŸ™‚

gnl 2018-11-21T14:24:03.006900Z

@claudiu The one thing that I've been considering is having an alternative stubs-only production version where the macros desugar to just plain defns and everything compiles correctly but doesn't do anything and doesn't have any dependencies. Is that what you mean?

gnl 2018-11-21T14:29:16.007100Z

(And btw ā€“ can you send me a link to the podcast?)

claudiu 2018-11-21T14:29:40.007300Z

@clojurians.net not really. I mean have ghostwheel just provide the syntactic sugar for >defn. And the other stuff like traces, side-effect detection as extra opt-in packages.

claudiu 2018-11-21T14:30:45.007500Z

If I like >defn and only want that, without other deps my only option is to write my own. Seeing people do that thats why Im asking

gnl 2018-11-21T14:31:12.007700Z

So no test generation either?

claudiu 2018-11-21T14:37:35.007900Z

don't know exactly what's possible. Personally would love to have just the basic syntax and the other ones as addons : like https://github.com/metosin/reitit

claudiu 2018-11-21T14:38:00.008300Z

this is the podcast https://www.therepl.net/episodes/7/

gnl 2018-11-21T14:39:57.008500Z

It's all coupled together pretty tightly at the moment, but in theory some things should be extractable into separate modules. I like the idea of that and will give it some thought. Definitely won't happen for this release though, cause I'm already in the cleanup phase and this is a more major undertaking.

gnl 2018-11-21T14:40:41.008700Z

Thanks for the link

gnl 2018-11-21T14:42:01.008900Z

And by the way, if you see anyone dropping it or reimplementing parts of it because of some inconvenience, please do urge them to open issues/feature requests, I'd love to see adoption increase and I need to know this stuff. šŸ™‚

claudiu 2018-11-22T08:19:59.013800Z

yep sure šŸ™‚ will do šŸ™‚

claudiu 2018-11-21T07:06:14.006700Z

@genekim Curious what do you mean by But Iā€™m finding that the number of parameter typing errors I make are so high ?