Re: [Haskell-cafe] ANNOUCE: Haddock 2.10.0 and 2.11.0

2012-09-07 Thread Ivan Lazar Miljenovic
On 7 September 2012 23:19, David Waern  wrote:
> 
> -- Haddock 2.10.0 and 2.11.0
> 
>
> Two new versions of Haddock have been uploaded to Hackage: version
> 2.10.0 which comes with GHC 7.4.2 and 2.11.0 which comes with the new
> GHC 7.6.1!
>
> 
> -- Changes in version 2.12.0
> 

So either your changelog has the wrong versions, or else you listed
the wrong versions above? ;-)

(Or are you just teasing us with the features we'll have with Haddock
when GHC 7.8 comes out?)

More seriously, it seems there's an error building even 2.12.0 with
GHC 7.6; is that correct?
http://hackage.haskell.org/packages/archive/haddock/2.12.0/logs/failure/ghc-7.6

>
>  * Labeled URLs (e.g )
>
>  * Improved memory usage (new dependency: deepseq)
>
> 
> -- Changes in version 2.11.0
> 
>
>  * Show deprecation messages for identifiers
>
>  * List identifiers declared on the same line (with a common type) separately
>
>  * Don't crash on unicode strings in doc comments
>
>  * Fix reporting of modules safe haskell mode
>
>  * Fix a case where we were generating invalid xhtml
>
>  * Improved --qual option (no crashes, proper error messages)
>
>  * A new --qual option "aliased" which qualifies identifers by the module 
> alias
>used in the source code
>
>  * The Haddock API restores GHC's static flags after invocation
>
>  * Access to unexported identifiers through the Haddock API again
>
> 
> -- Links
> 
>
> Homepage:
>  http://www.haskell.org/haddock
>
> Hackage page:
>  http://hackage.haskell.org/package/haddock-2.12.0
>
> Bugtracker and wiki:
>  http://trac.haskell.org/haddock
>
> Mailing list:
>  hadd...@projects.haskell.org
>
> Code repository:
>  http://darcs.haskell.org/haddock.git
>
> 
> -- Contributors
> 
>
> The following people contributed patches to this release:
>
> Paolo Capriotti
> Simon Hengel
> Ian Lynagh
> Simon Peyton Jones
> Iavor S. Diatchki
> David Terei
> Henning Thielemann
> David Waern
>
> 
> -- Get Involved
> 
>
> We would be very happy to get more contributors. To get involved, start by
> grabbing the code:
>
>  http://darcs.haskell.org/haddock.git
>
> Then take a look at the bug and feature tracker for things to work on:
>
>  http://trac.haskell.org/haddock
>
> ___
> Haskell-Cafe mailing list
> Haskell-Cafe@haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe



-- 
Ivan Lazar Miljenovic
ivan.miljeno...@gmail.com
http://IvanMiljenovic.wordpress.com

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] performance issues with popCount

2012-09-07 Thread Johan Tibell
On Fri, Sep 7, 2012 at 4:54 AM, Nicolas Trangez  wrote:
> On Thu, 2012-09-06 at 12:07 -0700, Johan Tibell wrote:
>> Have a look at the popCount implementation for e.g. Int, which are
>> written in C and called through the FFI:
>>
>> https://github.com/ghc/packages-ghc-prim/blob/master/cbits/popcnt.c
>
> Out of interest: isn't this compiled into the popCnt# primop (and popcnt
> instruction on SSE4.2)?

It's the other way around the popCnt# primop is compiled into either
calls to these C functions or into the popcnt instruction, if -msse4.2
is given.

> I recently noticed Data.IntSet also contains a fairly basic "bitcount"
> implementation [1]. Is this kept as-is for a reason, instead of using
> popCount from Data.Bits?

I don't think so, except that we want to support the last 3 released
versions of GHC so we need to have a fallback if Data.Bits.popCount
isn't defined.

-- Johan

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Haskell with all the safeties off

2012-09-07 Thread Edward Z. Yang
Excerpts from David Feuer's message of Fri Sep 07 12:06:00 -0400 2012:
> They're not *usually* desirable, but when the code has been proven not to
> fall into bottom, there doesn't seem to be much point in ensuring that
> things will work right if it does. This sort of thing only really makes
> sense when using Haskell as a compiler target.

OK, so it sounds like what you're more looking for is a way of giving
extra information to GHC's strictness analyzer, so that it is more
willing to unbox/skip making thunks even when the analyzer itself isn't
able to figure it out.  But it seems to me that in any such case, there
might be a way to add seq's which have equivalent effect.

Edward

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Haskell with all the safeties off

2012-09-07 Thread David Feuer
On Sep 7, 2012 2:00 AM, "Edward Z. Yang" @
mit.edu > wrote:
>
> Haskell already does this, to some extent, in the design of imprecise
> exceptions.  But note that bottom *does* have well defined behavior, so
> these "optimizations" are not very desirable.

They're not *usually* desirable, but when the code has been proven not to
fall into bottom, there doesn't seem to be much point in ensuring that
things will work right if it does. This sort of thing only really makes
sense when using Haskell as a compiler target.

> Edward
>
> Excerpts from David Feuer's message of Thu Sep 06 19:35:43 -0400 2012:
> > I have no plans to do such a thing anytime soon, but is there a way to
tell
> > GHC to allow nasal demons to fly if the program forces bottom? This
mode of
> > operation would seem to be a useful optimization when compiling a
program
> > produced by Coq or similar, enabling various transformations that can
turn
> > bottom into non-bottom, eliminating runtime checks in incomplete
patterns,
> > etc.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] parsing ghc type errors

2012-09-07 Thread Semen Trygubenko
Dear Haskell-cafe,

When dealing with ghc type errors I often see messages like

Couldn't match expected type `ghc-prim:GHC.Types.IO{tc 32I}
MyTypeNameHere{tc r1d8}'
with actual type `ghc-prim:GHC.Types.IO{tc 32I}
MyOtherTypeNameHere{tc r1d8}'

Could you please help me understand the meaning of the entities
in {} and why are they useful, or point to a source of information about them?

Messages where familiar types are referenced are easy to read,
but occasionally I get messages of the sort

with actual type `[( b0{tv t3p} [tau] :: ghc-prim:GHC.Prim.*{(w) tc 
34d} )]'

How do I go about reading the type

[( b0{tv t3p} [tau] :: ghc-prim:GHC.Prim.*{(w) tc 34d} )]

?

E.g., where the names 'b0' and '[tau]' come from?
What does '(w)' in '{(w) tc 34d}' mean?


Thank you,
Semen

-- 
Семен Тригубенко


signature.asc
Description: Digital signature
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] ANNOUCE: Haddock 2.10.0 and 2.11.0

2012-09-07 Thread Alfredo Di Napoli
Great news!

On 7 September 2012 13:19, David Waern  wrote:

> 
> -- Haddock 2.10.0 and 2.11.0
> 
>
> Two new versions of Haddock have been uploaded to Hackage: version
> 2.10.0 which comes with GHC 7.4.2 and 2.11.0 which comes with the new
> GHC 7.6.1!
>
> 
> -- Changes in version 2.12.0
> 
>
>  * Labeled URLs (e.g )
>
>  * Improved memory usage (new dependency: deepseq)
>
> 
> -- Changes in version 2.11.0
> 
>
>  * Show deprecation messages for identifiers
>
>  * List identifiers declared on the same line (with a common type)
> separately
>
>  * Don't crash on unicode strings in doc comments
>
>  * Fix reporting of modules safe haskell mode
>
>  * Fix a case where we were generating invalid xhtml
>
>  * Improved --qual option (no crashes, proper error messages)
>
>  * A new --qual option "aliased" which qualifies identifers by the module
> alias
>used in the source code
>
>  * The Haddock API restores GHC's static flags after invocation
>
>  * Access to unexported identifiers through the Haddock API again
>
> 
> -- Links
> 
>
> Homepage:
>  http://www.haskell.org/haddock
>
> Hackage page:
>  http://hackage.haskell.org/package/haddock-2.12.0
>
> Bugtracker and wiki:
>  http://trac.haskell.org/haddock
>
> Mailing list:
>  hadd...@projects.haskell.org
>
> Code repository:
>  http://darcs.haskell.org/haddock.git
>
> 
> -- Contributors
> 
>
> The following people contributed patches to this release:
>
> Paolo Capriotti
> Simon Hengel
> Ian Lynagh
> Simon Peyton Jones
> Iavor S. Diatchki
> David Terei
> Henning Thielemann
> David Waern
>
> 
> -- Get Involved
> 
>
> We would be very happy to get more contributors. To get involved, start by
> grabbing the code:
>
>  http://darcs.haskell.org/haddock.git
>
> Then take a look at the bug and feature tracker for things to work on:
>
>  http://trac.haskell.org/haddock
>
> ___
> Haskell-Cafe mailing list
> Haskell-Cafe@haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] ANNOUCE: Haddock 2.10.0 and 2.11.0

