Restructure and begin displaying lambdas

This commit is contained in:
Joscha 2020-11-26 16:07:56 +01:00
parent fc0ede9499
commit ed7179a846
6 changed files with 78 additions and 32 deletions

View file

@ -0,0 +1,31 @@
module Props.Lambda.Display
( displayTerm
) where
import qualified Data.Text as T
import Props.Lambda.Term
type Name = T.Text
varNames :: [Name]
varNames = chars ++ (mappend <$> constNames <*> chars)
where
chars = map T.singleton ['a'..'z']
constNames :: [Name]
constNames = chars ++ (mappend <$> constNames <*> chars)
where
chars = map T.singleton ['A'..'Z']
findConstNames :: Term e (Maybe Name) v -> Term e Name v
findConstNames = undefined
makeVarNamesUnique :: Term e c (Maybe Name) -> Term e c (Maybe Name)
makeVarNamesUnique = undefined
findVarNames :: Term e c (Maybe Name) -> Term e c Name
findVarNames = undefined
displayTerm :: (e -> T.Text) -> Term e (Maybe Name) (Maybe Name) -> T.Text
displayTerm = undefined