HsParTy

2017-05-26 Thread Simon Peyton Jones via ghc-devs
Alan Do you know why HsTypes.ppr_mono_ty contains any uses of 'maybeParen'? Shouldn't the parens all be put in by HsParTy? I tripped over this when I mistakenly added what I thought were missing maybeParen calls for HsAppTy and HsAppTys, but that was flagged as an error by a test in

RE: Trees that Grow in the hsSyn AST

2017-05-25 Thread Simon Peyton Jones via ghc-devs
Folks Do take a look at this: ·We propose to re-engineer HsSyn itself. This will touch a lot of code. ·But it’s very neat, and will bring big long-term advantages ·And we can do it a bit at a time The wiki page

RE: 8.2 and earlier build times

2017-05-22 Thread Simon Peyton Jones via ghc-devs
| We'll need to look at what is going on here as this is a pretty | significant regression. Make a ticket with repro instructions? s | -Original Message- | From: Ben Gamari [mailto:b...@smart-cactus.org] | Sent: 20 May 2017 18:20 | To: Herbert Valerio Riedel ;

RE: How lose can we be with strictness

2017-05-22 Thread Simon Peyton Jones via ghc-devs
| And I am wondering if there is a way for GHC to discriminate between | these two options somehow… Not that I know of. Simon | -Original Message- | From: ghc-devs [mailto:ghc-devs-boun...@haskell.org] On Behalf Of Joachim | Breitner | Sent: 20 May 2017 18:14 | To: ghc-devs@haskell.org

RE: Getting valid substitutions to work for subsumption

2017-05-18 Thread Simon Peyton Jones via ghc-devs
| This is going to be challenging to fix, I'm afraid. I don't agree. If you call (tcSubsumes hole_ty ty) with closed types hole_ty, ty, it should return True if ty is more polymorphic than hole_ty. For example tcSubsumes (forall a. [a] -> [a]) (forall b. b -> b) should

RE: Type families and classes

2017-05-18 Thread Simon Peyton Jones via ghc-devs
Yes that looks right. A class instance can’t dispatch on a type family application. In haskell we don’t allow reverse (a ++ b) = reverse a ++ reverse b and it’s the same for type families and class instances. You should do the type-family reduction yourself, as you do below. Simon From:

RE: 8.2 and earlier build times

2017-05-17 Thread Simon Peyton Jones via ghc-devs
That's great news! Faster than GHC 7.8! We should advertise this :-). Simon | -Original Message- | From: ghc-devs [mailto:ghc-devs-boun...@haskell.org] On Behalf Of | Christopher Allen | Sent: 16 May 2017 19:09 | To: ghc-devs@haskell.org | Subject: 8.2 and earlier build times |

unix/tests failures

2017-05-16 Thread Simon Peyton Jones via ghc-devs
Something is wrong with libraries/tests/unix. >From `sh validate -fast -no-clean` I get the pile of errors below. If I cd libraries/unix; make THREADS=20 it all works fine It's quite annoying. Any ideas? Simon Unexpected failures: T8308/T8308.runT8308 [bad

forkprocess01

2017-05-02 Thread Simon Peyton Jones via ghc-devs
I got this on Linux in libraries/unix/tests Wrong exit code for forkprocess01(threaded1_ls)(expected 0 , actual 134 ) Stderr ( forkprocess01 ): forkprocess01: internal error: multiple ACQUIRE_LOCK: rts/Task.c 226 (GHC version 8.3.20170428 for x86_64_unknown_linux) Please report this

RE: Pushing to nofib

2017-04-28 Thread Simon Peyton Jones via ghc-devs
imo...@microsoft.com>; ghc-devs@haskell.org | Subject: Re: Pushing to nofib | | Simon Peyton Jones via ghc-devs <ghc-devs@haskell.org> writes: | | > How can I push to the nofib repository? I get this: | > | What does | | git remote -v | | say when run in the nofib/ direct

Pushing to nofib

2017-04-28 Thread Simon Peyton Jones via ghc-devs
How can I push to the nofib repository? I get this: simonpj@cam-05-unx:~/code/HEAD-4/nofib$ git push fatal: remote error: access denied or repository not exported: /nofib.git Thanks Simon ___ ghc-devs mailing list ghc-devs@haskell.org

RE: Constraint solver iterations

2017-04-27 Thread Simon Peyton Jones via ghc-devs
I'd love to see the repo case. with -ddump-simpl-iterations -ddump-simpl-stats you'll see the result after each iteration, and what was done. I bet you get to the point where only one thing happens per iteration and that's bad. Make a ticket! Thanks Simon | -Original Message- |

debug output

2017-04-24 Thread Simon Peyton Jones via ghc-devs
mk/flavours/validate.mk has GhcStage2HcOpts= -O -dcore-lint GhcLibHcOpts = -O -dcore-lint How can I override these in my validate.mk? E.g. GhcLibHcOpts += -ddebug-output does not work. Thanks. One should really be able to override anything. Simon

