Re: GHC 8.0 feature freeze imminent

2015-12-14 Thread David Luposchainsky
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 14.12.2015 14:38, Ben Gamari wrote: > If you have work still outstanding then you should talk to either me or > Austin ASAP if you have not done so already. The addition of the -W warning syntax [1] is on its way [2]. Unfortunatly, the -

Re: Can't build current HEAD

2015-11-14 Thread David Luposchainsky
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 13.11.2015 19:00, Jan Stolarek wrote: > I am unable to build current HEAD. I'm getting a build error in Outputable > module I just ran into this myself. The ">= 710" is wrong, since 7.10 does not have CallStack yet. Changing it to "> 710" lets

Re: MonadFail decisions

2015-10-16 Thread David Luposchainsky
On 16.10.2015 18:41, Edward Kmett wrote: > As for the "mob" I'd like to apologize for using that word. I think "crowd" would have been much closer to what I meant to say. There's no mob to be found here, since all the opinions - in favour or against - were stated in a very constructive way. So

Re: MonadFail decisions

2015-10-16 Thread David Luposchainsky
On 13.10.2015 16:29, Simon Peyton Jones wrote: > Also, David, did our conversation at HX help you get un-stuck? Hi Simon, yes, it was definitely a good pointer. On the other hand, I found the Haskell Exchange to be quite a frustrating event with respect to current events: there was a load of

Re: [RFC] Moving user's guide to ReStructuredText

2015-09-23 Thread David Luposchainsky
I really like the idea of having a readable raw format that renders nice. Editing is awful, yes, but we don't have to do it that often. But what matters much more to me, and in fact most GHC users, is searchability. I don't want to enter the user's guide via Google, and grepping through HTML is

Re: Planning for the 7.12 release: MonadFail

2015-08-27 Thread David Luposchainsky
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hey Ben, my summer was pretty busy, but we recently fixed our MonadFail implementation to work as desired, so that should make it in as well. We'll have to survive a heroic rebase/squash that we'll probably do in September when we're back from our

MFP updates: ideas worth discussing

2015-06-16 Thread David Luposchainsky
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 MonadFail proposal update 1 === Rendered version of this text: https://github.com/quchen/articles/blob/master/monad_fail_update1.md Original MFP: https://github.com/quchen/articles/blob/master/monad_fail.md Short summary -

Re: MonadFail proposal (MFP): Moving fail out of Monad

2015-06-15 Thread David Luposchainsky
On 11.06.2015 18:20, Dan Doel wrote: I believe a pattern is classified as unfailable there if it is irrefutable or refutable only by bottom. Which of course is the distinction here, (x,y) is unfailable, but not irrefutable. Some of the confusion may be because GHC has a function

MonadFail proposal (MFP): Moving fail out of Monad

