Copyright | (c) Felix Springer 2019 |
---|---|
License | BSD3 |
Maintainer | felixspringer149@gmail.com |
Stability | experimental |
Portability | POSIX |
Safe Haskell | Safe |
Language | Haskell2010 |
This module implements the necessary functions for the Haskeme Main executable.
Synopsis
- data IndentedLine = IndLine Indent String
- toIndentedLine :: String -> IndentedLine
- data Program = Prog [Expression]
- stringToProgram :: String -> Program
- progToSExprs :: Program -> String
Documentation
data IndentedLine Source #
Hold Indent and Line in a data type.
Instances
Eq IndentedLine Source # | |
Defined in Haskeme (==) :: IndentedLine -> IndentedLine -> Bool # (/=) :: IndentedLine -> IndentedLine -> Bool # | |
Show IndentedLine Source # | |
Defined in Haskeme showsPrec :: Int -> IndentedLine -> ShowS # show :: IndentedLine -> String # showList :: [IndentedLine] -> ShowS # |
toIndentedLine :: String -> IndentedLine Source #
Transform a String (Line) into IndentedLine.
Hold a program as a list of Expressions.
Prog [Expression] |
stringToProgram :: String -> Program Source #
Transform String to IndentedLines. Remove empty lines. Wrap lines in the Program data type and turn IndentedLines into Expressions. Fix ExprDeeper to ExprsDeeper.
progToSExprs :: Program -> String Source #
Return a correct Program of S-Expressions.