<div dir="ltr">Hi devs,<div><br></div><div>I'm thinking to add a primop in GHC but not sure how I should proceed. The primop I have in mind is something like:</div><div><br></div><div>  traceEventBinary# :: Addr# -> Int# -> State# s -> State# s<br></div><div><br></div><div>This function is similar to the existing traceEvent# but it takes a chunk of bytes rather than a null-terminated string. It is useful to trace custom user events (e.g. network packet arrival timestamps in an network application) in eventlogs. At library level, it is supposed to be used like the tracing functions in Debug.Trace but with ByteString argument:</div><div><br></div><div>  traceEventBinary :: ByteString -> a -> a</div><div>  traceEventBinaryIO :: ByteString -> IO ()</div><div><br></div><div>Note that this can't live in base because of the dependency on bytestring.</div><div><br></div><div>So how should I proceed from here? Am I supposed to submit a GHC proposal or should I ask on the libraries list? This is not a prominently visible change in GHC. It rather affects only ghc-prim and no effects in base.</div><div><br></div><div>Thanks,</div><div>Mitsutoshi</div><div><br></div><div><br></div></div>