Karya, built on 2023-08-29T07:47:28 (patch 7a412d5d6ba4968ca4155ef276a062ccdeb9109a)
Safe HaskellSafe-Inferred

Derive.REnv

Contents

Description

This is a serializable subset of DeriveT.Val and DeriveT.Environ. It omits pitches, which are code and can't be serialized.

Synopsis

Documentation

data Environ Source #

Instances

Instances details
Monoid Environ Source # 
Instance details

Defined in Derive.REnv

Semigroup Environ Source # 
Instance details

Defined in Derive.REnv

Show Environ Source # 
Instance details

Defined in Derive.REnv

Eq Environ Source # 
Instance details

Defined in Derive.REnv

Methods

(==) :: Environ -> Environ -> Bool #

(/=) :: Environ -> Environ -> Bool #

Pretty.Pretty Environ Source # 
Instance details

Defined in Derive.REnv

Serialize.Serialize Environ Source # 
Instance details

Defined in Derive.REnv

val

data Val Source #

This is like DeriveT.Val, except missing fields that can't be serialized, or require Deriver and hence couldn't go in a module below Deriver without incurring a circular dependency.

Namely: DeriveT.VPitch, DeriveT.VCFunction. NOTE [val-and-minival].

Instances

Instances details
Show Val Source # 
Instance details

Defined in Derive.REnv

Methods

showsPrec :: Int -> Val -> ShowS #

show :: Val -> String #

showList :: [Val] -> ShowS #

Eq Val Source # 
Instance details

Defined in Derive.REnv

Methods

(==) :: Val -> Val -> Bool #

(/=) :: Val -> Val -> Bool #

ToVal Expr Source # 
Instance details

Defined in Derive.REnv

Methods

to_val :: Expr -> Val Source #

ToVal Val Source # 
Instance details

Defined in Derive.REnv

Methods

to_val :: Val -> Val Source #

ShowVal.ShowVal Val Source # 
Instance details

Defined in Derive.REnv

Methods

show_val :: Val -> Text Source #

Pretty.Pretty Val Source # 
Instance details

Defined in Derive.REnv

Serialize.Serialize Call Source # 
Instance details

Defined in Derive.REnv

Serialize.Serialize Term Source # 
Instance details

Defined in Derive.REnv

Serialize.Serialize Val Source # 
Instance details

Defined in Derive.REnv

data ConstantPitch Source #

Instances

Instances details
Show ConstantPitch Source # 
Instance details

Defined in Derive.REnv

Eq ConstantPitch Source # 
Instance details

Defined in Derive.REnv

ToVal ConstantPitch Source # 
Instance details

Defined in Derive.REnv

class ToVal a where Source #

This duplicates Typecheck, but then so does this whole module. In any case, it's convenient for creaing Environs.

TODO But I wish I could reuse Typecheck.ToVal, otherwise I have to add an extra instance declaration for each type.

Minimal complete definition

Nothing

Methods

to_val :: a -> Val Source #

default to_val :: ShowVal.ShowVal a => a -> Val Source #

Instances

Instances details
ToVal Attrs.Attributes Source # 
Instance details

Defined in Derive.REnv

ToVal DeriveT.ControlRef Source # 
Instance details

Defined in Derive.REnv

ToVal Expr.Str Source # 
Instance details

Defined in Derive.REnv

Methods

to_val :: Expr.Str -> Val Source #

ToVal ConstantPitch Source # 
Instance details

Defined in Derive.REnv

ToVal Expr Source # 
Instance details

Defined in Derive.REnv

Methods

to_val :: Expr -> Val Source #

ToVal Val Source # 
Instance details

Defined in Derive.REnv

Methods

to_val :: Val -> Val Source #

ToVal Tuning Source # 
Instance details

Defined in Derive.Scale.BaliScales

Methods

to_val :: Tuning -> Val Source #

ToVal ScoreT.Instrument Source # 
Instance details

Defined in Derive.REnv

ToVal Pitch.NoteNumber Source # 
Instance details

Defined in Derive.REnv

ToVal Pitch.Pitch Source # 
Instance details

Defined in Derive.REnv

ToVal Pitch.Transpose Source # 
Instance details

Defined in Derive.REnv

ToVal RealTime.RealTime Source # 
Instance details

Defined in Derive.REnv

ToVal ScoreTime.ScoreTime Source # 
Instance details

Defined in Derive.REnv

ToVal Text Source # 
Instance details

Defined in Derive.REnv

Methods

to_val :: Text -> Val Source #

ToVal Double Source # 
Instance details

Defined in Derive.REnv

Methods

to_val :: Double -> Val Source #

ToVal Int Source # 
Instance details

Defined in Derive.REnv

Methods

to_val :: Int -> Val Source #

ToVal a => ToVal [a] Source # 
Instance details

Defined in Derive.REnv

Methods

to_val :: [a] -> Val Source #