summaryrefslogtreecommitdiff
path: root/src/eval/ops.rs
AgeCommit message (Collapse)Author
2023-04-26Fix overflows with operators (#904)HarmoGlace
2023-04-13Add support for more complex strokes (#505)Birk Tjelmeland
2023-04-11Add support for more ratio multiplicationsLaurenz
2023-04-11Remove support for number / ratioLaurenz
If `1 * 40%` and `1 / 40%` both work, then I would expect `1cm * 40%` and `1cm / 40%` to work, too. So the result of both multiplication and division is always the left type. Same with `100% * 40%`. But `100% / 40%` does not return a ratio, it returns a float. This breaks the consistency. For this reason, I am removing support for just the new divisions for now, but we can revisit this.
2023-04-11Allow treating ratios as floats (#681)Eric Biedert
2023-03-10Expose content representation moreLaurenz
2023-03-01Split up `model` moduleLaurenz
2022-10-17Merge some modulesLaurenz
2022-07-26New `Str` type with methodsLaurenz
2022-06-14Many fixesLaurenz
2022-05-26Locatable groupsLaurenz
2022-05-16Allow adding `none` and anythingLaurenz
2022-05-04Division for lengthsLaurenz
2022-04-30New block spacing modelLaurenz
2022-04-24Extract `model` moduleLaurenz
2022-04-24Extract methods into separate moduleLaurenz
2022-04-09Sum color and length into strokeLaurenz
2022-04-08Em unitsLaurenz
2022-04-08Start & end alignmentLaurenz
2022-04-07Make `Relative` genericLaurenz
2022-04-07Rename length-related typesLaurenz
`Fractional` => `Fraction` `Relative` => `Ratio` `Linear` => `Relative`
2022-03-18MethodsLaurenz
2022-03-15Add `in` and `not in` operatorsLaurenz
2022-03-11Rename template to contentLaurenz
2022-02-07Tidy upLaurenz
2022-02-02Rename `Node` to `Template`Laurenz
2022-01-29Allow to add `none` and nodeLaurenz
2021-12-28TidyingLaurenz
2021-12-05Set Rules Episode I: The Phantom StyleLaurenz
2021-11-26X/Y abstractionsLaurenz
2021-11-232d alignments with plus operatorLaurenz
2021-11-15Make clippy happier and remove `Str`Laurenz
2021-10-25Replace `..` syntax with `range` functionLaurenz
2021-09-27Fix panic due to bad alignments in stack functionLaurenz
2021-08-31More utility functionsLaurenz
- join("a", "b", "c", sep: ", ") - int("12") - float("31.4e-1") - str(10) - sorted((3, 2, 1))
2021-08-14Adjust macros to new versionLaurenz
2021-08-12Make range-end exclusiveLaurenz
2021-08-12Array and dictionary indexingLaurenz
2021-07-30Fatal errorsLaurenz
- Makes errors fatal, so that a phase is only reached when all previous phases were error-free - Parsing still recovers and can produce multiple errors - Evaluation fails fast and can thus produce only a single error (except for parse errors due to an import) - The single error that could occur during execution is removed for now - Removes Value::Error variant
2021-07-29Better addition and iteration for array, dict and templateLaurenz
2021-07-11Simpler castingLaurenz
2021-07-10Move comparisons into standard traitsLaurenz
2021-07-10Reference-count complex valuesLaurenz
Rename some nodes types
2021-07-08Compare functions and templates by identityLaurenz
2021-07-08Range operatorLaurenz
2021-06-18Join semanticsLaurenz
2021-06-09Tidy upLaurenz
2021-06-09Introduce `fr`sMartin Haug
2021-05-18Streamline value comparisonsLaurenz
2021-03-21Syntax functions 🚀Laurenz
This adds overridable functions that markup desugars into. Specifically: - \ desugars into linebreak - Two newlines desugar into parbreak - * desugars into strong - _ desugars into emph - = .. desugars into heading - `..` desugars into raw