summaryrefslogtreecommitdiff
path: root/dhall/src/syntax/ast/expr.rs (unfollow)
Commit message (Collapse)AuthorFilesLines
2021-04-10add type substitutions to serde_dhallstuebinm1-0/+13
this adds subsititutions, which work similar to the `Dhall.substitutions` mechanism of the Haskell dhall package, and which can be used e.g. like this: ```rust serde_dhall.from_str(...) .substitute_names(hashmap!["Newtype" => static_type]) .parse::<SimpleType>()? ``` The idea behind this is to make it easy to add programmer-defined types which may be used in configs for programs, without forcing the program's users to re-import the same type definitions each time (or the programmers to keep the dhall-based definitions in sync with their rust types, since these are now generated automatically). Caveats so far: - makes some of the code ugly (dhall internals are now used in serde_dhall/src/lib.rs, for example) - haven't tested error messages so far - some unecessary copying of strings and static type values
2020-11-01Untangle caching codeNadrieril1-3/+2
2020-10-28Prefer u64/i64 to usize/isizeNadrieril1-3/+2
2020-10-27Make `SimpleValue` deserializable within other typesNadrieril1-0/+1
Fixes https://github.com/Nadrieril/dhall-rust/issues/184
2020-04-07Move duplicate field checking to parserNadrieril1-3/+2
2020-04-06Move BinOp and Builtin definitions in the relevant moduleNadrieril1-68/+1
2020-04-06Extract operation-related code to a new moduleNadrieril1-63/+2
2020-04-06Factor out operations in typecheckNadrieril1-2/+2
2020-04-06Split off operations from main expr enumNadrieril1-36/+85
2020-04-05Check code hashes in importNadrieril1-0/+8
2020-03-31Brutally make all of dhall pubNadrieril1-5/+5
2020-03-31Rename LitKind to NumKindNadrieril1-3/+3
2020-03-20Remove more unnecessary parens in printerNadrieril1-2/+2
2020-03-17Remove never_type featureNadrieril1-2/+4
2020-03-05Implement some normalization simplificationsNadrieril1-1/+1
2020-03-02Normalization for ProjectionByExprBasile Henry1-1/+1
2020-02-20Add support for duplicate record fieldsNadrieril1-1/+3
2020-02-19Expose fewer pub thingsNadrieril1-16/+3
2020-02-16Start requiring Universe to build a TypeNadrieril1-0/+7
2020-02-11Introduce LitKind to factor out common enum nodesNadrieril1-8/+14
2020-02-11Simplify ExprKind visitorNadrieril1-2/+2
2020-02-11Remove the Embed variant from ExprKindNadrieril1-39/+19
2020-02-09Resolve by ref instead of by mutNadrieril1-49/+4
2020-02-02Fix spans for unions and recordsNadrieril1-0/+6
2020-01-29Cleanup variable handlingNadrieril1-11/+5
2020-01-29Finally get rid of all of the shift/subst_shift !Nadrieril1-22/+0
2020-01-29Remove dead codeNadrieril1-4/+0
2020-01-18Add Expr visitor and improve tyexpr_to_exprNadrieril1-14/+33
2020-01-18Introduce intermediate representation that stores typed exprNadrieril1-1/+1
2020-01-17Replace all bulk shifting by a single shiftNadrieril1-26/+0
2020-01-17Implement bulk shiftingNadrieril1-4/+29
2020-01-17Simplify Shift and Subst instancesNadrieril1-3/+0
2020-01-17Remove binder idsNadrieril1-0/+9
The underlying purpose of them turned out to be unsound
2020-01-17Implement traverse_ref for ValueKindNadrieril1-1/+1
2019-12-23Add two new Integer builtinsNadrieril1-0/+2
2019-12-22Implement parsing for record completionNadrieril1-0/+2
2019-12-20Remove Expr::as_mutNadrieril1-9/+6
2019-12-20s/RawExpr/UnspannedExpr/Nadrieril1-5/+5
2019-12-20Use a named struct instead of a tuple in ExprNadrieril1-10/+19
2019-12-20Remove an unused implNadrieril1-7/+1
2019-12-20Reorganize ast::exprNadrieril1-75/+76
2019-12-20s/ExprF/ExprKind/Nadrieril1-12/+12
2019-12-19Rename syntax::core to syntax::astNadrieril1-0/+0
2019-12-17TypoNadrieril1-1/+1
2019-12-15Move contents of dhall_syntax to dhallNadrieril1-3/+3
2019-11-11Parse projection by expressionNadrieril1-0/+2
2019-11-11Capture absence of span in Span itselfNadrieril1-14/+4
2019-11-11Move Span definition to its own fileNadrieril1-35/+0
And prepare for more variants
2019-11-11Remove unused functionNadrieril1-4/+0
2019-09-09Make ParseInput independent from dhall-specific typesNadrieril1-6/+2