code-conjure-0.3.6: 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.Cases

Description

This module is part of Conjure.

This module defines the Cases typeclass that allows listing cases of a type encoded as Exprs

You are probably better off importing Conjure.

Documentation

class Express a => Cases a where Source #

Methods

cases :: a -> [Expr] Source #

Instances

Instances details
Cases Bool Source # 
Instance details

Defined in Conjure.Cases

Methods

cases :: Bool -> [Expr] Source #

Cases Char Source # 
Instance details

Defined in Conjure.Cases

Methods

cases :: Char -> [Expr] Source #

Cases Int Source # 
Instance details

Defined in Conjure.Cases

Methods

cases :: Int -> [Expr] Source #

Cases Integer Source # 
Instance details

Defined in Conjure.Cases

Methods

cases :: Integer -> [Expr] Source #

Cases () Source # 
Instance details

Defined in Conjure.Cases

Methods

cases :: () -> [Expr] Source #

Express a => Cases [a] Source # 
Instance details

Defined in Conjure.Cases

Methods

cases :: [a] -> [Expr] Source #

Express a => Cases (Maybe a) Source # 
Instance details

Defined in Conjure.Cases

Methods

cases :: Maybe a -> [Expr] Source #

(Express a, Express b) => Cases (Either a b) Source # 
Instance details

Defined in Conjure.Cases

Methods

cases :: Either a b -> [Expr] Source #

(Express a, Express b) => Cases (a, b) Source # 
Instance details

Defined in Conjure.Cases

Methods

cases :: (a, b) -> [Expr] Source #

(Express a, Express b, Express c) => Cases (a, b, c) Source # 
Instance details

Defined in Conjure.Cases

Methods

cases :: (a, b, c) -> [Expr] Source #

type Fxpr = (Expr, Cxpr) Source #