Safe Haskell | None |
---|---|
Language | Haskell2010 |
Documentation
generateMacroProgram :: (MonadError Error m, MonadFileSystem m, MonadResource m) => NonEmpty MacroDefinition -> [Statement] -> [Expression] -> m (String, String, String) Source #
expansionPass :: (MonadError Error m, MonadFileSystem m, MonadProcess m, MonadResource m) => Expression -> m Expression Source #
exhaustivelyExpandMacros :: (MonadError Error m, MonadFileSystem m, MonadProcess m, MonadResource m) => Expression -> m Expression Source #
expandMacros :: (MonadError Error m, MonadFileSystem m, MonadProcess m, MonadResource m) => [Expression] -> m [Statement] Source #
expandMacroApplication :: (MonadError Error m, MonadFileSystem m, MonadProcess m, MonadResource m) => NonEmpty MacroDefinition -> [Statement] -> [Expression] -> m [Expression] Source #
lookupMacroDefinitions :: Expression -> [MacroDefinition] -> Maybe (NonEmpty MacroDefinition) Source #
isMacroBeingCalled :: MacroDefinition -> Expression -> Bool Source #
replaceName :: MonadError Error m => Identifier -> Identifier -> Statement -> m Statement Source #
evalMacro :: (MonadError Error m, MonadFileSystem m, MonadProcess m) => String -> String -> String -> m String Source #