Module

Data.Undefined.NoProblem

#Opt

data Opt :: Type -> Type

Instances

#undefined

undefined :: forall a. Opt a

#opt

opt :: forall a. a -> Opt a

#fromOpt

fromOpt :: forall a. a -> Opt a -> a

Let's be consistent with fromMaybe args order here

#fromOptFlipped

fromOptFlipped :: forall a. Opt a -> a -> a

#(!)

Operator alias for Data.Undefined.NoProblem.fromOptFlipped (left-associative / precedence 9)

#toMaybe

toMaybe :: forall a. Opt a -> Maybe a

#isUndefined

isUndefined :: forall a. Opt a -> Boolean

#unsafeUnwrap

unsafeUnwrap :: forall a. Opt a -> a

#pseudoBind

pseudoBind :: forall a b. Opt a -> (a -> Opt b) -> Opt b

This is not dedicated for providing bind. We are not able to have Monad here.

It is only to provide nice operator: (coerce {}) ? .a ? .b ? _.c.d ! "default"

#(?)

Operator alias for Data.Undefined.NoProblem.pseudoBind (left-associative / precedence 9)

#pseudoMap

pseudoMap :: forall a b. (a -> b) -> Opt a -> Opt b

#type (<>)

Operator alias for Prim.TypeError.Beside (right-associative / precedence 2)

Ripped from typelevel-eval

#type (|>)

Operator alias for Prim.TypeError.Above (right-associative / precedence 1)

#SList

data SList

Ripped from record-extra

#SCons

data SCons :: Symbol -> SList -> SList

Instances

#SNil

#type (:::)

Operator alias for Data.Undefined.NoProblem.SCons (right-associative / precedence 6)

#RenderPath

class RenderPath (path :: SList) (render :: Doc) | path -> render

Instances

#TypeMismatchErr

class TypeMismatchErr (given :: Type) (expected :: Type) (path :: SList) (msg :: Doc) | path expected given -> msg

Instances

Modules