2012-09-07 Thread David Waern

-- Haddock 2.10.0 and 2.11.0


Two new versions of Haddock have been uploaded to Hackage: version
2.10.0 which comes with GHC 7.4.2 and 2.11.0 which comes with the new
GHC 7.6.1!


-- Changes in version 2.12.0


 * Labeled URLs (e.g )

 * Improved memory usage (new dependency: deepseq)


-- Changes in version 2.11.0


 * Show deprecation messages for identifiers

 * List identifiers declared on the same line (with a common type) separately

 * Don't crash on unicode strings in doc comments

 * Fix reporting of modules safe haskell mode

 * Fix a case where we were generating invalid xhtml

 * Improved --qual option (no crashes, proper error messages)

 * A new --qual option "aliased" which qualifies identifers by the module alias
   used in the source code

 * The Haddock API restores GHC's static flags after invocation

 * Access to unexported identifiers through the Haddock API again


-- Links


Homepage:
 http://www.haskell.org/haddock

Hackage page:
 http://hackage.haskell.org/package/haddock-2.12.0

Bugtracker and wiki:
 http://trac.haskell.org/haddock

Mailing list:
 hadd...@projects.haskell.org

Code repository:
 http://darcs.haskell.org/haddock.git


-- Contributors


The following people contributed patches to this release:

Paolo Capriotti
Simon Hengel
Ian Lynagh
Simon Peyton Jones
Iavor S. Diatchki
David Terei
Henning Thielemann
David Waern


-- Get Involved


We would be very happy to get more contributors. To get involved, start by
grabbing the code:

 http://darcs.haskell.org/haddock.git

Then take a look at the bug and feature tracker for things to work on:

 http://trac.haskell.org/haddock

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] performance issues with popCount

2012-09-07 Thread Nicolas Trangez
On Thu, 2012-09-06 at 12:07 -0700, Johan Tibell wrote:
> Have a look at the popCount implementation for e.g. Int, which are
> written in C and called through the FFI:
> 
> https://github.com/ghc/packages-ghc-prim/blob/master/cbits/popcnt.c 

Out of interest: isn't this compiled into the popCnt# primop (and popcnt
instruction on SSE4.2)?

I recently noticed Data.IntSet also contains a fairly basic "bitcount"
implementation [1]. Is this kept as-is for a reason, instead of using
popCount from Data.Bits?

Nicolas

[1]
https://github.com/ghc/packages-containers/blob/master/Data/IntSet/Base.hs#L1459


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] ANNOUNCE: haskell-src-exts 1.13.5

2012-09-07 Thread Niklas Broberg
Fellow Haskelleers,

I'm pleased to announce the release of haskell-src-exts-1.13.5!

* On hackage: http://hackage.haskell.org/package/haskell-src-exts
* Via cabal: cabal install haskell-src-exts
* Darcs repo: http://code.haskell.org/haskell-src-exts

There are two primary reasons for this release: 1) to add the requested
support for UHC's 'js' FFI calling convention (in 1.13.4), and 2) to export
a stand-alone token stream lexer (in 1.13.5).

NOTE: If after reading the above, you think "wow, a token stream lexer,
I'll use that for some kind of refactoring tool", then you're most likely
wrong. Please contact me in that case and I'll tell you why. :-)

A probably unnecessary warning: This release may fail to parse some files
that were previously possible to parse, if they included RULES pragmas
using 'forall' as a varid. I really doubt any such exist, and they would
not have been accepted by GHC if they did, so I sincerely doubt that anyone
will be effected by this.

Changelog:

1.13.4 --> 1.13.5
===

* Expose Language.Haskell.Exts.Lexer, which implements
  a standalone token stream lexer. The module is
  re-exported both by Language.Haskell.Exts and by
  Language.Haskell.Exts.Annotated.

1.13.3 --> 1.13.4
===

* Fix bug where operators starting with # written in
  parentheses would not be parsed when UnboxedTuples is
  turned on. Now works.

* Allow 'family' and 'forall' as (non-type) varid's. This
  adds one more shift/reduce conflict to the parser, and
  its resolution means that '{-# RULES "name" forall = ... #-}'
  is not allowed.

* Complete the set of FFI calling conventions from the Haskell
  2010 report (even if no compiler implements them). Also
  include the 'js' calling convention, supported by UHC.


Cheers,

/Niklas
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe