summaryrefslogtreecommitdiff
path: root/dhall/src/phase/normalize.rs (unfollow)
Commit message (Collapse)AuthorFilesLines
2019-08-03rustfmtNadrieril1-1/+3
2019-08-01Add typechecking for RecursiveRecordTypeMerge.FintanH1-0/+32
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.
2019-08-01Add the typechecking of RecursiveRecordMerge.FintanH1-0/+53
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.
2019-07-31Reuse the merge_maps function to implement the right-biased unionFintanH1-1/+1
2019-05-12clippyNadrieril1-97/+102
2019-05-09Make visibilities more consistentNadrieril1-10/+7
2019-05-09ExprF need not be generic in LabelNadrieril1-5/+4
2019-05-09Detect duplicate record fields in typecheckNadrieril1-9/+9
2019-05-09Generate normalization tests automaticallyNadrieril1-361/+0
2019-05-09Correctly shift free variables in normalizationNadrieril1-1/+1
2019-05-09Update dhall-lang submoduleNadrieril1-13/+23
2019-05-08Move binop normalization into a separate functionNadrieril1-165/+153
2019-05-08Implement normalization for record merging operatorsNadrieril1-21/+110
2019-05-08Implement normalization of missing builtinsNadrieril1-21/+68
2019-05-07Promote shift and subst_shift to traitsNadrieril1-0/+1
2019-05-07Small mistakeNadrieril1-1/+3
2019-05-06Move main datatypes into their own modulesNadrieril1-984/+15
2019-05-06Reorganize dhall into a phase structureNadrieril1-29/+8
2019-05-06Merge TypedInternal and TypedNadrieril1-21/+5
2019-05-05s/DoubleVar/AlphaVar/Nadrieril1-33/+33
2019-05-05Implement normalization simplificationsNadrieril1-10/+15
2019-05-05Preserve text WHNF on concatenationNadrieril1-9/+9
2019-05-05WHNF for TextLit means no interpolations of text and strict alternationNadrieril1-41/+63
2019-05-05Fix Integer equalityNadrieril1-4/+5
2019-05-05Make Value equality be alpha-equivalenceNadrieril1-13/+86
Closes #66, #65
2019-05-05Implement alpha-normalizationNadrieril1-51/+163
Closes #12
2019-05-04subst_shift now correctly preserves WHNFNadrieril1-26/+24
2019-05-04We actually don't need SubExpr::shift anymoreNadrieril1-4/+5
2019-05-04Revert "Make SubExpr generic in the variable labels type"Nadrieril1-26/+22
This reverts commit 4c159640e5ee77ffa48b85a5bffa56350cf933ef.
2019-05-04Make SubExpr generic in the variable labels typeNadrieril1-22/+26
2019-05-04Keep Spans through normalization and typecheckingNadrieril1-7/+7
2019-05-04Move `Note`s into the spine of the ASTNadrieril1-8/+4
2019-05-04Remove dummy lifetimesNadrieril1-35/+15
2019-05-04rustfmtNadrieril1-1/+1
2019-05-04Rename dhall_generator to dhall_proc_macrosNadrieril1-1/+1
2019-05-04Rename dhall_core to dhall_syntaxNadrieril1-4/+4
2019-05-03Remove some deprecated functionsNadrieril1-120/+26
2019-05-03Rework normalization to reduce expensive Value copyingNadrieril1-457/+494
2019-05-03Apply builtin arguments lazilyNadrieril1-143/+165
2019-05-03Avoid unnecessary RefCell::borrow_mutNadrieril1-6/+33
2019-05-02Update normalization testsNadrieril1-11/+12
2019-05-02Update dhall-lang submoduleNadrieril1-16/+25
2019-05-02Remove shift0Nadrieril1-18/+21
2019-05-02Instead of possibly nonexistent Type, treat Sort speciallyNadrieril1-25/+25
2019-05-02Store Thunk in NormalizedNadrieril1-5/+10
2019-05-02TweaksNadrieril1-45/+39
2019-04-30Fix NF tracking errorNadrieril1-2/+3
2019-04-30Fix shifting. This completely destroys sharing so performance is dead.Nadrieril1-3/+7
2019-04-30Lazily process unnormalizable expressionNadrieril1-9/+36
2019-04-30Avoid some rewrapping of thunksNadrieril1-34/+49