Module

Data.Variant.Internal

Package
purescript-variant
Repository
natefaubion/purescript-variant

#FProxy Source

data FProxy (a :: Type -> Type)

Proxy for a Functor.

Constructors

Instances

#VariantCase Source

#VariantTags Source

class VariantTags (rl :: RowList)  where

Members

Instances

#Contractable Source

class Contractable gt lt  where

Members

Instances

#VariantRecordMatching Source

class VariantRecordMatching (variant :: Row Type) (record :: Row Type) result |  -> variant record result

Type class that matches a row for a record that will eliminate a row for a variant, producing a result of the specified type. Just a wrapper for RLMatch to convert RowToList and vice versa.

Instances

#VariantMatchEachCase Source

class VariantMatchEachCase (vlist :: RowList) (rlist :: RowList) result | vlist -> rlist result, rlist -> vlist result

Checks that a RowList matches the argument to be given to the function in the other RowList with the same label, such that it will produce the result type.

Instances

#VariantFRecordMatching Source

class VariantFRecordMatching (variant :: Row Type) (record :: Row Type) typearg result |  -> variant record typearg result

Instances

#VariantFMatchEachCase Source

class VariantFMatchEachCase (vlist :: RowList) (rlist :: RowList) typearg result | vlist -> rlist typearg result, rlist -> vlist typearg result

Checks that a RowList matches the argument to be given to the function in the other RowList with the same label, such that it will produce the result type.

Instances

#lookupTag Source

lookupTag :: String -> List String -> Boolean

A specialized lookup function which bails early. Foldable's elem is always worst-case.

#lookup Source

lookup :: forall a. String -> String -> List String -> List a -> a

Re-exports from Data.Record.Unsafe

#unsafeGet

unsafeGet :: forall a r. String -> Record r -> a

Re-exports from Type.Row

#RProxy Source

data RProxy (row :: Row Type)

Constructors

#RLProxy Source

data RLProxy (rowList :: RowList)

Constructors