I'm not familiar with Woof but it looks like an attempt at writing a pure logging lib. What is wrong with that?
I'm not familiar with Woof but it looks like an attempt at writing a pure logging lib. What is wrong with that?
Need I remind you of the Log4J debacle? It's definitely a big deal.
Whether this is the right approach is another matter.
PS: trust me, you don't need to read on category theory to use or understand monoids, which at the level they are used in Scala and Haskell code, they are trivial to understand.
Don't know about others but for me it is about being able to easily verify that my logging is setup correctly.
Once you write your logging to some monad (the library we use does not require it to be IO) testing it becomes trivial with a WriterT monad where it just write your logs into some list/buffer and check that what was logged in various cases was actually what you wanted.
We do the same with tracing checking that spans are created as we wanted and the tags/logs on the spans are setup correctly.
https://dotty.epfl.ch/docs/reference/other-new-features/inde...
Also: you don't need to know category theory to use the IO monad.