RyanGlScott (Ryan Scott)
User

Projects

User does not belong to any projects.

Today

  • Clear sailing ahead.

Tomorrow

  • Clear sailing ahead.

Saturday

  • Clear sailing ahead.

User Details

User Since
Jan 8 2015, 11:07 PM (123 w, 6 d)
Availability
Available

Recent Activity

Yesterday

RyanGlScott added a comment to D3608: Extend the Quasi Monad.

This sadly would not work. As we'd still have a way too generic IO action. With a cross compiler we do not have access to the same libraries we have on the host. qRunIO can run an arbitrary IO action and by extension call
any arbitrary function. This in turn requires those functions to be available on the build, which they are not necessarily are, unless we start to build each and every library for the build machine (but the cross compiler can't do this),
and for the host. The ultimate plan is to eventually make ghc multi-target aware, once we have that (though this is *far* out of the scope of this diff), this could become feasible.

Wed, May 24, 10:10 AM
RyanGlScott added a comment to D3608: Extend the Quasi Monad.

Depending on what kind of IO we do, we might be fine. (if the IO doesn't touch processes or files, I do not (yet) see any issue with that kind of IO). When running ghc with -fexternal-interpreter the qXXX are evaluated in GHCiQ (see libraries/ghci/GHCi/TH.hs). Which running on the host has the capability to query the ghc instance on the build machine.

Wed, May 24, 8:42 AM
RyanGlScott added a comment to D3608: Extend the Quasi Monad.

Thank you for the detailed explanation. But I'm not clearer than before on my second question: why are the file/process opesrtions you just added not subject to the same issues that qRunIO has? After all, they're also IO operations. Where specifically in the GHC codebase does a cross compiler make the decision to, e.g., look up executables on the build machine instead of the host machine when running qFindExecutables?

Wed, May 24, 8:04 AM
RyanGlScott added a comment to D3608: Extend the Quasi Monad.

My apologies for not being familiar with the previous work on this front, but I don't see why this is necessary. Why does adding a bunch of hardcoded IO operations to Quasi resolve this issue, but qRunIO alone does not? Where in the code are cross compilers making the distinction between files on the build machine and files on the host machine when running, e.g., qFindExecutables?

Wed, May 24, 7:38 AM

Sun, May 14

RyanGlScott updated the diff for D3587: Pretty-print strict record fields from ifaces correctly.
  • Include test output
Sun, May 14, 9:27 PM
RyanGlScott created D3587: Pretty-print strict record fields from ifaces correctly.
Sun, May 14, 8:47 PM

Fri, May 12

RyanGlScott committed rGHCa13adcf8cfc6: Add regression test for #11964 (authored by RyanGlScott).
Add regression test for #11964
Fri, May 12, 8:08 AM
RyanGlScott committed rGHCba5114e310e9: Add regression test for #11966 (authored by RyanGlScott).
Add regression test for #11966
Fri, May 12, 8:08 AM
RyanGlScott committed rGHC01af8aee30c7: Add regression tests for #12083 (authored by RyanGlScott).
Add regression tests for #12083
Fri, May 12, 8:08 AM
RyanGlScott closed D3573: Add regression tests for #12083 by committing rGHC01af8aee30c7: Add regression tests for #12083.
Fri, May 12, 8:08 AM

Thu, May 11

RyanGlScott updated the summary of D3573: Add regression tests for #12083.
Thu, May 11, 4:11 PM
RyanGlScott created D3573: Add regression tests for #12083.
Thu, May 11, 4:09 PM
RyanGlScott created D3572: Fix collect_lpat's treatment of HsSplicedPats.
Thu, May 11, 1:02 PM
RyanGlScott created D3570: Parenthesize pretty-printed equalities when necessary.
Thu, May 11, 9:57 AM
RyanGlScott committed rGHC2316ee1c42d7: Add regression test for #12850 (authored by RyanGlScott).
Add regression test for #12850
Thu, May 11, 8:43 AM

Sat, May 6

RyanGlScott committed rGHCed0c7f8b1f91: Add regression test for #13651 (authored by RyanGlScott).
Add regression test for #13651
Sat, May 6, 11:39 AM
RyanGlScott committed rGHC4a6cb5efe8e5: Add testsuite/timeout/TimeMe to .gitignore (authored by RyanGlScott).
Add testsuite/timeout/TimeMe to .gitignore
Sat, May 6, 11:39 AM
RyanGlScott closed D3536: Add testsuite/timeout/TimeMe to .gitignore by committing rGHC4a6cb5efe8e5: Add testsuite/timeout/TimeMe to .gitignore.
Sat, May 6, 11:39 AM
RyanGlScott committed rGHC38a381912f67: Add regression tests for #12947, #13640 (authored by RyanGlScott).
Add regression tests for #12947, #13640
Sat, May 6, 11:39 AM
RyanGlScott closed D3528: Add regression tests for #12947, #13640 by committing rGHC38a381912f67: Add regression tests for #12947, #13640.
Sat, May 6, 11:39 AM

Thu, May 4

RyanGlScott created D3536: Add testsuite/timeout/TimeMe to .gitignore.
Thu, May 4, 9:36 AM

Wed, May 3

RyanGlScott created D3531: Add regression test for #11616.
Wed, May 3, 2:34 PM
RyanGlScott created D3528: Add regression tests for #12947, #13640.
Wed, May 3, 7:57 AM

Thu, Apr 27

RyanGlScott updated the diff for D3505: Make the tyvars in TH-reified data family instances uniform.
  • Remove errant runIO
Thu, Apr 27, 5:58 AM
RyanGlScott planned changes to D3505: Make the tyvars in TH-reified data family instances uniform.
Thu, Apr 27, 5:39 AM

Wed, Apr 26

RyanGlScott created D3505: Make the tyvars in TH-reified data family instances uniform.
Wed, Apr 26, 7:49 PM

Tue, Apr 25

RyanGlScott accepted D3500: Add instances `Num`, `Functor`, `Applicative`, `Monad`, `Semigroup` and `Monoid` for `Data.Ord.Down` (#13097)..

LGTM.

Tue, Apr 25, 4:59 PM
RyanGlScott requested changes to D3500: Add instances `Num`, `Functor`, `Applicative`, `Monad`, `Semigroup` and `Monoid` for `Data.Ord.Down` (#13097)..

Thanks for doing this, @adamse! I've left some inline remarks.

Tue, Apr 25, 4:37 PM
RyanGlScott updated the diff for D3497: Don't pretty-print binders in closed type families without -fprint-explicit-foralls.
  • Accept new test output
Tue, Apr 25, 11:07 AM
RyanGlScott added inline comments to D3498: Document mkWeak#.
Tue, Apr 25, 10:55 AM
RyanGlScott created D3497: Don't pretty-print binders in closed type families without -fprint-explicit-foralls.
Tue, Apr 25, 10:09 AM
RyanGlScott added a comment to D3496: Ignore ANN pragmas with no TH and no external interpreter..

See testsuite/tests/stage1.

Tue, Apr 25, 9:20 AM
RyanGlScott requested changes to D3496: Ignore ANN pragmas with no TH and no external interpreter..

We should add the program in Trac #13609 as a test case, no?

Tue, Apr 25, 9:16 AM
RyanGlScott created D3495: Add regression test for #12104.
Tue, Apr 25, 8:54 AM

Apr 24 2017

RyanGlScott committed rGHCab27fdcfe267: Add regression test for #13603 (authored by RyanGlScott).
Add regression test for #13603
Apr 24 2017, 9:49 AM
RyanGlScott closed D3489: Add regression test for #13603 by committing rGHCab27fdcfe267: Add regression test for #13603.
Apr 24 2017, 9:49 AM
RyanGlScott updated the diff for D3489: Add regression test for #13603.

Oops, grabbed too many commits

Apr 24 2017, 8:44 AM
RyanGlScott updated the diff for D3489: Add regression test for #13603.

Rebase (and cross fingers for a green Harbormaster build)

Apr 24 2017, 7:48 AM

Apr 23 2017

RyanGlScott added a comment to D3398: Don't setProgramDynFlags on every :load.
In D3398#99480, @Phyx wrote:

why does the module content need quotes? Doesn't the semantics of echo make it print everything up to a control character?

:! echo module A where {} >A.hs
:! echo module B where { import A } >B.hs

Should work for both all. (works fine on Windows).

Apr 23 2017, 2:01 PM
RyanGlScott updated subscribers of D3398: Don't setProgramDynFlags on every :load.

ghci063 (as currently written) does not pass on Windows. Here is the error that I get:

Apr 23 2017, 1:22 PM
RyanGlScott created D3489: Add regression test for #13603.
Apr 23 2017, 10:39 AM

Apr 20 2017

RyanGlScott updated the diff for D3472: Document the kind generalization behavior observed in #13555.
  • simonpj's suggestions
Apr 20 2017, 8:31 PM

Apr 19 2017

RyanGlScott created D3472: Document the kind generalization behavior observed in #13555.
Apr 19 2017, 3:44 PM

Apr 6 2017

RyanGlScott updated the summary of D3426: Add regression test for #13538.
Apr 6 2017, 1:41 PM
RyanGlScott created D3426: Add regression test for #13538.
Apr 6 2017, 1:37 PM

Apr 4 2017

RyanGlScott accepted D3422: base: Mark unfold as deprecated.

That was some quite impressive turnaround time.

Apr 4 2017, 5:55 PM
RyanGlScott added a comment to D3422: base: Mark unfold as deprecated.

Ought the title of this Diff be "Mark unfold as deprecated"?

Apr 4 2017, 5:52 PM
RyanGlScott accepted D3416: Add Alternative instance for ZipList (fix #13520)..

Great! LGTM.

Apr 4 2017, 12:18 PM
RyanGlScott requested changes to D3416: Add Alternative instance for ZipList (fix #13520)..

We definitely need to point out this change in libraries/base/changelog.md. Note that the deadline for base-4.10.0.0 (which will be shipped with GHC 8.2 soon) has already passed, so this would be incorporated into the base-4.11.0.0 release. At the moment, however, libraries/base/changelog.md doesn't have a section for base-4.11.0.0—do you mind making this change yourself? Just put a new section at the top like:

Apr 4 2017, 10:03 AM

Apr 1 2017

RyanGlScott accepted D3402: Derive the definition of null.

Looks good overall. Make sure to mention this in the 8.4 release notes!

Apr 1 2017, 11:33 AM

Mar 31 2017

RyanGlScott created D3404: Add regression test for #7944.
Mar 31 2017, 5:48 PM
RyanGlScott added inline comments to D3403: Don't derive showList.
Mar 31 2017, 10:46 AM
RyanGlScott added inline comments to D3403: Don't derive showList.
Mar 31 2017, 5:52 AM

Mar 30 2017

RyanGlScott requested changes to D3402: Derive the definition of null.

It's not terribly clear to me how this works. This needs

Mar 30 2017, 8:43 PM
RyanGlScott accepted D3374: Optimize deriving for phantom types.

Fantastic work, @dfeuer!

Mar 30 2017, 8:10 AM

Mar 29 2017

RyanGlScott added inline comments to D3397: unique: fix UNIQUE_BITS crosscompilation (Trac #13491).
Mar 29 2017, 3:36 PM
RyanGlScott requested changes to D3374: Optimize deriving for phantom types.

Looking better.

Mar 29 2017, 8:34 AM

Mar 25 2017

RyanGlScott added a comment to D3379: Allow operators as record pattern synonym fields.

I don't think this example makes sense as in the builder for MkOp (·) is not (·) but an argument which shadows (·).

Mar 25 2017, 6:13 PM
RyanGlScott added a comment to D3379: Allow operators as record pattern synonym fields.

It is the same as any other infix operator. You can set it with infix declarations.

Mar 25 2017, 9:43 AM

Mar 24 2017

RyanGlScott added a comment to D3379: Allow operators as record pattern synonym fields.

One thing I'm not clear on is how the fixity of record pattern synonym field operators work. Is there a default fixity? Can it be configured? Is whatever the current behavior is documented in the users' guide?

Mar 24 2017, 7:50 PM

Mar 23 2017

RyanGlScott added a comment to D3374: Optimize deriving for phantom types.

Ah, I see. It's because mk_FunBind (which Eq and Ord use) had its behavior changed by modifying mkRdrFunBind. I'm fine with either leaving things the way they are for Eq/Ord, or changing it to generate the "correct" number of wildcard patterns. If you do opt for the latter route, make sure that other classes behave properly as well! For instance, Data, Lift, and Show, which also use mk_FunBind.

Mar 23 2017, 8:06 PM
RyanGlScott added a comment to D3374: Optimize deriving for phantom types.
In D3374#96925, @dfeuer wrote:

The change to Eq and Ord wasn't intentional, but I think we actually do want to change them.

Mar 23 2017, 6:49 PM
RyanGlScott requested changes to D3374: Optimize deriving for phantom types.

Some TODOs:

Mar 23 2017, 8:38 AM

Mar 22 2017

RyanGlScott abandoned D3332: Make instance declarations recognize named wildcards.
Mar 22 2017, 10:03 AM

Mar 16 2017

RyanGlScott planned changes to D3337: Make standalone DeriveAnyClass as permissive as empty instances.

I don't like the distinction between the Rep and NoRep versions of DataConInstArgs. Can we not look up the rep stuff right away?

Mar 16 2017, 9:20 AM

Mar 15 2017

RyanGlScott added a comment to D3337: Make standalone DeriveAnyClass as permissive as empty instances.
In D3337#96183, @dfeuer wrote:

Does allowing unconventional derived instances *itself* simplify any internal story?

Mar 15 2017, 11:11 AM

Mar 14 2017

RyanGlScott committed rGHC67345ccf5153: Allow associated types to pattern-match in non-class-bound variables (authored by RyanGlScott).
Allow associated types to pattern-match in non-class-bound variables
Mar 14 2017, 10:31 AM
RyanGlScott closed D3302: Allow associated types to pattern-match in non-class-bound variables by committing rGHC67345ccf5153: Allow associated types to pattern-match in non-class-bound variables.
Mar 14 2017, 10:31 AM
RyanGlScott committed rGHCb335f506f1d3: Further document :type +v's role in analyzing -XTypeApplications in GHCi (authored by RyanGlScott).
Further document :type +v's role in analyzing -XTypeApplications in GHCi
Mar 14 2017, 10:31 AM
RyanGlScott closed D3310: Further document :type +v's role in analyzing -XTypeApplications in GHCi by committing rGHCb335f506f1d3: Further document :type +v's role in analyzing -XTypeApplications in GHCi.
Mar 14 2017, 10:31 AM

Mar 13 2017

RyanGlScott created D3337: Make standalone DeriveAnyClass as permissive as empty instances.
Mar 13 2017, 3:51 PM

Mar 12 2017

RyanGlScott updated the diff for D3332: Make instance declarations recognize named wildcards.
  • Point Haddock submodule to my fork
Mar 12 2017, 5:21 PM
RyanGlScott added a comment to D3332: Make instance declarations recognize named wildcards.

Note: this requires a change to haddock. Currently, it's only available at https://github.com/RyanGlScott/haddock/commit/661d33cae917ab4dca9e4a87e56542769b0fa109 (my GitHub fork of haddock), since I don't know how to push these changes to git.haskell.org/haddock.git itself.

Mar 12 2017, 3:43 PM
RyanGlScott updated the Trac tickets for D3332: Make instance declarations recognize named wildcards.
Mar 12 2017, 3:42 PM
RyanGlScott created D3332: Make instance declarations recognize named wildcards.
Mar 12 2017, 3:41 PM
RyanGlScott added inline comments to D3309: Make exports from Data.Typeable and Type.Reflection consistent.
Mar 12 2017, 1:36 PM

Mar 11 2017

RyanGlScott added a comment to D3309: Make exports from Data.Typeable and Type.Reflection consistent.

By the way, this change was motivated by the fact that if you currently import typeRepFingerprint from Data.Typeable and try using it on a TypeRep, it'll fail with a type error, since you're not using the type-indexed variant from Type.Reflection. So this is equally a bugfix and a code cleanup.

Mar 11 2017, 7:08 PM
RyanGlScott added a comment to D3327: Define ZipList's Semigroup.

A quick Google search reveals this: https://mail.haskell.org/pipermail/libraries/2015-July/026039.html

Mar 11 2017, 7:01 PM
RyanGlScott accepted D3325: Don't reference elSupremum in haddock for Lifetime Monoid.

LGTM.

Mar 11 2017, 6:53 PM
RyanGlScott requested changes to D3327: Define ZipList's Semigroup.

Has this proposed change been discussed on the libraries mailing list? I'm quite reluctant to add new instances to base without some semblance of community consensus that they should go in.

Mar 11 2017, 6:52 PM
RyanGlScott committed rGHC740ecda32116: Observe #13267 in release notes (authored by RyanGlScott).
Observe #13267 in release notes
Mar 11 2017, 2:50 PM

Mar 10 2017

RyanGlScott added a comment to D3317: Foreign.C.Types: Add conversions to CTime and friends.

This was originally motivated by a recent change in time.

Mar 10 2017, 2:12 PM
RyanGlScott added a comment to D3317: Foreign.C.Types: Add conversions to CTime and friends.

I feel like I need some more context here. Is there a reason you're targeting these four types in particular? What is the intended use case for these functions?

Mar 10 2017, 1:40 PM
RyanGlScott requested changes to D3305: template-haskell: Remove FamFlavour, family[No]KindD, closedTypeFamily[No]KindD.

@bgamari indicated that we might want to hold off on this for another release cycle, since these were only deprecated very recently (GHC 8.0). Bumping out of the accepted state for now.

Mar 10 2017, 10:35 AM
RyanGlScott updated the Trac tickets for D3315: Fix #13337..
Mar 10 2017, 9:20 AM
RyanGlScott added a comment to D3315: Fix #13337..

Cool! One minor comment inline.

Mar 10 2017, 9:20 AM
RyanGlScott updated the Trac tickets for D3310: Further document :type +v's role in analyzing -XTypeApplications in GHCi.
Mar 10 2017, 9:12 AM
RyanGlScott updated the diff for D3302: Allow associated types to pattern-match in non-class-bound variables.
  • Simon's suggestions
Mar 10 2017, 9:11 AM
RyanGlScott updated the Trac tickets for D3302: Allow associated types to pattern-match in non-class-bound variables.
Mar 10 2017, 9:09 AM
RyanGlScott updated the Trac tickets for D3302: Allow associated types to pattern-match in non-class-bound variables.
Mar 10 2017, 9:09 AM

Mar 9 2017

RyanGlScott updated the diff for D3310: Further document :type +v's role in analyzing -XTypeApplications in GHCi.
  • Richard's suggestions
Mar 9 2017, 9:02 PM
RyanGlScott created D3310: Further document :type +v's role in analyzing -XTypeApplications in GHCi.
Mar 9 2017, 8:48 PM
RyanGlScott created D3309: Make exports from Data.Typeable and Type.Reflection consistent.
Mar 9 2017, 7:59 PM
RyanGlScott committed rGHC2b5b9dc69e5d: Fix typo in base changelog (authored by RyanGlScott).
Fix typo in base changelog
Mar 9 2017, 5:12 PM
RyanGlScott accepted D3305: template-haskell: Remove FamFlavour, family[No]KindD, closedTypeFamily[No]KindD.

Looks good. Make sure to include a note in the changelog. (Currently, the notes for the 2.11 release claim that FamFlavour was removed, which technically isn't true... maybe we should fix that retroactively? :) )

Mar 9 2017, 2:06 PM
RyanGlScott added a comment to D3302: Allow associated types to pattern-match in non-class-bound variables.

BTW, the tweaks I made to various files in the testsuite are just reverting changes that Simon made in 8136a5cbfcd24647f897a2fae9fcbda0b1624035 to make them compile under the associated types restriction that this commit reverts.

Mar 9 2017, 12:53 PM
RyanGlScott created D3302: Allow associated types to pattern-match in non-class-bound variables.
Mar 9 2017, 10:40 AM

Mar 7 2017

RyanGlScott added a comment to D3294: Data.Typeable: Export splitTyConApp, typeRepArgs, and typeRepTyCon.

OK. Can you put a blurb in the base changelog stating that these functions have been removed? In practice, I have encountered a Hackage library (dynamic-state) that uses them, so we should have a migration story.

Mar 7 2017, 11:13 PM
RyanGlScott requested changes to D3294: Data.Typeable: Export splitTyConApp, typeRepArgs, and typeRepTyCon.

What about tyConFingerprint? mkTyCon3? mkTyConApp? mkAppTy? mkFunTy?

Mar 7 2017, 8:02 PM
RyanGlScott added a comment to D3292: Update crt to latest..

@Phyx, I'm confused about what issue(s) this is fixing. You marked the Trac issue on this Diff as Trac #13384, but didn't change the Differential status on the corresponding Trac page. Moreover, you did change the Differential on the Trac page for Trac #13359, but you didn't mark this Diff as fixing it. Does it fix both? Or just one of them?

Mar 7 2017, 5:36 PM