ekmett (Edward A Kmett)
User

Projects

User Details

User Since
Jun 12 2014, 3:17 PM (226 w, 6 d)

Recent Activity

Apr 10 2018

ekmett added a comment to D4353: [WIP] Implement QuantifiedConstraints.

This is already quite useful! I've been experimenting with this branch and can use it to remove a bunch of manual dictionary opening/closing code.

Apr 10 2018, 1:03 PM

Mar 15 2018

ekmett added a comment to D4504: Remove MonadFail instances for ST.

I'll check back in after a couple of weeks by which time we'll have a better overall sense of the opinion on the proposal after the initial interest spike, at that point I should be more prepared to weigh in with an official "maintainer" grade position.

Mar 15 2018, 8:56 AM

Sep 15 2017

ekmett accepted D3972: Generalise constraint on `instance Monoid (Maybe a)` to Semigroup.

Looks very good to me.

Sep 15 2017, 1:21 PM

Sep 7 2017

ekmett accepted D3927: Make Semigroup a superclass of Monoid.
Sep 7 2017, 4:00 AM

Jan 27 2017

ekmett added a reviewer for D3031: Add liftA2 to Applicative class: ekmett.
Jan 27 2017, 2:36 AM
ekmett added a comment to D3031: Add liftA2 to Applicative class.

The core libraries discussion about this patch is still on-going.

Jan 27 2017, 2:36 AM

Oct 12 2016

ekmett accepted D2588: Add missing Semigroup instances for Monoidal datatypes in base.

LGTM.

Oct 12 2016, 9:57 PM

Sep 11 2016

ekmett added a comment to D2526: Generalise type of deleteBy and deleteFirstsBy.

Let's make sure to allow this to percolate fully through the libraries@ process before merging.

Sep 11 2016, 9:52 AM

Jul 7 2016

ekmett accepted D2391: Bugfix for bug 11632: `readLitChar` should consume null characters.
Jul 7 2016, 1:49 PM
ekmett added a comment to D2391: Bugfix for bug 11632: `readLitChar` should consume null characters.

LGTM. That is a remarkably subtle issue.

Jul 7 2016, 1:49 PM

Apr 10 2016

ekmett accepted D2079: Added (more) missing instances for Identity and Const.

LGTM

Apr 10 2016, 7:45 PM

Dec 18 2015

ekmett accepted D1630: Move Const to own module in Data.Functor.Const and enable PolyKinds.

LGTM

Dec 18 2015, 7:12 PM

Dec 12 2015

ekmett accepted D1605: Implement phase 1 of expanded Floating.

LGTM

Dec 12 2015, 4:06 PM

Dec 8 2015

ekmett requested changes to D1543: move Data.Functor.(Classes, Compose, Product, Sum) into base.

No objection to polykinding Const, and adding the missing instances Ryan raised.

Dec 8 2015, 10:10 AM
ekmett accepted D1544: move Data.Functor.(Classes, Compose, Product, Sum) into base.

We don't _really_ need to backport Data.Functor.Const as Control.Applicative's Const isn't going away and it can be pulled from there.

Dec 8 2015, 9:48 AM

Nov 27 2015

ekmett accepted D1539: Implement warnings for Semigroups as parent of Monoid.

LGTM

Nov 27 2015, 1:56 PM

Nov 10 2015

ekmett added a comment to D1324: generalize filterM, mapAndUnzipM, zipWithM, zipWithM_, replicateM, replicateM_.

It seems worth including a note in the documentation about 8.0 that indicates that if you experience any performance regressions due to these generalizations, you should fix the implementation of (*>) to match your implementation of (>>).

Nov 10 2015, 7:04 AM · GHC
ekmett accepted D1324: generalize filterM, mapAndUnzipM, zipWithM, zipWithM_, replicateM, replicateM_.

CLC Approved.

Nov 10 2015, 6:57 AM · GHC

Nov 3 2015

ekmett accepted D1424: base: Add new Control.Monad.Fail module.

I too suspect that nobody would be affected in practice, but no point giving a pretext for someone to cry foul.

Nov 3 2015, 3:01 PM

Nov 2 2015

ekmett added a comment to D1424: base: Add new Control.Monad.Fail module.

In general it looks good to me, except we never explicitly talked about adding MonadFail as a default export to Control.Monad or Prelude in this release.

Nov 2 2015, 2:12 PM

Oct 30 2015

ekmett accepted D1402: CmmParse: Expose popcnt operations.

LGTM

Oct 30 2015, 11:54 AM

Oct 16 2015

ekmett accepted D1332: base: MINIMAL pragmas for Arrow/ArrowChoice.

LGTM. The MINIMAL pragma for the Arrow change was mentioned in the discussion but must not have made it to the patch.

Oct 16 2015, 2:36 PM

