alga-0.1.0: Algorithmic automation for various DAWs

Safe HaskellNone
LanguageHaskell2010

Alga.Representation

Synopsis

Documentation

data Statement Source

Statement can be either definition or exposition. Expositions are only used in REPL.

probeAlga :: Text -> Bool Source

Test if given fragment of ALGA code is finished and self-contained.

parseAlga Source

Arguments

:: String

Name of file

-> Text

Text to parse

-> Either String [Statement]

Error message or parsed statements

Entry point for ALGA parsing.

showStatement :: Statement -> Text Source

Render a statement. This handles definitions and expositions.

showSyntaxTree :: SyntaxTree -> Text Source

Render syntax tree.

showPrinciple :: Principle -> Text Source

Show principle. This is useful for printing of simplified principles back to user. We can use the same pretty-printing algorithm as for syntax trees, but this requires us to perform transformation from Principle to SyntaxTree, which is trivial.