Re: [Haskell] ANNOUNCE: GHC version 7.6.1
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
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
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
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
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
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
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
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
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
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
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
= 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