RE: Again: Uniques in GHC

2014-10-10 Thread p.k.f.holzenspies
Some of those clarifying points helped a *great* deal. Thanks. I've addressed comments / questions and linked from KeyTypes. Ph. ​ From: Simon Peyton Jones simo...@microsoft.com Sent: 09 October 2014 22:36 To: Holzenspies, P.K.F. (EWI);

RE: Again: Uniques in GHC

2014-10-09 Thread p.k.f.holzenspies
Dear Simon, et al, I've created the wiki-page about the Unique-patch [1]. Should it be linked to from the KeyDataTypes [2]? Regards, Philip [1] https://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/Unique [2] https://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/KeyDataTypes

RE: Tentative high-level plans for 7.10.1

2014-10-09 Thread p.k.f.holzenspies
I’m with John wrt. the discussions on LTS and the 7.8.4 release being orthogonal. Especially if 7.8 does not have submodules and if this is a pain, there’s also no reason to backport our approach to LTS into 7.8. In other words, 7.10 could also be the first LTS version. Ph. From: John Lato

RE: Again: Uniques in GHC

2014-10-07 Thread p.k.f.holzenspies
Wait, wait, wait! I wasn't talking about a parallel *runtime*. Nothing changes there. All I'm talking about is something that is a very old issue that never got added / solved / resolved. Somewhere on the commentary, or the mailing list, I seem to recall that the generation of Uniques was the

RE: Again: Uniques in GHC

2014-10-07 Thread p.k.f.holzenspies
From: mad@gmail.com mad@gmail.com on behalf of Austin Seipp aus...@well-typed.com So I assume your change would mean 'ghc -j' would not work for 32bit. I still consider this a big limitation, one which is only due to an implementation detail. But

RE: Again: Uniques in GHC

2014-10-07 Thread p.k.f.holzenspies
Dear Carter, Simon, et al, (CC'd SPJ on this explicitly, because I *think* he'll be most knowledgeable on some of the constraints that need to be guaranteed for Uniques) I agree, but to that end, a few parameters need to become clear. To this end, I've created a Phabricator-thing that we can

RE: Tentative high-level plans for 7.10.1

2014-10-06 Thread p.k.f.holzenspies
I don't know whether this has ever been considered as an idea, but what about having a notion of Long Term Support version (similar to how a lot of processor and operating systems vendors go about this). The idea behind an LTS-GHC would be to continue bug-fixing on the LTS-version, even if

RE: Again: Uniques in GHC

2014-10-06 Thread p.k.f.holzenspies
Very much part of my plan, Johan! I was a fervent +1 on that recommendation. Ph. ? From: Johan Tibell johan.tib...@gmail.com Sent: 06 October 2014 12:06 To: Holzenspies, P.K.F. (EWI) Cc: ghc-devs@haskell.org Subject: Re: Again: Uniques in GHC On Mon, Oct 6,

RE: Show instance for SrcSpan

2014-10-06 Thread p.k.f.holzenspies
The way I read Alan's earlier mail is precisely that; auto-generated Show does what he wants (show the entire AST), whereas Outputable hides too much information. I very much understand his frustration with having to manually figure out what constructors and datatypes go where in a compiled

RE: Again: Uniques in GHC

2014-10-06 Thread p.k.f.holzenspies
Dear Joachim, Although I can't quite get what you're saying from the posts on that link, I'm not immediately sure what you're saying should extend to hi-files. These files are very much specific to the compiler version you're using, as in, new GHCs add stuff to them all the time and their

RE: GHC AST Annotations

2014-09-26 Thread p.k.f.holzenspies
Dear Alan, Nice going and thanks for undertaking yet another useful AST transformation! A few thoughts (do with them as you see fit): - Always called ann; doesn't this require OverloadedRecordFields? You're in danger of delaying your modification (scheduled to land in 7.10). Other than

RE: Unique as special boxing type hidden constructors

2014-09-04 Thread p.k.f.holzenspies
Dear Simon, The point is to have newtype Unique = Unique Int where we use the boxing of Int, instead of creating our own boxing. Actually, it seems useful to move to newtype Unique = Unique Word (see other discussions about unnecessary signedness). I've been working on this (although only

RE: Suggestion for GHC System User's Guide documentation change

2014-08-25 Thread p.k.f.holzenspies
Dear Howard, Yes, emphatically so! Any examples should be copy-paste-runnable if reasonably possible without any further switches, so that means the pragmas *should* be included! Regards, Philip From: Howard B. Golden howard_b_gol...@yahoo.com Sent:

RE: Suggestion for GHC System User's Guide documentation change

2014-08-22 Thread p.k.f.holzenspies
Marginally less verbose; why not use the language extension *only* in running text? Preferably with a link to the documentation of that language extension. In your example: | The language extension refUnicodeSyntax/ref enables Unicode characters to be | used to stand for certain ASCII

RE: Unique as special boxing type hidden constructors

