code-conjure-0.0.4: conjure Haskell functions out of partial definitions
Copyright(c) 2021 Rudy Matela
License3-Clause BSD (see the file LICENSE)
MaintainerRudy Matela <rudy@matela.com.br>
Safe HaskellNone
LanguageHaskell2010

Conjure.Conjurable

Description

This module is part of Conjure.

This defines the Conjurable typeclass and utilities involving it.

You are probably better off importing Conjure.

Documentation

class Typeable a => Conjurable a Source #

Instances

Instances details
Conjurable Bool Source # 
Instance details

Defined in Conjure.Conjurable

Methods

argumentHoles :: Bool -> [Expr]

argumentTiers :: Bool -> [[[Expr]]]

Conjurable Double Source # 
Instance details

Defined in Conjure.Conjurable

Methods

argumentHoles :: Double -> [Expr]

argumentTiers :: Double -> [[[Expr]]]

Conjurable Float Source # 
Instance details

Defined in Conjure.Conjurable

Methods

argumentHoles :: Float -> [Expr]

argumentTiers :: Float -> [[[Expr]]]

Conjurable Int Source # 
Instance details

Defined in Conjure.Conjurable

Methods

argumentHoles :: Int -> [Expr]

argumentTiers :: Int -> [[[Expr]]]

Conjurable Integer Source # 
Instance details

Defined in Conjure.Conjurable

Conjurable Ordering Source # 
Instance details

Defined in Conjure.Conjurable

Conjurable () Source # 
Instance details

Defined in Conjure.Conjurable

Methods

argumentHoles :: () -> [Expr]

argumentTiers :: () -> [[[Expr]]]

Typeable a => Conjurable [a] Source # 
Instance details

Defined in Conjure.Conjurable

Methods

argumentHoles :: [a] -> [Expr]

argumentTiers :: [a] -> [[[Expr]]]

Typeable a => Conjurable (Maybe a) Source # 
Instance details

Defined in Conjure.Conjurable

Methods

argumentHoles :: Maybe a -> [Expr]

argumentTiers :: Maybe a -> [[[Expr]]]

(Listable a, Name a, Show a, Typeable a, Conjurable b) => Conjurable (a -> b) Source # 
Instance details

Defined in Conjure.Conjurable

Methods

argumentHoles :: (a -> b) -> [Expr]

argumentTiers :: (a -> b) -> [[[Expr]]]

(Typeable a, Typeable b) => Conjurable (Either a b) Source # 
Instance details

Defined in Conjure.Conjurable

Methods

argumentHoles :: Either a b -> [Expr]

argumentTiers :: Either a b -> [[[Expr]]]

(Typeable a, Typeable b) => Conjurable (a, b) Source # 
Instance details

Defined in Conjure.Conjurable

Methods

argumentHoles :: (a, b) -> [Expr]

argumentTiers :: (a, b) -> [[[Expr]]]

(Typeable a, Typeable b, Typeable c) => Conjurable (a, b, c) Source # 
Instance details

Defined in Conjure.Conjurable

Methods

argumentHoles :: (a, b, c) -> [Expr]

argumentTiers :: (a, b, c) -> [[[Expr]]]

(Typeable a, Typeable b, Typeable c, Typeable d) => Conjurable (a, b, c, d) Source # 
Instance details

Defined in Conjure.Conjurable

Methods

argumentHoles :: (a, b, c, d) -> [Expr]

argumentTiers :: (a, b, c, d) -> [[[Expr]]]

(Typeable a, Typeable b, Typeable c, Typeable d, Typeable e) => Conjurable (a, b, c, d, e) Source # 
Instance details

Defined in Conjure.Conjurable

Methods

argumentHoles :: (a, b, c, d, e) -> [Expr]

argumentTiers :: (a, b, c, d, e) -> [[[Expr]]]

(Typeable a, Typeable b, Typeable c, Typeable d, Typeable e, Typeable f) => Conjurable (a, b, c, d, e, f) Source # 
Instance details

Defined in Conjure.Conjurable

Methods

argumentHoles :: (a, b, c, d, e, f) -> [Expr]

argumentTiers :: (a, b, c, d, e, f) -> [[[Expr]]]

tiersFor :: Conjurable f => f -> Expr -> [[Expr]] Source #

mkExprTiers :: (Listable a, Show a, Typeable a) => a -> [[Expr]] Source #