.gitignore of tests

2014-07-29 Thread Dr. ERDI Gergo

Hi,

Is there a good reason we have a single monolithic .gitignore file in 
testuiste/ instead of one per directory? It just feels so unnecessarily 
burdensome to maintain it compared to just putting four lines in a new 
.gitignore file...


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


Re: Dashboard

2014-07-29 Thread Joachim Breitner
Dear Alexander,

Am Dienstag, den 29.07.2014, 03:27 +0400 schrieb Alexander Pakhomov:
 I think automatic regression notification at least to the author is a good 
 idea.
 Probably I can do it in a nearest time. Unfortunately, right now I fail to 
 get your code up.
 Also I believe it is a good style to check commits for regressions before 
 pushing them.
 But maybe GHC community is less performance oriented.

we don’t even enforce that the code compiles and the test suite passes
before pushing, but we are doing ok. Having things checked and reported
after the fact is already a good step forward.

Greetings,
Joachim

-- 
Joachim “nomeata” Breitner
  m...@joachim-breitner.de • http://www.joachim-breitner.de/
  Jabber: nome...@joachim-breitner.de  • GPG-Key: 0xF0FBF51F
  Debian Developer: nome...@debian.org



signature.asc
Description: This is a digitally signed message part
___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: .gitignore of tests

2014-07-29 Thread Herbert Valerio Riedel
Hello!

On 2014-07-29 at 08:25:15 +0200, Dr. ERDI Gergo wrote:
 Is there a good reason we have a single monolithic .gitignore file in
 testuiste/ instead of one per directory? It just feels so
 unnecessarily burdensome to maintain it compared to just putting four
 lines in a new .gitignore file...

That's a good question I've been wondering about as well. I recently
merged a few single .gitignore files I found in testsuite/ sub-folders
into the main testsuite/.gitignore file it was rather inconsistent to
have most stuff listed in the monolithic testsuite/.gitignore file and
just a few deliberate .gitignores in a few sub-folders:

  
http://git.haskell.org/ghc.git/commitdiff/767b9ddf7d2ea2bb99d49372c79be129fc2058ce

The other issue is tooling. Some Git front-ends such as
http://magit.github.io/ don't even recognize non-top-level .gitignore
files (yet), and certainly don't offer to create one if they don't find
it in the current sub-folder (instead magit just adds it to the
top-level gitignore file)

Also, I'm not sure if having .gitignore files sprinkled all over the
source-tree instead of having just a few .gitignore files would be so
much better, as in order to compute the effective .gitignore, you have
to consider the union of all existing .gitignore files up to the
top-level folder (while not crossing Git repo boundaries).

However, we *can* switch to a scheme where we use many little per-folder
.gitignore files, but everyone would have to agree to follow that new
scheme, or we'll end up with a mess of confusing possibly overlapping
.gitignore files.

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


redundant rts/StgPrimFloat decodeDouble?

2014-07-29 Thread Herbert Valerio Riedel
Hello *,

While working on integer-gmp2 I noticed that there seems to be redundant
code between rts/StgPrimFloat.c and integer-gmp. Specifically, there's a

  void
  __decodeDouble_2Int (I_ *man_sign, W_ *man_high, W_ *man_low, I_ *exp,
   StgDouble dbl);

C implementation which does some low-level bit-fiddling on the IEEE
representation instead of just using the more portable standard frexp()
function, like I'm doing in integer-gmp2, e.g.:

  HsInt ​integer_gmp_decode_double (const HsDouble x, HsInt64 *const mantisse)
  ​{
   ​ if (x) {
​  int exp = 0;
  *mantisse = (HsInt64)scalbn(frexp(x, exp), DBL_MANT_DIG);
 ​ return exp-DBL_MANT_DIG;
   ​ } else {
​  *mantisse = 0;
 ​ return 0;
   ​ }
  ​}

A similiar operation exists in integer-gmp/cbits/float.c

So here's my questions:


 1) Is there any reason/value in doing low-level IEEE bit-fiddling instead of
just delegating to the C99/POSIX compliant frexp(3) operations?

 2) Specifically, `decodeDouble_2Int` seems to be dead-code. I'd like to
instead move the 

  HsInt ​integer_gmp_decode_double (const HsDouble x, HsInt64 *const
  mantisse);

which I currently import as

  #if WORD_SIZE_IN_BITS == 32
   foreign import prim integer_gmp_cmm_decode_double 
 cmm_decode_double :: Double# - (# Int64#, Int# #)
  #elif WORD_SIZE_IN_BITS == 64
   foreign import prim integer_gmp_cmm_decode_double 
 cmm_decode_double :: Double# - (# Int#, Int# #)
  #endif

   based on the size of `Int#` into rts/PrimOps.cmm  rts/StgPrimFloat.c
   as that may allow me to avoid any C-- in integer-gmp2 altogether (as I
   only need to go via C-- to return an unboxed pair)


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


Overlapping and incoherent instances

