eventuo11y-dsl-0.1.0.0: DSL for defining eventuo11y fields and selectors
CopyrightCopyright 2022 Shea Levy.
LicenseApache-2.0
Maintainershea@shealevy.com
Safe HaskellSafe-Inferred
LanguageHaskell2010

Observe.Event.Syntax

Description

Syntax helpers for eventuo11y interfaces.

Synopsis

Documentation

class RecordField k v a where Source #

A type class for common syntax for types that are key-value-like.

For example, the appropriate RecordField instances allow for [ "bytes", "asked" ] ≔ ''ByteCount and [ "bytes", "actual" ] ≔ [t|Maybe ByteCount|] to both construct FieldConstructorSpecs, the former creating a constructor BytesAsked taking a ByteCount and the latter a constructor BytesActual taking a Maybe ByteCount.

Methods

(≔) :: k -> v -> a infixr 4 Source #

Instances

Instances details
a ~ ExplodedName => RecordField a FieldSpec SelectorConstructorSpec Source #

e.g. "foo" ≔ FieldSpec ...

Instance details

Defined in Observe.Event.DSL

a ~ ExplodedName => RecordField a SelectorField SelectorConstructorSpec Source #

e.g. "foo" ≔ NoFields

Instance details

Defined in Observe.Event.DSL

a ~ ExplodedName => RecordField a Name FieldConstructorSpec Source #

e.g. "foo" ≔ ''Int

Instance details

Defined in Observe.Event.DSL

a ~ ExplodedName => RecordField a Name SelectorConstructorSpec Source #

e.g. "foo" ≔ ''Int

Instance details

Defined in Observe.Event.DSL

(a ~ ExplodedName, m ~ AnyQuote) => RecordField a (NonEmpty (m Type)) FieldConstructorSpec Source #

e.g. "foo" ≔ [t|Int] :| [ [t|Bool], [t|Char] ]

Instance details

Defined in Observe.Event.DSL

a ~ ExplodedName => RecordField a [Name] FieldConstructorSpec Source #

e.g. "foo" ≔ [''Int, ''Char]

Instance details

Defined in Observe.Event.DSL

Methods

(≔) :: a -> [Name] -> FieldConstructorSpec Source #

(a ~ ExplodedName, m ~ AnyQuote) => RecordField a (m Type) FieldConstructorSpec Source #

e.g. "foo" ≔ [t|Maybe Int]

Instance details

Defined in Observe.Event.DSL

Methods

(≔) :: a -> m Type -> FieldConstructorSpec Source #

(a ~ ExplodedName, m ~ AnyQuote) => RecordField a (m Type) SelectorConstructorSpec Source #

e.g. "foo" ≔ [t|Maybe Int|]

Instance details

Defined in Observe.Event.DSL