Re: [Haskell] ANNOUNCE: GHC version 7.6.1

2012-09-06 Thread Dennis Felsing
On 2012-09-07T09:00+1000, Ivan Lazar Miljenovic wrote:
> >   * It is now possible to defer type errors until runtime using the
> > -fdefer-type-errors flag.
> 
> Is this flag reversible in ghci, so I can :set it to check what's
> going wrong with some code and then :unset it again?

As you can see on
http://www.haskell.org/ghc/docs/7.6.1/html/users_guide/flag-reference.html
-fdefer-type-errors is dynamic, so you can reverse it using
-fno-defer-type-errors.

___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re: Type operators in GHC

2012-09-06 Thread Conal Elliott
Oh dear. I'm very sorry to have missed this discussion back in January. I'd
be awfully sad to lose pretty infix notation for type variables of kind *
-> * -> *. I use them extensively in my libraries and projects, and pretty
notation matters.

I'd be okay switching to some convention other than lack of leading ':' for
signaling that a symbol is a type variable rather than constructor, e.g.,
the *presence* of a leading character such as '.'.

Given the increasing use of arrow-ish techniques and of type-level
programming, I would not classify the up-to-7.4 behavior as a "foolish
consistency", especially going forward.

-- Conal


On Wed, Jan 18, 2012 at 6:27 AM, Simon Peyton-Jones
wrote:

