| Portability | portable |
|---|---|
| Stability | provisional |
Sindre.Lib
Description
Library routines and helper functions for the Sindre programming language.
- stdFunctions :: forall im. MonadBackend im => FuncMap im
- ioFunctions :: (MonadIO m, MonadBackend m) => FuncMap m
- ioGlobals :: MonadIO im => Map Identifier (im Value)
- class (MonadBackend im, MonadSindre im m) => LiftFunction im m a where
- class KeyLike a where
- chord :: [KeyModifier] -> a -> Chord
Documentation
stdFunctions :: forall im. MonadBackend im => FuncMap imSource
A set of pure functions that can work with any Sindre backend.
Includes the functions abs, atan2, cos, sin, exp, log,
int, sqrt, length, substr, index, match, sub, gsub,
tolower, and toupper.
ioFunctions :: (MonadIO m, MonadBackend m) => FuncMap mSource
A set of impure functions that only work in IO backends.
Includes the system function.
ioGlobals :: MonadIO im => Map Identifier (im Value)Source
Global variables that require an IO backend. Includes the
ENVIRON global.
class (MonadBackend im, MonadSindre im m) => LiftFunction im m a whereSource
A class making it easy to adapt Haskell functions as Sindre
functions that take and return Values.
Methods
Instances
| (Mold a, LiftFunction im m b, MonadSindre im m) => LiftFunction im m (a -> b) | |
| (Mold a, MonadSindre im m) => LiftFunction im m (m im a) |
Convenience class for writing Chord values.
Methods
chord :: [KeyModifier] -> a -> ChordSource