summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #129 from Nadrieril/missing-featuresNadrieril Feneanar2020-02-0614-106/+361
|\ | | | | Implement some missing features
| * Implement some record simplificationsNadrieril2020-02-062-13/+98
| |
| * Normalize toMapNadrieril2020-02-054-19/+55
| |
| * Typecheck record completionNadrieril2020-02-052-38/+51
| |
| * Typecheck projection by typeNadrieril2020-02-052-12/+25
| |
| * Implement typechecking of toMapNadrieril2020-02-0411-26/+134
|/
* Merge pull request #128 from Nadrieril/nice-errors-everywhereNadrieril Feneanar2020-02-0485-183/+484
|\ | | | | Add basic pretty type errors to all errors
| * Workaround panic in a serde_dhall exampleNadrieril2020-02-041-2/+4
| | | | | | | | | | Unsure what's causing it, most probably mixing of spans from different inputs
| * Add basic pretty type errors to all errorsNadrieril2020-02-0484-181/+480
|/
* Add local test files on top of dhall-lang testsNadrieril2020-02-026-54/+68
|
* Merge pull request #127 from Nadrieril/nicer-type-errorsNadrieril Feneanar2020-02-0227-144/+539
|\ | | | | Enable multiple locations for type errors
| * Tweak errorsNadrieril2020-02-029-65/+63
| |
| * Use Spans consistently by valueNadrieril2020-02-025-23/+19
| |
| * Fix spans for unions and recordsNadrieril2020-02-024-21/+28
| |
| * Let rustfmt format string literalsNadrieril2020-02-022-43/+45
| |
| * More errorsNadrieril2020-02-0212-35/+140
| |
| * More nice errors plus some refactorNadrieril2020-02-0215-174/+272
| |
| * Implement once nice error using annotate_snippetsNadrieril2020-02-0111-27/+216
|/
* Rewrite normalization and typechecking with environments (#126)Nadrieril Feneanar2020-01-31109-3371/+3154
|\ | | | | Rewrite normalization and typechecking with environments
| * Fix module paths in serde_dhallNadrieril2020-01-312-2/+2
| |
| * Factor out custom Lazy structNadrieril2020-01-313-35/+83
| |
| * Use Rc equality to shortcut Value equalityNadrieril2020-01-301-2/+1
| |
| * Tweak ConstantClosureNadrieril2020-01-302-25/+21
| |
| * Eval Thunk by moveNadrieril2020-01-301-4/+3
| |
| * Get rid of all the manual Ref borrowsNadrieril2020-01-302-149/+75
| |
| * Use OnceCell to enable returning &ValKindNadrieril2020-01-304-71/+64
| |
| * Replace Form with a pair of RefCells, in preparation for OnceCellNadrieril2020-01-301-88/+71
| |
| * Move Form::PartialExpr into ThunkNadrieril2020-01-301-36/+46
| |
| * Only the Form must be in a RefCellNadrieril2020-01-301-61/+67
| |
| * Avoid unnecessary allocations of `Value`sNadrieril2020-01-305-25/+25
| |
| * Clarify normalization to ensure we only nze onceNadrieril2020-01-304-58/+55
| |
| * Move Thunk value into ValueInternalNadrieril2020-01-302-35/+32
| |
| * Prepare ValueInternal with new `Form`sNadrieril2020-01-301-53/+50
| |
| * Factor out text literals in ValueNadrieril2020-01-303-83/+110
| | | | | | | | This allows encapsulating invariants properly and reducing clutter
| * Remove type parameter from ValueKindNadrieril2020-01-304-35/+21
| |
| * Remove Value visitorNadrieril2020-01-303-309/+87
| | | | | | | | | | | | It's mostly useful when we can change types, but it's also too constraining if we can, because then we can't enforce complex invariants like the one for TextLit.
| * Move parse and resolve up a levelNadrieril2020-01-306-8/+7
| |
| * Move parser files to syntax/Nadrieril2020-01-304-3/+3
| |
| * Move main API to lib.rsNadrieril2020-01-3013-254/+256
| |
| * Move normalize under nzeNadrieril2020-01-306-6/+5
| |
| * Move Value-related stuff under semantics::nzeNadrieril2020-01-308-12/+8
| |
| * Introduce Thunks and normalize lazilyNadrieril2020-01-307-45/+95
| |
| * Remove NF marker; it was premature optimizationNadrieril2020-01-301-22/+11
| |
| * Increase encapsulation for ClosuresNadrieril2020-01-302-12/+32
| |
| * Make unnormalized Values unobservableNadrieril2020-01-302-10/+3
| |
| * s/as_whnf/kind/Nadrieril2020-01-304-55/+53
| |
| * TweakNadrieril2020-01-301-9/+4
| |
| * Remove use of take_mutNadrieril2020-01-303-33/+22
| |
| * Encapsulate partially applied builtin in a separate structNadrieril2020-01-306-74/+120
| |
| * Remove debug output in type errorsNadrieril2020-01-304-97/+6
| |