RE: submodules

2017-04-11 Thread Simon Peyton Jones via ghc-devs
o" is just a name for the remote within your local ghc | checkout, so it can be anything you choose. | | Regards, | Reid Barton | | On Tue, Apr 11, 2017 at 11:53 AM, Simon Peyton Jones via ghc-devs | <ghc-devs@haskell.org> wrote: | > Devs | > | > I want to build a GHC from

submodules

2017-04-11 Thread Simon Peyton Jones via ghc-devs
Devs I want to build a GHC from someone else repo; this one actually g...@github.com:Tritlo/ghc.git. But when I clone it, and then do git submodule init; git submodule update, I get lots of git submodule update Cloning into

linux again

2017-04-05 Thread Simon Peyton Jones via ghc-devs
PS: a from-scratch build fell over like this (below). the time-library problem in my other message happened when I said 'sh validate -fast -no-clean'; that is, with -no-clean. Which is odd. Simoin checking for __gmpz_powm_sec in -lgmp... yes checking whether to use in-tree GMP... no checking

linux build broken

2017-04-05 Thread Simon Peyton Jones via ghc-devs
My linux build is broken. See below. Help! Simon libraries/time/ghc.mk:4: libraries/time/dist-install/build/.depend-v-dyn.haskell: No such file or directory "rm" -f libraries/time/dist-install/build/.depend-v-dyn.haskell.tmp "inplace/bin/ghc-stage1" -M -static -O0 -H64m -Wall

Windows build

2017-04-05 Thread Simon Peyton Jones via ghc-devs
Dear Windows folk, Here's my testsuite output for a clean build on Windows last night. Rather a lot of failures - can we reduce them? Simon SUMMARY for test run started at Wed Apr 5 01:37:30 2017 GMTST 0:50:08 spent to go through 5822 total tests, which gave rise to 16777 test cases,

RE: Windows 10 Creators Update will break GHC (Was FW: GHC on Windows 10 15019+)

2017-04-04 Thread Simon Peyton Jones via ghc-devs
Yikes that sounds bad! I just wanted to raise awareness and offer myself to do guided grunt work (if there is any) to push out a hotfix/inplace patch release for GHC 8.0.2. Help would be fantastic. Phyx, Ben, etc: do we have a plan? Simon From: ghc-devs [mailto:ghc-devs-boun...@haskell.org]

RE: Translation of GHC typechecker output to haskell-src-exts's 'Type'

2017-04-03 Thread Simon Peyton Jones via ghc-devs
Tom Please start a wiki page, somewhere under https://ghc.haskell.org/trac/ghc/wiki/Commentary that gives the information you wish was more clearly described. And/or add a Note in TyCoRep to explain. My answer to your question would be: The type that Haskell programmers write Ord a

FW: [Haskell-cafe] [Call for Contributions] Haskell Communities and Activities Report, May 2017 edition (32nd edition)

2017-04-03 Thread Simon Peyton Jones via ghc-devs
Ben Will you coordinate the GHC status report for HCAR? Everyone: please don’t leave Ben doing all the heavy lifting. He'll sketch a structure but it's up to the rest of us to fill it in. These six monthly reports are widely read, I think. Simon -Original Message- From:

RE: SPECIALISE INLINE pragma

2017-03-27 Thread Simon Peyton Jones via ghc-devs
| A warning would be very welcome. Given that the debugging compiler | emits one, perhaps it's not too difficult to add. That's a good idea; but it's a bit tricky: see Trac #9418. It _must_ be possible to do better here. Simon | -Original Message- | From: Mikolaj Konarski

RE: Polymorphism over unboxed tuples

2017-03-24 Thread Simon Peyton Jones via ghc-devs
All true. But perhaps the paper should articulate this thinking? Simon | -Original Message- | From: ghc-devs [mailto:ghc-devs-boun...@haskell.org] On Behalf Of | Richard Eisenberg | Sent: 23 March 2017 16:19 | To: Ryan Scott | Cc: GHC developers

RE: SPECIALISE INLINE pragma

2017-03-22 Thread Simon Peyton Jones via ghc-devs
| I didn't know the bit about INLINE being ignored on a loop-breaker | with no warning and no way of changing the loop-breaker. GHC tries hard NOT to choose an INLINE function as a loop breaker. But if you write f x = if ... then 0 else (f x') {-# INLINE f #-} then the only possible loop

RE: SPECIALISE INLINE pragma

2017-03-22 Thread Simon Peyton Jones via ghc-devs
| On the same topic, I also wrote a blog post simply explaining the | essential things to know about the inliner and specialiser as I don't | think they are generally appreciated. Comments welcome! | | http://mpickering.github.io/posts/2017-03-20-inlining-and- | specialisation.html

RE: Why are there no Show instances for internal types

2017-03-20 Thread Simon Peyton Jones via ghc-devs
| > >- Is there a reason that there are no derived 'Show' instances for | > >most types? | > | > As Richard mentioned, we don't derive Show due to code size and | compilation time concerns. | > Show in particular is rather expensive to derive and seeing as we | already have Outputable I don't it

Stat too good

2017-03-17 Thread Simon Peyton Jones via ghc-devs
Ben, I still get these four stat-too-good "failures" on 64-bit Linux. Unexpected stat failures: /tmp/ghctest-ca0gfq/test spaces/./perf/compiler/T13035.run T13035 [stat too good] (normal) /tmp/ghctest-ca0gfq/test spaces/./perf/compiler/T12425.run T12425 [stat too good] (optasm)

Adding a module

2017-03-16 Thread Simon Peyton Jones via ghc-devs
If you add a module to GHC, I know you need to extend ghc.cabal.in. But also ghc.mk? Otherwise I get hits If you add a module to GHC, I know you need to extend ghc.cabal.in. But also ghc.mk? Otherwise I get hits /usr/bin/ar: creating rts/dist/build/libHSrts_debug.a Reachable modules from

RE: [GHC] #13413: GHC HEAD panic: collectNBinders

2017-03-15 Thread Simon Peyton Jones via ghc-devs
I know what is going on here. I'm in a meeting all day, but I hope to fix tomorrow. Simon | -Original Message- | From: ghc-tickets [mailto:ghc-tickets-boun...@haskell.org] On Behalf Of | GHC | Sent: 11 March 2017 20:12 | Cc: ghc-tick...@haskell.org | Subject: [GHC] #13413: GHC HEAD

RE: Removing core-spec.pdf from repository?

2017-03-14 Thread Simon Peyton Jones via ghc-devs
It's very helpful to have a live, up to date PDF. Not everyone has OTT, which is required to make it. And OTT isn't available on Windows at all :-( Simon | -Original Message- | From: ghc-devs [mailto:ghc-devs-boun...@haskell.org] On Behalf Of Phil | Ruffwind | Sent: 14 March 2017

Windows

2017-03-10 Thread Simon Peyton Jones via ghc-devs
Windows build is working againthank you! (To be fair, I'm still building stage2, so have not tried the testsuite yet, but I live in hope.) Simon ___ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs

New commits

2017-03-10 Thread Simon Peyton Jones via ghc-devs
Edward, Ben, others I have just pushed a patch series 2209d5e6 Comments only 4eeb3273 Drop redundant import 2d3cb34a Define TcSimplify.simplifyTopImplic and use it af6ed4a6 Fix constraint simplification in rules 48d1866e Improve error messages for skolems 7e96526a Fix

FW: GHC on Windows 10 15019+

2017-03-10 Thread Simon Peyton Jones via ghc-devs
Phyx and friends: does this ring a bell? Do we have a ticket? -Original Message- From: Glasgow-haskell-users [mailto:glasgow-haskell-users-boun...@haskell.org] On Behalf Of J. Garrett Morris Sent: 09 March 2017 17:54 To: GHC users Subject: GHC on

RE: Windows build failing in a new way

2017-03-10 Thread Simon Peyton Jones via ghc-devs
u try nuking ghc-tarballs and trying again? Of course running with - -enable-tarballs-autodownloads on. Tamar On Thu, 9 Mar 2017, 16:28 Simon Peyton Jones via ghc-devs, <ghc-devs@haskell.org<mailto:ghc-devs@haskell.org>> wrote: My windows build is more broken than usual. I can’t even build

Windows build failing in a new way

2017-03-09 Thread Simon Peyton Jones via ghc-devs
My windows build is more broken than usual. I can't even build a GHC. Please, could someone fix this? I'm getting desperate. Simon libtool: compile: C:/code/HEAD/inplace/mingw/bin/gcc.exe -DHAVE_CONFIG_H -I. -I.. -I. -I../include -Iinclude -I../src -Wall -Werror -fno-stack-protector -w

RE: [commit: ghc] master: Add a comment to the mapFB rules (665cefe)

2017-03-09 Thread Simon Peyton Jones via ghc-devs
| +-- The "mapFB" rule optimises compositions of map and | +-- the "mapFB/id" rule get rids of 'map id' calls. | +-- (Any similarity to the Functor laws for [] is expected.) Yes, obviously. But did you have a use-case, or did you just to this on principle? If you don't have this rule what

RE: Better perf

2017-03-09 Thread Simon Peyton Jones via ghc-devs
Message- | From: ghc-devs [mailto:ghc-devs-boun...@haskell.org] On Behalf Of | Joachim Breitner | Sent: 09 March 2017 15:10 | To: ghc-devs@haskell.org | Subject: Re: Better perf | | Hi, | | Am Dienstag, den 07.03.2017, 22:55 + schrieb Simon Peyton Jones | via | ghc-devs

Better conditionals

2017-03-08 Thread Simon Peyton Jones via ghc-devs
Reid As promised: could you look at Trac #13397, re tagToEnum#. In particular, why is n-body running slower?? The change is basically a good one: removes a nasty special case in the code generator and de-clutters the code generally. So I'm keen to keep it. Not important for 8.2 though. Thanks

RE: [commit: ghc] master: Add rule mapFB c (λx.x) = c (2fa4421)

2017-03-08 Thread Simon Peyton Jones via ghc-devs
Joachim Please, I beg you, add a comment to explain why this rule is useful. I'm sure you had a good reason for adding it, but it's not apparent from the code. Thanks Simon | -Original Message- | From: ghc-commits [mailto:ghc-commits-boun...@haskell.org] On Behalf | Of

RE: [commit: ghc] master: Deserialize IfaceId more lazily (6446254)

2017-03-08 Thread Simon Peyton Jones via ghc-devs
Reid I beg you to add a comment to these carefully-placed used of laziness! The informative commit message does not appear in the code :-). Simon | -Original Message- | From: ghc-commits [mailto:ghc-commits-boun...@haskell.org] On Behalf | Of g...@git.haskell.org | Sent: 03 March

RE: Better perf

2017-03-07 Thread Simon Peyton Jones via ghc-devs
...@haskell.org] On Behalf Of Joachim | Breitner | Sent: 07 March 2017 10:43 | To: ghc-devs@haskell.org | Subject: Re: Better perf | | Hi, | | perf.haskell.org has something to say about these: | | Am Montag, den 06.03.2017, 15:45 + schrieb Simon Peyton Jones via | ghc-devs: | > I’ve just commit

RE: Getting exceptions right

2017-03-07 Thread Simon Peyton Jones via ghc-devs
I have elaborated a bit. Can you go further to a clear set of proposals? | -Original Message- | From: David Feuer [mailto:da...@well-typed.com] | Sent: 07 March 2017 18:35 | To: Simon Peyton Jones | Cc: ghc-devs@haskell.org | Subject: Getting exceptions right | |

RE: Windows build broken again

2017-03-06 Thread Simon Peyton Jones via ghc-devs
Windows build still broken. Please please could someone fix? It's something to do with the testsuite Python script Thanks Simo[n From: Simon Peyton Jones Sent: 04 March 2017 21:01 To: ghc-devs@haskell.org Subject: Windows build broken again The Windows build is broken again. Here's the tail of

Better perf

2017-03-06 Thread Simon Peyton Jones via ghc-devs
I've just committed this patch sequence fb9ae288088a3eabc4e1bb4e86fa473a3881d2e2 Make FloatOut/SetLevels idemoptent on bottoming functions 995ab74b3c55fe3a0299bd94b49e948c942e76d6 Comments only 1163f4f2fe9aabd722c963497c67c5f8c71ef71b Tiny refactor 9b2c73ea8082199245bfa6a28390b70b38f87fd1

Windows build broken again

2017-03-04 Thread Simon Peyton Jones via ghc-devs
The Windows build is broken again. Here's the tail of the log It would be good if we could stop this happening Simon == End post-build package check make: Entering directory '/c/code/HEAD/testsuite/tests' WARNING: cache is out of date:

RE: collectBindersPushingCo

2017-03-01 Thread Simon Peyton Jones via ghc-devs
ed.com] | Sent: 01 March 2017 13:49 | To: ghc-devs@haskell.org; Simon Peyton Jones <simo...@microsoft.com> | Cc: David Feuer <david.fe...@gmail.com>; b...@well-typed.com | Subject: Re: collectBindersPushingCo | | On Wednesday, March 1, 2017 8:17:05 AM EST Simon Peyton Jones via g

collectBindersPushingCo

2017-03-01 Thread Simon Peyton Jones via ghc-devs
David Thanks for moving my early-inline patch series to HEAD. You'll remember that I pushed this patch (below) to spj-early-inline2 Can you be sure to cherry-pick this one too? It's important and I don't see it in HEAD yet. I'm surprised that there isn't a validate failure (T9505 if memory

Windows build broken

2017-02-28 Thread Simon Peyton Jones via ghc-devs
Windows build is broken again. Might someone fix? Simon "inplace/bin/ghc-stage1.exe" -optc-fno-stack-protector -optc-Wall -optc-Werror -optc-Wall -optc-Wextra -optc-Wstrict-prototypes -optc-Wmissing-prototypes -optc-Wmissing-declarations -optc-Winline -optc-Waggregate-return

RE: Datacon RULES test

2017-02-24 Thread Simon Peyton Jones via ghc-devs
NB: the actual ticket Trac #12689 is /not/ about rules /for/ data cons. It's about rules that /match/ datacons. It's only the latter I object to. The test T12689 sort of snuck in there under false pretences :-). Also I'm not permanently set against rules for datacons. It's just that I

RE: Windows build broken

2017-02-22 Thread Simon Peyton Jones via ghc-devs
now, it's not my ground to meddle in, but I just can't be calmly watching | this entirely preventable suffering.. | | Simon Peyton Jones via ghc-devs writes: | > Please please please could some one fix this? On windows. | > | > It’s frustrating being unable to build. | >

