summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #90 from FintanH/fintan/typecheck-combineNadrieril Feneanar2019-08-033-9/+130
|\ | | | | Add the typechecking of RecursiveRecordMerge.
| * Merge remote-tracking branch 'origin/master' into fintan/typecheck-combineFintanH2019-08-034-15/+114
| |\ | |/ |/|
* | Merge pull request #88 from FintanH/fintan/typecheck-preferNadrieril Feneanar2019-08-033-6/+50
|\ \ | | | | | | Add case for RightBasedRecordMerge in the typechecking phase.
| * | Add unreachable call for RightBasedRecordMerge caseFintanH2019-07-311-0/+1
| | |
| * | Reuse the merge_maps function to implement the right-biased unionFintanH2019-07-312-7/+7
| | |
| * | Add case for RightBasedRecordMerge in the typechecking phase.Fintan Halpenny2019-07-312-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.
* | | Merge pull request #87 from FintanH/fintan/add-setup-docsNadrieril Feneanar2019-07-251-0/+56
|\ \ \ | |/ / |/| | Add Contributing Section to README
| * | Add section to README for contributing. It describes how to set up the git ↵FintanH2019-07-241-0/+56
|/ / | | | | | | repo, rustup, and cargo
| * Mark RecursiveRecordMerge as unreachableFintanH2019-08-011-0/+1
| |
| * Add the typechecking of RecursiveRecordMerge.FintanH2019-08-013-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.
* Update test bufferNadrieril2019-05-121-97/+113
|
* Commit test bufferNadrieril2019-05-121-0/+113
|
* TweakNadrieril2019-05-121-12/+12
|
* Finish implementing binary encodingNadrieril2019-05-122-8/+11
|
* clippyNadrieril2019-05-129-131/+122
|
* Split-off printer and binary encoding tests from parser testsNadrieril2019-05-122-37/+85
|
* Include success or failure prefix in test filteringNadrieril2019-05-124-24/+18
|
* Implement binary encodingNadrieril2019-05-1213-82/+465
| | | | Closes #39
* oopsNadrieril2019-05-101-0/+1
|
* Write a custom map type that allows duplicatesNadrieril2019-05-109-75/+269
|
* Merge Type and TypedNadrieril2019-05-093-105/+55
|
* Fix missing methods for testsNadrieril2019-05-091-0/+8
|
* Make visibilities more consistentNadrieril2019-05-0910-125/+106
|
* Rewrite Deserialize trait around new Value and TypeNadrieril2019-05-097-88/+73
|
* Rewrite the StaticType trait and everything around itNadrieril2019-05-0911-314/+257
|
* Tweak TypedNadrieril2019-05-091-15/+16
|
* Reduce the distance between Type and TypedNadrieril2019-05-093-157/+108
|
* Remove TypeIntermediate in favor of special-purpose functionsNadrieril2019-05-091-214/+183
|
* Small utility SubExpr::from_builtinNadrieril2019-05-092-9/+7
|
* ExprF need not be generic in LabelNadrieril2019-05-098-213/+105
|
* Make shift fallible and improve shift ergonomicsNadrieril2019-05-099-138/+182
|
* Detect duplicate record fields in typecheckNadrieril2019-05-099-115/+124
|
* Generate normalization tests automaticallyNadrieril2019-05-095-394/+85
|
* Correctly shift free variables in normalizationNadrieril2019-05-092-11/+11
|
* Update dhall-lang submoduleNadrieril2019-05-096-43/+106
|
* Typecheck record projectionNadrieril2019-05-082-7/+32
|
* Typecheck mergeNadrieril2019-05-083-12/+97
|
* Move binop normalization into a separate functionNadrieril2019-05-081-165/+153
|
* Implement normalization for record merging operatorsNadrieril2019-05-083-21/+120
|
* Rename the record combining operators internallyNadrieril2019-05-084-14/+14
|
* Implement normalization of missing builtinsNadrieril2019-05-083-24/+87
|
* Fix Context shiftingNadrieril2019-05-081-15/+24
|
* shift on lookup instead of on insertNadrieril2019-05-082-27/+71
|
* Replace hashmap-based context with a vec-based oneNadrieril2019-05-071-14/+37
|
* Don't discard normalization work done by typecheckingNadrieril2019-05-074-84/+148
|
* Slight improvement to typecheck ergonomicsNadrieril2019-05-071-59/+28
|
* Unify typecheck and normalization contextsNadrieril2019-05-075-76/+115
|
* Promote shift and subst_shift to traitsNadrieril2019-05-077-115/+161
|
* Move AlphaVar and AlphaLabel into a new moduleNadrieril2019-05-076-106/+112
|
* Merge branch 'reorganize'Nadrieril2019-05-0768-2109/+1881
|\