- 14 Mar, 2019 1 commit
-
-
Hans-Peter Deifel authored
-
- 09 Nov, 2018 1 commit
-
-
Hans-Peter Deifel authored
-
- 25 Oct, 2018 2 commits
-
-
Hans-Peter Deifel authored
It's just more descriptive. The "A" did stand for "approximate", but only the new Eq instance is approximate, so having that instance is really the important difference from regular doubles.
-
Hans-Peter Deifel authored
1. It will hold more than just the AFloat type in the futeure 2. The name AFloat is confusing anyways
-
- 20 Oct, 2018 1 commit
-
-
Hans-Peter Deifel authored
This will be used by a new MonoidValued functor for Complex.
-
- 22 Aug, 2018 1 commit
-
-
Hans-Peter Deifel authored
There has been a long-standing bug, that we only used exact comparison for IEEE floating point values. This patch implements a newtype ADouble that wraps `Double` and implements `Eq` approximately using the library `ieee754`.
-
- 02 Aug, 2018 1 commit
-
-
Hans-Peter Deifel authored
-
- 26 Jul, 2018 2 commits
-
-
Hans-Peter Deifel authored
This makes lexer combinators like `colon` or `parens` a little faster, which adds up for large inputs.
-
Hans-Peter Deifel authored
This cleans up newline handling in the whitespace parser: Newlines are not treated the same as other whitespace any more and are only allowed after the functor expression and between individual morphism points. By doing this, we get a less surprising grammar for parsing ("x: { y:" would never try to parse the "y:" as the start of a new definition) and can speed up the hot path (a single space character) considerably.
-
- 25 Jul, 2018 3 commits
-
-
Hans-Peter Deifel authored
By reimplementing the float parser, we can get a considerable speedup. This is due to the fact that we don't handle scientific notation among other things.
-
Hans-Peter Deifel authored
By reimplementing the version from Megaparsec, but specializing to Int and Text, we can get 6x speedups in some cases.
-
Hans-Peter Deifel authored
`L.signed L.decimal` now has minimal overhead over L.decimal on it's own. We did sacrifice the possibility to write a (redundant) `+` sign or white space between the minus and the number.
-
- 23 Jul, 2018 2 commits
-
-
Hans-Peter Deifel authored
-
Hans-Peter Deifel authored
This already improves the parser benchmark by a factor of two.
-
- 21 Jul, 2018 1 commit
-
-
Hans-Peter Deifel authored
-
- 13 Jul, 2018 3 commits
-
-
Hans-Peter Deifel authored
-
Hans-Peter Deifel authored
-
Hans-Peter Deifel authored
'#' starts a line comment and skips the rest of the line.
-
- 10 Jul, 2018 1 commit
-
-
Hans-Peter Deifel authored
Instead of expecting `ParserT` to be at the top of the monad stack, they now only assume that the monad satisfies the `MonadParser` constraint, allowing to use them unlifted in `StateT Parser`
-
- 09 Jul, 2018 2 commits
-
-
Hans-Peter Deifel authored
-
Hans-Peter Deifel authored
-
- 08 Jul, 2018 1 commit
-
-
Hans-Peter Deifel authored
This is still not final and has several API problems. E.g implementing ParseMorphism for SomeFunctor is currently not possible without a warning about unimplemented methods.
-
- 07 Jul, 2018 1 commit
-
-
Hans-Peter Deifel authored
-
- 25 Jun, 2018 1 commit
-
-
Hans-Peter Deifel authored
This means that "names" (e.g node labels for FixedProduct) are now parsed with the `lexeme` combinator (which consumes trailing whitespace).
-
- 11 Jun, 2018 1 commit
-
-
Hans-Peter Deifel authored
This switches the parser for functor expressions (not yet morphisms) from a YAML based one to a custom one, making those expressions much more readable and giving individual functors greater flexibility to define their own syntax.
-