Re: How does GHC implement layout?

2021-04-05 Thread Ian Lynagh
On Sun, Apr 04, 2021 at 05:18:52PM -0500, Alexis King wrote:
> On 4/4/21 1:52 PM, Iavor Diatchki wrote:
> > 
> > Overall, I do think that Haskell's layout rule is more complicated than
> > it needs to be, and this is mostly because of the rule that requires the
> > insertion of a "virtual close curly" on a parse error.
> 
> Yes, this does seem to be by far the trickiest bit. But I’d be sad not to
> have it, as without it, even simple things like
> 
>let x = 3 in e
> 
> would not be grammatically valid.

That is accepted by the AlternativeLayoutRule.


Thanks
Ian

___
ghc-devs mailing list
ghc-devs@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs


Re: How does GHC implement layout?

2021-04-05 Thread Ian Lynagh
On Mon, Apr 05, 2021 at 05:09:21PM +, Simon Peyton-Jones wrote:
> Two people who may know more about the alternative layout rule are Simon 
> Marlow and Ian Lynagh (cc'd).

It was originally designed by John Meacham:
https://gitlab.haskell.org/haskell/prime/-/wikis/alternative-layout-rule
https://www.mail-archive.com/haskell-prime@haskell.org/msg01938.html

It isn't exactly equivalent to the Haskell layout rule, but it's fairly
close and much simpler (due to not having the "on a parse error" case).


Thanks
IAn

___
ghc-devs mailing list
ghc-devs@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs


Re: build system

2015-07-21 Thread Ian Lynagh
On Tue, Jul 21, 2015 at 11:32:55PM +0200, Thomas Miedema wrote:
> 
> To make things sequential: you can use `CPUS=1 ./validate`.

You need "THREADS=1 ./validate".

CPUS=1 would use 2 threads.


Thanks
Ian

___
ghc-devs mailing list
ghc-devs@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs


Re: Wired-in data-constructors with UNPACKed fields

2014-08-25 Thread Ian Lynagh
On Mon, Aug 18, 2014 at 10:01:17PM +, Simon Peyton-Jones wrote:
> 
> My recommendation would be to try (3) first.  Ian Lynagh (cc'd) may be able 
> to comment about why the inconsistency above arose in the first place, and 
> why we can't simply fix it.

I don't know of any reason we can't. I think we didn't before because we
didn't need to change S#, and didn't realise that there would be any
benefit to doing so.


Thanks
Ian

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: the case of the missing Cabal doc

2014-06-30 Thread Ian Lynagh
On Sun, Jun 29, 2014 at 11:04:20PM -0700, Mark Lentczner wrote:
> In times of yore (prior to 7.8), when GHC build a bindist, it included the
> generated HTML manual for Cabal. As of 7.8, this seems to have gone
> missing-in-action.
> 
> Anyone know where it went?

It was converted to markdown, and GHC's build system doesn't know how to
build markdown docs. It's in libraries/Cabal/Cabal/doc/.


Thanks
Ian

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: GHC silently turns off dynamic output, should this be an error?

2014-06-24 Thread Ian Lynagh
On Mon, Jun 23, 2014 at 12:58:16PM -0500, Christopher Rodrigues wrote:
> 
> Additionally, is it ever valid to have a pair of .hi and .dyn_hi files with
> different interface hashes?

You can, for example, compile package foo the vanilla way with -O, and
the dynamic way without -O. You'll then get mismatched hashes.

If you then try to compile bar (which depends on foo) with -dynamic-too
then the idea was that it would transparently fall back to compiling the
two ways separately. Otherwise every build system (Cabal, make rules,
etc) that wants to use -dynamic-too would have to handle this failure
and either fail or fall back itself.


Thanks
Ian

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: Ghc 7.8 branch broken

2014-05-27 Thread Ian Lynagh
On Tue, May 27, 2014 at 11:51:55AM -0700, Bryan O'Sullivan wrote:
> On Tue, May 27, 2014 at 5:57 AM, Richard Eisenberg wrote:
> 
> > To build the manual, yes, in my experience. Builds without the manual work
> > fine.
> 
> Perhaps adding --nonet to the xsltproc command line is in order.

It's already there. If the build is doing anything on the 'net, it
should definitely be looked into and fixed!

$ grep -C 5 nonet rules/docbook.mk
$$(call removeTrees,$$(dir $$@))
"$$(XSLTPROC)" --stringparam base.dir $$(dir $$@) \
   --stringparam use.id.as.filename 1 \
   --stringparam html.stylesheet fptools.css \
   --nonet \
   $$(XSLTPROC_LABEL_OPTS) $$(XSLTPROC_OPTS) \
   $$(XSLTPROC_HTML_STYLESHEET) \
   $1/$2.xml
cp mk/fptools.css $$(dir $$@)


Thanks
Ian

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: Buildbots

2014-04-01 Thread Ian Lynagh
On Tue, Apr 01, 2014 at 12:46:05PM +0200, Joachim Breitner wrote:
> 
> happy with buildbot, it might not be the worst choice.

For reference, the reason we moved away from buildbot is that it needs
to maintain a TCP connection for the duration of the build. With some
builds taking many hours (either on old platforms, or on modern hardware
but with a full testsuite run and nofib etc) it was common that a brief
network glitch caused a build to not finish.


Thanks
Ian

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: Validating with Haddock

2014-01-07 Thread Ian Lynagh
On Tue, Jan 07, 2014 at 06:39:36PM +, Mateusz Kowalczyk wrote:
> On 07/01/14 18:21, Austin Seipp wrote:
> > 
> > Also, the performance failures you're seeing are (I speculate) due to
> > out of date performance numbers. Sometimes these numbers go up or down
> > just due to code churn, but they're sometimes finnicky, because they
> > may depend on the exact time a major GC happens or something. So a
> > small wibble can cause them to sometimes occasionally fail.
> 
> These are the numbers from the clean tree.

The haddock perf numbers look pretty bad, especially the
peak_megabytes_allocated:

=> haddock.base(normal) 429 of 3855 [0, 0, 0]
peak_megabytes_allocated value is too high:
Expectedpeak_megabytes_allocated: 139 +/-1%
Actual  peak_megabytes_allocated: 180

=> haddock.Cabal(normal) 430 of 3855 [0, 1, 0]
peak_megabytes_allocated value is too high:
Expectedpeak_megabytes_allocated:  89 +/-1%
Actual  peak_megabytes_allocated: 150

=> haddock.compiler(normal) 431 of 3855 [0, 2, 0]
max_bytes_used value is too high:
Expectedpeak_megabytes_allocated: 663 +/-1%
Actual  peak_megabytes_allocated: 794

I think it would be worth working out what's going on before merging
more haddock changes.


Thanks
Ian

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: GHC Api

2014-01-03 Thread Ian Lynagh
On Fri, Jan 03, 2014 at 10:19:02AM +, Simon Peyton-Jones wrote:
> | Is this with a statically linked or dynamically linked GHC?
> 
> I don't know.  How would I find out?  (It's the one built by validate.)
> 
> You are asking about GHC, but I guess there's also the question of whether 
> the test program itself is statically or dynamically linked.

Oh, yes, sorry, I was thinking this was in ghci for some reason. You're
right that it's the test program we need to know about.

> Why would static/dynamic linking make a difference?  That's very confusing!

With dynamic linking, there will be one shared copy of base, and in
particular one shared stdout buffer. The runtime will flush that buffer
when the program exits. With static linking, you'll be loading a second
copy of base in which the statement is evalauted, and that base will
have a separate stdout buffer. GHCi flushes this when appropriate by
calling flushInterpBuffers.


Thanks
Ian

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: GHC Api

2014-01-02 Thread Ian Lynagh
On Thu, Jan 02, 2014 at 03:10:24PM +, Simon Marlow wrote:
> On 02/01/14 07:06, Simon Peyton-Jones wrote:
> >
> >Happy new year!

And to you  :-)

> >   runStmt “print True”  -- (4)
> 
> >4.The runStmt should print something somewhere, but it doesn’t.  Why not?
> 
> I've no idea!  It does look like it should print something.

Is this with a statically linked or dynamically linked GHC?

Does doing
runStmt "hFlush stdout"
afterwards make it appear?


Thanks
Ian

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: Interface loading and dynamic linking

2013-12-23 Thread Ian Lynagh
On Sun, Dec 22, 2013 at 06:56:11PM -0500, Ben Gamari wrote:
> Ian Lynagh  writes:
> 
> > On Sun, Dec 22, 2013 at 12:34:25PM -0500, Ben Gamari wrote:
> >> 
> >> DYNAMIC_BY_DEFAULT = YES
> >
> > Dynamic-by-default was a previous experiment to get GHCi to use the
> > system linker. We now use dynamic-too instead.
> >
> Causing GHCi to use the system linker is indeed my intent. Given the
> currently rather broken state of the ARM runtime linker it seems like
> the easiest way to get ARM supported as somewhat-first-class citizen is
> to use the system linker. `DYNAMIC_BY_DEFAULT` provides an easy way to
> accomplish this.

You shouldn't need dynamic-by-default. It should Just Work in HEAD, both
unregisterised and registerised.


Thanks
Ian

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: Interface loading and dynamic linking

2013-12-22 Thread Ian Lynagh
On Sun, Dec 22, 2013 at 12:34:25PM -0500, Ben Gamari wrote:
> 
> DYNAMIC_BY_DEFAULT = YES

Dynamic-by-default was a previous experiment to get GHCi to use the
system linker. We now use dynamic-too instead.

I'm not sure whether dynamic-by-default works, and in any case it's
probably not something we want to keep supporting. I'd recommend
removing it.


Thanks
Ian

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: Repository Reorganization Question

2013-12-05 Thread Ian Lynagh
On Thu, Dec 05, 2013 at 03:03:42PM +0100, Herbert Valerio Riedel wrote:
> 
> However, if the testsuite/ was already checked out before the 'sync-all
> pull', the 'testsuite/.git' folder won't be removed automatically (and
> it shouldn't hurt either, as 'sync-all' won't traverse it anymore after
> ghc.git was updated)

But git commands under testsuite/ will use the wrong .git, won't they?


