Yuji Yamamoto <whosekitenever...@gmail.com> writes: > Nice to meet you, GHC Developers! > I'm new to contributing to GHC. > Hi Yuji!
Thanks for your proposal. I think this is likely best handled by the Core Libraries Committee (CC'd). Let's see what they say. > Today let me suggest new APIs of the Debug.Trace > <http://hackage.haskell.org/package/base-4.11.1.0/docs/Debug-Trace.html> > module, named: > > - taggedTraceShowId :: Show a => String -> a -> a > - taggedTraceWith :: (a -> String) -> String -> a -> a > > These are inspired by Elm's Debug.log > <http://package.elm-lang.org/packages/elm-lang/core/5.1.1/Debug#log> > function. > The prefix "tagged" is named after its argument > <https://github.com/elm-lang/core/blob/5.1.1/src/Native/Debug.js#L5>. > > I mean, these new APIs prepend a string as a tag to the output by > traceShowId etc. > It helps us recognize what the printed values stand for. > I frequently want such functions and write them manually or copy-and-paste > from the Debug.TraceUtils. > I'm tired of that. That's why I made this suggestion. > > *Comparison with the existing solution* > > - Debug.TraceUtils > > <http://hackage.haskell.org/package/TraceUtils-0.1.0.2/docs/Debug-TraceUtils.html> > : > - Essentially, this suggestion is to add APIs already implemented by > TraceUtils. > - As the document of TraceUtils suggests, we can copy and paste the > functions from its source, but it's still tiresome. > - Combine Debug.Trace.traceShowId with Debug.Trace.trace: > - e.g. trace "Tag" $ traceShowId x > - A bit hard to type. > - trace always prints a newline, which makes it difficult to tell the > tags from the printed value. > > After receiving some feedback here, I'm going to submit to > https://github.com/ghc-proposals/ghc-proposals > Thanks in advance! > Personally, I do like the "With" variant as I regularly find myself needing things like this. I'm a bit unsure of whether we want to bake the "tag" notion into the interface, however. Cheers, - Ben
signature.asc
Description: PGP signature
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs