sync-all

2014-10-02 Thread Simon Peyton Jones
Herbert says (in bold font) do not ever use sync-all, in this post 
http://www.reddit.com/r/haskell/comments/2hes8m/the_ghc_source_code_contains_1088_todos_please/.

If that's really true, we should either nuke it altogether, or change it to do 
something correct.  The idea that it might set up your tree in subtly 
different ways is alarming.

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


Re: sync-all

2014-10-02 Thread Mateusz Kowalczyk
On 10/02/2014 08:49 AM, Simon Peyton Jones wrote:
 Herbert says (in bold font) do not ever use sync-all, in this post 
 http://www.reddit.com/r/haskell/comments/2hes8m/the_ghc_source_code_contains_1088_todos_please/.
 
 If that's really true, we should either nuke it altogether, or change it to 
 do something correct.  The idea that it might set up your tree in subtly 
 different ways is alarming.
 
 Simon
 
 
 
 ___
 ghc-devs mailing list
 ghc-devs@haskell.org
 http://www.haskell.org/mailman/listinfo/ghc-devs
 

This is news to me, I always use sync-all get  sync-all pull when I
have to… I'd appreciate if such things were announced on lists rather
than a comment on reddit somewhere…

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


Re: sync-all

2014-10-02 Thread Herbert Valerio Riedel
On 2014-10-02 at 09:49:11 +0200, Simon Peyton Jones wrote:
 Herbert says (in bold font) do not ever use sync-all, in this post 
 http://www.reddit.com/r/haskell/comments/2hes8m/the_ghc_source_code_contains_1088_todos_please/.

 If that's really true, we should either nuke it altogether, or change
 it to do something correct.  The idea that it might set up your tree
 in subtly different ways is alarming.

To clarify what I mean by that:

For users just wanting to clone ghc.git now and just wanting to keep
their tree updated, I'd recommend doing the following one-shot
convenience configuration setup (see [1] for more details):

  git config --global alias.pullall '!f(){ git pull $@  git submodule 
update --init --recursive; }; f'
 
And then clone simply via

  git clone --recursive http://ghc.haskell.org/ghc.git

(or use https:// or git:// or whatever) and to keep the tree simply use

  git pullall --rebase

(`pullall` just saves you from having to call
`git pull`+`git submodule update --init` yourself)


In contrast, `sync-all` is a multi-step process:

 1.) you need to clone ghc.git, 

 2.) then you have a sync-all, which when called
 will `git submodule init` (which doesn't yet download the
 submodules)

 3.) rewrites the fetch-urls in each initialised submodule

 4.) finally calls `git submodule update` to fetch the submodule and
 checkout the commits registered in ghc.git



The difference become apparent when wanting to use github instead; my
recommended approach is to use the URL rewriting feature of GitHub which
even allows you to easily switch between git.haskell.org and github.com
with a single command, or in its simpler form (as described on [2]):

Only needed once, and idempotent setup step:

  git config --global url.git://github.com/ghc/packages-.insteadOf  
git://github.com/ghc/packages/ 

And then just as before:

  git clone --recursive git://github.com/ghc/ghc


So long story short; I've mostly got a bad gut feeling recommending to
use a 1000-line Perl script

  http://git.haskell.org/ghc.git/blob/HEAD:/sync-all

to accomplish what the 2 `git config` commands and the the day-to-day
`git` commands I mentioned in this email can do in a more Git-idiomatic
way. 

So I'm not saying `sync-all` is doing something wrong, but rather that's
overly complex for the task at hand, and we've had support issues with
`sync-all` due to subtle bugs in it (just check the git history for
sync-all to see the tweaks we needed). Moreover, IMHO, if someone's
already proficient with Git, telling them to use `sync-all` will rather
confuse than help as it's not that transparent what it really does.


 [1]: 
https://ghc.haskell.org/trac/ghc/wiki/WorkingConventions/Git/Submodules#UsingaGitalias

 [2]: https://ghc.haskell.org/trac/ghc/wiki/Newcomers
___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: sync-all

2014-10-02 Thread Alexander Berntsen
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