2015-06-09 Thread David Luposchainsky
` and `Control.Monad.fail`. - `Control.Monad.Fail` is now a redundant module that can be considered deprecated. Current status - -- - - [ZuriHac 2015 (29.5. - 31.5.)][zurihac]: Franz Thoma (@fmthoma) and me (David Luposchainsky aka @quchen) started implementing the MFP in GHC. - Desugaring

Re: MonadFail proposal (MFP): Moving fail out of Monad

2015-06-09 Thread David Luposchainsky
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 10.06.2015 00:26, Johan Tibell wrote: As a consequence, in current Haskell, you can not use Monad-polymorphic code safely, because although it claims to work for all Monads, it might just crash on you. This kind of implicit non-totality baked

Re: Proposal: require Haddock comment for every new top-level function and type in GHC source code

2014-06-30 Thread David Luposchainsky
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hey list, I am strongly in favour of the proposal. As a pedestrian-level GHC contributor, the *vast* majority of my time is spent trying to figure out what certain things do, when the answer could be found in a one- or two-line comment above a

Re: Proposal: Partial Type Signatures

2014-03-13 Thread David Luposchainsky
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 One useful thing to have would be a new flag that, similar to - -fwarn-missing-signatures, warns if there is a top-level definition with an incomplete type. However, this clashes a bit with the Readability section of the wiki entry, so it's up to

Re: [commit: ghc] master: Fix AMP warnings for explicit Prelude imports (#8004) (b9127f4)

2013-09-30 Thread David Luposchainsky
On 2013-09-30 04:00, Patrick Palka wrote: + isPrelude :: ImportDecl Name - Bool + isPrelude = (== Prelude) . moduleNameString . unLoc . ideclName Can't you just do unLoc (ideclName imp) == pRELUDE_NAME here? I think I hardcoded the name because I wanted to make sure not to run into the

Re: fmapCoerce / changes in 7.8

2013-09-26 Thread David Luposchainsky
I'm also sceptical about this, regardless of whether it sounds like a good idea now. Adding a function to a typeclass is trivial, removing it later far from it (see fail, some, many). On the other hand, are there reasons not to create class Functor f = FunctorC f where fmapC :: Coercible a

Haddock fails during validation because GHC/Types.hs is not loaded

2013-09-06 Thread David Luposchainsky
I've run into an issue with Haddock that prevents me from validating further. The last 100 lines of the build output: http://lpaste.net/92627 The file it claims not to have loaded exists, and so do many others like GHC.IntWord64 that Haddock doesn't seem to have a problem with in line 88. I've

Re: AMP (#8004) almost finished, review would be nice

2013-09-03 Thread David Luposchainsky
On 2013-09-03 16:19, Simon Peyton-Jones wrote: Some comments on the code. Use warnTc or addWarnTc, rather than fiddling with mkPlainWarnMsg etc. Ditto in checkShouldInst, instead of returning a (Maybe WarnMsg), just use warnTc inside checkShouldInst. Why not just getInstEnvs and

PS: AMP (#8004) almost finished, review would be nice

2013-09-02 Thread David Luposchainsky
A user in #ghc noticed the patches I provided were hard to read due to the unrelated whitespace changes. I scolded my editor for cleaning up automatically and reverted the whitespace changes, the new version can be found here:

Re: AMP (#8004) almost finished, review would be nice

2013-09-02 Thread David Luposchainsky
On 2013-09-01 21:45, Edward Z. Yang wrote: Well, can you just fix all of the [clash with join/*] errors? Not that easily; there are a couple of places that have * in their API, namely Hoopl and the StgCmm modules. This raises an important issue: can I rename their * to say *|* (which pairs

AMP (#8004) almost finished, review would be nice

2013-09-01 Thread David Luposchainsky
Hey ghc-devs, I finished #8004. The patch introduces a new compiler flag, -fwarn-amp, that is on by default. The changes are pretty local, affecting TcRnDriver.lhs, PrelNames.lhs and DynFlags.hs, and you can view it here: https://github.com/quchen/ghc/compare/amp_warnings?expand=1 (Note that

Re: Cannot make ghc: Failed to load interface for GHC.Base

2013-08-29 Thread David Luposchainsky
On 2013-08-29 12:20, Dan Rosén wrote: I'm getting this build error when compiling GHC Just as a remark, I'm getting the same error, presumably because Dan and me were working on the same modules. To put the error in perspective, here's how I got it: After editing a few lines in PrelNames.lhs and

Finding definitions made in the current module

2013-08-26 Thread David Luposchainsky
Hey everyone, I'm having trouble finding a good middle ground between the global and local environments in the typechecker. I would like to get an environment of things that are defined in the current module, but - TcGblEnv includes everything in scope, which is too general. - TcLclEnv is (if

Re: Changes in Hoopl

2013-08-22 Thread David Luposchainsky
Hey Janek, as a remark, Hoopl is the only library in GHC that defines its own * operation, which will clash with the AMP. Hoopl's * is conceptually just `mappend`, so if you're doing a large-scale refactoring of the module maybe consider adding a suitable Monoid instance to replace * with before

Mentoring for implementing #8004

2013-07-31 Thread David Luposchainsky
Hey Devs, I haven't worked on GHC before, so I'm having trouble finding an entry point to implementing the AMP warnings (#8004). I only have a rough working knowledge of GHC's inner workings, but it would be a shame if the ticket wasn't resolved until the 7.8 deadline (which is somewhere in

Re: PROPOSAL: Literate Haskell in markdown noation

2013-06-24 Thread David Luposchainsky
On 2013-06-24 22:25, Iavor Diatchki wrote: I think that good support for writing literate Haskell in markdown notation would be great! Over the weekend I updated the wiki page with a fairly detailed description of the proposal, which Trevor implemented. What do folks think about the

Language level heads-up warnings

2013-05-22 Thread David Luposchainsky
Hello GHC-Devs, The discussion on the libraries mailing list brought up the issue of breaking compatbility in favour of language evolution/sanitation again; topics mentioned specifically were Prelude's monomorphic Foldable/Traversable functions, and the Applicative/Monad issue. The main

Add Functor/Applicative instances for all Monads in GHC

2013-05-08 Thread David Luposchainsky
Hello GHC devs, due to the formation of the Haskell Prime Committee [1], I am motivated to propose another go at the Applicative = Monad issue. Regardless of the future of that proposal, I think some changes required by it are beneficial in any case, namely ensuring that all Monads defined in GHC