Thanks
Ian

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: Template Haskell and stage-1

2013-11-06 Thread Ian Lynagh
On Wed, Nov 06, 2013 at 01:43:02PM +, Simon Peyton-Jones wrote:
> I'd like to make -XtemplateHaskell simply illegal in a stage-1 compiler. 
> After all, it is!
> But for some reason we use the stage1 compiler to generate dependencies for 
> the DPH libraries; those libraries have {-# LANGUAGE TemplateHaskell #-}, so 
> the dependency generation fails.  See below.
> But WHY do we generate deps for DPH with stage1?  We don't *compile* the DPH 
> libraries with stage1, because they need TH.  Can't we just generate deps 
> with stage2?

It's due to the build system phases:
http://ghc.haskell.org/trac/ghc/wiki/Building/Architecture/Idiom/PhaseOrdering#GHCsphases

Stage2 doesn't exist during the phase in which DPH is configured.
Changing it to use stage 2 would probably mean adding another phase for
things that need to be configured by stage 2. This might mean slower
builds due to loss of parallelism, I'm not sure.

Perhaps the decision to build DPH with the GHC build system should be
revisited? It causes some complication, and it seems that more and more
people are disabling it anyway, in order to get faster builds.


Thanks
Ian

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: ghc-compete, a repository of fingerprints, and continuous integration

2013-10-11 Thread Ian Lynagh
On Fri, Oct 11, 2013 at 11:59:07AM +0100, Simon Marlow wrote:
> On 07/10/13 22:06, Joachim Breitner wrote:
> >in the best scratch-an-itch-tradition I have created a special git
> >repository, called “ghc-complete”, which tracks the combined state of
> >all GHC-related repositories. It uses GHC’s fingerprint utility and
> >simply tracks the change of the fingerprint file over time:
> >https://github.com/nomeata/ghc-complete
> >
> >The main use of this is to have a repo which I can enable to be
> >continuously checked by Travis (a free CI hoster). So instead of having
> >several people ask on IRC about what build or test suite failures are
> >actually not their fault, they can now simply check the travis page:
> >https://www.travis-ci.org/nomeata/ghc-complete/builds
> 
> This is great.  With a bit of extra tool support for this we could
> actually do without submodules and go back to individual repos.

The reason we switched to submodules wasn't to make bisecting easier: It
was so that we can make temporary local changes to 3rd party libraries
(when changes to GHC or our libraries require them), and then jump back
to an official upstream commit without upstream needing to merge our
changes.


Thanks
Ian

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: Testsuite run dynamic and not

2013-09-08 Thread Ian Lynagh
On Sun, Sep 08, 2013 at 01:30:25PM -0700, Edward Z. Yang wrote:
> 
> The easy thing is to list the test twice in all.T but this seems wrong.

Note that if you go that route then you need to make sure that the
generated files don't share filenames (e.g. they don't both create a
foo.o file), or things will go wrong when the two tests run in parallel.


Thanks
Ian


___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: New official language extension tokens for GHC 7.8.1

2013-09-03 Thread Ian Lynagh
On Mon, Sep 02, 2013 at 07:48:58AM +, Simon Peyton-Jones wrote:
> | Which of the language extensions listed in `expectedGhcOnlyExtensions`
> | are deemed ready for public consumption in GHC 7.8.1,
> 
> Good question.  Here's the list with my comments. We need input from Ian. on 
> 
> RelaxedLayout
> AlternativeLayoutRule
> AlternativeLayoutRuleTransitional
>   I have no idea about these three.

AlternativeLayoutRule* aren't ready. I'm afraid I can't even remember
what RelaxedLayout does OTTOMH.


Thanks
Ian


___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: ./sync-all get & git submodule URL dissonance (was: It's one of those days...)

2013-08-22 Thread Ian Lynagh
On Thu, Aug 22, 2013 at 05:01:45PM +0200, Herbert Valerio Riedel wrote:
> 
> Btw, the implementation in sync-all at
> 
>  https://github.com/ghc/ghc/blob/master/sync-all#L897-L912
> 
> seems a bit confusing; the "submodule init" in the "if ($command eq
> "get" or $command eq "pull")" branch is probably never invoked.

I probably forgot to remove the old block in
https://github.com/ghc/ghc/commit/c3db2b2c449e21d0358f1ed4b7a5dd447477ac28


Thanks
Ian


___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: Literal overflow test fails

2013-08-05 Thread Ian Lynagh
On Sat, Aug 03, 2013 at 09:47:07PM +, Simon Peyton-Jones wrote:
> 
> libraries\Win32\Graphics\Win32\GDI\HDC.hs:145:14: Warning:
> Literal 2147483648 of type Int overflows
> 
> The offending code is:
> 
> setTextCharacterExtra dc extra =
>   failIf (== 0x8000) "SetTextCharacterExtra" $
> c_SetTextCharacterExtra dc extra
> 
> - should we use minBound here?

The spec defines the failure value as 0x8000, so it would be better
to use that constant:

http://msdn.microsoft.com/en-us/library/windows/desktop/dd145092%28v=vs.85%29.aspx

I had a similar problem with a 0xdeadbeef constant in the compiler
source. I changed it to be
fromIntegral (0xdeadbeef :: Word32)
instead. I'd suggest doing similarly for the 0x8000.

> - what should the new literal-overlflow code do for 0xblah constants?

In my opinion, it's doing the right thing.


Thanks
Ian


___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: [commit: ghc] master: Add NegativeLiterals extension (ef73963)

2013-07-31 Thread Ian Lynagh
On Wed, Jul 31, 2013 at 08:00:08PM +, Simon Peyton-Jones wrote:
> 
> Thanks...  but if you have added a new language extension, shouldn't you 
> document it in the user manual?  What exactly is the different behaviour seen 
> by the user?

Yep; I've just pushed a patch.


Thanks
Ian
-- 
Ian Lynagh, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: Unit-testing of GHC code

2013-07-31 Thread Ian Lynagh
On Wed, Jul 31, 2013 at 04:10:46PM +0200, Jan Stolarek wrote:
> 
> and so on (Hunit would only be a convenient interface here). The question is 
> how can I import a GHC module from within the testsuite and call its 
> functions to test it they behave propertly? An attempt to simply import the 
> module results in compilation error:
> 
> Failed to load interface for ‛Foo’
> It is a member of the hidden package ‛ghc-7.7.20130731’.
> Use -v to see a list of the files searched for.
> 
> Is there a workaround for this?

You need to use "-package ghc" if you want to use the GHC API.


Thanks
Ian
-- 
Ian Lynagh, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: HEADS UP: New repository

2013-07-31 Thread Ian Lynagh

Hi Gabor,

On Wed, Jul 31, 2013 at 12:52:48PM +0200, Gabor Greif wrote:
> 
> who is in charge of setting up the repo mirror on https://github.com/ghc/ ?

I'm afraid I have no idea.


Thanks
Ian
-- 
Ian Lynagh, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: Unit-testing of GHC code

2013-07-31 Thread Ian Lynagh
On Tue, Jul 30, 2013 at 05:28:12PM +0200, Jan Stolarek wrote:
> I spent whole day looking for a bug that lurks somewhere in my code, but I 
> know I could find it in 2-3 hours if I only could write unit tests for my 
> code. So the question is: how can I write HUnit and QuickCheck (and maybe 
> SmallCheck) tests for GHC and possibly make them a part of testsuite?

It's better not to use HUnit/QuickCheck/SmallCheck, as then you can add
them to the testsuite and they can be run by everyone, without needing
the libraries to be installed.


Thanks
Ian
-- 
Ian Lynagh, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: Proposal: Gitolite for repository management

2013-07-30 Thread Ian Lynagh

I know nothing about gitolite, but one detail:

On Tue, Jul 30, 2013 at 04:41:37AM -0500, Austin Seipp wrote:
> 
> http://ghc.haskell.org/trac/ghc/wiki/GitolitePlan

In the "Developer changes" you talk about changing the remote URL. It
should be possible to do this for all repos with a sync-all command or
two, but I will leave working out exactly what command(s) to a git
expert.

I don't think any changes to sync-all should be needed, but I could be
wrong.


Thanks
Ian
-- 
Ian Lynagh, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


HEADS UP: New repository

2013-07-30 Thread Ian Lynagh

Hi all,

I've added a libffi-tarballs repo. This means that you'll need to do
./sync-all get
after you next pull.


Thanks
Ian


___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: GHC head and .haddocks

2013-07-29 Thread Ian Lynagh

Hi Edsko,

On Mon, Jul 29, 2013 at 01:38:45PM +0100, Edsko de Vries wrote:
> 
> HADDOCK_DOCS="YES "

That space is almost certainly the problem.


Thanks
Ian
-- 
Ian Lynagh, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: GHC head and .haddocks

2013-07-24 Thread Ian Lynagh

Hi Edsko,

On Tue, Jul 23, 2013 at 12:38:25PM +0200, Edsko de Vries wrote:
> 
> I'm trying to build and install ghc head, with the installation of the
> .haddocks. I'm running into all kinds of trouble though. I have
> docbook and docbook-xsl installed,

docbook isn't related to building haddock docs.

> am using the standard sample
> build.mk with the "quick" profile, modified to have
> 
> HADDOCK_DOCS   = YES
> BUILD_DOCBOOK_HTML = YES
> 
> and configure confirms that it will build docs. A full 'make' however
> leaves the source tree without any .haddock files inside,

What does

make show VALUE=HADDOCK_DOCS

say?


Thanks
Ian
-- 
Ian Lynagh, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: Repo permissions broken

2013-07-22 Thread Ian Lynagh
On Mon, Jul 22, 2013 at 03:51:49PM -0700, Iavor Diatchki wrote:
> 
> changing the default umask on the entire server is not necessary to fix
> this problem.  Git already has support for exactly this use case

Well, I don't mind if someone wants to do the git thing too, but I think
we want a umask of 002 regardless.


Thanks
Ian
-- 
Ian Lynagh, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: Repo permissions broken

2013-07-22 Thread Ian Lynagh
On Mon, Jul 22, 2013 at 10:56:45AM +0100, Simon Marlow wrote:
> 
> I vaguely recall that we used to do this with a post-commit hook to
> do a 'chmod g+w -R' on the tree.

