Harendra Kumar
Harendra Kumar
In cabal GHC_OPTIONS envvar translates to the `--ghc-options` cabal flag, which enables ghc options for all dependencies. We can have another flag to set the ghc options only on the...
Currently we display PATH at many places. PATH is many times quite large and becomes a noise. We should print it only VERBOSE is set. Similarly, information like the tar...
packcheck creates a source distribution in .packcheck directory and builds from that. To reuse the previous build's artifacts we can do the following: * Create the `dist-newstyle` directory outside the...
Use a stream instead of a list so that we can use any container type. ``` eqBy :: Monad m => (a -> a -> Bool) -> [a] -> Parser...
To support concurrent modification of shared state we need a concurrent StateT. A concurrent StateT would fork the shared state to multiple concurrent threads and then join the modified state...
For filesystem related combinators we have to deal with file paths. We do not want to use `String` to represent file paths in favor of better typed paths. Since streamly...
We have two modules in streamly to deal with time and time units: * Streamly.Time.Units * Streamly.Time.Clock The goal of these modules is to: * Represent time efficiently, we should...