summaryrefslogtreecommitdiff
path: root/dhall (unfollow)
Commit message (Collapse)AuthorFilesLines
2019-08-06Add some testsNadrieril2-2/+28
2019-08-06Add some new tests and implement import alternativesNadrieril3-4/+4
2019-08-06rustfmtNadrieril1-7/+10
2019-08-06Update dhall-lang submoduleNadrieril1-0/+2
2019-08-06Remove old-style optional literalsNadrieril3-37/+16
2019-08-06Inline headersNadrieril4-15/+29
2019-08-03rustfmtNadrieril2-26/+64
2019-08-03Update dhall-lang submoduleNadrieril1-5/+10
2019-08-03Update dhall-lang submoduleNadrieril1-12/+12
2019-08-03Update dhall-lang submoduleNadrieril1-2/+2
2019-08-03Simplify Const checking logicFintanH1-11/+7
2019-08-01Add typechecking for RecursiveRecordTypeMerge.FintanH3-7/+120
The implementation brings with it intersection_with_key over HashMaps to help with the type checking of records of records. The implementation first checks that the Const values line up with the LHS and RHS. Then checks that combining the records does not result in a FieldCollision. It will finally return the shared Const type of the arguments.
2019-08-01Mark RecursiveRecordMerge as unreachableFintanH1-0/+1
2019-08-01Add the typechecking of RecursiveRecordMerge.FintanH3-8/+129
This introduces an external function for HashMaps to perform an outer join so that you can do a unionWith but with more power by having a new tagert type. Using outer_join and recursively looking through records of records we have an implementation for combining records.
2019-07-31Add unreachable call for RightBasedRecordMerge caseFintanH1-0/+1
2019-07-31Reuse the merge_maps function to implement the right-biased unionFintanH2-7/+7
2019-07-31Add case for RightBasedRecordMerge in the typechecking phase.Fintan Halpenny2-5/+48
The implementation checks the types and kinds of the LHS and RHS. In the happy path it unions the HashMap prefering keys on the RHS over the LHS, and the result is the type of the resulting HashMap. The error cases are: - If the kinds of the records differ it results in a RecordMismatch error. - If either the LHS or RHS are not records it results in a MustCombineRecord error.
2019-05-12Finish implementing binary encodingNadrieril2-8/+11
2019-05-12clippyNadrieril6-126/+118
2019-05-12Split-off printer and binary encoding tests from parser testsNadrieril2-37/+85
2019-05-12Include success or failure prefix in test filteringNadrieril4-24/+18
2019-05-12Implement binary encodingNadrieril8-32/+359
Closes #39
2019-05-10Write a custom map type that allows duplicatesNadrieril1-29/+38
2019-05-09Merge Type and TypedNadrieril3-105/+55
2019-05-09Fix missing methods for testsNadrieril1-0/+8
2019-05-09Make visibilities more consistentNadrieril10-125/+106
2019-05-09Rewrite Deserialize trait around new Value and TypeNadrieril7-88/+73
2019-05-09Rewrite the StaticType trait and everything around itNadrieril9-276/+223
2019-05-09Tweak TypedNadrieril1-15/+16
2019-05-09Reduce the distance between Type and TypedNadrieril3-157/+108
2019-05-09Remove TypeIntermediate in favor of special-purpose functionsNadrieril1-214/+183
2019-05-09Small utility SubExpr::from_builtinNadrieril1-9/+3
2019-05-09ExprF need not be generic in LabelNadrieril4-15/+9
2019-05-09Make shift fallible and improve shift ergonomicsNadrieril8-129/+169
2019-05-09Detect duplicate record fields in typecheckNadrieril5-77/+79
2019-05-09Generate normalization tests automaticallyNadrieril4-393/+84
2019-05-09Correctly shift free variables in normalizationNadrieril2-11/+11
2019-05-09Update dhall-lang submoduleNadrieril2-15/+37
2019-05-08Typecheck record projectionNadrieril2-7/+32
2019-05-08Typecheck mergeNadrieril3-12/+97
2019-05-08Move binop normalization into a separate functionNadrieril1-165/+153
2019-05-08Implement normalization for record merging operatorsNadrieril3-21/+120
2019-05-08Rename the record combining operators internallyNadrieril1-3/+3
2019-05-08Implement normalization of missing builtinsNadrieril2-23/+75
2019-05-08Fix Context shiftingNadrieril1-15/+24
2019-05-08shift on lookup instead of on insertNadrieril2-27/+71
2019-05-07Replace hashmap-based context with a vec-based oneNadrieril1-14/+37
2019-05-07Don't discard normalization work done by typecheckingNadrieril3-83/+147
2019-05-07Slight improvement to typecheck ergonomicsNadrieril1-59/+28
2019-05-07Unify typecheck and normalization contextsNadrieril5-76/+115