summaryrefslogtreecommitdiff
path: root/dhall/src/error (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/master' into fintan/typecheck-combine-typesFintanH2019-08-031-0/+2
|\
| * Add case for RightBasedRecordMerge in the typechecking phase.Fintan Halpenny2019-07-311-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Add typechecking for RecursiveRecordTypeMerge.FintanH2019-08-011-0/+3
|/ | | | | | | | | | 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.
* Implement binary encodingNadrieril2019-05-121-0/+12
| | | | Closes #39
* Make shift fallible and improve shift ergonomicsNadrieril2019-05-091-0/+1
|
* Detect duplicate record fields in typecheckNadrieril2019-05-091-0/+2
|
* Typecheck record projectionNadrieril2019-05-081-0/+2
|
* Typecheck mergeNadrieril2019-05-081-0/+7
|
* Unify typecheck and normalization contextsNadrieril2019-05-071-6/+0
|
* Move main datatypes into their own modulesNadrieril2019-05-061-1/+1
|
* Consolidate errors in the error moduleNadrieril2019-05-0635-0/+1934