summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 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
| |
| * No need for the current env to tck Foo/build closuresNadrieril2020-01-303-27/+3
| |
| * Clean importsNadrieril2020-01-301-7/+8
| |
| * Actually, no need for keeping extra args in apply_builtinNadrieril2020-01-301-25/+10
| |
| * Remove old typecheck moduleNadrieril2020-01-303-21/+5
| |
| * Move builtins-related code to its own moduleNadrieril2020-01-308-568/+553
| |
| * Cleanup variable handlingNadrieril2020-01-2910-65/+39
| |
| * Move envs to their own filesNadrieril2020-01-2911-241/+239
| |
| * Finally get rid of all of the shift/subst_shift !Nadrieril2020-01-295-112/+3
| |
| * s/QuoteEnv/VarEnv/Nadrieril2020-01-293-43/+40
| |
| * Use NameEnv in tyexpr_to_exprNadrieril2020-01-292-35/+23
| |
| * Remove dead codeNadrieril2020-01-2910-1202/+31
| |