module Language.XDsp.Semantics.CsoundExt (
  CsoundClass (..)
 ,CsFunctions (..)
 ,Out (..)
 ,module Language.XDsp.Semantics.CsoundExt.All
)

where

import Language.XDsp.Semantics.Core
import Language.XDsp.Semantics.BasicExtensions

import Language.XDsp.Semantics.CsoundExt.Core
import Language.XDsp.Semantics.CsoundExt.All


-- ---------------------------------
-- ---------------------------------
-- csound-specific language extensions.  Although these could be implemented
-- in other backends, doing so may be un-idiomatic

-- | Output classes
class Out repr where
  out  :: ASig repr -> repr ()
  outs :: ASig repr -> ASig repr -> repr ()
  outq :: ASig repr -> ASig repr
          -> ASig repr -> ASig repr -> repr ()
  outo :: ASig repr -> ASig repr
          -> ASig repr -> ASig repr
          -> ASig repr -> ASig repr
          -> ASig repr -> ASig repr -> repr ()