Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Merge remote-tracking branch 'origin/master' into fintan/typecheck-combine-types | FintanH | 2019-08-03 | 4 | -6/+106 |
|\ | |||||
| * | Merge pull request #88 from FintanH/fintan/typecheck-prefer | Nadrieril Feneanar | 2019-08-03 | 3 | -6/+50 |
| |\ | | | | | | | Add case for RightBasedRecordMerge in the typechecking phase. | ||||
| | * | Add unreachable call for RightBasedRecordMerge case | FintanH | 2019-07-31 | 1 | -0/+1 |
| | | | |||||
| | * | Reuse the merge_maps function to implement the right-biased union | FintanH | 2019-07-31 | 2 | -7/+7 |
| | | | |||||
| | * | Add case for RightBasedRecordMerge in the typechecking phase. | Fintan Halpenny | 2019-07-31 | 2 | -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-docs | Nadrieril Feneanar | 2019-07-25 | 1 | -0/+56 |
| |\ \ | | |/ | |/| | Add Contributing Section to README | ||||
| | * | Add section to README for contributing. It describes how to set up the git ↵ | FintanH | 2019-07-24 | 1 | -0/+56 |
| |/ | | | | | | | repo, rustup, and cargo | ||||
* / | Add typechecking for RecursiveRecordTypeMerge. | FintanH | 2019-08-01 | 3 | -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. | ||||
* | Update test buffer | Nadrieril | 2019-05-12 | 1 | -97/+113 |
| | |||||
* | Commit test buffer | Nadrieril | 2019-05-12 | 1 | -0/+113 |
| | |||||
* | Tweak | Nadrieril | 2019-05-12 | 1 | -12/+12 |
| | |||||
* | Finish implementing binary encoding | Nadrieril | 2019-05-12 | 2 | -8/+11 |
| | |||||
* | clippy | Nadrieril | 2019-05-12 | 9 | -131/+122 |
| | |||||
* | Split-off printer and binary encoding tests from parser tests | Nadrieril | 2019-05-12 | 2 | -37/+85 |
| | |||||
* | Include success or failure prefix in test filtering | Nadrieril | 2019-05-12 | 4 | -24/+18 |
| | |||||
* | Implement binary encoding | Nadrieril | 2019-05-12 | 13 | -82/+465 |
| | | | | Closes #39 | ||||
* | oops | Nadrieril | 2019-05-10 | 1 | -0/+1 |
| | |||||
* | Write a custom map type that allows duplicates | Nadrieril | 2019-05-10 | 9 | -75/+269 |
| | |||||
* | Merge Type and Typed | Nadrieril | 2019-05-09 | 3 | -105/+55 |
| | |||||
* | Fix missing methods for tests | Nadrieril | 2019-05-09 | 1 | -0/+8 |
| | |||||
* | Make visibilities more consistent | Nadrieril | 2019-05-09 | 10 | -125/+106 |
| | |||||
* | Rewrite Deserialize trait around new Value and Type | Nadrieril | 2019-05-09 | 7 | -88/+73 |
| | |||||
* | Rewrite the StaticType trait and everything around it | Nadrieril | 2019-05-09 | 11 | -314/+257 |
| | |||||
* | Tweak Typed | Nadrieril | 2019-05-09 | 1 | -15/+16 |
| | |||||
* | Reduce the distance between Type and Typed | Nadrieril | 2019-05-09 | 3 | -157/+108 |
| | |||||
* | Remove TypeIntermediate in favor of special-purpose functions | Nadrieril | 2019-05-09 | 1 | -214/+183 |
| | |||||
* | Small utility SubExpr::from_builtin | Nadrieril | 2019-05-09 | 2 | -9/+7 |
| | |||||
* | ExprF need not be generic in Label | Nadrieril | 2019-05-09 | 8 | -213/+105 |
| | |||||
* | Make shift fallible and improve shift ergonomics | Nadrieril | 2019-05-09 | 9 | -138/+182 |
| | |||||
* | Detect duplicate record fields in typecheck | Nadrieril | 2019-05-09 | 9 | -115/+124 |
| | |||||
* | Generate normalization tests automatically | Nadrieril | 2019-05-09 | 5 | -394/+85 |
| | |||||
* | Correctly shift free variables in normalization | Nadrieril | 2019-05-09 | 2 | -11/+11 |
| | |||||
* | Update dhall-lang submodule | Nadrieril | 2019-05-09 | 6 | -43/+106 |
| | |||||
* | Typecheck record projection | Nadrieril | 2019-05-08 | 2 | -7/+32 |
| | |||||
* | Typecheck merge | Nadrieril | 2019-05-08 | 3 | -12/+97 |
| | |||||
* | Move binop normalization into a separate function | Nadrieril | 2019-05-08 | 1 | -165/+153 |
| | |||||
* | Implement normalization for record merging operators | Nadrieril | 2019-05-08 | 3 | -21/+120 |
| | |||||
* | Rename the record combining operators internally | Nadrieril | 2019-05-08 | 4 | -14/+14 |
| | |||||
* | Implement normalization of missing builtins | Nadrieril | 2019-05-08 | 3 | -24/+87 |
| | |||||
* | Fix Context shifting | Nadrieril | 2019-05-08 | 1 | -15/+24 |
| | |||||
* | shift on lookup instead of on insert | Nadrieril | 2019-05-08 | 2 | -27/+71 |
| | |||||
* | Replace hashmap-based context with a vec-based one | Nadrieril | 2019-05-07 | 1 | -14/+37 |
| | |||||
* | Don't discard normalization work done by typechecking | Nadrieril | 2019-05-07 | 4 | -84/+148 |
| | |||||
* | Slight improvement to typecheck ergonomics | Nadrieril | 2019-05-07 | 1 | -59/+28 |
| | |||||
* | Unify typecheck and normalization contexts | Nadrieril | 2019-05-07 | 5 | -76/+115 |
| | |||||
* | Promote shift and subst_shift to traits | Nadrieril | 2019-05-07 | 7 | -115/+161 |
| | |||||
* | Move AlphaVar and AlphaLabel into a new module | Nadrieril | 2019-05-07 | 6 | -106/+112 |
| | |||||
* | Merge branch 'reorganize' | Nadrieril | 2019-05-07 | 68 | -2109/+1881 |
|\ | |||||
| * | Reorganize dhall_syntax | Nadrieril | 2019-05-07 | 8 | -8/+12 |
| | | |||||
| * | Small mistake | Nadrieril | 2019-05-07 | 2 | -2/+4 |
| | |