RE: Windows build broken

2017-02-22 Thread Simon Peyton Jones via ghc-devs
The package has been fixed already but the submodule hasn't been updated. For a quick fix just cd into libraries/time and checkout master. I was hesitant to push the new submodule since we hadn't branched yet for 8.2 On Wed, 22 Feb 2017, 14:09 Simon Peyton Jones via ghc-devs, <ghc-devs@haske

RE: Windows build broken

2017-02-22 Thread Simon Peyton Jones via ghc-devs
n't branched yet for 8.2 On Wed, 22 Feb 2017, 14:09 Simon Peyton Jones via ghc-devs, <ghc-devs@haskell.org<mailto:ghc-devs@haskell.org>> wrote: Please please please could some one fix this? On windows. It’s frustrating being unable to build. Please please Simon libraries\time\lib\

Windows build broken

2017-02-22 Thread Simon Peyton Jones via ghc-devs
Please please please could some one fix this? On windows. It's frustrating being unable to build. Please please Simon libraries\time\lib\Data\Time\Clock\Internal\SystemTime.hs:57:5: error: Not in scope: data constructorFILETIME Perhaps you meantWin32.FILETIME(imported from

RE: Status of early-inline branch

2017-02-21 Thread Simon Peyton Jones via ghc-devs
It's ready to go. I'm just doing small deltas. Go for it; It's fine as-is. Anything else is just further progress. You can always put stuff up and I can plonk any further patches on top of whatever you finally commit. Anyway, go for it.. don't wait for me. And tell me if I'm getting in the

Time library broken

2017-02-21 Thread Simon Peyton Jones via ghc-devs
I'm getting this libraries/time/lib/Data/Time/Clock/Internal/SystemTime.hs:1:14: warning: [-Wtrustworthy-safe] 'Data.Time.Clock.Internal.SystemTime' is marked as Trustworthy but has been inferred as safe! | 1 | {-# LANGUAGE Trustworthy #-} | ^^^ Since I use

Superclasses

2017-02-20 Thread Simon Peyton Jones via ghc-devs
Edward In comment:23 of https://ghc.haskell.org/trac/ghc/ticket/11523 I claim that there is an infinite tower of superclasses, so that GHC can legitimately spin. You have not responded for nearly a year. Do you agree? Simon ___ ghc-devs mailing list

RE: Early inline

2017-02-17 Thread Simon Peyton Jones via ghc-devs
each of these submitted as a | separate differential *in order*? Or do you want a more complex mix-and- | match? | Also, are there any commits you think should be squashed? | | On Friday, February 17, 2017 4:41:33 PM EST Simon Peyton Jones via ghc- | devs | wrote: | > Ben, David, Reid | >

RE: Early inline

2017-02-17 Thread Simon Peyton Jones via ghc-devs
" phase, on the grounds that that's | what the programmer said.")? | | https://ghc.haskell.org/trac/ghc/ticket/12603#comment:30 | | | | On Fri, Feb 17, 2017 at 5:41 PM, Simon Peyton Jones via ghc-devs wrote: | > Ben, David, Reid | > | > I have been working for months (on

RE: Trac #13255

2017-02-17 Thread Simon Peyton Jones via ghc-devs
I've just rebuilt that branch from scratch. I see Unexpected failures: /tmp/ghctest-q4hnbi/test spaces/./codeGen/should_run/cgrun057.run cgrun057 [bad stderr] (profasm) /tmp/ghctest-q4hnbi/test spaces/./profiling/should_run/T2592.run T2592 [bad stderr] (profasm)

Early inline

2017-02-17 Thread Simon Peyton Jones via ghc-devs
Ben, David, Reid I have been working for months (on and off, mostly off, but very ON for the last week or two) on a very simple idea: the simplifier should inline things even in the "gentle" phase. It seems so simple. And it is: the key patch is tiny. But it stressed corners of the optimiser

Trac #13255

2017-02-17 Thread Simon Peyton Jones via ghc-devs
Ben I have pushed a fix for #13255 (blocking the release) to wip/T13255-spj It contains a series of patches, of which the important one is the last. But Phabbing them exceeded my skill level. I'm rebuilding yet again, but I got a couple of strange testsuite errors. Here is one T2592: Heap

RE: Static data and RULES

2017-02-17 Thread Simon Peyton Jones via ghc-devs
PS: before we go to some effort to optimise X, can we · do some measurements to ensure that X is a problem · check that the problem with X doesn’t have an easy solution For example: · Make a big file with lots of static data · Compile it · Check

RE: Static data and RULES