2014-07-29 Thread Simon Peyton Jones
Friends
One of GHC's more widely-used features is overlapping (and sometimes 
incoherent) instances.  The user-manual documentation is 
herehttp://www.haskell.org/ghc/docs/latest/html/users_guide/type-class-extensions.html#instance-overlap.
The use of overlapping/incoherent instances is controlled by LANGUAGE pragmas: 
OverlappingInstances and IncoherentInstances respectively.
However the overlap/incoherent-ness is a property of the *instance declaration* 
itself, and has been for a long time.  Using LANGUAGE OverlappingInstances 
simply sets the I am an overlapping instance flag for every instance 
declaration in that module.
This is a Big Hammer.  It give no clue about *which* particular instances the 
programmer is expecting to be overlapped, nor which are doing the overlapping.  
  It brutally applies to every instance in the module.  Moreover, when looking 
at an instance declaration, there is no nearby clue that it might be 
overlapped.  The clue might be in the command line that compiles that module!
Iavor has recently implemented per-instance-declaration pragmas, so you can say

instance {-# OVERLAPPABLE #-} Show a = Show [a] where ...

instance {-# OVERLAPPING #-} Show [Char] where ...
This is much more precise (it affects only those specific instances) and it is 
much clearer (you see it when you see the instance declaration).
This new feature will be in GHC 7.10 and I'm sure you will be happy about that. 
 But I propose also to deprecate the LANGUAGE pragmas OverlappingInstances and 
IncoherentInstances, as way to encourage everyone to use the new feature 
instead of the old big hammer.  The old LANGUAGE pragmas will continue to work, 
of course, for at least another complete release cycle.  We could make that two 
cycles if it was helpful.
However, if you want deprecation-free libraries, it will entail a wave of 
library updates.
This email is just to warn you, and to let you yell if you think this is a bad 
idea.   It would actually not be difficult to retain the old LANGUAGE pragmas 
indefinitely - it just seems wrong not to actively push authors in the right 
direction.
These deprecations of course popped up in the test suite, so I've been 
replacing them with per-instance pragmas there too.  Interestingly in some 
cases, when looking for which instances needed the pragmas, I found...none. So 
OverlappingInstances was entirely unnecessary.  Maybe library authors will find 
that too!
Simon
___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: Overlapping and incoherent instances

2014-07-29 Thread Herbert Valerio Riedel
On 2014-07-29 at 11:29:45 +0200, Niklas Hambüchen wrote:
 instance {-# OVERLAPPABLE #-} Show a = Show [a] where …

 Is the syntax somewhat flexible in where the pragma can be placed?
 For example, some might prefer

   {-# OVERLAPPING #-}
   instance Show [Char] where …

This variant may also be more convenient in cases where you need to
CPP-guard that pragma, as it's on a separate line.
___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: Overlapping and incoherent instances

2014-07-29 Thread Johan Tibell
On Tue, Jul 29, 2014 at 11:50 AM, Herbert Valerio Riedel h...@gnu.org wrote:
 On 2014-07-29 at 11:29:45 +0200, Niklas Hambüchen wrote:
 instance {-# OVERLAPPABLE #-} Show a = Show [a] where …

 Is the syntax somewhat flexible in where the pragma can be placed?
 For example, some might prefer

   {-# OVERLAPPING #-}
   instance Show [Char] where …

 This variant may also be more convenient in cases where you need to
 CPP-guard that pragma, as it's on a separate line.

Agreed, and if we remove the old pragma (even with a deprecation
cycle) you'll see quite a few of those as many library authors try to
have their libraries compile with the last 3 major GHC versions.

P.S. For e.g. INLINABLE we require that you mention the function name
next to the pragma (which means that you can e.g. put the pragma after
the declaration). What's the rationale to not require

{-# OVERLAPPING Show [Char] #-}

here? Perhaps it's too annoying to have to repeat the types?
___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: .gitignore of tests

2014-07-29 Thread Edward Z . Yang
My 2 cents: I don't really care what we do, as long as (1) it's obvious
where to put new gitignore entries, and (2) the gitignore list is
accurate.  Perhaps the testsuite should learn about Git and offer to
add the files it creates to gitignore?

Cheers,
Edward

Excerpts from Herbert Valerio Riedel's message of 2014-07-29 08:34:40 +0100:
 Hello!
 
 On 2014-07-29 at 08:25:15 +0200, Dr. ERDI Gergo wrote:
  Is there a good reason we have a single monolithic .gitignore file in
  testuiste/ instead of one per directory? It just feels so
  unnecessarily burdensome to maintain it compared to just putting four
  lines in a new .gitignore file...
 
 That's a good question I've been wondering about as well. I recently
 merged a few single .gitignore files I found in testsuite/ sub-folders
 into the main testsuite/.gitignore file it was rather inconsistent to
 have most stuff listed in the monolithic testsuite/.gitignore file and
 just a few deliberate .gitignores in a few sub-folders:
 
   
 http://git.haskell.org/ghc.git/commitdiff/767b9ddf7d2ea2bb99d49372c79be129fc2058ce
 
 The other issue is tooling. Some Git front-ends such as
 http://magit.github.io/ don't even recognize non-top-level .gitignore
 files (yet), and certainly don't offer to create one if they don't find
 it in the current sub-folder (instead magit just adds it to the
 top-level gitignore file)
 
 Also, I'm not sure if having .gitignore files sprinkled all over the
 source-tree instead of having just a few .gitignore files would be so
 much better, as in order to compute the effective .gitignore, you have
 to consider the union of all existing .gitignore files up to the
 top-level folder (while not crossing Git repo boundaries).
 
 However, we *can* switch to a scheme where we use many little per-folder
 .gitignore files, but everyone would have to agree to follow that new
 scheme, or we'll end up with a mess of confusing possibly overlapping
 .gitignore files.
 
 Cheers,
   hvr
___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: Overlapping and incoherent instances

2014-07-29 Thread Daniel Trstenjak

On Tue, Jul 29, 2014 at 12:02:19PM +0200, Johan Tibell wrote:
 What's the rationale to not require
 
 {-# OVERLAPPING Show [Char] #-}
 
 here? Perhaps it's too annoying to have to repeat the types?

This one might be written at the top of the file, so it would be easier
to overlook it, than having it directly at the instance declaration,
which seems to be one of the major points for OVERLAPPING and OVERLAPPABLE.


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


RE: Overlapping and incoherent instances

2014-07-29 Thread Simon Peyton Jones
The current implementation requires the pragma exactly where showed it.

I'm not keen on allowing it to be separated.

I suppose with some more parser jiggery pokery it could be allowed immediately 
before (or, better, after).

But cpp would let you say

instance
#if blah
  {-# OVERLAPPABLE #-}
#endif
  Show a = Show [a] where ...

Simon

| -Original Message-
| From: Johan Tibell [mailto:johan.tib...@gmail.com]
| Sent: 29 July 2014 11:02
| To: Herbert Valerio Riedel
| Cc: Niklas Hambüchen; Haskell Libraries (librar...@haskell.org); GHC
| users; Simon Peyton Jones; ghc-devs
| Subject: Re: Overlapping and incoherent instances
| 
| On Tue, Jul 29, 2014 at 11:50 AM, Herbert Valerio Riedel h...@gnu.org
| wrote:
|  On 2014-07-29 at 11:29:45 +0200, Niklas Hambüchen wrote:
|  instance {-# OVERLAPPABLE #-} Show a = Show [a] where …
| 
|  Is the syntax somewhat flexible in where the pragma can be placed?
|  For example, some might prefer
| 
|{-# OVERLAPPING #-}
|instance Show [Char] where …
| 
|  This variant may also be more convenient in cases where you need to
|  CPP-guard that pragma, as it's on a separate line.
| 
| Agreed, and if we remove the old pragma (even with a deprecation
| cycle) you'll see quite a few of those as many library authors try to
| have their libraries compile with the last 3 major GHC versions.
| 
| P.S. For e.g. INLINABLE we require that you mention the function name
| next to the pragma (which means that you can e.g. put the pragma after
| the declaration). What's the rationale to not require
| 
| {-# OVERLAPPING Show [Char] #-}
| 
| here? Perhaps it's too annoying to have to repeat the types?
___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: Haskell Platform 2014.2.0.0 Release Candidate 2

2014-07-29 Thread George Colpitts
Installation worked fine. However I encountered a problem that looks like a
regression, although it may be a problem with new versions of the package I
am trying to install:

cabal install -j3 glib
Resolving dependencies...
Configuring glib-0.12.5.4...
Building glib-0.12.5.4...
Failed to install glib-0.12.5.4
Build log ( /Users/gcolpitts/.cabal/logs/glib-0.12.5.4.log ):
[1 of 2] Compiling SetupWrapper (
/var/folders/9b/rh4y2gy92hgdb6ktv4df1jv0gn/T/glib-0.12.5.4-27489/glib-0.12.5.4/SetupWrapper.hs,
/var/folders/9b/rh4y2gy92hgdb6ktv4df1jv0gn/T/glib-0.12.5.4-27489/glib-0.12.5.4/dist/setup/SetupWrapper.o
)
[2 of 2] Compiling Main (
/var/folders/9b/rh4y2gy92hgdb6ktv4df1jv0gn/T/glib-0.12.5.4-27489/glib-0.12.5.4/dist/setup/setup.hs,
/var/folders/9b/rh4y2gy92hgdb6ktv4df1jv0gn/T/glib-0.12.5.4-27489/glib-0.12.5.4/dist/setup/Main.o
)
Linking
/var/folders/9b/rh4y2gy92hgdb6ktv4df1jv0gn/T/glib-0.12.5.4-27489/glib-0.12.5.4/dist/setup/setup
...
[1 of 2] Compiling Gtk2HsSetup  ( Gtk2HsSetup.hs,
dist/setup-wrapper/Gtk2HsSetup.o )
[2 of 2] Compiling Main ( SetupMain.hs,
dist/setup-wrapper/Main.o )
Linking dist/setup-wrapper/setup ...
Configuring glib-0.12.5.4...
Building glib-0.12.5.4...
Preprocessing library glib-0.12.5.4...
gtk2hsC2hs: Error in C header file.

/usr/include/dirent.h:147: (column 10) [FATAL]
   Syntax error!
  The symbol `^' does not fit here.

cabal: Error: some packages failed to install:
glib-0.12.5.4 failed during the building phase. The exception was:
ExitFailure 1


On Mon, Jul 28, 2014 at 11:40 AM, Mark Lentczner mark.lentcz...@gmail.com
wrote:

 The long anticipated Haskell Platform 2014.2 release, including GHC 7.8.3,
 and numerous updated packages, is almost here!

 We have created Release Candidate 2 installers for OS X and Windows, and
 believe, barring show stopper issues, creepers exploding, or other bizarre
 phenomenon, these will likely be blessed as the final in a few days time.

 If you would like to be an early adopter, please try 'em out...

- source tarball: haskell-platform-2014.2.0.0-RC2.tar.gz

 http://www.ozonehouse.com/mark/platform/haskell-platform-2014.2.0.0-RC2.tar.gz
- source repo: haskell/haskell-platform at 2014.2.0.0-RC2
https://github.com/haskell/haskell-platform/tree/2014.2.0.0-RC2
- windows 32bit: hskellPlatform-2014.2.0.0-i386-RC2-setup.exe

 http://www.ozonehouse.com/mark/platform/hskellPlatform-2014.2.0.0-i386-RC2-setup.exe
- windows 64bit:hskellPlatform-2014.2.0.0-x86_64-RC2-setup.exe

 http://www.ozonehouse.com/mark/platform/hskellPlatform-2014.2.0.0-x86_64-RC2-setup.exe
- os x 64bit: Haskell Platform 2014.2.0.0 64bit RC2.signed.pkg

 http://www.ozonehouse.com/mark/platform/Haskell%20Platform%202014.2.0.0%2064bit%20RC2.signed.pkg
- travis-ci build: haskell/haskell-platform
https://travis-ci.org/haskell/haskell-platform


 *Notes for RC2, since RC1:*

 *Windows*

  *Extra thanks to Randy Polen for burning the midnight-oil to get ths out*


- removed unneeded python (et al) files from the GHC bindist for
64-bit Windows (referenced in GHC ticket #9014
https://ghc.haskell.org/trac/ghc/ticket/9014)
- added HTML view source pages for the GHC packages that was missing
from the GHC bindist for both 32- and 64-bit Windows.

 *Mac OS X*

 *If you installed RC1, you can remove first with the command  *sudo
 uninstall-hs only 7.8.3 --remove

 *Run it without *--remove* to see what it will do before running, it if
 you like. In theory you can just install this one right on top of RC1
 but hasn't been tested.*


- file layout on the Mac... improved slightly (again). In particular,
executables are now installed directly in $prefix/bin dirs, rather than
within the package dir
- fix the bug with haddock master index not being updated correctly
- works on 10.6! (and 10.7, 10.8, and 10.9) with gcc or clang based
Xcodes
- works on 10.10!!! (Yosemite, developer preview 4 release)

 *Source tarball*

- missing sources in hptool now present
- platform.sh improved somewhat (in particular, handles host cabal
being pre-sandbox)

 *Timetable*

- These can soak amongst the intreped on these lists for a few hours.
- On Monday evening (PST) I'll announce to haskell-cafe and reddit
- End of next week (from my vacation, I'll point out), we'll declare
success and ship.

 — Mark

 *SHA-256 sums:*
 62f39246ad95dd2aed6ece5138f6297f945d2b450f215d074820294310e0c48a  Haskell
 Platform 2014.2.0.0 64bit RC2.signed.pkg
 7c7d3585e89e1407461efea29dcaa9628c3be3c47d93a13b5a4978046375e4fd
  haskell-platform-2014.2.0.0-RC2.tar.gz
 6eedd76aafb266d9a09baff80cd2973498ab59195c771f7cd64425d40be29c49
  hskellPlatform-2014.2.0.0-i386-RC2-setup.exe
 b22115ed84d1f7e747d7f0b47e32e1489e4a24613d69c91df4ae32052f88b130
  hskellPlatform-2014.2.0.0-x86_64-RC2-setup.exe


 ___
 ghc-devs mailing list
 

Re: Haskell Platform 2014.2.0.0 Release Candidate 2

2014-07-29 Thread George Colpitts
apologies, for lack of detail, the following was on a Mac running 10.9.4


On Tue, Jul 29, 2014 at 8:45 AM, George Colpitts george.colpi...@gmail.com
wrote:

 Installation worked fine. However I encountered a problem that looks like
 a regression, although it may be a problem with new versions of the package
 I am trying to install:

 cabal install -j3 glib
 Resolving dependencies...
 Configuring glib-0.12.5.4...
 Building glib-0.12.5.4...
 Failed to install glib-0.12.5.4
 Build log ( /Users/gcolpitts/.cabal/logs/glib-0.12.5.4.log ):
 [1 of 2] Compiling SetupWrapper (
 /var/folders/9b/rh4y2gy92hgdb6ktv4df1jv0gn/T/glib-0.12.5.4-27489/glib-0.12.5.4/SetupWrapper.hs,
 /var/folders/9b/rh4y2gy92hgdb6ktv4df1jv0gn/T/glib-0.12.5.4-27489/glib-0.12.5.4/dist/setup/SetupWrapper.o
 )
 [2 of 2] Compiling Main (
 /var/folders/9b/rh4y2gy92hgdb6ktv4df1jv0gn/T/glib-0.12.5.4-27489/glib-0.12.5.4/dist/setup/setup.hs,
 /var/folders/9b/rh4y2gy92hgdb6ktv4df1jv0gn/T/glib-0.12.5.4-27489/glib-0.12.5.4/dist/setup/Main.o
 )
 Linking
 /var/folders/9b/rh4y2gy92hgdb6ktv4df1jv0gn/T/glib-0.12.5.4-27489/glib-0.12.5.4/dist/setup/setup
 ...
 [1 of 2] Compiling Gtk2HsSetup  ( Gtk2HsSetup.hs,
 dist/setup-wrapper/Gtk2HsSetup.o )
 [2 of 2] Compiling Main ( SetupMain.hs,
 dist/setup-wrapper/Main.o )
 Linking dist/setup-wrapper/setup ...
 Configuring glib-0.12.5.4...
 Building glib-0.12.5.4...
 Preprocessing library glib-0.12.5.4...
 gtk2hsC2hs: Error in C header file.

 /usr/include/dirent.h:147: (column 10) [FATAL]
Syntax error!
   The symbol `^' does not fit here.

 cabal: Error: some packages failed to install:
 glib-0.12.5.4 failed during the building phase. The exception was:
 ExitFailure 1


 On Mon, Jul 28, 2014 at 11:40 AM, Mark Lentczner mark.lentcz...@gmail.com
  wrote:

 The long anticipated Haskell Platform 2014.2 release, including GHC
 7.8.3, and numerous updated packages, is almost here!

 We have created Release Candidate 2 installers for OS X and Windows,
 and believe, barring show stopper issues, creepers exploding, or other
 bizarre phenomenon, these will likely be blessed as the final in a few days
 time.

 If you would like to be an early adopter, please try 'em out...

- source tarball: haskell-platform-2014.2.0.0-RC2.tar.gz

 http://www.ozonehouse.com/mark/platform/haskell-platform-2014.2.0.0-RC2.tar.gz
- source repo: haskell/haskell-platform at 2014.2.0.0-RC2
https://github.com/haskell/haskell-platform/tree/2014.2.0.0-RC2
- windows 32bit: hskellPlatform-2014.2.0.0-i386-RC2-setup.exe

 http://www.ozonehouse.com/mark/platform/hskellPlatform-2014.2.0.0-i386-RC2-setup.exe
- windows 64bit:hskellPlatform-2014.2.0.0-x86_64-RC2-setup.exe

 http://www.ozonehouse.com/mark/platform/hskellPlatform-2014.2.0.0-x86_64-RC2-setup.exe
- os x 64bit: Haskell Platform 2014.2.0.0 64bit RC2.signed.pkg

 http://www.ozonehouse.com/mark/platform/Haskell%20Platform%202014.2.0.0%2064bit%20RC2.signed.pkg
- travis-ci build: haskell/haskell-platform
https://travis-ci.org/haskell/haskell-platform


 *Notes for RC2, since RC1:*

 *Windows*

  *Extra thanks to Randy Polen for burning the midnight-oil to get ths
 out*


- removed unneeded python (et al) files from the GHC bindist for
64-bit Windows (referenced in GHC ticket #9014
https://ghc.haskell.org/trac/ghc/ticket/9014)
- added HTML view source pages for the GHC packages that was
missing from the GHC bindist for both 32- and 64-bit Windows.

 *Mac OS X*

 *If you installed RC1, you can remove first with the command  *sudo
 uninstall-hs only 7.8.3 --remove

 *Run it without *--remove* to see what it will do before running, it if
 you like. In theory you can just install this one right on top of RC1
 but hasn't been tested.*


- file layout on the Mac... improved slightly (again). In particular,
executables are now installed directly in $prefix/bin dirs, rather than
within the package dir
- fix the bug with haddock master index not being updated correctly
- works on 10.6! (and 10.7, 10.8, and 10.9) with gcc or clang based
Xcodes
- works on 10.10!!! (Yosemite, developer preview 4 release)

 *Source tarball*

- missing sources in hptool now present
- platform.sh improved somewhat (in particular, handles host cabal
being pre-sandbox)

 *Timetable*

- These can soak amongst the intreped on these lists for a few
hours.
- On Monday evening (PST) I'll announce to haskell-cafe and reddit
- End of next week (from my vacation, I'll point out), we'll declare
success and ship.

 — Mark

 *SHA-256 sums:*
 62f39246ad95dd2aed6ece5138f6297f945d2b450f215d074820294310e0c48a  Haskell
 Platform 2014.2.0.0 64bit RC2.signed.pkg
 7c7d3585e89e1407461efea29dcaa9628c3be3c47d93a13b5a4978046375e4fd
  haskell-platform-2014.2.0.0-RC2.tar.gz
 6eedd76aafb266d9a09baff80cd2973498ab59195c771f7cd64425d40be29c49
  

Re: Haskell Platform 2014.2.0.0 Release Candidate 2

2014-07-29 Thread George Colpitts
rc2 fixes  the problem with ghc-pkg check I saw on rc1. Independently it is
clear that the hmatrix package has a problem:

 ghc-pkg check
bash-3.2$ cabal install -j3 hmatrix
Resolving dependencies...
Configuring storable-complex-0.2.1...
Building storable-complex-0.2.1...
Installed storable-complex-0.2.1
Configuring hmatrix-0.16.0.4...
Building hmatrix-0.16.0.4...
Installed hmatrix-0.16.0.4
Updating documentation index
/Users/gcolpitts/Library/Haskell/share/doc/index.html
bash-3.2$ ghc-pkg check
Warning: library-dirs: /opt/local/lib/ doesn't exist or isn't a directory
Warning: include-dirs: /opt/local/include/ doesn't exist or isn't a
directory


On Mon, Jul 28, 2014 at 11:40 AM, Mark Lentczner mark.lentcz...@gmail.com
wrote:

 The long anticipated Haskell Platform 2014.2 release, including GHC 7.8.3,
 and numerous updated packages, is almost here!

 We have created Release Candidate 2 installers for OS X and Windows, and
 believe, barring show stopper issues, creepers exploding, or other bizarre
 phenomenon, these will likely be blessed as the final in a few days time.

 If you would like to be an early adopter, please try 'em out...

- source tarball: haskell-platform-2014.2.0.0-RC2.tar.gz

 http://www.ozonehouse.com/mark/platform/haskell-platform-2014.2.0.0-RC2.tar.gz
- source repo: haskell/haskell-platform at 2014.2.0.0-RC2
https://github.com/haskell/haskell-platform/tree/2014.2.0.0-RC2
- windows 32bit: hskellPlatform-2014.2.0.0-i386-RC2-setup.exe

 http://www.ozonehouse.com/mark/platform/hskellPlatform-2014.2.0.0-i386-RC2-setup.exe
- windows 64bit:hskellPlatform-2014.2.0.0-x86_64-RC2-setup.exe

 http://www.ozonehouse.com/mark/platform/hskellPlatform-2014.2.0.0-x86_64-RC2-setup.exe
- os x 64bit: Haskell Platform 2014.2.0.0 64bit RC2.signed.pkg

 http://www.ozonehouse.com/mark/platform/Haskell%20Platform%202014.2.0.0%2064bit%20RC2.signed.pkg
- travis-ci build: haskell/haskell-platform
https://travis-ci.org/haskell/haskell-platform


 *Notes for RC2, since RC1:*

 *Windows*

  *Extra thanks to Randy Polen for burning the midnight-oil to get ths out*


- removed unneeded python (et al) files from the GHC bindist for
64-bit Windows (referenced in GHC ticket #9014
https://ghc.haskell.org/trac/ghc/ticket/9014)
- added HTML view source pages for the GHC packages that was missing
from the GHC bindist for both 32- and 64-bit Windows.

 *Mac OS X*

 *If you installed RC1, you can remove first with the command  *sudo
 uninstall-hs only 7.8.3 --remove

 *Run it without *--remove* to see what it will do before running, it if
 you like. In theory you can just install this one right on top of RC1
 but hasn't been tested.*


- file layout on the Mac... improved slightly (again). In particular,
executables are now installed directly in $prefix/bin dirs, rather than
within the package dir
- fix the bug with haddock master index not being updated correctly
- works on 10.6! (and 10.7, 10.8, and 10.9) with gcc or clang based
Xcodes
- works on 10.10!!! (Yosemite, developer preview 4 release)

 *Source tarball*

- missing sources in hptool now present
- platform.sh improved somewhat (in particular, handles host cabal
being pre-sandbox)

 *Timetable*

- These can soak amongst the intreped on these lists for a few hours.
- On Monday evening (PST) I'll announce to haskell-cafe and reddit
- End of next week (from my vacation, I'll point out), we'll declare
success and ship.

 — Mark

 *SHA-256 sums:*
 62f39246ad95dd2aed6ece5138f6297f945d2b450f215d074820294310e0c48a  Haskell
 Platform 2014.2.0.0 64bit RC2.signed.pkg
 7c7d3585e89e1407461efea29dcaa9628c3be3c47d93a13b5a4978046375e4fd
  haskell-platform-2014.2.0.0-RC2.tar.gz
 6eedd76aafb266d9a09baff80cd2973498ab59195c771f7cd64425d40be29c49
  hskellPlatform-2014.2.0.0-i386-RC2-setup.exe
 b22115ed84d1f7e747d7f0b47e32e1489e4a24613d69c91df4ae32052f88b130
  hskellPlatform-2014.2.0.0-x86_64-RC2-setup.exe


 ___
 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: Overlapping and incoherent instances

2014-07-29 Thread Herbert Valerio Riedel

On 2014-07-29 at 14:13:22 +0200, Richard Eisenberg wrote:
 Are folks very keen to have *warning-free* compilation on several GHC
 versions? Personally, I would aim for warning-free compilation on a
 most recent version, and otherwise successful compilation on older
 versions.

IMO: In typical build-bot configurations where you test against multiple
GHC versions you often the warnings to be turned into errors via
-Werror, as otherwise you wouldn't notice them. After all, warnings are
hints about something that may need to be looked at, and if they turn
out to be harmless, the specific warning can be turned off on a
case-by-case basis (which alas, in GHC's case is a bit difficult, as for
instance, you can't turn off a specific warning for a single declaration
only, but only for a whole module)

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


Re: Haskell Platform 2014.2.0.0 Release Candidate 2

2014-07-29 Thread George Colpitts
Weird that I didn't have this problem with rc1

On Tuesday, July 29, 2014, Brandon Allbery allber...@gmail.com wrote:

 On Tue, Jul 29, 2014 at 7:45 AM, George Colpitts 
 george.colpi...@gmail.com
 javascript:_e(%7B%7D,'cvml','george.colpi...@gmail.com'); wrote:

 Installation worked fine. However I encountered a problem that looks like
 a regression, although it may be a problem with new versions of the package
 I am trying to install:


 It's not an H-P problem; Apple's started using their BLOCKS C extension in
 system headers, and gtk2hsc2hs doesn't understand it. (And possibly is not
 using cpp properly when processing headers.) You'll need to take this up
 with the gtk2hs folks.

 #ifdef __BLOCKS__
 int scandir_b(const char *, struct dirent ***,
 int (^)(const struct dirent *), int (^)(const struct dirent **,
 const struct
  dirent **)) __DARWIN_INODE64(scandir_b)
 __OSX_AVAILABLE_STARTING(__MAC_10_6, __
 IPHONE_3_2);
 #endif /* __BLOCKS__ */

 --
 brandon s allbery kf8nh   sine nomine
 associates
 allber...@gmail.com javascript:_e(%7B%7D,'cvml','allber...@gmail.com');
  ballb...@sinenomine.net
 javascript:_e(%7B%7D,'cvml','ballb...@sinenomine.net');
 unix, openafs, kerberos, infrastructure, xmonad
 http://sinenomine.net

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


RE: Overlapping and incoherent instances

2014-07-29 Thread Simon Peyton Jones
CAN_OVERLAP and CAN_BE_OVERLAPPED?

(instead of OVERLAPPING and OVERLAPPABLE)

Or CAN-OVERLAP, CAN-BE-OVERLAPPED

That’s ok with me if that’s what you all want!

Simon

From: Glasgow-haskell-users [mailto:glasgow-haskell-users-boun...@haskell.org] 
On Behalf Of Krzysztof Skrzetnicki
Sent: 29 July 2014 16:56
To: Brandon Allbery
Cc: Simon Peyton Jones; Andreas Abel; GHC users; Haskell Libraries 
(librar...@haskell.org); ghc-devs
Subject: Re: Overlapping and incoherent instances


How about CAN_OVERLAP?

--
Krzysztof
29-07-2014 15:40, Brandon Allbery 
allber...@gmail.commailto:allber...@gmail.com napisał(a):
On Tue, Jul 29, 2014 at 8:33 AM, Andreas Abel 
andreas.a...@ifi.lmu.demailto:andreas.a...@ifi.lmu.de wrote:
+1. I like Niklas' syntax better.  Also OVERLAPPABLE is a horrible word, 
OVERLAPPING sound less formidable (even though it might be slightly less 
accurrate).

We already get overlap ok in instance-related type errors, so OVERLAP_OK 
wouldn't be particularly alien even if it doesn't quite fit in with existing 
pragmas.

--
brandon s allbery kf8nh   sine nomine associates
allber...@gmail.commailto:allber...@gmail.com 
 ballb...@sinenomine.netmailto:ballb...@sinenomine.net
unix, openafs, kerberos, infrastructure, xmonadhttp://sinenomine.net

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


RE: Overlapping and incoherent instances

2014-07-29 Thread Simon Peyton Jones
| One other issue this brings up: how does this all interact with -XSafe?
| Right now, Safety can be inferred by looking at the set of LANGUAGE
| pragmas and the import list. (Right?) With the change as implemented,
| Safe inference would require looking at all instance declarations. Is
| this OK?

I'm honestly not sure, but I do know that, in the implementation, each instance 
declaration keeps track of (a) whether it is 
OVERLAPPABLE/OVERLAPPING/INCOHERENT, and (b) the setting of -XSafe in the 
module where the instance declaration is given.

This doesn't change.  So I can't answer your question directly, but I think 
that the behaviour is unchanged from that at present.

Simon

| 
| Richard
| 
| On Jul 29, 2014, at 7:02 AM, Simon Peyton Jones simo...@microsoft.com
| wrote:
| 
|  The current implementation requires the pragma exactly where showed
| it.
| 
|  I'm not keen on allowing it to be separated.
| 
|  I suppose with some more parser jiggery pokery it could be allowed
| immediately before (or, better, after).
| 
|  But cpp would let you say
| 
|  instance
|  #if blah
|   {-# OVERLAPPABLE #-}
|  #endif
|   Show a = Show [a] where ...
| 
|  Simon
| 
|  | -Original Message-
|  | From: Johan Tibell [mailto:johan.tib...@gmail.com]
|  | Sent: 29 July 2014 11:02
|  | To: Herbert Valerio Riedel
|  | Cc: Niklas Hambüchen; Haskell Libraries (librar...@haskell.org);
| GHC
|  | users; Simon Peyton Jones; ghc-devs
|  | Subject: Re: Overlapping and incoherent instances
|  |
|  | On Tue, Jul 29, 2014 at 11:50 AM, Herbert Valerio Riedel
|  | h...@gnu.org
|  | wrote:
|  |  On 2014-07-29 at 11:29:45 +0200, Niklas Hambüchen wrote:
|  |  instance {-# OVERLAPPABLE #-} Show a = Show [a] where .
|  | 
|  |  Is the syntax somewhat flexible in where the pragma can be
| placed?
|  |  For example, some might prefer
|  | 
|  |{-# OVERLAPPING #-}
|  |instance Show [Char] where .
|  | 
|  |  This variant may also be more convenient in cases where you need
|  |  to CPP-guard that pragma, as it's on a separate line.
|  |
|  | Agreed, and if we remove the old pragma (even with a deprecation
|  | cycle) you'll see quite a few of those as many library authors try
|  | to have their libraries compile with the last 3 major GHC versions.
|  |
|  | P.S. For e.g. INLINABLE we require that you mention the function
|  | name next to the pragma (which means that you can e.g. put the
|  | pragma after the declaration). What's the rationale to not require
|  |
|  | {-# OVERLAPPING Show [Char] #-}
|  |
|  | here? Perhaps it's too annoying to have to repeat the types?
|  ___
|  Glasgow-haskell-users mailing list
|  glasgow-haskell-us...@haskell.org
|  http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
| 

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


Windows build broken -- again!

2014-07-29 Thread Simon Peyton Jones
Aaargh!
My windows build is, once again, broken.   The error is below.  Could whoever 
broke it please fix it?  Something to do with blocking_queue_hd perhaps?
Please.
Thanks
Simon

rts\win32\AsyncIO.c: In function 'awaitRequests':



rts\win32\AsyncIO.c:289:23:

 error: 'blocking_queue_hd' undeclared (first use in this function)



rts\win32\AsyncIO.c:289:23:

 note: each undeclared identifier is reported only once for each function 
it appears in

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


Re: Overlapping and incoherent instances

2014-07-29 Thread Stephen Paul Weber

Somebody signing messages as Felipe Lessa wrote:

OTOH, the pragma is mostly harmless for older GHC versions, while the
keyword approach needs a preprocessor.


Only if *both* the old LANGUAGE pragma and the new pragma were employed, 
which will generate a deprecation warning for awhile and then eventually 
(likely) be rejected by newer GHCs, thus requiring a prepropcessor in either 
case.


--
Stephen Paul Weber, @singpolyma
See http://singpolyma.net for how I prefer to be contacted
edition right joseph
___
ghc-devs mailing list
ghc-devs@haskell.org
http://www.haskell.org/mailman/listinfo/ghc-devs


Re: Windows build broken -- again!

2014-07-29 Thread Austin Seipp
Thanks Niklas - this was an utter failure on my part. I'm not even
sure how this slipped in, but it was definitely my fault. Fixed in
6640635e6e2654f0acd8f10e0d02a8bd1c8296ff

On Tue, Jul 29, 2014 at 8:53 PM, Niklas Larsson metanik...@gmail.com wrote:
 Hi!

 Seems like it is the detabbing in commit 3021fb that has gone awry,
 blocked_queue_hd was renamed blocking_queue_hd in one place. I have attached
 a patch.

 I really need to set up a buildbot. Maybe if the weather gets worse.

 Niklas



 2014-07-30 0:37 GMT+02:00 Simon Peyton Jones simo...@microsoft.com:

 Aaargh!

 My windows build is, once again, broken.   The error is below.  Could
 whoever broke it please fix it?  Something to do with “blocking_queue_hd”
 perhaps?

 Please.

 Thanks

 Simon

 rts\win32\AsyncIO.c: In function 'awaitRequests':



 rts\win32\AsyncIO.c:289:23:

  error: 'blocking_queue_hd' undeclared (first use in this function)



 rts\win32\AsyncIO.c:289:23:

  note: each undeclared identifier is reported only once for each
 function it appears in




 ___
 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




-- 
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