Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Closes #171.
This module implements a linear version of
Debug.Trace
.It is implemented as a thin wrapper, it mostly uses
Unsafe.Linear.toLinear
to coerce the non-linear functions.It uses linear arrows wherever possible, however we can't do that some places because we do not have a linear version of 'Show'. It also translates functions using
Prelude.IO
andPrelude.Applicative
to use the linear IO and the linear data applicative respectively.I also copied over one-line summaries of the functions from the original module, but decided against copying over the whole documentation; just because it felt like that it too much duplication. Let me know if prefer having the whole documentation, and I can copy the rest over.