From 723ce8ef9fb9d18ccc81c5a59885001cae4b3c05 Mon Sep 17 00:00:00 2001 From: Mats Rauhala Date: Wed, 3 Nov 2021 13:17:09 +0200 Subject: [PATCH] Add trace --- .gitignore | 2 ++ src/Trace.hs | 9 +++++++++ 2 files changed, 11 insertions(+) create mode 100644 .gitignore create mode 100644 src/Trace.hs diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..cd7dd01 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +dist-newstyle +.envrc diff --git a/src/Trace.hs b/src/Trace.hs new file mode 100644 index 0000000..823f9ff --- /dev/null +++ b/src/Trace.hs @@ -0,0 +1,9 @@ +{-# LANGUAGE DerivingVia #-} +module Trace where + +import Data.Functor.Contravariant (Op(..), Contravariant) +import Data.Monoid (Ap(..)) + +newtype Trace m a = Trace { trace :: a -> m () } + deriving Contravariant via Op (m ()) + deriving (Semigroup, Monoid) via Op (Ap m ()) a