Karya, built on 2022-03-21T01:30:44 (patch 89d1651424c35e564138d93424a157ff87457245)
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.VControlFunction. 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 Val Source # 
Instance details

Defined in Derive.REnv

Methods

to_val :: Val -> Val Source #

Pretty.Pretty Val 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 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 #