> Dear GHC users
>
> As part of beefing up the kind system, we plan to implement the "Type
> operators" proposal for Haskell Prime
> http://hackage.haskell.org/trac/haskell-prime/wiki/InfixTypeConstructors
>
> GHC has had type operators for some kind, so you can say
> data a :+: b = Left a | Right b
> but you can only do that for operators which start with ":".
>
> As part of the above wiki page you can see the proposal to broaden this to
> ALL operators, allowing
> data a + b = Left a | Right b
>
> Although this technically inconsistent the value page (as the wiki page
> discussed), I think the payoff is huge. (And "A foolish consistency is the
> hobgoblin of little minds", Emerson)
>
>
> This email is (a) to highlight the plan, and (b) to ask about flags.  Our
> preferred approach is to *change* what -XTypeOperators does, to allow type
> operators that do not start with :.  But that will mean that *some*
> (strange) programs will stop working. The only example I have seen in tc192
> of GHC's test suite
> {-# LANGUAGE TypeOperators #-}
> comp :: Arrow (~>) => (b~>c, c~>d)~>(b~>d)
>   comp = arr (uncurry (>>>))
>
> Written more conventionally, the signature would look like
> comp :: Arrow arr => arr (arr b c, arr c d) (arr b d)
>   comp = arr (uncurry (>>>))
> or, in infix notation
> {-# LANGUAGE TypeOperators #-}
> comp :: Arrow arr => (b `arr` c, c `arr` d) `arr` (b `arr` d)
>   comp = arr (uncurry (>>>))
>
> But tc192 as it stands would become ILLEGAL, because (~>) would be a type
> *constructor* rather than (as now) a type *variable*.  Of course it's
> easily fixed, as above, but still a breakage is a breakage.
>
> It would be possible to have two flags, so as to get
>   - Haskell 98 behaviour
>   - Current TypeOperator behaviuor
>   - New TypeOperator behaviour
> but it turns out to be Quite Tiresome to do so, and I would much rather
> not.  Can you live with that?
>
>
>
> http://chrisdone.com/posts/2010-10-07-haskelldb-and-typeoperator-madness.html
>
>
> ___
> Glasgow-haskell-users mailing list
> Glasgow-haskell-users@haskell.org
> http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
>
___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re: [Haskell] ANNOUNCE: GHC version 7.6.1

2012-09-06 Thread Christian Hoener zu Siederdissen
Hi Ian,

thanks for the info about 7.8. Just to be clear, the new codegen
apparently saved my runtimes for the presentation on tuesday. \My\ new
code was slower than my old code. The new code generator fixed that,
giving me equal running times with much cooler features. I currently
assume (without having checked at all) due to dead variable elimination.

So if it is getting better, I'd be really really happy.

Gruss,
Christian

* Ian Lynagh  [06.09.2012 22:00]:
> On Thu, Sep 06, 2012 at 06:32:38PM +0200, Christian Hoener zu Siederdissen 
> wrote:
> > Awesome,
> > 
> > I have been playing with GHC 7.6.0 until today and been very happy. Btw.
> > isn't this the version that officially includes "-fnew-codegen" / HOOPL?
> > 
> > Because the new codegen is optimizing the my ADPfusion library nicely.
> > I lost 50% speed with new features, gained 100% with new codegen,
> > meaning new features come for free ;-)
> 
> I suspect that you'll find that the new codegen doesn't work 100%
> perfectly in 7.6, although I don't know the details - perhaps it just
> isn't as fast as it could be. It'll be the default in 7.8, though.
> 
> 
> Thanks
> Ian
> 
> 
> ___
> Glasgow-haskell-users mailing list
> Glasgow-haskell-users@haskell.org
> http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


pgpzaXPXKCRjQ.pgp
Description: PGP signature
___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re: [Haskell] ANNOUNCE: GHC version 7.6.1

2012-09-06 Thread Ian Lynagh
On Thu, Sep 06, 2012 at 06:32:38PM +0200, Christian Hoener zu Siederdissen 
wrote:
> Awesome,
> 
> I have been playing with GHC 7.6.0 until today and been very happy. Btw.
> isn't this the version that officially includes "-fnew-codegen" / HOOPL?
> 
> Because the new codegen is optimizing the my ADPfusion library nicely.
> I lost 50% speed with new features, gained 100% with new codegen,
> meaning new features come for free ;-)

I suspect that you'll find that the new codegen doesn't work 100%
perfectly in 7.6, although I don't know the details - perhaps it just
isn't as fast as it could be. It'll be the default in 7.8, though.


Thanks
Ian


___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re: ANNOUNCE: GHC version 7.6.1

2012-09-06 Thread Ian Lynagh
On Thu, Sep 06, 2012 at 09:42:53AM -0700, Johan Tibell wrote:
> 
> 2. Could you please push all the packages that were released in GHC
> 7.6.1 to Hackage as well?

I've now uploaded those that we maintain.


Thanks
Ian


___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re: [Haskell] ANNOUNCE: GHC version 7.6.1

2012-09-06 Thread Felipe Almeida Lessa
On Thu, Sep 6, 2012 at 2:49 PM, Thomas DuBuisson
 wrote:
> We're getting more meta than Haskell provides cleanly, but all
> significant uses I can currently think of for something like that
> would require universal quantification over types:
>
> Forall types t.
>   t `notElem` someTypes --> fails (tyUnification t MyType)
>
> I'm curious what your thinking is here.

I'm developing a EDSL for SQL queries that I'll properly announce
tomorrow.  The idea I have in mind is that this code should not
typecheck:

  delete $
  from $ \table ->
  set table []

You should not SET something inside a DELETE statement.  However,
currently that will typecheck---not because I don't know how to fix
it, but because the types were already messy enough and I didn't
ponder about the tradeoffs.

So I would like to put the above snippet on a test suite that says
"this should not typecheck".  It will serve both as a reminder to fix
it someday and as a regression test.  Of course, I could stick each of
these on a separate file and try to compile it, but that would be a
PITA to setup.  Is this a crazy idea? =P

Cheers, =)

--
Felipe.

___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re: [Haskell] ANNOUNCE: GHC version 7.6.1

2012-09-06 Thread Ozgur Akgun
Hi,

On 6 September 2012 18:49, Thomas DuBuisson wrote:

> > I don't remember if this was part of the motivation in creating this
> > feature, but it has a nice use case:  asserting on a test suite that
> > something should *not* type check.
>
> We're getting more meta than Haskell provides cleanly, but all
> significant uses I can currently think of for something like that
> would require universal quantification over types:


One way could be:

import Control.Spoon

f = 1 + 'a'

test = assertTrue (teaspoon f == Nothing)


-- 
Ozgur Akgun
___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re: [Haskell] ANNOUNCE: GHC version 7.6.1

2012-09-06 Thread Thomas DuBuisson
On Thu, Sep 6, 2012 at 10:33 AM, Felipe Almeida Lessa
 wrote:
> On Thu, Sep 6, 2012 at 1:05 PM, Ian Lynagh  wrote:
>>   * It is now possible to defer type errors until runtime using the
>> -fdefer-type-errors flag.
>
> I don't remember if this was part of the motivation in creating this
> feature, but it has a nice use case:  asserting on a test suite that
> something should *not* type check.

We're getting more meta than Haskell provides cleanly, but all
significant uses I can currently think of for something like that
would require universal quantification over types:

Forall types t.
  t `notElem` someTypes --> fails (tyUnification t MyType)

I'm curious what your thinking is here.

Thomas

___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re: [Haskell] ANNOUNCE: GHC version 7.6.1

2012-09-06 Thread Felipe Almeida Lessa
On Thu, Sep 6, 2012 at 1:05 PM, Ian Lynagh  wrote:
>   * It is now possible to defer type errors until runtime using the
> -fdefer-type-errors flag.

I don't remember if this was part of the motivation in creating this
feature, but it has a nice use case:  asserting on a test suite that
something should *not* type check.

Cheers,

-- 
Felipe.

___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re: ANNOUNCE: GHC version 7.6.1

2012-09-06 Thread Johan Tibell
Woho! I love new GHC releases.

On Thu, Sep 6, 2012 at 9:05 AM, Ian Lynagh  wrote:
> Full release notes are here:
>
>   http://www.haskell.org/ghc/docs/7.6.1/html/users_guide/release-7-6-1.html

1. There are a bunch of TODOs in the release notes. :)

2. Could you please push all the packages that were released in GHC
7.6.1 to Hackage as well?

-- Johan

___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re: [Haskell] ANNOUNCE: GHC version 7.6.1

2012-09-06 Thread Christian Hoener zu Siederdissen
Awesome,

I have been playing with GHC 7.6.0 until today and been very happy. Btw.
isn't this the version that officially includes "-fnew-codegen" / HOOPL?

Because the new codegen is optimizing the my ADPfusion library nicely.
I lost 50% speed with new features, gained 100% with new codegen,
meaning new features come for free ;-)

Viele Gruesse aus Copenhagen,
Christian

* Ian Lynagh  [06.09.2012 18:09]:
> 
>=
> The (Interactive) Glasgow Haskell Compiler -- version 7.6.1
>=
> 
> The GHC Team is pleased to announce a new major release of GHC, 7.6.1.
> 
> Here are some of the highlights of the 7.6 branch since 7.4:
> 
>   * Polymorphic kinds and data promotion are now fully implemented and
> supported features.
> 
>   * Windows 64bit is now a supported platform.
> 
>   * It is now possible to defer type errors until runtime using the
> -fdefer-type-errors flag.
> 
>   * The RTS now supports changing the number of capabilities at runtime
> with Control.Concurrent.setNumCapabilities.
> 
> Full release notes are here:
> 
>   http://www.haskell.org/ghc/docs/7.6.1/html/users_guide/release-7-6-1.html
> 
> How to get it
> ~
> 
> The easy way is to go to the web page, which should be self-explanatory:
> 
> http://www.haskell.org/ghc/
> 
> We supply binary builds in the native package format for many
> platforms, and the source distribution is available from the same
> place.
> 
> Packages will appear as they are built - if the package for your
> system isn't available yet, please try again later.
> 
> 
> Background
> ~~
> 
> Haskell is a standard lazy functional programming language.
> 
> GHC is a state-of-the-art programming suite for Haskell.  Included is
> an optimising compiler generating good code for a variety of
> platforms, together with an interactive system for convenient, quick
> development.  The distribution includes space and time profiling
> facilities, a large collection of libraries, and support for various
> language extensions, including concurrency, exceptions, and foreign
> language interfaces (C, whatever).  GHC is distributed under a
> BSD-style open source license.
> 
> A wide variety of Haskell related resources (tutorials, libraries,
> specifications, documentation, compilers, interpreters, references,
> contact information, links to research groups) are available from the
> Haskell home page (see below).
> 
> 
> On-line GHC-related resources
> ~~
> 
> Relevant URLs on the World-Wide Web:
> 
> GHC home page  http://www.haskell.org/ghc/
> GHC developers' home page  http://hackage.haskell.org/trac/ghc/
> Haskell home page  http://www.haskell.org/
> 
> 
> Supported Platforms
> ~~~
> 
> The list of platforms we support, and the people responsible for them,
> is here:
> 
>http://hackage.haskell.org/trac/ghc/wiki/Contributors
> 
> Ports to other platforms are possible with varying degrees of
> difficulty.  The Building Guide describes how to go about porting to a
> new platform:
> 
> http://hackage.haskell.org/trac/ghc/wiki/Building
> 
> 
> Developers
> ~~
> 
> We welcome new contributors.  Instructions on accessing our source
> code repository, and getting started with hacking on GHC, are
> available from the GHC's developer's site run by Trac:
> 
>   http://hackage.haskell.org/trac/ghc/
> 
> 
> Mailing lists
> ~
> 
> We run mailing lists for GHC users and bug reports; to subscribe, use
> the web interfaces at
> 
> http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
> http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
> 
> There are several other haskell and ghc-related mailing lists on
> www.haskell.org; for the full list, see
> 
> http://www.haskell.org/mailman/listinfo/
> 
> Some GHC developers hang out on #haskell on IRC, too:
> 
> http://www.haskell.org/haskellwiki/IRC_channel
> 
> Please report bugs using our bug tracking system.  Instructions on
> reporting bugs can be found here:
> 
> http://www.haskell.org/ghc/reportabug
> 
> 
> ___
> Haskell mailing list
> hask...@haskell.org
> http://www.haskell.org/mailman/listinfo/haskell


pgpDi5FAWR2rY.pgp
Description: PGP signature
___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


ANNOUNCE: GHC version 7.6.1

2012-09-06 Thread Ian Lynagh

   =
The (Interactive) Glasgow Haskell Compiler -- version 7.6.1
   =

The GHC Team is pleased to announce a new major release of GHC, 7.6.1.

Here are some of the highlights of the 7.6 branch since 7.4:

  * Polymorphic kinds and data promotion are now fully implemented and
supported features.

  * Windows 64bit is now a supported platform.

  * It is now possible to defer type errors until runtime using the
-fdefer-type-errors flag.

  * The RTS now supports changing the number of capabilities at runtime
with Control.Concurrent.setNumCapabilities.

Full release notes are here:

  http://www.haskell.org/ghc/docs/7.6.1/html/users_guide/release-7-6-1.html

How to get it
~

The easy way is to go to the web page, which should be self-explanatory:

http://www.haskell.org/ghc/

We supply binary builds in the native package format for many
platforms, and the source distribution is available from the same
place.

Packages will appear as they are built - if the package for your
system isn't available yet, please try again later.


Background
~~

Haskell is a standard lazy functional programming language.

GHC is a state-of-the-art programming suite for Haskell.  Included is
an optimising compiler generating good code for a variety of
platforms, together with an interactive system for convenient, quick
development.  The distribution includes space and time profiling
facilities, a large collection of libraries, and support for various
language extensions, including concurrency, exceptions, and foreign
language interfaces (C, whatever).  GHC is distributed under a
BSD-style open source license.

A wide variety of Haskell related resources (tutorials, libraries,
specifications, documentation, compilers, interpreters, references,
contact information, links to research groups) are available from the
Haskell home page (see below).


On-line GHC-related resources
~~

Relevant URLs on the World-Wide Web:

GHC home page  http://www.haskell.org/ghc/
GHC developers' home page  http://hackage.haskell.org/trac/ghc/
Haskell home page  http://www.haskell.org/


Supported Platforms
~~~

The list of platforms we support, and the people responsible for them,
is here:

   http://hackage.haskell.org/trac/ghc/wiki/Contributors

Ports to other platforms are possible with varying degrees of
difficulty.  The Building Guide describes how to go about porting to a
new platform:

http://hackage.haskell.org/trac/ghc/wiki/Building


Developers
~~

We welcome new contributors.  Instructions on accessing our source
code repository, and getting started with hacking on GHC, are
available from the GHC's developer's site run by Trac:

  http://hackage.haskell.org/trac/ghc/


Mailing lists
~

We run mailing lists for GHC users and bug reports; to subscribe, use
the web interfaces at

http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

There are several other haskell and ghc-related mailing lists on
www.haskell.org; for the full list, see

http://www.haskell.org/mailman/listinfo/

Some GHC developers hang out on #haskell on IRC, too:

http://www.haskell.org/haskellwiki/IRC_channel

Please report bugs using our bug tracking system.  Instructions on
reporting bugs can be found here:

http://www.haskell.org/ghc/reportabug


___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users