Herbert,

you are still not making the case for why we are keeping it. In fact,
you are doing quite the opposite!

The wiki[0] appears to no longer tell you to use sync-all when
obtaining sources, however, it seems sync-all is still to be used when
making local clones -- why?

The sync-all entry[1] on the wiki says that you normally don't need
it anymore. What does this mean? What abnormal situations are there
where we need to use it?

[0]  https://ghc.haskell.org/trac/ghc/wiki/Building/GettingTheSources
[1]  https://ghc.haskell.org/trac/ghc/wiki/Building/SyncAll
- -- 
Alexander
alexan...@plaimi.net
https://secure.plaimi.net/~alexander
-BEGIN PGP SIGNATURE-
Version: GnuPG v2
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iF4EAREIAAYFAlQtC6UACgkQRtClrXBQc7WubAEAqX+yflipFfpYDBdTm8pO1+Oe
9i/yxmIB6vzFl0Hf1PsA/iaiNXyxoy0O0lCTCB6u500CywvPq4GA8Ieg0PucBizB
=VU62
-END PGP SIGNATURE-
___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: sync-all

2014-10-02 Thread Alexander Berntsen
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

I just realised I might have answered my last question with the
observation that you're supposed to use it for local clones. But
further clarification would still be appreciated. Thanks.
- -- 
Alexander
alexan...@plaimi.net
https://secure.plaimi.net/~alexander
-BEGIN PGP SIGNATURE-
Version: GnuPG v2
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iF4EAREIAAYFAlQtC/EACgkQRtClrXBQc7XnlQD/blKknLWHDHf0BWF2zcKrePnC
i0dVPPDkAx5F43+6blYA/0C1xz7JyU6wAwMvo9OKyDVM4kV9GdX/egbunxuehKK3
=lS6d
-END PGP SIGNATURE-
___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: cabal directory structure under /libraries/ for a lib that uses Rts.h

2014-10-02 Thread Ömer Sinan Ağacan
 Well, which library should it be part of? Add it to the exposed-modules
 list there and it should get compiled.

It's not only a get it compiled problem, even if I add it to base or
some other lib and get it compiled, it's failing with a undefined
reference linker error. I'm trying to use a function from
`rts/RtsFlags.c`. I can define the function elsewhere but I still link
it with `RtsFlags.c` because I'm using `RtsFlags` from that file.

Any ideas?

---
Ömer Sinan Ağacan
http://osa1.net
___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: sync-all

2014-10-02 Thread Erik de Castro Lopo
Herbert Valerio Riedel wrote:

 So I'm not saying `sync-all` is doing something wrong, but rather that's
 overly complex for the task at hand, and we've had support issues with
 `sync-all` due to subtle bugs in it (just check the git history for
 sync-all to see the tweaks we needed). Moreover, IMHO, if someone's
 already proficient with Git, telling them to use `sync-all` will rather
 confuse than help as it's not that transparent what it really does.

So why not turn the current 1000 line Perl script with two lines
of shell script and some comments?

