HackerTrans
TopNewTrendsCommentsPastAskShowJobs

jpmonettas

no profile record

comments

jpmonettas
·anno scorso·discuss
Clojure has tree-seq https://clojuredocs.org/clojure.core/tree-seq
jpmonettas
·anno scorso·discuss
FlowStorm A FOSS time travel debugger for Clojure https://www.flow-storm.org/
jpmonettas
·2 anni fa·discuss
Cool! I love how this written and how powerful that whole approach feels for teaching/learning.
jpmonettas
·2 anni fa·discuss
Thanks! I started with cljfx and then moved to pure javafx, first because it wasn't straight forward for me to understand the performance overhead of cljfx under different scenarios (when using subscriptions and contexts), and second because I want to drag as few dependencies as possible so they don't conflict with debuggee one's.
jpmonettas
·2 anni fa·discuss
So recording in FlowStorm doesn't use Clojure metadata capabilities in any way, it is basically about storing function calls, function returns and the pointers to all expressions intermediate immutable values together with their code coordinates.
jpmonettas
·2 anni fa·discuss
Not sure I follow, can expand on that? I gave a presentation on it recently https://www.youtube.com/watch?v=BuSpMvVU7j4 which goes over demos and implementation details if you are interested in those topics.
jpmonettas
·2 anni fa·discuss
Cool! I wrote something on the same spirit but for Clojure, called FlowStorm http://www.flow-storm.org/

For instrumentation, instead of an instrumenting agent it uses a fork of the official Clojure compiler (in Clojure you can easily swap compilers at dev) that adds extra bytecode. What is interesting about recording Clojure programs execution is that most values are immutable, so you can snapshot them by just retaining the pointers.

Edit: Since the OP demo is about exploring a web app for people interested in this topics I'm leaving a demo of FlowStorm debugging a web app also https://www.youtube.com/watch?v=h8AFpZkAwPo