I've now set the default umask on the new server to be 002, and I've
chmod'ed the current trees, so I think it will be OK now.


Thanks
Ian
-- 
Ian Lynagh, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: Adding constant folding for Integer div and mod

2013-07-22 Thread Ian Lynagh
On Fri, Jul 19, 2013 at 06:58:39PM +0200, Jan Stolarek wrote:
> It seems that currently there are no built-in constant folding rules for 
> Integer div and mod. I plan on adding those rules, but before I do that I 
> wanted to ask whether there is a good reason that these rules don't exist?

I can't think of one. If you discover one, please add it as a comment
where the rules would otherwise be.


Thanks
Ian
-- 
Ian Lynagh, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: git push failure

2013-07-22 Thread Ian Lynagh
On Fri, Jul 19, 2013 at 10:22:05AM +0100, Simon Marlow wrote:
> 
> remote: Host key verification failed.

Ah, I've added github's host key to /etc/ssh/ssh_known_hosts so this
should now be fixed.

> remote: fatal: The remote end hung up unexpectedly
> To simon...@darcs.haskell.org:/srv/darcs/packages/base.git
>5c37ca9..0b02a2e  master -> master
> 
> Anyone know what's wrong?  I think the push went through.

It was only the github mirroring that failed.


Thanks
Ian
-- 
Ian Lynagh, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: Perf tests which are better than expected on perf builds