Oct 1 2015

ekmett accepted D1284: Add Data.Semigroup and Data.List.NonEmpty (re #10365).

LGTM

Oct 1 2015, 6:12 PM

Sep 27 2015

ekmett added a comment to D1284: Add Data.Semigroup and Data.List.NonEmpty (re #10365).

It is consistent with existing behavior

Sep 27 2015, 6:54 PM

Sep 24 2015

ekmett added a comment to D1272: Export the allocation counter/limit API from System.Mem.

LGTM

Sep 24 2015, 2:57 AM

Sep 17 2015

ekmett added a comment to rGHC8ecf6d8f7dfe: ApplicativeDo transformation.

When desugaring using (<*) you'd just omit any handling of the unused result instead.

Sep 17 2015, 6:03 PM
ekmett added a comment to rGHC8ecf6d8f7dfe: ApplicativeDo transformation.

Would it be possible to tweak the generation to use (<*) or (*>) where appropriate when the result isn't being used?

Sep 17 2015, 6:00 PM

Jul 2 2015

ekmett accepted D1029: Generalize traceM, traceShowM (fixes #10023).

LGTM

Jul 2 2015, 4:43 PM

Jul 1 2015

ekmett accepted D924: Drop custom mapM impl for [] & set mapM_ = traverse_.

LGTM

Jul 1 2015, 1:02 PM

Mar 20 2015

ekmett added a comment to D743: Bump ghc-prim to 0.4.0.0.

The Any change is quite visible.

Mar 20 2015, 5:43 AM
ekmett accepted D743: Bump ghc-prim to 0.4.0.0.

Personally I have very little preference.

Mar 20 2015, 5:16 AM

Mar 7 2015

ekmett accepted D712: base: drop redundant Typeable derivings.

LGTM

Mar 7 2015, 12:47 PM
ekmett accepted D709: Define proper `MINIMAL` pragma for `class Ix`.

LGTM

Mar 7 2015, 12:08 PM
ekmett accepted D681: Re-export `<$` from Prelude.

LGTM

Mar 7 2015, 2:31 AM
ekmett accepted D680: Re-export `<$>` from Prelude.

LGTM

Mar 7 2015, 2:30 AM

Mar 4 2015

ekmett accepted D699: Add public rnf/hash operations to TypeRep/TyCon .

I have no problem with exporting the fingerprint extraction method. Any instability around something that obscure can be dealt with by users dedicated enough to understand it in the first place.

Mar 4 2015, 11:39 AM

Mar 3 2015

ekmett added a comment to D673: Add various instances to newtypes in Data.Monoid.

Otherwise, looks good to me.

Mar 3 2015, 11:26 AM
ekmett added a comment to D673: Add various instances to newtypes in Data.Monoid.

While we're in there, these also need MonadZip instances.

Mar 3 2015, 11:25 AM

Feb 24 2015

ekmett added a comment to D680: Re-export `<$>` from Prelude.

If the rather overwhelmingly positive preliminary voting on this is any indication, we'll probably do both this and 681.

Feb 24 2015, 12:28 PM

Feb 23 2015

ekmett accepted rGHCc409b6f30373: Remove redundant constraints from libraries, discovered by -fwarn-redundant….

Now that Herbert has fixed the Data instance for Ratio?

Feb 23 2015, 11:00 AM

Feb 22 2015

ekmett accepted D674: Add {Data,Generic,Generic1,MonadZip} for Identity.

LGTM

Feb 22 2015, 8:26 AM

Feb 9 2015

ekmett accepted D647: Provide default implementation of `Monad(return)`.

We talked about this one on IRC before the patch was made.

Feb 9 2015, 2:30 AM

Feb 5 2015

ekmett added a comment to D645: Provide a faster implementation for the Read Integer instance.

Doesn't it make sense to do this for Natural as well as Integer?

Feb 5 2015, 11:15 PM

Jan 27 2015

ekmett accepted D632: Eta-expand argument to foldr in mapM_ for [].

LGTM

Jan 27 2015, 12:40 PM · GHC

Jan 21 2015

ekmett accepted D625: Restore invariant in `Data (Ratio a)` instance.

LGTM!

Jan 21 2015, 12:00 PM

Jan 20 2015

ekmett added a comment to rGHCc409b6f30373: Remove redundant constraints from libraries, discovered by -fwarn-redundant….

https://ghc.haskell.org/trac/ghc/ticket/10011 is the trac ticket.

Jan 20 2015, 5:59 PM
ekmett updated subscribers of rGHCc409b6f30373: Remove redundant constraints from libraries, discovered by -fwarn-redundant….

@austin, I'll throw together an issue in the trac and work with @hvr to get a patch ready.

Jan 20 2015, 5:52 PM

Jan 14 2015

ekmett accepted D619: Add Eq, Ord, Show, and Read instances for Const.

Looks good to me.

Jan 14 2015, 12:38 PM

Jan 7 2015

ekmett raised a concern with rGHCc409b6f30373: Remove redundant constraints from libraries, discovered by -fwarn-redundant….

I annotated a few issues with the Data instance for Ratio.

Jan 7 2015, 10:45 AM

Dec 19 2014

ekmett accepted D577: Add makeVersion & IsList Version.
Dec 19 2014, 12:33 AM

Dec 17 2014

ekmett updated subscribers of D133: Add new primops {resize,shrink}MutableByteArray#.
Dec 17 2014, 1:08 AM

Dec 2 2014

ekmett accepted D547: Make `read . show = id` for Data.Fixed (fixes #9240).

Makes sense to me.

Dec 2 2014, 2:15 AM

Nov 26 2014

ekmett accepted D526: Define `Data` instance for `Natural` type (#9818).

Makes sense to me.

Nov 26 2014, 12:22 AM

Nov 25 2014

ekmett updated subscribers of D526: Define `Data` instance for `Natural` type (#9818).
Nov 25 2014, 4:46 PM

Nov 23 2014

ekmett accepted D350: Changing prefetch primops to have a `seq`-like interface.

I've wanted a prefetch primop i could use to prefetch a thunk for a long time.

Nov 23 2014, 1:39 PM
ekmett accepted D522: Install `ghc-gmp.h` C include header file (#9281).

I've needed this header in the past, quite badly.

Nov 23 2014, 1:28 PM
ekmett added a comment to D350: Changing prefetch primops to have a `seq`-like interface.

Note unsafePerformIO is going to probably eat up any of the performance win for prefetching in the first place.

Nov 23 2014, 1:17 AM

Nov 22 2014

ekmett accepted D521: Define void using <$.

I put in a libraries proposal about this a year or two back and it was approved as well, so I don't see any issue. I just never followed up on it I guess.

Nov 22 2014, 9:14 PM · GHC
ekmett accepted D519: preliminary Complex and Ratio Storable instances for Base.

LGTM

Nov 22 2014, 4:11 PM
ekmett requested changes to D519: preliminary Complex and Ratio Storable instances for Base.
Nov 22 2014, 3:59 PM

Nov 21 2014

ekmett added a comment to D517: Add displayException to Exception typeclass trac #9822.

LGTM

Nov 21 2014, 5:11 PM
ekmett added a comment to D473: Implement `Natural` number type (re #9818).

The only question I have is should the Data.OldList change be moved to another diff?

Nov 21 2014, 4:06 PM
ekmett accepted D395: Deprecate Data.Version.versionTags.

I'm going to flag this as accepted.

Nov 21 2014, 4:03 PM
ekmett accepted D512: Add function for size-checked conversion of Integral types.

Ok. Officially, let's make this happen

Nov 21 2014, 4:00 PM

Nov 20 2014

ekmett accepted D473: Implement `Natural` number type (re #9818).

All righty, take Numeric.Natural from me then.

Nov 20 2014, 6:24 PM
ekmett accepted D513: Hide `Data.OldList` module.

LGTM

Nov 20 2014, 4:55 PM
ekmett accepted D498: Export scanl' from Data.OldList and Data.List.

LGTM

Nov 20 2014, 3:57 PM
ekmett added a comment to D473: Implement `Natural` number type (re #9818).

Should we export it as Numeric.Natural? Numeric follows the classic top level module naming convention for numerics, and we've been lax and just throwing stuff in Data.

Nov 20 2014, 3:53 PM
ekmett accepted D506: Add Data.Void to base (re #9814).

LGTM

Nov 20 2014, 3:40 PM
ekmett accepted D511: Delete old-{time,locale} and haskell{98,2010}.
Nov 20 2014, 3:13 PM
ekmett accepted D510: Don't build old-{time,locale} and haskell{98,2010}.

LGTM

Nov 20 2014, 1:41 PM

Nov 19 2014

ekmett added a comment to D483: Remove deprecated libraries/base/include/Typeable.h.

(e.g. I just watched 4-5 of these deprecation warnings fly by when I was building quine from scratch with all of its dependencies, that is just off the dependencies of one project of mine.)

Nov 19 2014, 2:31 PM
ekmett added a comment to D483: Remove deprecated libraries/base/include/Typeable.h.

This header is still in pretty broad use. If it isn't a pain point I'd prefer to wait until 7.12.

Nov 19 2014, 2:29 PM
ekmett updated subscribers of D306: accessors to RTS flag values -- #5364.
Nov 19 2014, 3:37 AM

Nov 18 2014

ekmett accepted D486: Restore exact old semantics of `decodeFloat`.

LGTM

Nov 18 2014, 12:50 PM

Nov 16 2014

ekmett added a comment to D395: Deprecate Data.Version.versionTags.

I'm mostly just looking for some combinator folks'd be able to switch to for construction, so they can make one change in 7.10 in response to the deprecation and their knowledge of the impending change.

Nov 16 2014, 2:07 PM

Nov 14 2014

ekmett added inline comments to D475: Add references between Data.Traversable.for and Data.Foldable.for_ and co..
Nov 14 2014, 11:48 AM · GHC
ekmett accepted D475: Add references between Data.Traversable.for and Data.Foldable.for_ and co..

LGTM.

Nov 14 2014, 11:46 AM · GHC
ekmett added a comment to D475: Add references between Data.Traversable.for and Data.Foldable.for_ and co..

I think this is a great idea, unless you want to propose re-exporting Data.Foldable from Data.Traversable.

Nov 14 2014, 11:46 AM · GHC
ekmett added a comment to D473: Implement `Natural` number type (re #9818).

Very clean!

Nov 14 2014, 1:40 AM

Nov 10 2014

ekmett added a comment to D466: Force third argument to until.

I'm generally in favor, but would like to wait until the libraries proposal has had a chance to play out further.

Nov 10 2014, 10:05 AM

Nov 9 2014

ekmett added a comment to D461: Add 'memset' to Foreign.Marshal.Alloc..

This _should_ also get discussed on the libraries list, so folks know its in the wings and can pipe up with objections, even if it seems like an obvious win to me.

Nov 9 2014, 1:47 PM · GHC
ekmett added a comment to D461: Add 'memset' to Foreign.Marshal.Alloc..

I agree with Duncan that memset belongs in Foreign.Marshal.Utils instead of Foreign.Marshal.Alloc

Nov 9 2014, 1:34 PM · GHC
ekmett added a comment to D461: Add 'memset' to Foreign.Marshal.Alloc..

From talking on #ghc, it sounds like the initialized allocs should be

Nov 9 2014, 1:32 PM · GHC

Nov 8 2014

ekmett accepted D462: Use (.) and id from Base in Control.Applicative.

LGTM

Nov 8 2014, 1:54 PM

Nov 7 2014

ekmett added a comment to D82: DRAFT: Implement new integer-gmp2 from scratch (re #9281).

I just want to say that I'm really looking forward to this patch landing.

Nov 7 2014, 6:18 PM
ekmett added a comment to D353: Make calling conventions in template haskell Syntax.hs consistent with those in ghc ForeignCall.hs this impliments #9703 from ghc trac.

So what are we still missing?

Nov 7 2014, 12:06 PM
ekmett accepted D455: Define list monad operations using comprehensions.

LGTM

Nov 7 2014, 12:03 PM · GHC
ekmett added a comment to D449: Update documentation of post-AMP `MonadPlus` laws.
fmap f empty = empty
Nov 7 2014, 10:07 AM
ekmett added a comment to D449: Update documentation of post-AMP `MonadPlus` laws.

doesn't hold. Monad has to inspect the left argument or be trivial because there is no way to see under the lambda in the right hand argument to proceed. However, Applicative is under no such limitation.

Nov 7 2014, 10:06 AM
ekmett accepted D448: Change a comment referring falsely to seq.

Defining it in terms of behavior makes a lot of sense to me, too.

Nov 7 2014, 10:01 AM · GHC
ekmett accepted D397: Major Data.Foldable cleanup.

LGTM

Nov 7 2014, 9:58 AM · GHC
ekmett accepted D238: Preserve argument order to (==) and eq in nub and nubBy.

LGTM

Nov 7 2014, 9:56 AM
ekmett accepted D441: Debias Data.Foldable somewhat.

These changes LGTM.

Nov 7 2014, 9:53 AM
ekmett added a comment to D395: Deprecate Data.Version.versionTags.

So if the plan is that in 7.12 we're going to remove versionTags, how do we let users construct a Version now such that they won't have to refactor their code in 7.12?

Nov 7 2014, 9:47 AM
ekmett accepted D432: Improve Applicative definitions.

Went through this in some detail. It looks good to me.

Nov 7 2014, 12:36 AM
ekmett added a comment to D432: Improve Applicative definitions.

Went through this in some detail. It looks good to me.

Nov 7 2014, 12:36 AM

Nov 6 2014

ekmett added a comment to D449: Update documentation of post-AMP `MonadPlus` laws.

the right unit law doesn't hold.

Nov 6 2014, 12:06 PM

Nov 3 2014

ekmett added a comment to D417: Improve Applicative and Monad instances in Base.

I rather like the coerce changes to Data.Monoid.

Nov 3 2014, 1:10 AM · GHC

Oct 31 2014

ekmett accepted D385: Clean-up `Data.Fixed`.

LGTM

Oct 31 2014, 6:48 AM