1. 05 Aug, 2018 1 commit
  2. 28 Jul, 2018 1 commit
    • Hans-Peter Deifel's avatar
      Fix space leak in parser · 2029c91c
      Hans-Peter Deifel authored
      Due to the lazyness of vectors, sometimes new vectors would hold on to
      old ones through thunks instead of that latter being properly garbage
      collected. This led to excepssive space usage during parsing and
      longer garbage collection.
      2029c91c
  3. 26 Jul, 2018 1 commit
    • Hans-Peter Deifel's avatar
      Clean and speed up whitespace parsing · 7ffafe17
      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.
      7ffafe17
  4. 24 Jul, 2018 1 commit
  5. 23 Jul, 2018 4 commits
  6. 21 Jul, 2018 1 commit
  7. 14 Jul, 2018 1 commit
  8. 13 Jul, 2018 3 commits
  9. 10 Jul, 2018 2 commits
    • Hans-Peter Deifel's avatar
      Replace old YAML parser with new one in main · e7ea9c20
      Hans-Peter Deifel authored
      This hooks the new machinery into the old algorithm, but it's still
      not finished.
      
      - Sorts are currenly silently ignored when constructing the initial
        partitions (which should lead to wrong results).
      - We do a little dance to feed the algorithm that expects a Vector of
        encodings a single encoding for a desorted functor expression.
      - Examples in the source should be converted to the new format.
      e7ea9c20
    • Hans-Peter Deifel's avatar
      Switch transformer stack order for morphism parser · 80964f82
      Hans-Peter Deifel authored
      This changes the transformer stack from `ParserT State` to `StateT
      Parser` for these reasons:
      
      1. This allows the state to backtrack with the parser. While this
         shouldn't be necessary for the morphism parser, it's definitely
         less surprising behavior.
      2. We need to compose the functor expression and morphism parsers.
      80964f82
  10. 09 Jul, 2018 3 commits
  11. 08 Jul, 2018 3 commits
  12. 07 Jul, 2018 1 commit
    • Hans-Peter Deifel's avatar
      Add preliminary version of new morphism parser · c3cea758
      Hans-Peter Deifel authored
      Implements a new morphism parser that doesn't depend on yaml and has
      much nicer properties in "MA.Coalgebra.Parser".
      
      This is not yet complete:
      
        - Needs more testing
        - Needs to handle special cases better
        - Needs a way for SomeFunctor to retrieve it's own sort
      c3cea758