4import Data.List (intercalate)
5import qualified Data.Set as Set
18data Scheme = Forall (Set.Set X) Type deriving (Eq, Ord, Show)
20element = ADT "Element" []
21direction = ADT "Direction" []
27text = ADT "List" [ADT "Text" []]
28point = tupleOf [IntT,IntT]
30listOf t = ADT "List" [t]
31signalOf t = ADT "Signal" [t]
32tupleOf ts = ADT ("Tuple" ++ show (length ts)) ts
36t1 ==> t2 = LambdaT t1 t2
39name -: tipe = (,) name tipe
43parens = ("("++) . (++")")
45instance Show Type where
52 ; LambdaT t1@(LambdaT _ _) t2 -> parens (show t1) ++ " -> " ++ show t2
53 ; LambdaT t1 t2 -> show t1 ++ " -> " ++ show t2
55 ; ADT "List" [tipe] -> "[" ++ show tipe ++ "]"
57 ; ADT name cs -> parens $ name ++ " " ++ unwords (map show cs)
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list