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/purescript
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: erlscripten/purescript
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: erlscripten-master
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 18 commits
  • 69 files changed
  • 6 contributors

Commits on May 23, 2020

  1. [purs ide] Updates the cache-db.json file on rebuilds (#3789)

    * generalizes and extracts CacheDb accessors from Make
    
    This is so they can be used from within the IDE as well, which doesn't
    run in Make
    
    * overwrites ContentHashes and Timestamps for rebuilt modules
    
    * removes a whole lot of "Christoph didn't know what he was doing"
    
    * reorganizes the cache info building
    
    * normalises filepaths before inserting them into the Cache
    
    * normalise file paths when rebuilding from the IDE
    
    * extracts the logic that updates the Cache
    
    * inlines function that I didn't up using in the IDE code
    
    * cleaner diff
    
    * more simplifications
    
    * Update src/Language/PureScript/Make/Cache.hs
    kritzcreek authored and hdgarrood committed May 23, 2020
    Configuration menu
    Copy the full SHA
    04a1a03 View commit details
    Browse the repository at this point in the history
  2. [purs ide] Tracks the cache-db.json timestamp (#3799)

    * [purs ide] Tracks the cache-db.json timestamp
    
    This allows us to trigger a full reload when someone other than the
    IDE invoked the compiler
    
    * fixes tests
    
    * [purs ide] removes editor mode flag and the file watcher
    
    The editor mode functionality is the default now, and we're checking
    the cache-db.json timestamp to invalidate our externs store instead.
    This means we can get rid of the flaky file watcher
    
    * Formats the Ide.Types module into how I'd write Haskell today
    
    makes the formatting consistent within this file at least
    kritzcreek authored and hdgarrood committed May 23, 2020
    Configuration menu
    Copy the full SHA
    5d41145 View commit details
    Browse the repository at this point in the history
  3. Binary encoding for externs (#3841)

    This commit changes the encoding for externs from JSON to CBOR. We're using the serialise library to derive instances for all the relevant data types.
    
    By doing this we're getting significant speedups in IDE startup time, but also in the normal compiler pipeline.
    The performance measurements in this PR measure how long it takes to load the fully built pscid project and populate the IDE caches. It's dominated by the time it takes to deserialise the externs files, and drops from 3.5s to 0.55s. Memory allocations drop from 8,460,187,856 bytes to 1,649,605,704 bytes.
    kritzcreek authored and hdgarrood committed May 23, 2020
    Configuration menu
    Copy the full SHA
    e857bfe View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    d60f2d5 View commit details
    Browse the repository at this point in the history
  5. Represents ModuleNames as a single Text (#3843)

    * Represents ModuleNames as a single Text
    
    The hierarchy `[ProperName]` suggests doesn't actually exist except
    for the `Prim.` namespace. The compiler compares module names for
    equality and ordering all over the place though, so we should pick a
    representation suitable for that.
    
    * preserve CoreFn encoding
    kritzcreek authored and hdgarrood committed May 23, 2020
    Configuration menu
    Copy the full SHA
    f095fbe View commit details
    Browse the repository at this point in the history
  6. [purs ide] Extracts documentation comments for type classes (#3856)

    * [purs ide] Extracts documentation comments for type classes
    
    I had assumed we were already doing this? Maybe something about the
    Name structure changed.
    
    * [purs ide] Extracts documentation comments for type class members
    kritzcreek authored and hdgarrood committed May 23, 2020
    Configuration menu
    Copy the full SHA
    11caa66 View commit details
    Browse the repository at this point in the history
  7. Fix CoreFn FromJSON version parsing and add test (#3877)

    * Fix CoreFn version parsing and add test
    
    * Move parseVersion' to CoreFn.FromJSON module
    paulyoung authored and hdgarrood committed May 23, 2020
    Configuration menu
    Copy the full SHA
    47eebec View commit details
    Browse the repository at this point in the history
  8. Rerun license-generator

    hdgarrood committed May 23, 2020
    Configuration menu
    Copy the full SHA
    ab2fceb View commit details
    Browse the repository at this point in the history
  9. v0.13.7 (#3888)

    hdgarrood authored May 23, 2020
    Configuration menu
    Copy the full SHA
    896228b View commit details
    Browse the repository at this point in the history
  10. Fix warnings

    hdgarrood committed May 23, 2020
    Configuration menu
    Copy the full SHA
    0077b9e View commit details
    Browse the repository at this point in the history
  11. v0.13.8

    hdgarrood committed May 23, 2020
    Configuration menu
    Copy the full SHA
    9cad73e View commit details
    Browse the repository at this point in the history

Commits on Jan 23, 2021

  1. Support TCO for functions with tail-recursive inner functions

    This commit adds support for optimizing functions that contain local
    functions which call the outer function in tail position, as long as
    those functions themselves are only called from tail position, either in
    the outer function or in other such local functions.
    
    This enables hand-written mutually-tail-recursive function groups to be
    optimized, but more critically, it also means that case guards which
    desugar to use local functions don't break TCO.
    
    fixup! Support TCO for functions with tail-recursive inner functions
    
    fixup! Support TCO for functions with tail-recursive inner functions
    
    fixup! Support TCO for functions with tail-recursive inner functions
    rhendric authored and gorbak25 committed Jan 23, 2021
    Configuration menu
    Copy the full SHA
    32bac2e View commit details
    Browse the repository at this point in the history
  2. fixd

    radrow authored and gorbak25 committed Jan 23, 2021
    Configuration menu
    Copy the full SHA
    4309fe1 View commit details
    Browse the repository at this point in the history
  3. Verbose progress

    gorbak25 committed Jan 23, 2021
    Configuration menu
    Copy the full SHA
    941d9eb View commit details
    Browse the repository at this point in the history

Commits on Feb 23, 2021

  1. Configuration menu
    Copy the full SHA
    fdfaa7c View commit details
    Browse the repository at this point in the history
  2. Aggressive TCO

    radrow authored and gorbak25 committed Feb 23, 2021
    Configuration menu
    Copy the full SHA
    5dfe129 View commit details
    Browse the repository at this point in the history
  3. Optims

    radrow authored and gorbak25 committed Feb 23, 2021
    Configuration menu
    Copy the full SHA
    338cdde View commit details
    Browse the repository at this point in the history
  4. More strictness

    radrow authored and gorbak25 committed Feb 23, 2021
    Configuration menu
    Copy the full SHA
    fed89cc View commit details
    Browse the repository at this point in the history
Loading