a better workflow?

2019-07-22 Thread Richard Eisenberg
Hi devs, Having gotten back to spending more time on GHC, I've found myself frequently hitting capacity limits on my machine. At one point, I could use a server at work that was a workhorse, but that's not possible any more (for boring reasons). It was great, and I miss it. So I started

[ANNOUNCE] GHC 8.8.1 release candidate 1 is now available

2019-07-22 Thread Ben Gamari
Hello everyone, The GHC team is pleased to announce the release candidate for GHC 8.8.1. The source distribution, binary distributions, and documentation are available at https://downloads.haskell.org/ghc/8.8.1-rc1 This release is the culmination of over 3000 commits by over one hundred

HIE files?

2019-07-22 Thread Richard Eisenberg
Hi devs, I recently learned about the code for HIE files. This is quite a substantial new development in GHC, judging from the amount of code. I understand broadly why it's here, but I'd like to learn more specifics. For example, if I'm adding a new bit of syntax, how should I update HIE

Re: How do Coercions work

2019-07-22 Thread Richard Eisenberg
Glad to know you're unstuck. If you're trying to follow along with a proof of type safety, I recommend the JFP version of the Coercible paper (http://repository.brynmawr.edu/cgi/viewcontent.cgi?article=1010=compsci_pubs

Re: How do Coercions work

2019-07-22 Thread Jan van Brügge
Hi Richard, >  In Core, however (which is where normalise_type works), F Int and Bool are *not* definitionally equal. Instead, they are "propositionally equal", which means that they are distinct Thanks, this was the piece of information that was missing. Now it makes sense why there is always a

Re: How do Coercions work

2019-07-22 Thread Richard Eisenberg
Hi Jan, > On Jul 22, 2019, at 2:49 PM, Jan van Brügge wrote: > > This also hints that my code there is > utter garbage, as I already suspected. Sorry, but I'm afraid it is. At least about the coercions. > > So I guess my actual question is: What does the coercion returned by >

Re: How do Coercions work

2019-07-22 Thread Jan van Brügge
Hi Ben, thanks, that *does* make clear what TransCo does, I did not know how the transitivity was meant to act. This also hints that my code there is utter garbage, as I already suspected. So I guess my actual question is: What does the coercion returned by normalize_type represent? Same with

gitlab subject lines

2019-07-22 Thread Richard Eisenberg
Hi Ben, Since the recent GitLab upgrade, all GitLab emails have "GHC | Glasgow Haskell Compiler | " prefixed to their subject lines. This reduces the bandwidth of information in my mail reader. Is there a way of going back to just "GHC |"? Thanks! :) Richard

Re: GHC native bootstrap

2019-07-22 Thread Brandon Allbery
IIRC another way to do this, which was and possibly still is used on ARM, is to compile on the host with -fllvm, saving the LLVM IR output, and then run opt on the target. This requires the target have an LLVM toolchain at the same (or at least IR compatible, but note that they make few if any

Re: How do Coercions work

2019-07-22 Thread Ben Gamari
Jan van Brügge writes: > Hi, > > currently I have some problems understanding how the coercions are > threaded through the compiler. In particular the function > `normalise_type`. With guessing and looking at the other cases, I came > to this solution, but I have no idea if I am on the right

Re: GHC native bootstrap

2019-07-22 Thread Ben Gamari
Igor Chudov writes: > Thanks, Ben! > > I read old docs and found that it was mentioned that it's possible to > start bootstrap with GHC 4.08.2 and HC files supplied. I performed > "./configure && make" stage on x86_64 machine and moved sources to the > desired machine (and successfully patched

head.hackage upstream

2019-07-22 Thread Ben Gamari
Hi everyone, As I noted just a moment ago in another thread on this list, head.hackage's upstream repository will be moving to GitLab. I'll but publishing a blog post soon describing some of the infrastructure we have built around head.hackage. Otherwise, if you want to submit a patch to

Re: Moving head.hackage upstream

2019-07-22 Thread Ben Gamari
Ben Gamari writes: > Hi Herbert, > > Last week I did some work to clean up and document GHC's head.hackage > infrastructure. At this point we have a full CI pipeline, including > automatic deployment of a Hackage repository. > > I asked on #ghc and there was quite some appetite to use >

Re: GHC native bootstrap

2019-07-22 Thread Igor Chudov
Thanks, Ben! I read old docs and found that it was mentioned that it's possible to start bootstrap with GHC 4.08.2 and HC files supplied. I performed "./configure && make" stage on x86_64 machine and moved sources to the desired machine (and successfully patched some files to work with exotic C

Re: Guarded Impredicativity

2019-07-22 Thread Alejandro Serrano Mena
Just to keep you posted about the current development, we are working on a new approach to impredicativity which is inspired by guarded impredicativity but requires much fewer changes to the codebase. In particular, our goal is to isolate the inference of impredicativity, instead of contaminating

How do Coercions work

2019-07-22 Thread Jan van Brügge
Hi, currently I have some problems understanding how the coercions are threaded through the compiler. In particular the function `normalise_type`. With guessing and looking at the other cases, I came to this solution, but I have no idea if I am on the right track: normalise_type ty   = go ty  

GHC native bootstrap

2019-07-22 Thread Igor Chudov
Hello! I want to bootstrap GHC on an exotic architecture and I have GCC-compatible compiler but miss cross-compiling toolchain. I was able to bootstrap Hugs98 (with manual fixes) and guys on IRC channel pointed me to GHC bootstrap articles: -