2013-07-21 Thread Ian Lynagh
On Sat, Jul 20, 2013 at 11:26:10AM -0700, Edward Z. Yang wrote:
> These tests have been doing better than expected in the nightlies
> for some while.
> 
> > Unexpected failures:
> >perf/compiler  T3064 [stat too good] (normal)
> >perf/compiler  T3294 [stat too good] (normal)
> >perf/compiler  T5642 [stat too good] (normal)
> >perf/haddock   haddock.Cabal [stat too good] (normal)
> >perf/haddock   haddock.base [stat too good] (normal)
> 
> Unfortunately, fixing them is not a simple matter of shifting
> the ranges up, since the tests only exceed expectations on
> a /perf/ build, so on a normal build such as 'quick', these
> tests all pass normally.
> 
> I could bump up the upper bounds so that the builder stops bleating
> about them; perhaps we could do something more complicated where the
> expected performance depends on what level of optimization GHC was built
> with (but I don't know how to implement this.)
> 
> Thoughts?

The problem with just widening the bounds to cover 2 different types of
build is that it increases the chance that performance changes won't
actually be noticed by thge person responsible.

Having different bounds for different build configurations is a pain,
because (a) the testsuite has to work out which set of bounds to use,
and (b) you now have even more wobbly values to keep up-to-date.

I think perhaps the best thing would be to add some sort of (per-test?)
fudge factor for non-validate builds. That way validate will still find
performance regressions, like it does today, but other builds are less
likely to give false positives.


Thanks
Ian
-- 
Ian Lynagh, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Future plans

2013-07-18 Thread Ian Lynagh

Friends,

For a number of reasons, I have decided to move on to new challenges,
and so from the end of the month the GHC maintenance work will be taken
over by other people within Well-Typed.

I hope not to disappear completely, but in any case if there is anything
you think only I might know, please tell me and I'll try to document it!

A couple of topical items: First, I've written a brief summary of the
GHC 7.8 release plans here:
http://ghc.haskell.org/trac/ghc/wiki/Status/GHC-7.8
Please feel free to edit it if there's anything I've left out, or if
there are any other errors.

Second, there's been a bit of discussion recently about moving over to
using git submodules for more repos, or using git subrepos instead, or
merging some of our repos together. We didn't feel that there was a
consensus on what to do, so we plan to do nothing for now, but this is
an area that might want to be revisited after the 7.8 release.


Finally, I would like to everyone at Well-Typed, the Simons, and too
many other community members to list, for a fantastic seven years. It's
been a pleasure working with you all, and I look forward to finding out
where the future takes us.


Thanks
Ian
-- 
Ian Lynagh, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/


___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: Heads up: darcs.haskell.org server changed

2013-07-14 Thread Ian Lynagh
On Sun, Jul 14, 2013 at 02:01:31PM -0700, Edward Z. Yang wrote:
> I think the new box may be missing some software; the pre-commit hooks
> are persistently failing.

How so?


Thanks
Ian
-- 
Ian Lynagh, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Nightly builder server, and snapshots

2013-07-14 Thread Ian Lynagh

Hi all,

The nightly builder server is finally back up and running; sorry for the
delay.

If you use the latest client code, then the resulting bindist will also
get uploaded to darcs.haskell.org.


Thanks
Ian


___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: T3294 variies in whether it fails or not

2013-07-13 Thread Ian Lynagh
On Tue, May 28, 2013 at 08:24:34AM +, Simon Peyton-Jones wrote:
> Ian
> 
> Perf/compiler/T3294 has very different max_bytes_used when BINDIST=YES than 
> without. See below.  
> 
> I don't know why.  I don't know whether it matters.  Maybe it's just the 
> moment that GC strikes.  But it's uncomfortable to have such an erratic test 
> failure.
> 
> Simon
> 
> simonpj@cam-05-unx:~/5builds/HEAD-1/testsuite/tests/perf/compiler$ make 
> TEST=T3294
>  ,("max_bytes_used", "36726792")
>
> simonpj@cam-05-unx:~/5builds/HEAD-1/testsuite/tests/perf/compiler$ make 
> TEST=T3294 BINDIST=YES
>  ,("max_bytes_used", "43818472")

Hmm, my first (inplace) run was 41241960, but since then I'm reliably
getting 38586080 for inplace, and 38904040 for BINDIST=YES.

I'm not sure why they are different at all; perhaps it's just due to the
size of the package.conf or something.


-- 
Ian Lynagh, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: [PATCH] Haddockify some comments in compiler/hsSyn/HsBinds.lhs

2013-07-13 Thread Ian Lynagh

Hi Mateusz,

On Thu, Jun 06, 2013 at 11:31:47PM +0100, Mateusz Kowalczyk wrote:
> 
> I have turned some comments in compiler/hsSyn/HsBinds.lhs into Haddock
> format. They were just sitting there, hidden from the world (to spite
> anyone scratching their heads when looking through the generated docs,
> like myself). They were already written so why not use them?

I agree, they may as well be haddock comments. However, I tried applying
your patch, and the build failed with errors like:

compiler/hsSyn/HsBinds.lhs:56:32:
parse error on input `-- ^ Bindings in a 'let' expression
   -- or a 'where' clause'

doc comment parse failed:  If @co :: T ts ~ rep_ty@ then:


Thanks
Ian
-- 
Ian Lynagh, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: Heads up: darcs.haskell.org server changed

2013-07-13 Thread Ian Lynagh
On Sat, Jul 13, 2013 at 05:14:59PM +0200, Gabor Greif wrote:
> On 7/13/13, Ian Lynagh  wrote:
> >
> > SSH will complain that the key has changed, and you will probably have
> > to delete the corresponding line from ~/.ssh/known_hosts. The new key
> > fingerprint is:
> > 91:4e:95:fa:2e:34:6c:ba:68:af:71:29:ba:66:12:b0
> 
> I see this:
> 
> RSA key fingerprint is 08:63:b5:86:3e:ae:e2:3c:b1:ea:c6:05:2d:71:db:5a.

Ah, OK, I think you might actually see any of these:

2048 08:63:b5:86:3e:ae:e2:3c:b1:ea:c6:05:2d:71:db:5a  root@rock (RSA)
 256 91:4e:95:fa:2e:34:6c:ba:68:af:71:29:ba:66:12:b0  root@rock (ECDSA)
1024 e7:14:7a:92:7f:b6:5f:45:d3:0e:32:fc:0b:92:a0:ed  root@rock (DSA)


Thanks
Ian
-- 
Ian Lynagh, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Heads up: darcs.haskell.org server changed

2013-07-13 Thread Ian Lynagh

Hi all,

darcs.haskell.org has now moved to the new server.

SSH will complain that the key has changed, and you will probably have
to delete the corresponding line from ~/.ssh/known_hosts. The new key
fingerprint is:
91:4e:95:fa:2e:34:6c:ba:68:af:71:29:ba:66:12:b0

Please let me know if you see any problems.


Thanks
Ian


___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: package installation woes with Template Haskell / dynamic libraries

2013-07-13 Thread Ian Lynagh
On Thu, Apr 11, 2013 at 02:33:29PM -0400, Richard Eisenberg wrote:
> 
> tl;dr: cabal fails to install a package where one module in the package uses 
> another module via Template Haskell, requiring a .dyn_o file. The compilation 
> order, though, makes .o files before .dyn_o files, so installation fails. Is 
> this my fault or cabal's?

cabal-install HEAD compiled with Cabal HEAD should do the right thing.

Older versions won't, as they don't know about GHCis that use dynamic
libraries.


Thanks
Ian
-- 
Ian Lynagh, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: foreign import from RTS into GHC source

2013-07-13 Thread Ian Lynagh
On Wed, Jul 10, 2013 at 04:26:23PM -0500, Nicolas Frisby wrote:
> I'm adding a foreign import in a GHC module from the RTS. I'm using a CPP
> directive to avoid the import in the stage1 compiler, since the RTS
> function I need doesn't necessarily exist in that version of the RTS.
> 
> EG Is there a preference to use Config.cStage instead of CPP and the STAGE
> symbol?

It's always better to not use CPP if possible, but in this instance
you'd presumably get a missing-symbol error, so CPP is necessary.


Thanks
Ian
-- 
Ian Lynagh, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: How accessible is a dynamically-linked ghc?

2013-07-12 Thread Ian Lynagh
On Wed, Jul 10, 2013 at 02:42:27PM -0500, Nicolas Frisby wrote:
>   1) How much effort does it take for a user to install a
> dynamically-linked ghc executable on Tier 1 platforms? Just download the
> source and set DYNAMIC_GHC_PROGRAMS=YES?

>From 7.8, the plan is for this to be the default on platforms that
support it.

>   2) Are the major GHC distributors planning on distributing
> dynamically-linked ghc by default? GHC HQ, Haskell Platform,
> http://www.haskell.org/ghc/distribution_packages?

The plan is/was for this to be the only way to support GHCi, but see the
discussion on http://ghc.haskell.org/trac/ghc/ticket/8039


Thanks
Ian
-- 
Ian Lynagh, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: Feature Request : Qualified module exports

2013-07-08 Thread Ian Lynagh
On Mon, Jul 08, 2013 at 10:05:09PM +1000, Erik de Castro Lopo wrote:
> 
> If this feature was only enabled with a -XQualifiedModuleExports pragma,
> would that decrease your objection?

If it's added, then it should definitely only be enabled when an
extension is turned on.


Thanks
Ian


___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: Feature Request : Qualified module exports

2013-07-08 Thread Ian Lynagh
On Mon, Jul 08, 2013 at 08:14:12PM +1000, Erik de Castro Lopo wrote:
> 
>module MyModule
>( qualified module T
> )
>import qualified Data.Text as T
> 
> so that any module which imports MyModule has access to the symbols
> of Data.Text under the quaified module name T.

Do you mean that after
import MyModule
that
T.f
is in scope? Won't that be confusing?

What happens if you
import MyModule as X
?


Thanks
Ian


___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: use UniqSupply in FastString?

2013-07-06 Thread Ian Lynagh
On Fri, Jul 05, 2013 at 12:14:06PM -0500, Nicolas Frisby wrote:
> 
> I've been trying to let a statically-linked compiler shares its FastString
> table with plugins.

Why not use a dynamically linked compiler?


Thanks
Ian
-- 
Ian Lynagh, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: [commit: base] master: Remove uses of RecordWildCards in GHC.Event.TimerManager (1f81187)

2013-07-03 Thread Ian Lynagh
On Wed, Jul 03, 2013 at 09:08:35AM +0100, Simon Marlow wrote:
> On 08/06/13 19:14, Ian Lynagh wrote:
> >commit 1f81187e63dcd4f160cfd1ce62efc4b1d26603dc
> >Author: Ian Lynagh 
> >Date:   Sat Jun 8 18:54:23 2013 +0100
> >
> > Remove uses of RecordWildCards in GHC.Event.TimerManager
> 
> curious: why?

I wanted to be able to understand the code. It's easier if 'foo' doesn't
sometimes have type 'b' rather than 'a -> b'.


Thanks
Ian


___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: Unreliability of the build system

2013-06-24 Thread Ian Lynagh
On Mon, Jun 24, 2013 at 12:37:17PM +0100, Geoffrey Mainland wrote:
> 
> It looks like "/home/gmainlan/ghc/ghc-working-build/bindisttest/install
> dir/lib/ghc-7.7.20130624/package.conf.d" gets *younger*, leading to the
> recache error. Rather odd... Any ideas why this is happening?

That's expected: When we install xhtml, we add it to the DB, and the
cache gets updated.

It looks like the problem is this:

Timestamp 2013-06-24 11:02:14.669097 UTC for [...]/package.conf.d/package.cache
Timestamp 2013-06-24 11:02:14.669197 UTC for [...]/package.conf.d (NEWER

I would guess that we assume that when we write package.cache, the
directory gets updated with the same timestamp; but actually, both use
the timestamp at which they really happen. This is of course much more
likely to be a problem if your filesystem has sub-second precision.

If that's it, then it should be possible to fix it by explicitly setting
the modification time of the directory to match the cache when we write
the cache in ghc-pkg.


Thanks
Ian


___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: Windows failures

2013-06-18 Thread Ian Lynagh
On Mon, Jun 17, 2013 at 08:48:15PM +, Simon Peyton-Jones wrote:
> This is 'sh validate" on 64bit Windows.  Rather a lot of failures.  Might you 
> look?

Sure.

> The perf tests seem to fail because it's comparing with the *32* bit numbers, 
> even though this is definitely a *64* bit laptop.   Whether the entire build 
> system thinks it's a 32 bit machine, or just the testsuite, I can't tell.

If you have a 64bit Windows machine, then you'll be able to run both the
32bit and 64bit GHC builds. If you run "ghc --info | grep Target" then
you'll see which is being used - it'll say x86_64-unknown-mingw32 if
it's 64bit, and i386-unknown-mingw32 if it's 32bit. I suspect that you
have a 32bit GHC, so comparing with the 32bit numbers is right. They
probably just need updating for recent wobbles.


Thanks
Ian
-- 
Ian Lynagh, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: Nightly builds

2013-06-18 Thread Ian Lynagh
On Tue, Jun 18, 2013 at 09:23:15AM +, Simon Peyton-Jones wrote:
> 
> * I believe that our nightly snapshots are still dead.  Are these 
> constructed by buildbots?
> 
> * How are the buildbots doing?
> Is all this awaiting our shift of abott?  Or is it orthogonal?  Do we need 
> help from others?  If so who?

Yes, nightly builders and snapshots are waiting on the abbot replacement
at the moment. I've just sent a mail to try to find out what the status
of that is.


Thanks
Ian
-- 
Ian Lynagh, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: How to build statically linking GHC?

2013-06-17 Thread Ian Lynagh
On Mon, Jun 17, 2013 at 12:12:55PM +, Stephen Paul Weber wrote:
> 
> Because I have to find and copy many files and then set up the
> library path env vars when distributing.  Especially since the
> average Haskell project relies on *many* libraries, this gets crazy
> fast.

I'm a little confused. GHC still builds static programs by default.
(well, statically-linked Haskell, dynamically-linked to C libs, like
before).


Thanks
Ian
-- 
Ian Lynagh, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: spam on the wiki?

2013-06-13 Thread Ian Lynagh
On Tue, Jun 11, 2013 at 10:52:57PM +0200, Jan Stolarek wrote:
> I'm repasting Stefan Holdermans' mail from Haskell-cafe, because it also 
> concerns this issue:
> 
> > attachments; see for example the bottom of 
> > http://hackage.haskell.org/trac/ghc/wiki/Building.
> > Can someone with wiki admin rights have a go at it?

Ta; I believe I've removed all the spam atachments on the ghc trac now.


Thanks
Ian
-- 
Ian Lynagh, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: Proposal: better library management ideas (was: how to checkout proper submodules)

2013-06-12 Thread Ian Lynagh
On Wed, Jun 12, 2013 at 12:54:38AM +0200, Daniel Trstenjak wrote:
> 
> > I guess [the merge commits] may not cause any actual problems,
> > but it's certainly nicer
> > not having them (which is what using submodules gives us).

Just to clarify, my problem isn't so much that there are merge commits
(although it would still be nicer if there weren't), but that it is hard
to see whether we are in the same state as upstream, or to see what the
differences between us and upstream are.

> I don't quite understand how you should get rid of these merge commits
> by using submodules,

With submodules we can do

cd libraries/Cabal
git reset --hard 
cd ..
git commit -a

and we will jump to that commit, without needing to merge it with the
commit that we were at before.

> You can get rid of these merge commit by using the '--rebase' option of 
> git-pull.

We can't rebase, as these patches are in everyone else's GHC tree.


Thanks
Ian
-- 
Ian Lynagh, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: spam on the wiki?

2013-06-11 Thread Ian Lynagh
On Tue, Jun 11, 2013 at 01:51:54PM -0500, Nicolas Frisby wrote:
> I suppose I could have removed those links myself, but I first thought to
> send this email in order to raise issue of perhaps removing that wiki
> user's privileges or at least trying to contact them?
> 
> Who has access privileges enough to do so?
> 
> Or is the Trac security porous enough that this sort of thing happens
> regularly at no one's fault?

You have the choice of:

(a) New users can improve the wiki content without needing to request
special privs

(b) Spammers can't spam the wiki

Currently we've chosen (a). I thinkt here's a captcha of some sort, but
it doesn't fully solve the problem.


Thanks
Ian
-- 
Ian Lynagh, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: spam on the wiki?

2013-06-11 Thread Ian Lynagh
On Tue, Jun 11, 2013 at 01:32:11PM -0500, Nicolas Frisby wrote:
> I've yet to fully comprehend the build system, but I'm pretty sure these
> links are not related.
> 
> http://hackage.haskell.org/trac/ghc/wiki/Building/Hacking?action=diff&version=33&old_version=32

Ta, removed.


Thanks
Ian
-- 
Ian Lynagh, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: Proposal: better library management ideas (was: how to checkout proper submodules)

2013-06-11 Thread Ian Lynagh
On Mon, Jun 10, 2013 at 01:13:37PM +0200, Daniel Trstenjak wrote:
> 
> On Mon, Jun 10, 2013 at 11:45:22AM +0100, Ian Lynagh wrote:
> > Is this possible with subtrees?:
> > 
> > * Initially ghc's Cabal repo is at the same commit as upstream
> > * We make a local commit 123 in Cabal to fix some bug
> > * Cabal upstream makes a commit 456 to fix the same bug differently
> > * We jump to commit 456, in such a way that we don't end up merging
> >   with our 123 commit every time we pull from Cabal in the future
> 
> Yes.
> 
> Every repository that's added by git-subtree to your repository is
> represented as a separate branch. So everything that applies to the
> merging of branches also applies to the merging by git-subtree.

I didn't follow that.

Here's an example of what happens with just a plain git repo, with no
branches, submodules or subrepos involved:

-8<--8<--8<--8<-

upstream$ git init
upstream$ echo content > file
upstream$ git add file
upstream$ git commit -a -m initial

$ git clone upstream ghc
$ cd ghc
ghc$ echo fix1 > file
ghc$ git commit -a -m fix1

upstream$ echo fix2 > file
upstream$ git commit -a -m fix2

ghc$ git pull --no-edit -X theirs

upstream$ echo feature1 > file
upstream$ git commit -a -m feature1

ghc$ git pull --no-edit -X theirs

upstream$ echo feature2 > file
upstream$ git commit -a -m feature2

ghc$ git pull --no-edit -X theirs

-8<--8<--8<--8<-

At the end of this, you'll see that the ghc repo has a number of merge
commits.

I guess they may not cause any actual problems, but it's certainly nicer
not having them (which is what using submodules gives us).


Thanks
Ian
-- 
Ian Lynagh, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: Proposal: better library management ideas (was: how to checkout proper submodules)

2013-06-10 Thread Ian Lynagh
On Mon, Jun 10, 2013 at 11:23:13AM +0100, Geoffrey Mainland wrote:
> 
> Side note: the fingerprint script *didn't even work* for almost
> a year after it was introduced; see commit 73ce2e70.

Which implies that wanting to go back in time is rare, so making it easy
should be given low weight when considering the options?

> 3) Use subtrees.

Is this possible with subtrees?:

* Initially ghc's Cabal repo is at the same commit as upstream
* We make a local commit 123 in Cabal to fix some bug
* Cabal upstream makes a commit 456 to fix the same bug differently
* We jump to commit 456, in such a way that we don't end up merging
  with our 123 commit every time we pull from Cabal in the future


Thanks
Ian
-- 
Ian Lynagh, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: Proposal: better library management ideas (was: how to checkout proper submodules)

2013-06-09 Thread Ian Lynagh
On Sun, Jun 09, 2013 at 11:15:37AM -0500, Austin Seipp wrote:
> 
> > I'm referring to Joachim Breitner's work on
> > splitting the base.
> 
> So what's the timeline here?

As soon as possible after 7.8 is branched.


Thanks
Ian


___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: [commit: base] master: IO manager: Edit the timeout queue directly, rather than using an edit list (e843e73)

2013-06-08 Thread Ian Lynagh
On Sat, Jun 08, 2013 at 03:08:55PM -0700, Johan Tibell wrote:
> Is this related to some bug? The edit list was there for a reason. :)

It's related to, and fixes, #7653.

> On Jun 8, 2013 1:19 PM, "Ian Lynagh"  wrote:
> 
> > Repository : ssh://darcs.haskell.org//srv/darcs/packages/base
> >
> > On branch  : master
> >
> > commit e843e73690f828498f6e33bb89f47a50c3ab2ac9
> > Author: Ian Lynagh 
> > Date:   Sat Jun 8 20:19:59 2013 +0100
> >
> > IO manager: Edit the timeout queue directly, rather than using an edit
> > list
> >
> > Fixes #7653.


Thanks
Ian


___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: how to checkout proper submodules

2013-06-05 Thread Ian Lynagh
On Tue, Jun 04, 2013 at 09:05:58PM -0500, Austin Seipp wrote:
> 
> I know we had this discussion sometime recently I think, but can
> someone *please* explain why we are in this situation of half
> submodules, half random-floating-git-repository-checkouts?

Submodules are very handy for libraries that someone else maintains: We
can make a local change to the library when we need something fixed,
and then, when upstream has a fix too, we can jump straight to their fix
without having to do any merging.

However, submodules have various disadvantages, e.g.

http://codingkilledthecat.wordpress.com/2012/04/28/why-your-company-shouldnt-use-git-submodules/

The main one for me is that it's fairly easy to lose local changes when
using submodules. This is relatively unimportant for the libraries that
someone else maintains, as we don't often make any local changes to
lose. Even so, I've lost changes on a couple of occasions.

So the reason we entered this state is that we didn't think the
advantages outweighed the disadvantages for the other repositories.


Thanks
Ian
-- 
Ian Lynagh, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: Validate fails: Var/Type length mismatch: [] [s{tv a15I} [tv]]

2013-06-05 Thread Ian Lynagh
On Wed, Jun 05, 2013 at 12:17:07PM +0200, Jan Stolarek wrote:
> I think that Iavor is facing the same problems that I reported on this list 
> on May 15th. I also 
> see ghcpkg01 failing (when run during the validation) and passing (when run 
> separately).

When you ran it separately, did you say BINDIST=YES ? If you didn't then
it would have used the inplace package.conf.d, not the bindisttest one.

I recently added some "ghc-pkg check -v" calls in the validate script
incidentally, so if you log the output of the validate run then that
might give some more clues as to when/how it goes wrong.

> Actual stderr output differs from expected:
> --- /dev/null   2013-05-14 15:38:10.77100 +0200
> +++ ../../libraries/base/tests/IO/T3307.run.stderr  2013-05-15 
> 09:21:45.695049002 +0200
> @@ -0,0 +1,2 @@
> +WARNING: cache is out of date: 
> /dane/uczelnia/projekty/ghc-validate/bindisttest/install   
> dir/lib/ghc-7.7.20130514/package.conf.d/package.cache
> +  use 'ghc-pkg recache' to fix.
> *** unexpected failure for T3307(normal)
> 
> I think that these problems are likely to be caused be build artifacts left 
> from previous 
> validation - package.cache files (and many others) are not removed by `make 
> maintainer-clean`.

test_bindist in bindisttest/ghc.mk removes the entire
"bindisttest/install   dir"
tree before installing the bindist there.


Thanks
Ian
-- 
Ian Lynagh, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: Validate fails: Var/Type length mismatch: [] [s{tv a15I} [tv]]

2013-05-31 Thread Ian Lynagh
On Fri, May 31, 2013 at 03:28:06PM -0700, Iavor Diatchki wrote:
> Where would I find the test log?  I just run `validate` without any special
> parameters in the root directory of GHC.

It's ./testlog


Thanks
Ian
-- 
Ian Lynagh, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: Validate fails: Var/Type length mismatch: [] [s{tv a15I} [tv]]

2013-05-31 Thread Ian Lynagh
On Fri, May 31, 2013 at 10:14:23AM -0700, Iavor Diatchki wrote:
> 
> So it seems that there is something that keeps changing... I wonder if it
> might be some missing dependency, so when you run things in parallel
> sometimes they fail?

There are no dependencies in the testsuite. You're either seeing:
* a bug in a test, which means it is affecting something outside of the test
* a bug in a test, which causes it to inconsistently fail
* some problem with your machine, e.g. dodgy RAM
(from most to least likely).

Note that in the first case it is not necessarily the failing test that
is broken.

The testlog may give more clues as to what is going wrong.


Thanks
Ian
-- 
Ian Lynagh, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: Validate fails: Var/Type length mismatch: [] [s{tv a15I} [tv]]

2013-05-31 Thread Ian Lynagh

Hi Iavor,

On Thu, May 30, 2013 at 07:59:07PM -0700, Iavor Diatchki wrote:
> 
> I don't think that these are related to my change, but I don't really know,
> so I am not going to push the fix just yet.  Could you please advice on how
> to  investigate further?

For ghcpkg01, if you have a testlog from a validate run then you can
search for the test in that. Otherwise you can do
cd testsuite/tests
make CLEANUP=1 TEST=ghcpkg01 fast
if you were doing a --fast validate, or
cd testsuite/tests
make CLEANUP=1 TEST=ghcpkg01 fast BINDIST=YES
for a normal valdiate, and see how it's failing.

> PS: Is there some sort of a flag I could set in build.mk so that it always
> builds with warnings and core lint?  In some of my GHC trees this seems to
> happen, and in others it does not, and for me it'd be quite helpful if it
> always did.

You can see what settings validate uses in mk/validate-settings.mk, and
copy any that you want into mk/build.mk.

In particular, these add lint flags:
GhcStage2HcOpts += -O -dcore-lint
GhcLibHcOpts+= -O -dcore-lint


Thanks
Ian
-- 
Ian Lynagh, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: atMost in GHC.Event.PSQ causes seqfault or bus error

2013-05-31 Thread Ian Lynagh

Hi Kazu,

On Fri, May 31, 2013 at 03:16:22PM +0900, Kazu Yamamoto wrote:
> 
> After a long fight, I found that this is a bug of the "-O2" option of
> GHC head on 32bit machine. Now, it is easy to reproduce this
> segfault. Please read and try this:
> 
>   https://github.com/kazu-yamamoto/buggy-psq

Great, thanks for your work in boiling this down! I've filed a ticket
for it here:
http://hackage.haskell.org/trac/ghc/ticket/7953


Thanks
Ian
-- 
Ian Lynagh, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: Validate fails: Var/Type length mismatch: [] [s{tv a15I} [tv]]

2013-05-30 Thread Ian Lynagh
On Thu, May 30, 2013 at 09:33:43PM +, Simon Peyton-Jones wrote:
> I've pushed a fix.

Thanks, looks good.

The build then failed compiling GHC.TypeLits, so I've reverted

commit f7fb908ad963f7180c30b55fba57a858b0391de4
Author: Iavor S. Diatchki 

which lets the build go through.


Thanks
Ian


___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Validate fails: Var/Type length mismatch: [] [s{tv a15I} [tv]]

2013-05-30 Thread Ian Lynagh

Hi all,

The validate build is failing for me with the below. Does anyone know
what's up please?


Thanks
Ian


===--- building phase 0
make -r --no-print-directory -f ghc.mk phase=0 phase_0_builds
make[1]: Nothing to be done for `phase_0_builds'.
===--- building phase 1
make -r --no-print-directory -f ghc.mk phase=1 phase_1_builds
===--- building final phase
make -r --no-print-directory -f ghc.mk phase=final all
"inplace/bin/ghc-stage2" -hisuf hi -osuf  o -hcsuf hc -static  -H32m -O -Werror 
-Wall -H64m -O0-package-name dph-prim-par-0.8.0.1 -hide-all-packages -i 
-ilibraries/dph/dph-prim-par/. -ilibraries/dph/dph-prim-par/dist-install/build 
-ilibraries/dph/dph-prim-par/dist-install/build/autogen 
-Ilibraries/dph/dph-prim-par/dist-install/build 
-Ilibraries/dph/dph-prim-par/dist-install/build/autogen 
-Ilibraries/dph/dph-prim-par/.-optP-include 
-optPlibraries/dph/dph-prim-par/dist-install/build/autogen/cabal_macros.h 
-package base-4.7.0.0 -package dph-base-0.8.0.1 -package 
dph-prim-interface-0.8.0.1 -package dph-prim-seq-0.8.0.1 -package 
old-time-1.1.0.1 -package random-1.0.1.1 -package vector-0.9.1 -Odph 
-funbox-strict-fields -fcpr-off -Wall -XHaskell98 -XTypeFamilies -XGADTs 
-XRankNTypes -XBangPatterns -XMagicHash -XUnboxedTuples -XTypeOperators 
-XFlexibleInstances -XFlexibleContexts -O2 -O -dcore-lint 
-fno-warn-deprecated-flags  -no-user-package-db -rtsopts -Wwarn -odir 
libraries/dph/dph-prim-par/dist-install/build -hidir 
libraries/dph/dph-prim-par/dist-install/build -stubdir 
libraries/dph/dph-prim-par/dist-install/build  -dynamic-too -c 
libraries/dph/dph-prim-par/./Data/Array/Parallel/Unlifted/Distributed/Data/USegd/DT.hs
 -o 
libraries/dph/dph-prim-par/dist-install/build/Data/Array/Parallel/Unlifted/Distributed/Data/USegd/DT.o
 -dyno 
libraries/dph/dph-prim-par/dist-install/build/Data/Array/Parallel/Unlifted/Distributed/Data/USegd/DT.dyn_o
Var/Type length mismatch: 
[]
[s{tv a15I} [tv]]
ghc-stage2: panic! (the 'impossible' happened)
  (GHC version 7.7.20130530 for x86_64-unknown-linux):
Iface Lint failure
In interface for 
dph-prim-par-0.8.0.1:Data.Array.Parallel.Unlifted.Distributed.Data.Vector
Unfolding of 
dph-prim-par-0.8.0.1:Data.Array.Parallel.Unlifted.Distributed.Data.Vector.$fDTVector_$cnewMD{v
 rS}
  : Warning:
  In the expression: base:Control.Monad.liftM2{v rC} [gid]
   @ 
(dph-prim-par-0.8.0.1:Data.Array.Parallel.Unlifted.Distributed.Primitive.DT.MDist{tc
 rD}
ghc-prim:GHC.Types.Int{(w) tc 3J} s3{tv 
a1Zk} [tv])
   @ (vector-0.9.1:Data.Vector.Mutable.STVector{tc 
rB}
s3{tv a1Zk} [tv]

(vector-0.9.1:Data.Vector.Unboxed.Base.Vector{tc rU}
   a4{tv a1Zi} [tv]))
   @ 
(dph-prim-par-0.8.0.1:Data.Array.Parallel.Unlifted.Distributed.Primitive.DT.MDist{tc
 rD}

(vector-0.9.1:Data.Vector.Unboxed.Base.Vector{tc rU}
   a4{tv a1Zi} [tv])
s3{tv a1Zk} [tv])
   @ (base:GHC.ST.ST{tc rE} s3{tv a1Zk} [tv])
   (base:GHC.ST.$fMonadST{v rA} [gid[DFunId]] @ 
s3{tv a1Zk} [tv])
   
(dph-prim-par-0.8.0.1:Data.Array.Parallel.Unlifted.Distributed.Data.Vector.$WMDVector{v
 rz} [gid[DataConWrapper]]
  @ a4{tv a1Zi} [tv] @ s3{tv a1Zk} [tv])
   
((dph-prim-par-0.8.0.1:Data.Array.Parallel.Unlifted.Distributed.Data.Scalar.Base.$fDTInt8{v
 ry} [gid]
   @ s3{tv a1Zk} [tv] g{v a1Zl} [lid])
`cast` (Sym
  (base:GHC.ST.NTCo:ST{tc rx}[0]
 
 
)
:: base:GHC.ST.STRep{tc r1j3}
 s3{tv a1Zk} [tv]
 
(dph-prim-par-0.8.0.1:Data.Array.Parallel.Unlifted.Distributed.Primitive.DT.MDist{tc
 rD}
ghc-prim:GHC.Types.Int{(w) tc 
3J} s3{tv a1Zk} [tv])
 ~#
   base:GHC.ST.ST{tc rE}
 s3{tv a1Zk} [tv]
 
(dph-prim-par-0.8.0.1:Data.Array.Parallel.Unlifted.Distributed.Primitive.DT.MDist{tc
 rD}
ghc-prim:GHC.Types.Int{(w) tc 
3J}
s3{tv a1Zk} [tv])))
   ((\ (s4{v a21s} [lid]
  :: ghc-prim:GHC.Prim.State#{(w) tc 32q} 
s3{tv a1Zk} [tv]) ->

Re: --with-gcc does not work well

2013-05-30 Thread Ian Lynagh

Hi Kazu,

On Thu, May 30, 2013 at 11:24:15AM +0900, Kazu Yamamoto wrote:
> 
> >> This caused an error:
> >> 
> >>Configuring terminfo-0.3.2.5...
> >>configure: WARNING: unrecognized options: --with-compiler, 
> >> --with-iconv-includes, --with-iconv-libraries, --with-gmp-includes, 
> >> --with-gmp-libraries, --with-gcc
> >>checking for gcc... cc
> >>checking whether the C compiler works... no
> 
> > And what is the output of
> > /usr/local/bin/ghc --info | grep "C compiler command"
> > (assuming /usr/local/bin/ghc is your bootstrapping compiler)?
> 
> % /usr/local/bin/ghc --info | grep "C compiler command"
>  ,("C compiler command","cc")

This is working as expected, then. /usr/local/bin/ghc says that it uses
cc to compile C code, so when compiling C files for it we use cc. If
that's wrong then you can edit the 'settings' file for
/usr/local/bin/ghc.


Thanks
Ian
-- 
Ian Lynagh, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: Stuck

2013-05-28 Thread Ian Lynagh

Hi Simon,

On Tue, May 28, 2013 at 11:50:19AM +, Simon Peyton-Jones wrote:
> 
> Apparently mk/config.mk.in contains
>   GHC_STAGE2  = $(ghc-stage2_INPLACE)
> which is, I believe, essential to nofib.  But I can't see anywhere that 
> ghc-stage2_INPLACE is set.

It should work now. Let me know if you still have problems.


Thanks
Ian
-- 
Ian Lynagh, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: --with-gcc does not work well

2013-05-25 Thread Ian Lynagh

Hi Kazu,

On Thu, Apr 25, 2013 at 12:44:24PM +0900, Kazu Yamamoto wrote:
> 
>--with-gcc=/usr/local/bin/gcc47
>--with-gcc-4.2=/usr/local/bin/gcc47
> 
> This caused an error:
> 
>   Configuring terminfo-0.3.2.5...
>   configure: WARNING: unrecognized options: --with-compiler, 
> --with-iconv-includes, --with-iconv-libraries, --with-gmp-includes, 
> --with-gmp-libraries, --with-gcc
>   checking for gcc... cc
>   checking whether the C compiler works... no
>   configure: error: in `/usr/home/kazu/work/ghc/libraries/terminfo':
>   configure: error: C compiler cannot create executables

What command was make running when this happened?

There should have been a flag like
--configure-option=--with-cc="/usr/bin/gcc"
where /usr/bin/gcc is the value of CC_STAGE0.

>   -CC_STAGE0   = @CC_STAGE0@
>   +CC_STAGE0   = $(CC)

For CC_STAGE0, we deliberately use the C compiler that the bootstrapping
GHC uses, not the value of gcc that you specify with --with-gcc.

What is @CC_STAGE0@ replaced with in mk/config.mk?

And what is the output of
/usr/local/bin/ghc --info | grep "C compiler command"
(assuming /usr/local/bin/ghc is your bootstrapping compiler)?


Thanks
Ian
-- 
Ian Lynagh, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: fixing up links to commits and ghc source on trac wiki/trackers

2013-05-25 Thread Ian Lynagh
On Fri, May 24, 2013 at 04:52:47PM -0500, Austin Seipp wrote:
> The catch is that we don't want to move off of what it's in Debian,
> from what I remember. These are obviously slightly dated versions of
> Trac. Of course that's a ridiculous understatement because the *real*
> problem IMO is that haskell.org is still running Debian 5 (Lenny.)
> We're beyond obsolete.
> 
> I brought this up to Ian on IRC a week or two ago, and he informed me
> that there are some planned infrastructure upgrades for some of the
> haskell.org infrastructure.

Right, the plan AFAIR is to consolidate lambda+abbot onto a single
new Hetzner machine, with a handful of VMs.

> I am not aware of who is in charge here.
> 
> Personally, I'd like to see this happen sooner and not later now that
> Wheezey is released.

Yup, we're just waiting for someone to have time to do it now, AFAIK.
CCing a couple of related lists.


Thanks
Ian


___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: Windows validate fails

2013-05-21 Thread Ian Lynagh
On Tue, May 21, 2013 at 08:04:09PM +, Simon Peyton-Jones wrote:
> Windows validation is failing (again).  Error is below. This is a clean 
> build. Ian?  This is the same problem I had before on Linux, but this time my 
> libraries are up to date.  Did you validate on windows?  Iconv may be 
> different on windows.  Urk

Ah, sorry, I'd fixed this but hadn't pushed the patch. Now pushed.


Thanks
Ian


___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: Integer constant folding in the presence of new primops

2013-05-20 Thread Ian Lynagh
On Fri, May 17, 2013 at 11:49:26AM +0200, Jan Stolarek wrote:
> 
> Now here's the tricky part. I'm testing this with test 
> lib/integer/integerConstantFolding in the 
> testsuite and the test fails because rules for quotRemInteger, divModInteger, 
> quotInteger and 
> remInteger don't fire, leaving the constants unfolded. I noticed that if I 
> mark eqInteger with 
> NOINLINE, then these rules fire, but then obviously comparisons like (100012 
> :: Integer) == 
> 100012 don't get folded and the test fails anyway. I'm analyzing how the 
> function quotInteger and 
> others use eqInteger, but I don't see anything that would be obvious.

If you remove everything but the quotInteger test from
integerConstantFolding and compile with -ddump-rule-rewrites then you'll
see that the eqInteger rule fires before quotInteger. This is presumably
comparing against 0, as the definition of quot for Integer (in GHC.Real)
is
_ `quot` 0 = divZeroError
n `quot` d = n `quotInteger` d

> eqIntegerPrimIdKey  = mkPreludeMiscIdUnique 70
> eqIntegerPrimName = varQual gHC_INTEGER_TYPE (fsLit "eqIntegerPrim") 
> eqIntegerPrimIdKey

Do you also still have eqInteger wired in? It sounds like you might have
given them both the same unique?


Thanks
Ian
-- 
Ian Lynagh, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: understanding ghc compilation driver architecture

2013-05-18 Thread Ian Lynagh
On Sat, May 18, 2013 at 05:42:35PM -0400, Carter Schonwald wrote:
>
> I'm still learning a lot of the ghc code base, so I may have a few other
> questions like this as I try to familiarize with ghc code.
> 
> Is the dev list an ok forum for these sorts of questions?

Yes, ask away. And hopefully, someone will answer  :-)


Thanks
Ian
-- 
Ian Lynagh, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: understanding ghc compilation driver architecture

2013-05-18 Thread Ian Lynagh
On Wed, May 15, 2013 at 12:45:01AM -0400, Carter Schonwald wrote:
> 
> https://github.com/ghc/ghc/blob/master/compiler/main/DriverPipeline.hs#L803which
> mentions the -fvia-c backend in  2-3 places

I've updated that, ta.

> 2) when the ghc driver is used to manage building c code for subsequent ffi
> usage, it doesn't seem possible to use a c compiler to do  *.c ->
> *.o/dylib, instead it is only possible to do *.c->  *.s  -> *.o/dylib.
> 
> I'm curious about reasons c,s,o  choice that are still in play.

Well, it means that GHC can be used to compile hand-written asm, and it
also means that you can do "ghc -S". Also, there's been no reason to
change it.


-- 
Ian Lynagh, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: guidance for using timeout_multiplier?

2013-05-18 Thread Ian Lynagh
On Wed, May 01, 2013 at 03:38:13PM -0500, Nicolas Frisby wrote:
> 
> Is it sensible for me to add the timeout_multiplier setup function in the
> respective all.T files if I can reproduce the time out? It looks like 3
> seconds ought to be fine for the ones I've investigated so far, so I was
> thinking of passing 0.01.

timeout_multiplier should only be use to make timeouts longer, not
shorter. Otherwise, on slow platforms, tests will timeout even when they
would otherwise pass.

If slow tests are a problem, and fixing them isn't an option, then I'd
suggest making a skip_broken helper (similar to expect_broken, except it
skips the test rather than expecting the wrong result) and marking them
something like
when(opsys('darwin'), skip_broken(nnn))
It's important to use a skip_broken rather than just skip, to ensure
that a ticket is filed and the test is linked to it.


Thanks
Ian
-- 
Ian Lynagh, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: FW: Missing snapshots

2013-05-18 Thread Ian Lynagh
On Sat, May 18, 2013 at 06:14:52PM +0100, Mateusz Kowalczyk wrote:
> 
> Is there any update on this please?

Sorry, no progress yet.

> Note that the mailing
> list pointed to at the GHC download page (cvs-ghc) no longer exists.

Ta, fixed!


Thanks
Ian
-- 
Ian Lynagh, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: Windows validate failing

2013-05-18 Thread Ian Lynagh

Hi Simon,

On Sat, May 18, 2013 at 11:34:09AM +, Simon Peyton-Jones wrote:
> My Windows build has started failing like this when I try "sh validate"
> 
> make[1]: *** No rule to make target `windows-installer'.  Stop.

I've just pushed a patch to fix it.


Thanks
Ian
-- 
Ian Lynagh, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: STM Commentary

2013-05-17 Thread Ian Lynagh
On Fri, May 17, 2013 at 04:05:39PM -0400, Ryan Yates wrote:
> 
> For a while now I've been working on understanding GHC's STM implementation
> and I finally have something to share.  I've written a commentary on the
> implementation which can be found here:
> 
> http://fryguybob.github.io/STM-Commentary/

Great!

> My goal in writing this
> was to fill in the gap found here
> http://hackage.haskell.org/trac/ghc/wiki/Commentary/Rts/STM.  I happy to
> have it live where it is most appropriate.  If anyone has opinions on that,
> let me know.

Why not put it on
http://hackage.haskell.org/trac/ghc/wiki/Commentary/Rts/STM
? If you sign up for an account on the trac then you should be able to
edit that page.


Thanks
Ian
-- 
Ian Lynagh, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: Unreliability of the build system

2013-05-17 Thread Ian Lynagh
On Fri, May 17, 2013 at 11:34:01AM -0500, Gabriel Dos Reis wrote:
> 
> Can't the build bots instructed to systematically fire up on every
> commit for testing on the various platforms you currently do?

In principle, yes, although (a) many of them are on machines that are
used to do something else during the day, and (b) the builders may often
still be building the last patches when more patches are pushed.

We already get testsuite results mailed to the list each night, though.
What we need is for people to fix unexpected results in them.
(admittedly we don't currently identify who/which patches caused a test
to start failing; perhaps that would help).


Thanks
Ian
-- 
Ian Lynagh, Haskell Consultant
Well-Typed LLP, http://www.well-typed.com/

___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: Unreliability of the build system

2013-05-17 Thread Ian Lynagh
On Wed, May 15, 2013 at 12:25:14PM -0700, David Terei wrote:
>
> I'd point out though that GHC's 'no validate failures' is very
> frequently violated which did confuse me a lot when getting started.

This is at least partly caused by inconsistencies in test results. For
example, a Linux developer might push a change that causes a failure on
OS X, or one person might push a change that means that a perf test
fails on someone else's machine but not his own (or perhaps even fails
randomly, and they got lucky on their validate run).

The first person is not aware that anything is wrong, and the second
person just ignores the failure because their patches didn't cause it.

In an ideal world, the second person would either fix the bug, revert
thc bad change, or file a ticket and mark the test as broken.
Unfortunately, the second person is generally trying to do something
else when they discover the problem, and doesn't want to spend time
fixing something they didn't break.


Thanks
Ian


___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: Unreliability of the build system

2013-05-17 Thread Ian Lynagh
On Wed, May 15, 2013 at 02:10:29PM +0200, Jan Stolarek wrote:
> > This has never happened to me.  I can't even guess why it might happen to
> > you.
> Looking through the validation log I see that tests fail with this error 
> message:
> 
> Actual stderr output differs from expected:
> --- /dev/null 2013-05-14 15:38:10.77100 +0200
> +++ ../../libraries/base/tests/IO/T3307.run.stderr2013-05-15 
> 09:21:45.695049002 +0200
> @@ -0,0 +1,2 @@
> +WARNING: cache is out of date: 
> /dane/uczelnia/projekty/ghc-validate/bindisttest/install   
> dir/lib/ghc-7.7.20130514/package.conf.d/package.cache
> +  use 'ghc-pkg recache' to fix.
> *** unexpected failure for T3307(normal)
> 
> Any ideas why this happens?

The testsuite does check whether the package.cache timestamp changed
while running a test. If it did then you'll get a
Package cache timestamps do not match: [...]
framework failure. Do you know whether that happened?

Otherwise, looking at why the package.cache is out of date, along with
what tests were run around the time that it happened, might give a clue
as to what went wrong.


Thanks
Ian


___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: [commit: testsuite] master: Fix library way detection; fixes the ImpSafeOnly* tests when BINDIST=YES (b32d38a)

2013-05-12 Thread Ian Lynagh
On Sun, May 12, 2013 at 03:50:17PM +0200, Páli Gábor János wrote:
> On Sun, May 12, 2013 at 3:02 PM, Ian Lynagh  wrote:
> > Oh, sorry, it's actually
> > make show VALUE=BASE_LIBDIR BINDIST=YES
> > that we want.
> 
> BASE_LIBDIR=""/usr/home/user/ghc-working/bindisttest/install
> dir/lib/ghc-7.7.20130510/base-4.7.0.0" /usr/local/lib"

I've made it use ghc-prim rather than base, so we shouldn't get this
extra directory. Hopefully that will fix it.


Thanks
Ian


___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: [commit: testsuite] master: Fix library way detection; fixes the ImpSafeOnly* tests when BINDIST=YES (b32d38a)

2013-05-12 Thread Ian Lynagh
On Sun, May 12, 2013 at 02:39:14PM +0200, Páli Gábor János wrote:
> On Sun, May 12, 2013 at 1:32 PM, Ian Lynagh  wrote:
> 
> > What does
> > make show VALUE=BASE_LIBDIR
> > say in testsuite/tests?
> 
> BASE_LIBDIR="/usr/home/user/ghc-validate/libraries/base/dist-install/build
>   /usr/local/lib"
> 
> Ah, it seems there is another directory added?  I was completely under
> the impression that the problem is that the binary distribution is
> installed to the directory with spaces in its name.

Oh, sorry, it's actually
make show VALUE=BASE_LIBDIR BINDIST=YES
that we want.

> > What command is being run to cause the error?
> 
> I guess this is the HAVE_* lines, the [ -f file ] part that you have
> changed in the commit.

Right, but what does the actual shell command look like once all the
make variable expansion has happened?


Thanks
Ian


___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: [commit: testsuite] master: Fix library way detection; fixes the ImpSafeOnly* tests when BINDIST=YES (b32d38a)

2013-05-12 Thread Ian Lynagh
On Sun, May 12, 2013 at 11:27:10AM +0200, Páli Gábor János wrote:
> On Fri, May 10, 2013 at 3:40 PM, Ian Lynagh  wrote:
> > Fix library way detection; fixes the ImpSafeOnly* tests when BINDIST=YES
> >
> > We were checking paths with
> > if [ -f '"/path/to/Prelude"' ]
> > i.e. the " quotes were being quoted by the ' quotes. Now we just
> > use " quotes (which come from the ghc-pkg output).
> 
> This does not work (again) on the FreeBSD builder clients.  Any
> suggestions where else to fix this problem for them then?

I'm confused. What does
make show VALUE=BASE_LIBDIR
say in testsuite/tests?

What command is being run to cause the error?

Does this work on FreeBSD?:
[ -f "foo bar"baz ] && echo yes


Thanks
Ian


___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: Safe Haskell validate failure

2013-05-10 Thread Ian Lynagh
On Fri, May 10, 2013 at 09:25:42AM +0100, Simon Marlow wrote:
> 
> These are still happening.  Use BINDIST=YES to reproduce:
> 
> => ImpSafeOnly01(normal) 22 of 124 [0, 0, 0]
> cd ./check/pkg01 && $MAKE -s --no-print-directory
> mkPackageDatabase.ImpSafeOnly01 VANILLA=--disable-library-vanilla
> PROF=--disable-library-profiling DYN=--enable-shared

Aha, the problem was that the detection of what library ways are
available was broken. I've fixed it.


Thanks
Ian


___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: Stuck again on submodules

2013-05-09 Thread Ian Lynagh
On Thu, May 09, 2013 at 12:44:45PM +, Simon Peyton-Jones wrote:
> aha, good catch.  It looks as if my commit for cardinality analysis somehow 
> jiggered the Cabal tree.  I have no idea how or why.  
> 
> How can I undo that?

I think this will do it:

cd libraries/Cabal
git reset --hard b4d0c0f2846542dc2e2df189fe145a56ac9b30b6
cd ../..
git commit -a --amend

assuming that "Implement cardinality analysis" is the latest patch.


If it's not the latest patch, then you'll either have to do some
rebasing, or just record a new patch instead of amending.


Thanks
Ian


___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: Stuck again on submodules

2013-05-09 Thread Ian Lynagh

Hi Simon,

On Thu, May 09, 2013 at 12:31:22PM +, Simon Peyton-Jones wrote:
> Afraid not. I'd tried "git submodule update".  The command you give is a 
> no-op; libraries/Cabal is stuck on commit 14c5a3f; and that's what git 
> submodule status says it should be.  But it shouldn't!

What does

git log -p libraries/Cabal

say?


Thanks
Ian


___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: questions about validating in the presence of known failures

2013-05-02 Thread Ian Lynagh
On Thu, May 02, 2013 at 10:23:26AM -0500, Nicolas Frisby wrote:
> 
> Question 2: Can we add another bit to unexpected results marking them as
> known/unknown?

Unexpected results are all unknown. If they're known then they're
expected results.

I've just written this on how to deal with validate failures not caused
by local patches:

http://hackage.haskell.org/trac/ghc/wiki/TestingPatches#ValidatehasfailingtestswithoutanylocalpatcheswhatdoIdo

> Question 3: What's the status on the build bot farm?

I hope to do some work on this soon, e.g. add a way for build results to
be uploaded to the server by the builders. However, I've been spending
my time on more pressing matters recently.


Thanks
Ian


___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: HEAD not building on OS X

2013-04-29 Thread Ian Lynagh
On Mon, Apr 29, 2013 at 01:32:38PM -0500, Nicolas Frisby wrote:
> It seems this patch
> 
>   50e78dafd0cac5ca3b28ef71559899f179343ddf
> 
> changed some sed expressions in rts/ghc.mk that seem to be no longer firing
> on my Mac now. Mac has a different flavor of BSD sed and such.

Sorry; I've pushed a patch to fix this.


Thanks
Ian


___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: libgmp-related build error

2013-04-28 Thread Ian Lynagh
On Thu, Apr 25, 2013 at 06:08:07PM -0400, Andreas Voellmy wrote:
> I just tried to grab the latest GHC code so that I can test a bug fix for
> IO manager on OS X, but I ran into build errors.  The failing command was:
> 
> gcc -E  -m32   -m32 -fno-stack-protector
>  -Ilibraries/integer-gmp/gmp
> -Ilibraries/integer-gmp/mkGmpDerivedConstants/dist   -MM
> libraries/integer-gmp/mkGmpDerivedConstants/mkGmpDerivedConstants.c -MF
> libraries/integer-gmp/mkGmpDerivedConstants/dist/build/.depend.c_asm.bit
> libraries/integer-gmp/mkGmpDerivedConstants/mkGmpDerivedConstants.c:15:17:
> error: gmp.h: No such file or directory

I've just pushed a patch to fix this. I'd been caught out by validate
not cleaning gmp, so my validate tree already had a built gmp in it.


Thanks
Ian


___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: [commit: ghc] master: Use ffi_prep_closure_loc rather than ffi_prep_closure (310735e)

2013-04-21 Thread Ian Lynagh
On Sun, Apr 21, 2013 at 09:34:31PM +0300, Sergei Trofimovich wrote:
> > commit 310735e7adce0145c653386c21686b4a1b96aea9
> >  
> > -r = ffi_prep_closure(cl, cif, (void*)wptr, hptr/*userdata*/);
> > +r = ffi_prep_closure_loc(cl, cif, (void*)wptr, hptr/*userdata*/, code);
> >  if (r != FFI_OK) barf("ffi_prep_closure failed: %d", r);
> 
> The barf() text (/ffi_prep_closure/ffi_prep_closure_loc/) might be adjusted 
> as well.

Ta, fixed.


Thanks
Ian


___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: GHC 7.8 release redux

2013-04-18 Thread Ian Lynagh
On Thu, Apr 18, 2013 at 12:21:26PM -0400, Ben Gamari wrote:
> 
> what is the plan for
> 7.8? Will it admit API breakage? Should we establish a timeframe for getting
> work in before a formal release candidate is cut?

7.8 will be released as shortly after ICFP as we can. It will allow API
changes. There's no hard timeframe yet, but the sooner a patch is sent,
the more likely it is to make it in.


Thanks
Ian


___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: HP 2013.2 and GHC 7.6.2

2013-04-17 Thread Ian Lynagh
On Wed, Apr 17, 2013 at 05:37:37PM +0200, Gabor Greif wrote:
> On 4/17/13, Iavor Diatchki  wrote:
> > Hello,
> >
> > cabal-install 1.16.0 and 1.16.0.1 have some serious bugs that one
> > encounters rather quickly.  For example, at work I wasted some time until I
> > figured out that cabal was generating a 'Paths_'  module that does not
> > compile.   Because of this, you can't even use it to install a newer
> > version of itself, where the problem is fixed: you have to manually
> > bootstrap the new version with the script!
> 
> I came up with this.
> 
> http://heisenbug.blogspot.fr/2013/02/old-cabal-subhell.html
> 
> Pretty much what you have experienced.

This doesn't appear to affect the Cabal that GHC 7.6.2 ships with. I get

...

catchIO :: IO a -> (Exception.IOException -> IO a) -> IO a
catchIO = Exception.catch

...

getBinDir = catchIO (getEnv "HTTP_bindir") (\_ -> return bindir)

in Paths_HTTP.


Thanks
Ian


___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: HP 2013.2 and GHC 7.6.2

2013-04-17 Thread Ian Lynagh

Hi Iavor,

On Wed, Apr 17, 2013 at 08:20:22AM -0700, Iavor Diatchki wrote:
> 
> cabal-install 1.16.0 and 1.16.0.1 have some serious bugs

GHC doesn't include cabal-install.


Thanks
Ian


___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: HP 2013.2 and GHC 7.6.2

2013-04-17 Thread Ian Lynagh
On Wed, Apr 17, 2013 at 02:48:26PM +0100, Duncan Coutts wrote:
> 
> In the absence of a GHC-7.6.3, I'm not sure if it's practical for the HP
> to bump the Cabal version.

My proposal was 7.6.3 was a minimal release in a very short timeframe,
to just fix #7748. Any additional changes introduce a possibility of
regression. If you think that 7.6.2+1.16.0 would be OK, then it sounds
like the fixes in 1.16.0.3 wouldn't be worth the risk (there are a
number of GHC fixes that we won't be merging either, for the same
reason).


Thanks
Ian


___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: [GHC] #7436: Derived Foldable and Traversable instances become extremely inefficient due to eta-expansion

2013-04-17 Thread Ian Lynagh

Hi Simon,

On Tue, Apr 16, 2013 at 03:55:16PM -, GHC wrote:
> #7436: Derived Foldable and Traversable instances become extremely 
> inefficient due
> to eta-expansion
> 
> Comment(by simonpj):
> 
>  This one is fixed, just awaiting merging into 7.6.3

My suggestion was that we only fix #7748 in 7.6.3, as that seems to be a
show-stopper. There are several other fixes that we would ordinarily
merge into 7.6.3, but every change has a risk of causing a regression
(after all, 7.6.2 made #7748 worse), and we want to get 7.6.3 out as
quickly as possible (so as not to hold up the HP release) so we don't
have the luxury of being able to have a long testing/RC phase.

But if you think it's important enough, and the fix safe enough, please
let me know and I'll merge it.


Thanks
Ian


___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: Build faliing on Windows

2013-04-16 Thread Ian Lynagh
On Tue, Apr 16, 2013 at 08:34:41PM +, Simon Peyton-Jones wrote:
> 
> However, if success on mode_t is required (which it is) for Windows, 
> shouldn't we get an error from configure, rather than ploughing on and only 
> bleating later when some obscure file doesn't compile?

There are a lot of instances of that sort of thing in packages like base
and unix. They'd really benefit from someone doing a sweep over them.


Thanks
Ian


___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: HP 2013.2 and GHC 7.6.2

2013-04-16 Thread Ian Lynagh
On Tue, Apr 16, 2013 at 03:18:01PM +0200, Christian Maeder wrote:
> Am 16.04.2013 14:29, schrieb Richard Eisenberg:
> >
> >git clone http://darcs.haskell.org/ghc.git; cd ghc; ./sync-all --testsuite 
> >get; perl boot; ./configure; make
> 
> Thanks, for this. Do I need to give a branch name (which one?) to
> the "git clone" command (option -b)?

Yes, you need to add "-b ghc-7.6" to both the clone and the sync-all
command. Docs are here:

http://hackage.haskell.org/trac/ghc/wiki/Building/GettingTheSources#Gettingabranch


Thanks
Ian


___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: HP 2013.2 and GHC 7.6.2

2013-04-12 Thread Ian Lynagh
On Fri, Apr 12, 2013 at 07:19:29AM -0700, Mark Lentczner wrote:
> 
> There has been some discussion on haskell-platform & libraries mailing list
> about the suitability of GHC 7.6.2 for the upcoming HP 2013.2.

In particular, http://hackage.haskell.org/trac/ghc/ticket/7748

That does actually look quite nasty. Would a 7.6.3 that fixed that and
had no other changes be acceptable?

Simon, do you know if there is a reasonably non-invasive fix for that
bug? And do you think it would be worth a micro-release?


Thanks
Ian


___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


  1   2   >