summaryrefslogtreecommitdiff
path: root/dhall/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Implement inline headers parsingNadrieril2019-08-133-39/+27
|
* Implement Hash for ParsedSubExprNadrieril2019-08-132-23/+34
|
* Store Imports in their own node instead of in EmbedNadrieril2019-08-134-13/+25
|
* Considerably simplify Embed handlingNadrieril2019-08-134-10/+4
|
* Stop tracking the absence of Embed values at the type levelNadrieril2019-08-135-30/+28
|
* No need to track the absence of `Span`s at the type levelNadrieril2019-08-134-39/+36
|
* TyposNadrieril2019-08-131-2/+2
|
* s/TypeThunk/TypedThunk/gNadrieril2019-08-135-86/+96
|
* Swap Typed and TypeThunkNadrieril2019-08-132-91/+129
|
* Add new error type for serde_dhallNadrieril2019-08-131-12/+0
|
* Move api into its own crateNadrieril2019-08-136-436/+16
|
* Remove ensure_... macros in typecheckNadrieril2019-08-121-115/+89
| | | | They weren't worth it
* Remove dhall::expr!() macroNadrieril2019-08-105-42/+126
| | | | It's a lot of hassle for not a lot of benefit
* Update dhall-lang submoduleNadrieril2019-08-101-0/+13
|
* Update dhall-lang submoduleNadrieril2019-08-081-0/+1
|
* Add support for dependent typesNadrieril2019-08-087-26/+83
|
* Update dhall-lang submoduleNadrieril2019-08-071-0/+3
|
* Flatten nested let bindingsNadrieril2019-08-071-6/+40
|
* Remove an annoying redundancy in the test harnessNadrieril2019-08-072-15/+3
|
* Add binary-decode testsNadrieril2019-08-072-1/+53
|
* Add truncated Natural subtractionNadrieril2019-08-072-0/+11
|
* Remove union literals from the languageNadrieril2019-08-074-37/+6
|
* Various parsing tweaksNadrieril2019-08-071-3/+3
|
* Forbid surrogate pairs and non-charactersNadrieril2019-08-071-0/+2
|
* Generalize empty list annotationsNadrieril2019-08-061-2/+6
|
* Prepare for https://github.com/dhall-lang/dhall-lang/pull/630Nadrieril2019-08-064-45/+71
|
* rustfmtNadrieril2019-08-061-1/+2
|
* Auto-generate typechecking tests listNadrieril2019-08-061-395/+0
|
* Change some testsNadrieril2019-08-061-0/+5
|
* RFC3986 URLsNadrieril2019-08-061-1/+7
|
* Add some testsNadrieril2019-08-061-0/+10
|
* Add some new tests and implement import alternativesNadrieril2019-08-063-4/+4
|
* rustfmtNadrieril2019-08-061-7/+10
|
* Update dhall-lang submoduleNadrieril2019-08-061-0/+2
|
* Remove old-style optional literalsNadrieril2019-08-063-37/+16
|
* Inline headersNadrieril2019-08-063-15/+21
|
* rustfmtNadrieril2019-08-032-26/+64
|
* Merge pull request #93 from Nadrieril/catchup-specNadrieril Feneanar2019-08-032-14/+14
|\ | | | | Do some catch up on the spec
| * Update dhall-lang submoduleNadrieril2019-08-031-12/+12
| |
| * Update dhall-lang submoduleNadrieril2019-08-031-2/+2
| |
* | Merge remote-tracking branch 'origin/master' into fintan/typecheck-combine-typesFintanH2019-08-033-9/+129
|\|
| * Merge remote-tracking branch 'origin/master' into fintan/typecheck-combineFintanH2019-08-033-15/+58
| |\
| * | 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.
* | | Simplify Const checking logicFintanH2019-08-031-11/+7
| | |
* | | Merge remote-tracking branch 'origin/master' into fintan/typecheck-combine-typesFintanH2019-08-033-6/+50
|\ \ \ | | |/ | |/|
| * | 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.
* / Add typechecking for RecursiveRecordTypeMerge.FintanH2019-08-013-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.