Show HN: Ghostwheel – easy spec, side effect detection and tracing for Clojure
1–10 of 20 posts
Re: Show HN: Ghostwheel – easy spec, side effect detection and tracing for Clojure
#2It makes the writing, reading, refactoring, testing, instrumentation and stubbing of function specs easy; introduces a concise syntax for inline fspec definitions; helps keep track of side effects; and makes general debugging almost fun, with full evaluation tracing of function I/O, local bindings and all threading macros.
It's Alpha software and the Clojure port, while essentially functional, still needs some love to achieve full feature parity with ClojureScript – most prominently missing at the moment is the tracing functionality.
To steal a quote from Nathan Marz' Specter in a blatant attempt at a so far likely undeserved comparison to its indispensability, I like to think of Ghostwheel as clojure.spec's missing piece. It has become quite essential to me and I hope that you will find it useful too.
Feedback, PRs, and issue reports are welcome and much appreciated.
Do your thing, HN.
Re: Show HN: Ghostwheel – easy spec, side effect detection and tracing for Clojure
#3Re: Show HN: Ghostwheel – easy spec, side effect detection and tracing for Clojure
#4This looks promising, can you expand on how this differs from clojure.spec and core.typed?
core.typed still seems to be quite experimental and not yet production-ready, but it certainly looks very promising and I'm keeping an eye on it. It currently also doesn't work on ClojureScript, which has been the primary platform for Ghostwheel so far.
Re: Show HN: Ghostwheel – easy spec, side effect detection and tracing for Clojure
#5Re: Show HN: Ghostwheel – easy spec, side effect detection and tracing for Clojure
#6Fellow Clojurians, I present to you, Ghostwheel. It makes the writing, reading, refactoring, testing, instrumentation and stubbing of function specs easy; introduces a concise syntax for inline fspec definitions; helps keep track of side effects; and makes general debugging almost fun, with full evaluation tracing of function I/O, local bindings and all threading macros. It's Alpha software and the Clojure port, whil…
Thanks!
Re: Show HN: Ghostwheel – easy spec, side effect detection and tracing for Clojure
#7Fellow Clojurians, I present to you, Ghostwheel. It makes the writing, reading, refactoring, testing, instrumentation and stubbing of function specs easy; introduces a concise syntax for inline fspec definitions; helps keep track of side effects; and makes general debugging almost fun, with full evaluation tracing of function I/O, local bindings and all threading macros. It's Alpha software and the Clojure port, whil…
This looks great! Is there a way to make it work with existing specced code? I already have a large codebase with lots of fdefs. Can Ghostweel work with them without modification? Thanks!
There may be some limitations on this compared to using inline gspecs – I have to play around with it a bit, but I think it should work fine. Until then, you can still use Ghostwheel for tracing and side effect detection though.
Re: Show HN: Ghostwheel – easy spec, side effect detection and tracing for Clojure
#8Fellow Clojurians, I present to you, Ghostwheel. It makes the writing, reading, refactoring, testing, instrumentation and stubbing of function specs easy; introduces a concise syntax for inline fspec definitions; helps keep track of side effects; and makes general debugging almost fun, with full evaluation tracing of function I/O, local bindings and all threading macros. It's Alpha software and the Clojure port, whil…
Re: Show HN: Ghostwheel – easy spec, side effect detection and tracing for Clojure
#9Fellow Clojurians, I present to you, Ghostwheel. It makes the writing, reading, refactoring, testing, instrumentation and stubbing of function specs easy; introduces a concise syntax for inline fspec definitions; helps keep track of side effects; and makes general debugging almost fun, with full evaluation tracing of function I/O, local bindings and all threading macros. It's Alpha software and the Clojure port, whil…
I am not sure about the Quick Fix thing in Cursive. Care to elaborate?
EDIT: I'll update the docs to make this clearer.
Re: Show HN: Ghostwheel – easy spec, side effect detection and tracing for Clojure
#10Fellow Clojurians, I present to you, Ghostwheel. It makes the writing, reading, refactoring, testing, instrumentation and stubbing of function specs easy; introduces a concise syntax for inline fspec definitions; helps keep track of side effects; and makes general debugging almost fun, with full evaluation tracing of function I/O, local bindings and all threading macros. It's Alpha software and the Clojure port, whil…
This looks great! Is there a way to make it work with existing specced code? I already have a large codebase with lots of fdefs. Can Ghostweel work with them without modification? Thanks!