Karya, built on 2018-05-31T02:46:59 (patch 0a1a35479c514820d77330ae8a978975ba22a47a)

Safe HaskellNone

Derive.RestrictedEnviron

Contents

Description

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

Synopsis

Environ

newtype Environ Source #

Constructors

Environ (Map EnvKey.Key Val) 
Instances
Eq Environ # 
Instance details

Defined in Derive.RestrictedEnviron

Methods

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

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

Show Environ # 
Instance details

Defined in Derive.RestrictedEnviron

Semigroup Environ # 
Instance details

Defined in Derive.RestrictedEnviron

Monoid Environ # 
Instance details

Defined in Derive.RestrictedEnviron

Pretty.Pretty Environ # 
Instance details

Defined in Derive.RestrictedEnviron

Serialize.Serialize Environ # 
Instance details

Defined in Derive.RestrictedEnviron

val

data Val Source #

This is like BaseTypes.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: BaseTypes.VPitch, BaseTypes.VControlFunction. NOTE [val-and-minival].

Instances
Eq Val # 
Instance details

Defined in Derive.RestrictedEnviron

Methods

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

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

Show Val # 
Instance details

Defined in Derive.RestrictedEnviron

Methods

showsPrec :: Int -> Val -> ShowS #

show :: Val -> String #

showList :: [Val] -> ShowS #

Pretty.Pretty Val # 
Instance details

Defined in Derive.RestrictedEnviron

Serialize.Serialize Term # 
Instance details

Defined in Derive.RestrictedEnviron

Serialize.Serialize Call # 
Instance details

Defined in Derive.RestrictedEnviron

Serialize.Serialize Val # 
Instance details

Defined in Derive.RestrictedEnviron

ToVal Expr # 
Instance details

Defined in Derive.RestrictedEnviron

Methods

to_val :: Expr -> Val Source #

ToVal Val # 
Instance details

Defined in Derive.RestrictedEnviron

Methods

to_val :: Val -> Val Source #

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 TypecheckSymbol ToVal, otherwise I have to add an extra instance declaration for each type.

Methods

to_val :: a -> Val Source #

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

Instances
ToVal Double # 
Instance details

Defined in Derive.RestrictedEnviron

Methods

to_val :: Double -> Val Source #

ToVal Int # 
Instance details

Defined in Derive.RestrictedEnviron

Methods

to_val :: Int -> Val Source #

ToVal Text # 
Instance details

Defined in Derive.RestrictedEnviron

Methods

to_val :: Text -> Val Source #

ToVal ScoreTime.ScoreTime # 
Instance details

Defined in Derive.RestrictedEnviron

ToVal RealTime.RealTime # 
Instance details

Defined in Derive.RestrictedEnviron

ToVal Attrs.Attributes # 
Instance details

Defined in Derive.RestrictedEnviron

ToVal Pitch.Transpose # 
Instance details

Defined in Derive.RestrictedEnviron

ToVal Pitch.NoteNumber # 
Instance details

Defined in Derive.RestrictedEnviron

ToVal Pitch.Pitch # 
Instance details

Defined in Derive.RestrictedEnviron

ToVal Instrument # 
Instance details

Defined in Derive.RestrictedEnviron

ToVal Expr.Str # 
Instance details

Defined in Derive.RestrictedEnviron

Methods

to_val :: Expr.Str -> Val Source #

ToVal BaseTypes.ControlRef # 
Instance details

Defined in Derive.RestrictedEnviron

ToVal Expr # 
Instance details

Defined in Derive.RestrictedEnviron

Methods

to_val :: Expr -> Val Source #

ToVal ConstantPitch # 
Instance details

Defined in Derive.RestrictedEnviron

ToVal Val # 
Instance details

Defined in Derive.RestrictedEnviron

Methods

to_val :: Val -> Val Source #

ToVal Tuning # 
Instance details

Defined in Derive.Scale.BaliScales

Methods

to_val :: Tuning -> Val Source #

ToVal a => ToVal [a] # 
Instance details

Defined in Derive.RestrictedEnviron

Methods

to_val :: [a] -> Val Source #

VNum

rest

call