Hoogle Search
Within LTS Haskell 24.40 (ghc-9.10.3)
Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.
customizedAnyName :: HeadedParsec Void Text Ident -> HeadedParsec Void Text AnyNamepostgresql-syntax PostgresqlSyntax.Parsing No documentation available.
filteredAnyName :: Foldable t => t Text -> HeadedParsec Void Text AnyNamepostgresql-syntax PostgresqlSyntax.Parsing No documentation available.
ticksFromAny :: (Quantity a, Timed m) => T m t a -> m (T m t Ticks)reactive-midyim Reactive.Banana.MIDI.Time No documentation available.
-
recover-rtti Debug.RecoverRTTI Add level of indirection on the heap (Advanced users only, for most use cases this should not be necessary.) Type recovery in recover-rtti (through classify) works by looking at the values on the heap. For example, if we see a list, we then look at the first element of that list (if any), and if that element happens to be an Int, the inferred type is [Int]. When we show such a list (anythingToString), every element of the list is interpreted as an Int, without doing further type recovery. This works for normal use cases, but fails in low-level code that uses Any to squeeze values of different types into a data structure not designed for that purpose. For example, consider
data T f = T [f Any]
If we call anythingToString on a T value with elements of different types in the list, we get some unexpected results:anythingToString (T [unsafeCoerce (1 :: Int), unsafeCoerce False]) == "T [1,14355032]"
The reason is that the type of the list was inferred as [Int], and hence the Bool was subsequently also interpreted as an Int. BoxAnything helps to resolve the problem. There are ways in which it can be used. First, we can derive the following entirely reasonable Show instance for T:deriving instance Show a => Show (T (K a))
We then getshow (T [K $ BoxAnything (1 :: Int), K $ BoxAnything False]) == "T [K 1,K False]"
Alternatively, we can omit the Show instance for T, to getanythingToString (T [K $ BoxAnything (1 :: Int), K $ BoxAnything False]) == "T [BoxAnything 1,BoxAnything False]"
For this second use case to work, it is critical that BoxAnything is a datatype, not a newtype, so that it actually appears on the heap. BoxAnything :: a -> BoxAnythingrecover-rtti Debug.RecoverRTTI No documentation available.
-
recover-rtti Debug.RecoverRTTI Like traceShow, but using anythingToString
-
recover-rtti Debug.RecoverRTTI Like traceShowId, but using anythingToString
-
redis-glob Redis.Glob.Internal No documentation available.
-
redis-glob Redis.Glob.Internal No documentation available.
reduceMany :: [Part] -> [Part]redis-glob Redis.Glob.Internal Normalise parsed Parts All but a terminating Many are replaced with GenerousMany; Consecutive Manys are replaced by a single GenerousMany