1module Type.Fragment where
3import qualified Data.List as List
4import qualified Data.Map as Map
7import SourceSyntax.Pattern
8import SourceSyntax.Location (noneNoDocs)
10data Fragment = Fragment {
11 typeEnv :: Map.Map String Type,
13 typeConstraint :: TypeConstraint
16emptyFragment = Fragment Map.empty [] (noneNoDocs CTrue)
18joinFragment f1 f2 = Fragment {
19 typeEnv = Map.union (typeEnv f1) (typeEnv f2),
20 vars = vars f1 ++ vars f2,
21 typeConstraint = typeConstraint f1 /\ typeConstraint f2
24joinFragments = List.foldl' (flip joinFragment) emptyFragment
28 Scheme [] (vars fragment) (typeConstraint fragment) (typeEnv fragment)
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