Skip to content
Snippets Groups Projects
  1. Jan 27, 2019
  2. Jan 26, 2019
  3. Jan 25, 2019
  4. Jan 23, 2019
  5. Jan 22, 2019
    • Herbert Valerio Riedel's avatar
      Update transformers module · c9fe14cc
      Herbert Valerio Riedel authored and Ben Gamari's avatar Ben Gamari committed
      c9fe14cc
    • Simon Peyton Jones's avatar
      Fix bogus worker for newtypes · a5373c1f
      Simon Peyton Jones authored and Marge Bot's avatar Marge Bot committed
      The "worker" for a newtype is actually a function
      with a small (compulsory) unfolding, namely a cast.
      
      But the construction of this function was plain wrong
      for newtype /instances/; it cast the arguemnt to the
      family type rather than the representation type.
      
      This never actually bit us because, in the case of a
      family instance, we immediately cast the result to
      the family type.  So we get
         \x. (x |> co1) |> co2
      
      where the compositio of co1 and co2 is ill-kinded.
      However the optimiser (even the simple optimiser)
      just collapsed those casts, ignoring the mis-match
      in the middle, so we never saw the problem.
      
      Trac #16191 is indeed a dup of #16141; but the resaon
      these tickets produce Lint errors is not the unnecessary
      forcing; it's because of the ill-typed casts.
      
      This patch fixes the ill-typed casts, properly.  I can't
      see a way to trigger an actual failure prior to this
      patch, but it's still wrong wrong wrong to have ill-typed
      casts, so better to get rid of them.
      a5373c1f
  6. Jan 21, 2019
    • Samuel Holland's avatar
      Extend linker-script workaround to work with musl libc · 64ce6afa
      Samuel Holland authored and Marge Bot's avatar Marge Bot committed
      GHC has code to handle unsuffixed .so files that are linker scripts
      pointing to the real shared library. The detection is done by parsing
      the result of `dlerror()` after calling `dlopen()` and looking for
      certain error strings. On musl libc, the error message is "Exec format
      error", which happens to be `strerror(ENOEXEC)`:
      
      ```
      $ cat tmp.c
      #include <dlfcn.h>
      #include <stdio.h>
      
      int main(void) {
              dlopen("libz.so", RTLD_NOW | RTLD_GLOBAL);
              puts(dlerror());
              return 0;
      }
      $ gcc -o tmp tmp.c
      $ ./tmp
      Error loading shared library libz.so: Exec format error
      $
      ```
      
      This change fixes the workaround to also work on musl libc.
      
      Link: https://phabricator.haskell.org/D5474
      64ce6afa
    • Ben Gamari's avatar
      Add CODEOWNERS · 7262a815
      Ben Gamari authored
      GitLab uses this file to suggest reviewers based upon the files that a Merge
      Request touches.
      
      [skip-ci]
      7262a815
    • Ben Gamari's avatar
      gitlab: Add merge request template · 5ebcfc04
      Ben Gamari authored
      This begins to define our expectations of contributions.
      
      [skip-ci]
      5ebcfc04
    • Matthew Pickering's avatar
      Fix typo in TcRnTypes.hs [skip ci] · 38d837a4
      Matthew Pickering authored
      38d837a4
Loading