Erik (who uses sync-all because he didn't know any better)
-- 
--
Erik de Castro Lopo
http://www.mega-nerd.com/
___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: Feedback request for #9628 AST Annotations

2014-10-02 Thread Alan Kim Zimmerman
After further discussion with Neil Mitchell arouund this, I have pushed an
update through to https://phabricator.haskell.org/D297.

It introduces one data structure per annotation, and allows the user to
look up based on the SrcSpan of the annotated AST element and th expected
annotation type.


On Wed, Oct 1, 2014 at 6:37 PM, Neil Mitchell ndmitch...@gmail.com wrote:

 I was getting a bit lost between the idea and the implementation. Let
 me try rephrasing the idea in my own words.

 The goal: Capture inner source spans in AST syntax nodes. At the
 moment if ... then ... else ... captures the spans [if [...] then
 [...] else [...]]. We want to capture the spans for each keyword as
 well, so: [{if} [...] {then} [...] {else} [...]].

 The proposal: Rather than add anything to the AST, have a separate
 mapping (SrcSpan,AstCtor) to [SrcSpan]. So you give in the SrcSpan
 from the IfThenElse node, and some token for the IfThenElse
 constructor, and get back a list of IfThenElse for the particular
 keyword.

 I like the proposal because it adds nothing inside the AST, and
 requires no fresh invariants of the AST. I dislike it because the
 contents of that separate mapping are highly tied up with the AST, and
 easy to get out of sync. I think it's the right choice for three
 reasons, 1) it is easier to try out and doesn't break the AST, so we
 have more scope for changing our minds later; 2) the same technique is
 able to represent things other than SrcSpan without introducing a
 polymorphic src span; 3) the people who pay the complexity are the
 people who use it, which is relatively few people.

 That said, as a tweak to the API, rather than a single data type for
 all annotations, you could have:

 data AnnIfThenElse = AnnIfThenElse {posIf, posThen, posElse :: SrcSpan}
 data AnnDo = AnnDo {posDo :: SrcSpan}

 Then you could just have an opaque Map (SrcSpan, TypeRep) Dynamic,
 with the invariant that the TypeRep in the key matches the Dynamic.
 Then you can have: getAnnotation :: Typeable a = Annotations -
 SrcSpan - Maybe a. I think it simplifies some of the TypeRep trickery
 you are engaging in with mkAnnKey.

 Thanks, Neil

 On Wed, Oct 1, 2014 at 5:06 PM, Simon Peyton Jones
 simo...@microsoft.com wrote:
  Let me urge you, once more, to consult some actual heavy-duty users of
 these
  proposed facilities.  I am very keen to avoid investing design and
  implementation effort in facilities that may not meet the need.
 
 
 
  If they end up acclaiming the node-key idea, then we should surely simply
  make the key an abstract type, simply an instance of Hashable, Ord, etc.
 
 
 
  Simon
 
 
 
  From: Alan  Kim Zimmerman [mailto:alan.z...@gmail.com]
  Sent: 30 September 2014 19:48
  To: Simon Peyton Jones
  Cc: Richard Eisenberg; Edward Z. Yang; ghc-devs@haskell.org
 
 
  Subject: Re: Feedback request for #9628 AST Annotations
 
 
 
  On further reflection of the goals for the annotation, I would like to
 put
  forward the following proposal for comment
 
 
  Instead of physically placing a node-key in each AST Node, a virtual
  node key can be generated from any `GenLocated SrcSpan e' comprising a
  combination of the `SrcSpan` value and a unique identifier from the
  constructor for `e`, perhaps using its `TypeRep`, since the entire AST
  derives Typeable.
 
  To further reduce the intrusiveness, a base Annotation type can be
  defined that captures the location of noise tokens for each AST
  constructor. This can then be emitted from the parser, if the
  appropriate flag is set to enable it.
 
  So
 
  data ApiAnnKey = AK SrcSpan TypeRep
 
  mkApiAnnKey :: (Located e) - ApiAnnKey
  mkApiAnnKey = ...
 
  data Ann =

| AnnHsLetSrcSpan -- of the word let
  SrcSpan -- of the word in
 
| AnnHsDo SrcSpan -- of the word do
 
  And then in the parser
 
  | 'let' binds 'in' exp   { mkAnnHsLet $1 $3 (LL $ HsLet (unLoc
 $2)
  $4) }
 
  The helper is
 
  mkAnnHsLet :: Located a - Located b - LHsExpr RdrName - P (LHsExpr
  RdrName)
  mkAnnHsLet (L l_let _) (L l_in _) e = do
addAnnotation (mkAnnKey e) (AnnHsLet l_let l_in)
return e;
 
  The Parse Monad would have to accumulate the annotations to be
  returned at the end, if called with the appropriate flag.
 
  There will be some boilerplate in getting the annotations and helper
  functions defined, but it will not pollute the rest.
 
  This technique can also potentially be backported to support older GHC
  versions via a modification to ghc-parser.
 
  https://hackage.haskell.org/package/ghc-parser
 
  Regards
 
Alan
 
 
 
  On Tue, Sep 30, 2014 at 2:04 PM, Alan  Kim Zimmerman 
 alan.z...@gmail.com
  wrote:
 
  I tend to agree that this change is much too intrusive for what it
 attempts
  to do.
 
  I think the concept of a node key could be workable, and ties in to the
  approach I am taking in ghc-exactprint [1], which uses a SrcSpan together
  with node type 

Re: Feedback request for #9628 AST Annotations

2014-10-02 Thread Alan Kim Zimmerman
Ok, report back 24 hrs after a Haskell Cafe email [1] and reference to it
on Reddit [2].

The Reddit post has 16 upvotes and no downvotes.

The Haskell Cafe post generated two reponses, one from Andrew Gibiansky
(IHaskell,ghc-parser), and one from Mateusz Kowalczyk (Haddock,yi,GHC),
both in favour.

Neil Mitchell (hlint) has also expressed support on this mailing list.

And of course the most enthusiastic user is me, as it will simplify HaRe
dramatically.


[1] http://www.haskell.org/pipermail/haskell-cafe/2014-October/116267.html
[2]
http://www.reddit.com/r/haskell/comments/2i0jo8/haskellcafe_ghc_710_ghcapi_changes_and_proposed/


On Wed, Oct 1, 2014 at 7:44 PM, Simon Peyton Jones simo...@microsoft.com
wrote:

  Let me urge you, once again, to consult users.  I really do not want to
 implement a feature that (thus far) lacks a single enthusiastic user.
 Please.



 Simon



 *From:* Alan  Kim Zimmerman [mailto:alan.z...@gmail.com]
 *Sent:* 01 October 2014 16:13
 *To:* Simon Peyton Jones
 *Cc:* Richard Eisenberg; Edward Z. Yang; ghc-devs@haskell.org

 *Subject:* Re: Feedback request for #9628 AST Annotations



 I have put up a new diff at https://phabricator.haskell.org/D297

 It is just a proof of concept at this point, to check if the approach is
 acceptable.

 This is much less intrusive, and only affects the lexer/parser, in what
 should be a transparent way.

 The new module ApiAnnotation was introduced because it needs to be
 imported by Lexer.x, and I was worried about another circular import cycle.
 It does also allow the annotations to be defined in a self-contained way,
 which can then easily be used by other external projects such as ghc-parser.

 If there is consensus that this will not break anything else, I would like
 to go ahead and add the rest of the annotations.

 Regards

   Alan



 On Tue, Sep 30, 2014 at 11:19 AM, Simon Peyton Jones 
 simo...@microsoft.com wrote:

  I'm anxious about it being too big a change too.

 I'd be up for it if we had several customers all saying yes, this is
 precisely what we need to make our usage of the GHC API far far easier.
 With enough detail so we can understand their use-case.

 Otherwise I worry that we might go to a lot of effort to solve the wrong
 problem; or to build a solution that does not, in the end, work for the
 actual use-case.

 Another way to tackle this would be to ensure that syntax tree nodes have
 a node-key (a bit like their source location) that clients could use in a
 finite map, to map node-key to values of their choice.

 I have not reviewed your patch in detail, but it's uncomfortable that the
 'l' parameter gets into IfGblEnv and DsM.  That doesn't smell right.

 Ditto DynFlags/HscEnv, though I think here that you are right that the
 hooks interface is very crucial.  After all, the WHOLE POINT is too make
 the client interface more flexible. I would consult Luite and Edsko, who
 were instrumental in designing the new hooks interface
 https://ghc.haskell.org/trac/ghc/wiki/Ghc/Hooks
 (I'm not sure if that page is up to date, but I hope so)

 A good way to proceed might be to identify some of the big users of the
 GHC API (I'm sure I don't know them all), discuss with them what would help
 them, and share the results on a wiki page.

 Simon


 |  -Original Message-
 |  From: ghc-devs [mailto:ghc-devs-boun...@haskell.org] On Behalf Of
 |  Richard Eisenberg
 |  Sent: 30 September 2014 03:04
 |  To: Edward Z. Yang
 |  Cc: ghc-devs@haskell.org
 |  Subject: Re: Feedback request for #9628 AST Annotations
 |
 |  I'm only speaking up because Alan is specifically requesting feedback:
 |  I'm really ambivalent about this. I agree with Edward that this is a
 |  big change and adds permanent noise in a lot of places. But, I also
 |  really respect the goal here -- better tool support. Is it worthwhile
 |  to do this using a dynamically typed bit (using Typeable and such),
 |  which would avoid the noise? Maybe.
 |
 |  What do other languages do? Do we know what, say, Agda does to get
 |  such tight coupling with an editor? Does, say, Eclipse have such a
 |  chummy relationship with a Java compiler to do its refactoring, or is
 |  that separately implemented? Haskell/GHC is not the first project to
 |  have this problem, and there's plenty of solutions out there. And,
 |  unlike most other times, I don't think Haskell is exceptional in this
 |  regard (there's nothing very special about Haskell's AST, maybe beyond
 |  indentation-awareness), so we can probably adopt other solutions
 |  nicely.
 |
 |  Richard
 |
 |  On Sep 29, 2014, at 8:58 PM, Edward Z. Yang ezy...@mit.edu wrote:
 |
 |   Excerpts from Alan  Kim Zimmerman's message of 2014-09-29 13:38:45
 |  -0700:
 |   1. Is this change too big, should I scale it back to just update
 |  the
 | HsSyn structures and then lock it down to Located SrcSpan for all
 | the rest?
 |  
 |   I don't claim to speak for the rest of the GHC developers, but I
 |  think
 |   this 

dropWhileEndLE breakage

2014-10-02 Thread Simon Peyton Jones
What's going on here?   No other library module defines this function, except 
in Cabal!
Simon


libraries\base\GHC\Windows.hs:124:16:

Not in scope: 'dropWhileEndLE'

Perhaps you meant 'dropWhileEnd' (imported from Data.OldList)

libraries/base/ghc.mk:4: recipe for target 
'libraries/base/dist-install/build/GHC/Windows.o' failed
___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: dropWhileEndLE breakage

2014-10-02 Thread Austin Seipp
(Replying to ghc-devs@ as well.)

-

Yes, you're quite right. I think a part of the original diff was
actually  missing.

Please update/rebase your tree. I've reverted this in
d6d5c127b86dc186b25add2843cb83fc12e72a85

On Thu, Oct 2, 2014 at 2:48 PM, Simon Peyton Jones
simo...@microsoft.com wrote:
 What’s going on here?   No other library module defines this function,
 except in Cabal!

 Simon



 libraries\base\GHC\Windows.hs:124:16:

 Not in scope: ‘dropWhileEndLE’

 Perhaps you meant ‘dropWhileEnd’ (imported from Data.OldList)

 libraries/base/ghc.mk:4: recipe for target
 'libraries/base/dist-install/build/GHC/Windows.o' failed


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




-- 
Regards,

Austin Seipp, 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: Building ghc on Windows with msys2

2014-10-02 Thread Gintautas Miliauskas
Hi,

 All we need is someone to act as convenor/coordinator and we are good to
go.  Would any of you be willing to play that role?

Indeed, the next thing I was going to ask was about expediting the decision
process. I would be happy to try and coordinate a push in Windows matters.
There is a caveat though: I don't have any skin in the GHC-on-Windows game,
so I will want to move on to other things afterwards.

An advantage of having a working group is that you can *decide* things.  At
 the moment people often wait for GHC HQ to make a decision, and end up
 waiting a long time.  It would be better if a working group was responsible
 for the GHC-on-Windows build and then if (say) you want to mandate msys2,
 you can go ahead and mandate it.  Well, obviously consult ghc-devs for
 advice, but you are in the lead.  Does that make sense?


Sounds great. The question still remains about making changes to code: is
there a particular person with commit rights that we could lean on for code
reviews and committing changes to the main repository?


 I think an early task is to replace what Neil Mitchell encountered: FIVE
 different wiki pages describing how to build GHC on Windows.  We want just
 one!  (Others can perhaps be marked “out of date/archive” rather than
 deleted, but it should be clear which is the main choice.)


Indeed, it's a bit of a mess. I intended to shape up the msys2 page to
serve as the default, but wanted to see more testing done before before
dropping the other pages.


 I agree with using msys2 as the main choice.  (I’m using it myself.)  It
 may be that Gintautas’s page
 https://ghc.haskell.org/trac/ghc/wiki/Building/Preparation/Windows/MSYS2
 is already sufficient.  Although I’d like to see it tested by others.  For
 example, I found that it was CRUCIAL to set MSYSYSTEM=MINGW whereas
 Gintautas’s page says nothing about that.


Are you sure that is a problem? The page specifically instructs to use the
msys64_shell.bat script (through a shortcut) that is included in msys2, and
that script takes care of setting MSYSTEM=MINGW64, among other important
things.

Other small thoughts:

 ·We started including the ghc-tarball stuff because when we
 relied directly on the gcc that came with msys, we kept getting build
 failures because the gcc that some random person happened to be using did
 not work (e..g. they had a too-old or too-new version of msys).  By using a
 single, fixed gcc, we avoided all this pain.


Makes sense. Just curious: why is this less of a problem on GNU/Linux
distros compared to msys2? Does msys2 see comparatively less testing, or is
it generally more bleeding edge?


 ·I don’t know what a “rubenvb” build is, but I think you can go
 ahead and say “use X and Y in this way”.  The important thing is that it
 should be reproducible, and not dependent on the particular Cygwin or gcc
 or whatever the that user happens to have installed.

A rubenvb build is one of the available types of prebuilt binary packages
of mingw for Windows. Let's figure out if there is something more
mainstream and if we can migrate to that.

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


Windows build broken (again)

2014-10-02 Thread Simon Peyton Jones
Sigh.  The testsuite fails utterly on Windows, with thousands of identical 
errors

= tc012(normal) 3039 of 4088 [1, 2677, 88]

cd .\typecheck\should_compile  'C:/code/HEAD/inplace/bin/ghc-stage2.exe' 
-fforce-recomp -dcore-lint -dcmm-lint -dno-debug-output -no-user-package-db 
-rtsopts -fno-ghci-history -c tc012.hs   -fno-warn-incomplete-patterns 
tc012.comp.stderr 21

sh: line 0: cd: .typecheckshould_compile: No such file or directory

Compile failed (status 256) errors were:

*** unexpected failure for tc012(normal)
Presumably this is some kind of Windows escape-character problem.  But it has 
worked fine for years, so what is going on?
It's very tiresome dealing with Windows breakage so frequently.   A few 
regression test failures, maybe, but outright breakage is very bad.
Simon


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


Re: Windows build broken (again)

2014-10-02 Thread Johan Tibell
We need to get a windows build not up for phabricator that stops breaking
changes from getting submitted.
On Oct 2, 2014 10:40 PM, Simon Peyton Jones simo...@microsoft.com wrote:

  Sigh.  The testsuite fails utterly on Windows, with thousands of
 identical errors

 = tc012(normal) 3039 of 4088 [1, 2677, 88]

 cd .\typecheck\should_compile  'C:/code/HEAD/inplace/bin/ghc-stage2.exe'
 -fforce-recomp -dcore-lint -dcmm-lint -dno-debug-output -no-user-package-db
 -rtsopts -fno-ghci-history -c tc012.hs   -fno-warn-incomplete-patterns
 tc012.comp.stderr 21

 sh: line 0: cd: .typecheckshould_compile: No such file or directory

 Compile failed (status 256) errors were:

 *** unexpected failure for tc012(normal)

 Presumably this is some kind of Windows escape-character problem.  But it
 has worked fine for years, so what is going on?

 It’s very tiresome dealing with Windows breakage so frequently.   A few
 regression test failures, maybe, but outright breakage is very bad.

 Simon



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


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


Re: Building ghc on Windows with msys2

2014-10-02 Thread Gintautas Miliauskas
I'm sure we could make git handle the tarballs, but it just seems like the
wrong tool for the job. We'd have to use multiple advanced features of git
where a simple wget/curl would do. Versioning is also a moot point, since
we would embed versions in filenames. In fact, versioning would be easier
and nicer when the filenames with versions are in a file on the main
repository rather than in a submodule.

I was thinking of performing the wget (if necessary) in the Makefile, to
further bring down the number of steps that users have to execute for a
working build. Any strong objections?

Whom should I contact to get some static files deployed in a folder under
haskell.org?

On Mon, Sep 29, 2014 at 11:40 AM, Thomas Miedema thomasmied...@gmail.com
wrote:


  3. Why is ghc-tarballs a git repository? That does not seem very wise.
 [...]
  Could we have a stable folder under haskell.org/ to put the files in,
 to
  make sure that they never go away, and just wget/curl them from there?

 http://thread.gmane.org/gmane.comp.lang.haskell.ghc.devel/4883/focus=4887


 Hmm, that was a while ago. Whom should I contact to get the files
 deployed under haskell.org?


 Here's a different solution to the 'big binary blobs' problem:

 * Keep the ghc-tarballs git repository, and add it as a submodule
 * Make sure it doesn't get cloned by default
 git config -f .gitmodules submodule.ghc-tarballs.update none
 * Windows developers run (after initial clone --recursive of the ghc
 repository, one time):
 git config submodule.ghc-tarballs.update checkout
 git submodule update --depth=1
 * After that, windows developers run the normal:
 git submodule update

 The advantages are:
 * only the most recent ghc-tarballs commit gets cloned initially
 * subsequent 'git submodule update' runs will make sure always the most
 recent version of ghc-tarballs is available
 * full history of ghc-tarballs is tracked, easier bisecting
 * no extra scripts needed

 I don't know how much space overhead git adds. wget-ting just the files
 themselves might still be faster.




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


Re: Windows build broken (again)

2014-10-02 Thread Brandon Allbery
On Thu, Oct 2, 2014 at 4:39 PM, Simon Peyton Jones simo...@microsoft.com
wrote:

 Presumably this is some kind of Windows escape-character problem.  But it
 has worked fine for years, so what is going on?


At a guess, something that was using / is now using \ and getting eaten by
the shell. Or quoting that was preventing the \s from being eaten has been
lost somewhere.

-- 
brandon s allbery kf8nh   sine nomine associates
allber...@gmail.com  ballb...@sinenomine.net
unix, openafs, kerberos, infrastructure, xmonadhttp://sinenomine.net
___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: cabal directory structure under /libraries/ for a lib that uses Rts.h

2014-10-02 Thread Edward Z. Yang
Oh, in this case, it's likely because we're not actually exporting
the symbol.  Check Linker.c, esp the calls to SymI_HasProto.

Edward

Excerpts from Ömer Sinan Ağacan's message of 2014-10-02 02:34:35 -0700:
  Well, which library should it be part of? Add it to the exposed-modules
  list there and it should get compiled.
 
 It's not only a get it compiled problem, even if I add it to base or
 some other lib and get it compiled, it's failing with a undefined
 reference linker error. I'm trying to use a function from
 `rts/RtsFlags.c`. I can define the function elsewhere but I still link
 it with `RtsFlags.c` because I'm using `RtsFlags` from that file.
 
 Any ideas?
 
 ---
 Ömer Sinan Ağacan
 http://osa1.net
___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: dropWhileEndLE breakage

2014-10-02 Thread David Feuer
Simon Peyton Jones asked
 What's going on here?   No other library module defines this function, except 
 in Cabal!
 Simon

That was my fault; I'm very sorry. I had added that function (similar
to Data.List.dropWhileEnd, but not the same) to
compiler/utils/Util.lhs and to another module that used it, and then
forgot it was not available in libraries/base/GHC/.  Since neither
Phab nor I run Windows, there was little hope of catching the mistake
before it went out. I believe Joachim Breitner has fixed the problem
now by using Data.List.dropWhileEnd to construct that error
message—the difference in behavior doesn't matter there.

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