2014-08-20 Thread p.k.f.holzenspies
Dear Simon, et al, I seem to recall that the Unique(Supply) was an issue in parallelising GHC itself. There's a comment in the code (signed JSM) that there aren't any 64-bit bugs, if we have at least 32-bits for Ints and Chars fit in 8 characters. Then, there's bitmasks like 0x00FF to

RE: Unique as special boxing type hidden constructors

2014-08-20 Thread p.k.f.holzenspies
Methinks a lot of the former performance considerations in Unique are out-dated (as per earlier discussion; direct use of unboxed ints etc.). An upside of using an ADT for the types of uniques is that we don't actually need to reserve 8 bits for a Char (which is committing to neither the

RE: Unique as special boxing type hidden constructors

2014-08-20 Thread p.k.f.holzenspies
On Wed, Aug 20, 2014 at 1:47 PM, p.k.f.holzensp...@utwente.nlmailto:p.k.f.holzensp...@utwente.nl wrote: thread_id_bits:8 unique_id_bits:56-X tag_bits:X Is the thread id deterministic between runs? If not, please do not use this layout. I remember vaguely Unique being relevant to ghc not

RE: Unique as special boxing type hidden constructors

2014-08-20 Thread p.k.f.holzenspies
Dear Max, et al, Here's hoping either you are still on the mailing list, or the address I found on your website (which says you're a Ph.D. student, so it's starting to smell) is still operational. I'm working on redoing some Unique-stuff in GHC. Mostly, the code uses Unique's API in a

RE: Unique as special boxing type hidden constructors

2014-08-18 Thread p.k.f.holzenspies
PS. Unique also looks like a case where Ints are used and (= 0) is asserted. Can these cases be converted to Word as per earlier discussions? Van: p.k.f.holzensp...@utwente.nl p.k.f.holzensp...@utwente.nl Verzonden: maandag 18 augustus 2014 15:49 Aan:

Unique as special boxing type hidden constructors

2014-08-15 Thread p.k.f.holzenspies
Dear all, I'm working with Alan to instantiate everything for Data.Data, so that we can do better SYB-traversals (which should also help newcomers significantly to get into the GHC code base). Alan's looking at the AST types, I'm looking at the basic types in the compiler. Right now, I'm

RE: Broken Data.Data instances

2014-08-13 Thread p.k.f.holzenspies
Dear Alan, I’ve had a look at the diffs on Phabricator. They’re looking good. I have a few comments / questions: 1) As you said, the renamer and typechecker are heavily interwoven, but when you *know* that you’re between renamer and typechecker (i.e. when things have ‘Name’s, but not ‘Id’s),

RE: Broken Data.Data instances

2014-07-28 Thread p.k.f.holzenspies
I always read the () as “there’s nothing meaningful to stick in here, but I have to stick in something” so I don’t necessarily want the WrongPhase-thing. There is very old commentary stating it would be lovely if someone could expose the PostTcType as a parameter of the AST-types, but that

RE: Broken Data.Data instances

2014-07-28 Thread p.k.f.holzenspies
Sorry about that… I’m having it out with my terminal server and the server seems to be winning. Here’s another go: I always read the () as “there’s nothing meaningful to stick in here, but I have to stick in something” so I don’t necessarily want the WrongPhase-thing. There is very old

RE: Broken Data.Data instances

2014-07-28 Thread p.k.f.holzenspies
Dear Alan, I would think you would want to constrain the result, i.e. type family (Data (PostTcType a)) = PostTcType a where … The Data-instance of ‘a’ doesn’t give you much if you have a ‘PostTcType a’. Your point about SYB-recognition of WrongPhase is, of course, a good one ;) Regards,

RE: Broken Data.Data instances

2014-07-27 Thread p.k.f.holzenspies
Alan, In that case, let's have a short feedback-loop between the two of us. It seems many of these files (Name.lhs, for example) are really stable through the repo-history. It would be nice to have one bigger refactoring all in one go (some of the code could use a polish, a lot of code seems

RE: Unexpected failure to inline, even with pragma

2014-05-01 Thread p.k.f.holzenspies
Dear Joachim, et al., Yes, you were right, this does fix it. This confuses me even more as to why it *did* inline Foo.Bar.foo in Foo.Bar.bar without -O, though. Is -O required for optimization across module bounds? Also, since I really want a certain level of inlining for a plugin I'm working

Request: export runTcInteractive from TcRnDriver

2014-01-29 Thread p.k.f.holzenspies
Dear GHC-devs, Is there a reason why, in HEAD, TcRnDriver does *not* export runTcInteractive? If not, can it please be added? (I considered sending a patch with this email, but it's so trivial a change that the check of the patch is more work than manually adding runTcInteractive to the export

FW: Detabbing patch and GHC developers Wiki

2013-10-03 Thread p.k.f.holzenspies
PS. Ignore my comments about git send-email. Ubuntu enjoys splitting everything up in minute sub-packages. I should have installed git-email. From: Holzenspies, P.K.F. (EWI) Sent: donderdag 3 oktober 2013 15:18 To: 'ghc-devs@haskell.org' Subject: Detabbing patch and GHC developers Wiki Dear