2017-02-17 Thread Simon Peyton Jones via ghc-devs
{-# RULES "L" LCon1 0 = LCon2 Oh I missed this entirely. You want to write a rule FOR a data constructor I thought you just meant one that matches on a data constructor. That is you want (L 0) to rewrite, all by itself, to LCon2? That had never occurred to me as a possibility. Bizarre.

RE: Static data and RULES

2017-02-16 Thread Simon Peyton Jones via ghc-devs
The immediate problem today is with "S". The SCon wrapper could very well inline before the rule has a chance to fire. We'd like to be able to phase that inline to give it a chance. Yes that’s a problem today. It is orthogonal to the current thread. (As I happens I have fix in my tree.) The

RE: Static data and RULES

2017-02-16 Thread Simon Peyton Jones via ghc-devs
I don’t understand any of this. However, RULES are allowed to match on data constructors and it would be nice to let that keep happening. Why won’t it keep happening? What is the problem you are trying to solve? Why does the fast-path make it harder? Maybe open a ticket? Simon From:

RE: Better perf for haddock.base, haddock.Cabal (f4aa998)

2017-02-16 Thread Simon Peyton Jones via ghc-devs
| clearly points to this commit: | | commit fc9d152b058f21ab03986ea722d0c94688b9969f | Author: Simon Peyton Jones | Date: Thu Feb 16 09:41:55 2017 + | | Comments and tiny refactor only Crumbs! You are right! I have NO IDEA why this

FW: [Diffusion] [Build Failed] rGHC6bab649bde65: Improve checking of joins in Core Lint

2017-02-16 Thread Simon Peyton Jones via ghc-devs
perf/haddock.base and haddock.Cabal have improved, hence failure here.. am building with HADDOCK_DOCS on. If someone else gets there first, be my guest From: nore...@phabricator.haskell.org [mailto:nore...@phabricator.haskell.org] Sent: 16 February 2017 16:08 To: Simon Peyton Jones

RE: Convincing GHC not to produce unfoldings during simplification

2017-02-15 Thread Simon Peyton Jones via ghc-devs
Yes, inl_act :: Activation controls what inlining takes place inl_inline :: InlineSpec says what the user originally wrote Perhaps I should beef up the comments. Simon | -Original Message- | From: ghc-devs [mailto:ghc-devs-boun...@haskell.org] On Behalf Of Ben | Gamari | Sent: 12

RE: Convincing GHC not to produce unfoldings during simplification

2017-02-15 Thread Simon Peyton Jones via ghc-devs
Can you tell me how to repro this? I can't. I tried module Foo( foo ) where {-# NOINLINE foo #-} foo = ("fred" , True, ('c', 'e')) And just as expected, I see foo in the interface file, but none of its components. Simon | -Original Message- | From: ghc-devs

RE: Trac

2017-02-13 Thread Simon Peyton Jones via ghc-devs
Firefox! | -Original Message- | From: Ben Gamari [mailto:b...@smart-cactus.org] | Sent: 13 February 2017 18:07 | To: Richard Eisenberg ; George Colpitts | | Cc: Simon Peyton Jones ; ghc-devs@haskell.org | Subject:

Trac

2017-02-13 Thread Simon Peyton Jones via ghc-devs
Trac tickets now open up with the "Modify ticket" boxes open. That makes them vulnerable to accidental edits. Could it be closed by default as it used to be? Simon ___ ghc-devs mailing list ghc-devs@haskell.org

RE: [Diffusion] [Build Failed] rGHCb8f58d79ee3e: Another improvement to SetLevels

2017-02-07 Thread Simon Peyton Jones via ghc-devs
https://phabricator.haskell.org/harbormaster/build/20383/ There's something very odd here. I got "stat too good" solidly, so I reduced the number. But Harbormaster consistently allocates more 6.6% more than my 64-bit machine. I have no idea why. I reported this some days ago. It only seems

RE: Handling of unlifted types

2017-02-07 Thread Simon Peyton Jones via ghc-devs
Suppose f1 :: forall (a :: TYPE LiftedPtrRep). a -> Closure f2 :: forall (a :: TYPE UnliftedPtrRep). a -> Closure f3 :: forall (a :: TYPE FloatRep). a -> Closure f3 takes its argument in a floating point register, whereas f1 and f2 take their arguments in a pointer register; so you can't

RE: Panic from rewritableTyVarsOfType

2017-02-03 Thread Simon Peyton Jones via ghc-devs
| Typeable1.hs:22:5: error: | • Couldn't match kind ‘* -> (* -> *) -> (* -> *) -> * -> *’ | with ‘forall k. (* -> *) -> (k -> *) -> k -> *’ I still don't see why we end up equating a polykind with a kind. | Anyways, hopefully this will be resolved with the

RE: Talkative Join points warning

2017-02-02 Thread Simon Peyton Jones via ghc-devs
Better still, figure out why it's happening and stop it happening. It shouldn't! S | -Original Message- | From: ghc-devs [mailto:ghc-devs-boun...@haskell.org] On Behalf Of Ben | Gamari | Sent: 02 February 2017 21:36 | To: Luke Maurer | Cc: ghc-devs@haskell.org

Master broken?

2017-02-02 Thread Simon Peyton Jones via ghc-devs
My clean build of origin/master, on 64-bit Linux is showing these failures Unexpected failures: /tmp/ghctest-5_qx1p/test spaces/./pmcheck/should_compile/T11195.run T11195 [exit code non-0] (normal) Unexpected stat failures: /tmp/ghctest-5_qx1p/test

RE: D2038: [WIP] TysPrim: Generalize kind of (->)

2017-02-01 Thread Simon Peyton Jones via ghc-devs
Check out https://ghc.haskell.org/trac/ghc/wiki/Status/GHC-8.2.1 There are several tickets you own in highest or high prio. Notably #12919 (an outright bug). And #12670, #13160, #13202 BEN: yell for whatever help you need with (->) and Typable Simon From: Richard Eisenberg

RE: Lazy ST vs concurrency

2017-02-01 Thread Simon Peyton Jones via ghc-devs
But what if GHC decided to add another thunk, e.g. Ugh. That is even more horrible. Clearly I’m not very good at thinking about this stuff. It smells wrong; we should find a simple, composable primitive that does the right thing. I’d like to leave some breadcrumbs of this thread, at very

RE: D2038: [WIP] TysPrim: Generalize kind of (->)

2017-02-01 Thread Simon Peyton Jones via ghc-devs
1. Hold off on Constraint v Type until after the branch is cut. Good idea. I think that’d be OK. It’s no worse than the status quo. I’m MUCH more keen to get the TypeRep stuff in, because it has been in the works for nearly two years!! So let’s do 1-3 pronto.Who is acting there. Just

RE: Join points revised

2017-02-01 Thread Simon Peyton Jones via ghc-devs
GHC devs: this join-point patch has been long in gestation, and I've reviewed it several times with Luke. I think it's ready to go, but if you have time to take a look, please do. The Wiki page https://ghc.haskell.org/trac/ghc/wiki/SequentCore Simon | -Original Message- | From:

RE: D2038: [WIP] TysPrim: Generalize kind of (->)

2017-01-31 Thread Simon Peyton Jones via ghc-devs
Replying by email because I'm on a train. Simon Huh. Put otherwise, your point is this. Suppose we have the following kind for `(->)`: (->) :: forall v1 v2 r1 r2. TYPE v1 r1 -> TYPE v2 r2 -> Type To coerce from (C a -> Int) to (a -> Int) we'd have to cough up a coercion `g`: g

RE: Lazy ST vs concurrency

2017-01-31 Thread Simon Peyton Jones via ghc-devs
Huh. You are right. That’s horrible. OK, here’s another idea. Provide, applyOnce# :: (a->b) -> a -> b which behaves like applyOnce f x = f x but guarantees that any thunk (applyOnce# f x) will be evaluated with atomic eager black-holing. \(s :: State# s) -> let

RE: Lazy ST vs concurrency

2017-01-31 Thread Simon Peyton Jones via ghc-devs
If we could identify exactly the thunks we wanted to be atomic, then yes, that would be better than a whole-module solution. However I'm not sure how to do that - doing it on the basis of a free variable with State# type doesn't work if the State# is buried in a data structure or a function

RE: Lazy ST vs concurrency

2017-01-30 Thread Simon Peyton Jones via ghc-devs
We don’t want to do this on a per-module basis do we, as -fatomic-eager-blackholing would suggest. Rather, on per-thunk basis, no? Which thunks, precisely? I think perhaps precisely thunks one of whose free variables has type (Sttate# s) for some s. These are thunks that consume a state

RE: Constant functions and selectors make for interesting arguments

2017-01-30 Thread Simon Peyton Jones via ghc-devs
e | enough to fix this problem, but I suspect there's some way to fix it. | Fixing it in Functor deriving would be a start (I can look into that), | but fixing it in user code would be quite good too. | | On Monday, January 30, 2017 9:01:34 PM EST Simon Peyton Jones via ghc- | devs | wrote: | > Func

RE: Constant functions and selectors make for interesting arguments

2017-01-30 Thread Simon Peyton Jones via ghc-devs
Functions whose body is no bigger (by the inliner’s metrics) than the call are always inlined vigorously. So (\.-> k) replaces a call by a single variable. GHC will do that a lot. These ideas are best backed by use-cases where something good is not happening. Do you have some? Simon

RE: [commit: ghc] wip/discount-fv: Discount scrutinized free variables (fd9608e)

2017-01-25 Thread Simon Peyton Jones via ghc-devs
Long story short: learning and experimenting how GHC works and eventually contribute my findings (if any). OK great! Let us know if you need help. Simon From: Alex Biehl [mailto:alex.bi...@gmail.com] Sent: 25 January 2017 10:32 To: Simon Peyton Jones Cc:

RE: [commit: ghc] wip/discount-fv: Discount scrutinized free variables (fd9608e)

2017-01-25 Thread Simon Peyton Jones via ghc-devs
Alex Interesting. Care to give us any background on what you are working on? I've often thought about discounting for free vars. Do you have some compelling examples? (Also fine if you just want to noodle privately for now.) Simon | -Original Message- | From: ghc-commits

RE: StablePtr / StableName ?

2017-01-24 Thread Simon Peyton Jones via ghc-devs
Add this conversation to #13165? From: ghc-devs [mailto:ghc-devs-boun...@haskell.org] On Behalf Of Simon Marlow Sent: 24 January 2017 09:38 To: Johannes Waldmann Cc: ghc-devs@haskell.org Subject: Re: StablePtr / StableName ? StableNames do use the RTS hash

RE: Floating lazy primops

2017-01-23 Thread Simon Peyton Jones via ghc-devs
We should have this conversation on a ticket, perhaps #13027. | good at the time). Are there actually any primops with lifted arguments | where we *want* speculation? Perhaps the most important primop to | consider is seq#, which is I don't understand this question. comment:23 of #13027

RE: [Diffusion] [Build Failed] rGHCb78fa759bfb4: Simplify and improve CSE

2017-01-20 Thread Simon Peyton Jones via ghc-devs
: ghc-devs [mailto:ghc-devs-boun...@haskell.org] On Behalf Of Simon Peyton Jones via ghc-devs Sent: 20 January 2017 17:46 To: ghc-devs@haskell.org Subject: RE: [Diffusion] [Build Failed] rGHCb78fa759bfb4: Simplify and improve CSE I'm sorry about all these Phab failures. I'm struggling with a

RE: Arc doesn't work

2017-01-20 Thread Simon Peyton Jones via ghc-devs
about. | | Regards, | Reid Barton | | On Fri, Jan 20, 2017 at 10:50 AM, Simon Peyton Jones via ghc-devs wrote: | > I can’t use arc. At the end of ‘arc diff’ it says | > | > Exception | > | > Some linters failed: | > | > - CommandException: C

RE: [Diffusion] [Build Failed] rGHCb78fa759bfb4: Simplify and improve CSE

2017-01-20 Thread Simon Peyton Jones via ghc-devs
I'm sorry about all these Phab failures. I'm struggling with arc, and so committing directly. It all validates fine on my machine. They seem to be all about T1969. It validates fine on my machine. But only just! On my machine I get peak_megabytes = 64; but on Harbormaster it seems to be

Arc doesn't work

2017-01-20 Thread Simon Peyton Jones via ghc-devs
I can't use arc. At the end of 'arc diff' it says Exception Some linters failed: - CommandException: Command failed with error #1! COMMAND python3 .arc-linters/check-cpp.py 'compiler/basicTypes/Id.hs' STDOUT (empty) STDERR File

RE: Magical function to support reflection

2017-01-19 Thread Simon Peyton Jones via ghc-devs
I've added some comments. I like ReflectableDF a lot. Simon | -Original Message- | From: David Feuer [mailto:da...@well-typed.com] | Sent: 19 January 2017 02:59 | To: ghc-devs@haskell.org; Simon Peyton Jones | Cc: Edward Kmett | Subject: Re:

Type family bug?

2017-01-19 Thread Simon Peyton Jones via ghc-devs
Richard This works type family F (a :: k) type instance F Maybe = Char But this does not. Surely it should? type family F (a :: k) where -- = r | r -> a where F Maybe = Char The latter is rejected with Foo.hs:6:5: error: * Expecting one more argument to `Maybe' Expected kind

RE: Join points

2017-01-17 Thread Simon Peyton Jones via ghc-devs
All, Yes, do take a look at this. It’s a fairly direct implementation of the paper “Compiling without continuations”. You should definitely read the paper first; it’ll set the scene. I am really hoping

RE: Magical function to support reflection

2017-01-17 Thread Simon Peyton Jones via ghc-devs
To make the reflection library work in a fully type-safe manner would take 1-3 additional wired ins that would consist of well-typed core. The stuff David is proposing above would be more general but less safe. The approach I proposed below looks general, safe, and performant. Or not? To make

RE: Magical function to support reflection

2017-01-17 Thread Simon Peyton Jones via ghc-devs
David says that this paper is relevant http://okmij.org/ftp/Haskell/tr-15-04.pdf Simon From: David Feuer [mailto:david.fe...@gmail.com] Sent: 14 January 2017 00:50 To: Simon Peyton Jones Cc: ghc-devs ; Edward Kmett Subject: RE:

Windows build

2017-01-17 Thread Simon Peyton Jones via ghc-devs
Hi Tamar The current state of a clean Windows build has improved - but still has multiple failures. See below Thanks for your work on this. I can send more details if that'd be helpful Simon Unexpected failures: plugins/plugins07.run plugins07 [bad exit code] (normal)

<    3   4   5   6   7   8   9   10   >