8000 Comparing v6.0.2...v7.0.0 · purescript-contrib/purescript-parsing · GitHub
[go: up one dir, main page]

Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: purescript-contrib/purescript-parsing
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v6.0.2
Choose a base ref
...
head repository: purescript-contrib/purescript-parsing
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v7.0.0
Choose a head ref
  • 14 commits
  • 15 files changed
  • 3 contributors

Commits on Jul 25, 2021

  1. Configuration menu
    Copy the full SHA
    ffe8d8a View commit details
    Browse the repository at this point in the history

Commits on Jul 28, 2021

  1. Configuration menu
    Copy the full SHA
    bc03b29 View commit details
    Browse the repository at this point in the history

Commits on Aug 4, 2021

  1. Configuration menu
    Copy the full SHA
    1d0aaa1 View commit details
    Browse the repository at this point in the history

Commits on Sep 28, 2021

  1. Configuration menu
    Copy the full SHA
    d33aea3 View commit details
    Browse the repository at this point in the history

Commits on Sep 29, 2021

  1. Merge pull request #121 from purescript-contrib/maintainer

    Assign jamesdbrock as maintainer
    jamesdbrock authored Sep 29, 2021
    Configuration menu
    Copy the full SHA
    7750e71 View commit details
    Browse the repository at this point in the history

Commits on Oct 6, 2021

  1. Added maintainer badge

    robertdp authored Oct 6, 2021
    Configuration menu
    Copy the full SHA
    50d3bc8 View commit details
    Browse the repository at this point in the history
  2. Unicode correctness

    Correctly handle UTF-16 surrogate pairs in `String`s.
    We keep all of the API, but we change the primitive parsers so that instead
    of succeeding and incorrectly returning half of a surrogate pair, they will fail.
    
    All prior tests pass with no modifications. Add a few new tests.
    
    Non-breaking changes
    ====================
    
    Add primitive parsers `anyCodePoint` and `satisfyCodePoint` for parsing
    `CodePoint`s.
    
    Add the `match` combinator.
    
    Move `updatePosString` to the `Text.Parsing.Parser.String` module and don't
    export it.
    
    Split dev dependencies into spago-dev.dhall.
    
    Add benchmark suite.
    
    Add astral UTF-16 test.
    
    Breaking changes
    ================
    
    Change the definition of `whiteSpace` and `skipSpaces` to
    `Data.CodePoint.Unicode.isSpace`.
    
    To make this library handle Unicode correctly, it is necessary to
    either alter the `StringLike` class or delete it.
    We decided to delete it. The `String` module will now operate only
    on inputs of the concrete `String` type.
    `StringLike` has no laws, and during the five years of its life,
    no-one on Github has ever written another instance of `StringLike`.
    https://github.com/search?l=&q=StringLike+language%3APureScript&type=code
    The last time someone tried to alter `StringLike`, this is what
    happened:
    #62
    
    Breaking changes which won’t be caught by the compiler
    ======================================================
    
    Fundamentally, we change the way we consume the next input character from
    `Data.String.CodeUnits.uncons` to `Data.String.CodePoints.uncons`.
    
    `anyChar` will no longer always succeed. It will only succeed on a Basic
    Multilingual Plane character. The new parser `anyCodePoint` will always succeed.
    
    We are not quite “making the default `CodePoint`”, as was discussed in
    #76 (comment) .
    Rather we are keeping most of the current API and making it work
    properly with astral Unicode.
    
    We keep the `Char` parsers for backward compatibility.
    We also keep the `Char` parsers for ergonomic reasons. For example
    the parser `char :: forall s m. Monad m => Char -> ParserT s m Char`.
    This parser is usually called with a literal like `char 'a'`. It would
    be annoying to call this parser with `char (codePointFromChar 'a')`.
    
    Benchmarks
    ==========
    
    For Unicode correctness, we're now consuming characters with
    `Data.String.CodePoints.uncons` instead of
    `Data.String.CodeUnits.uncons`. If that were going to effect
    performance, then the effect would show up in the `runParser parse23`
    benchmark, but it doesn’t.
    
    Before
    ------
    
    ```
    runParser parse23
    mean   = 43.36 ms
    stddev = 6.75 ms
    min    = 41.12 ms
    max    = 124.65 ms
    
    runParser parseSkidoo
    mean   = 22.53 ms
    stddev = 3.86 ms
    min    = 21.40 ms
    max    = 61.76 ms
    ```
    
    After
    -----
    
    ```
    runParser parse23
    mean   = 42.90 ms
    stddev = 6.01 ms
    min    = 40.97 ms
    max    = 115.74 ms
    
    runParser parseSkidoo
    mean   = 22.03 ms
    stddev = 2.79 ms
    min    = 20.78 ms
    max    = 53.34 ms
    ```
    jamesdbrock committed Oct 6, 2021
    Configuration menu
    Copy the full SHA
    a1413b1 View commit details
    Browse the repository at this point in the history
  3. Merge pull request #119 from jamesdbrock/uncons-codepoints

    Unicode correctness
    jamesdbrock authored Oct 6, 2021
    Configuration menu
    Copy the full SHA
    b5ac522 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    7454d6b View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    83b6c7a View commit details
    Browse the repository at this point in the history
  6. v6.0.2 → v7.0.0

    jamesdbrock committed Oct 6, 2021
    Configuration menu
    Copy the full SHA
    07438c3 View commit details
    Browse the repository at this point in the history
  7. BSD-2-Clause

    jamesdbrock committed Oct 6, 2021
    Configuration menu
    Copy the full SHA
    636f897 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    74197e4 View commit details
    Browse the repository at this point in the history
  9. v6.0.2 → v7.0.0

    jamesdbrock committed Oct 6, 2021
    Configuration menu
    Copy the full SHA
    297ad9e View commit details
    Browse the repository at this point in the history
Loading
0