int-index (Vladislav Zavialov)
User

Projects

User does not belong to any projects.

User Details

User Since
Sep 25 2014, 3:35 AM (230 w, 18 h)

Recent Activity

Dec 18 2018

int-index added a comment to D5408: Introduce ExpPatFrame.

For HsCmd there really is no ambiguity at all! <...> The motivation here is NOT ambiguity but ONLY the desire not to duplicate the grammar of commands and expressions.

Dec 18 2018, 12:27 PM

Dec 14 2018

int-index added a comment to D5408: Introduce ExpPatFrame.

@simonpj Can we merge this, unless you have more questions/objections?

Dec 14 2018, 3:39 AM

Dec 11 2018

int-index added a comment to D5408: Introduce ExpPatFrame.

Good observation, thanks @goldfire. I couldn't decide if it's an intersection or a union, and now I see it's a union of intersections.

Dec 11 2018, 1:19 AM

Dec 10 2018

int-index added a comment to D5408: Introduce ExpPatFrame.

Can you elaborate on this? I don't get it. Commands can't appear in patterns either.

  1. do and if can appear in HsExpr with HsExpr as subtrees:
checkExpr (FrameIf c a b) = mkHsIf (checkExpr c) (checkExpr a) (checkExpr b)
checkExpr (FrameDo ctxt stmts) = mkHsDo ctxt (map checkExprStmt stmts)
Dec 10 2018, 5:25 PM
int-index added a comment to D5408: Introduce ExpPatFrame.

How about PTerm (for "parser term")?

Dec 10 2018, 3:19 PM
int-index added a comment to D5408: Introduce ExpPatFrame.

Would that not make the data type much smaller? Eg why do you have FrameStmt but not FrameBinds?

Dec 10 2018, 4:27 AM

Dec 7 2018

int-index added a comment to D5408: Introduce ExpPatFrame.

A few other stumbling blocks: HsLocalBinds (in HsLet, GRHSs) and Pat (in Match, Stmt).

Dec 7 2018, 12:17 PM
int-index added a comment to D5408: Introduce ExpPatFrame.

Found another option how to deal with ExprWithTySig: not using it. I instantiate XXExpr GhcPrePs with

Dec 7 2018, 8:28 AM
int-index added a comment to D5408: Introduce ExpPatFrame.

I am confused about this comment; what is dubious about having HsExpr (GhcPass GhcPp), where GhcPp is reserved for Pre-Parsing, as the type of expression-like entities that includes HsPat and HsCmd? Isn't it the same as your ExpPatFrame?

Dec 7 2018, 7:25 AM
int-index added a comment to D5408: Introduce ExpPatFrame.

I've added a new Plan G

Dec 7 2018, 5:07 AM
int-index added a comment to D5408: Introduce ExpPatFrame.

All of these passes are part of GHC, a single piece of software.

Dec 7 2018, 3:05 AM
int-index added a comment to D5408: Introduce ExpPatFrame.

To clarify, option one is:

Dec 7 2018, 2:29 AM

Dec 6 2018

int-index added a comment to D5408: Introduce ExpPatFrame.

@simonpj There are two options how I can introduce GhcPrePs:

Dec 6 2018, 11:46 AM
int-index added a comment to D5408: Introduce ExpPatFrame.

On the other hand, for Dependent Haskell we will probably have to merge HsExpr and HsType altogether, throughout the entire pipeline. So this bit of motivation is gone.

Dec 6 2018, 8:08 AM
int-index added a comment to D5408: Introduce ExpPatFrame.
we would create a new stage GhcPrePs for it.

Yes, that'd be fine.

We cannot use TTG for it: what type do we extend, HsExpr or HsPat?

Why "cannot"? Personally I'd extend HsExpr because that would mean that in the common case there little or no work to do.

Dec 6 2018, 7:07 AM
int-index added a comment to D5408: Introduce ExpPatFrame.

I'm very doubtful about the design though. Do we really need yet another huge data type?

Dec 6 2018, 6:27 AM
int-index added inline comments to D5229: Visible kind application.
Dec 6 2018, 12:47 AM

Dec 5 2018

int-index added inline comments to D5229: Visible kind application.
Dec 5 2018, 4:40 AM

Dec 4 2018

int-index updated the diff for D5408: Introduce ExpPatFrame.

Remove outdated TODO

Dec 4 2018, 10:37 AM
int-index updated the summary of D5408: Introduce ExpPatFrame.
Dec 4 2018, 10:25 AM
int-index updated the summary of D5408: Introduce ExpPatFrame.
Dec 4 2018, 10:25 AM
int-index updated the diff for D5408: Introduce ExpPatFrame.

Refactor 'checkCommand' to use ExpPatFrame

Dec 4 2018, 10:21 AM
int-index updated the diff for D5408: Introduce ExpPatFrame.

Rebase, use LExpPatFrame in 'checkValSigLhs'

Dec 4 2018, 4:54 AM
int-index added inline comments to D5229: Visible kind application.
Dec 4 2018, 4:20 AM

Dec 3 2018

int-index created D5408: Introduce ExpPatFrame.
Dec 3 2018, 8:25 PM

Oct 29 2018

int-index updated the diff for D5221: Lower precedence for {-# UNPACK #-}.

Rebase

Oct 29 2018, 8:17 AM

Oct 28 2018

int-index accepted D5274: Fix #15815 by parenthesizing the arguments to infix ~.
Oct 28 2018, 12:50 PM

Oct 27 2018

int-index added a comment to D4894: More explicit foralls (GHC Proposal 0007).

Can we also add a test case (maybe extend T15264) that the new forall forms trigger the implicit kind variables warning?

Oct 27 2018, 5:00 PM
int-index accepted D5170: RTS linker: don't crash early when not finding extra DLL, most likely it's not needed.

I'd be happy to see a test case as I asked before, but overall looks good now.

Oct 27 2018, 7:03 AM
int-index added inline comments to D5170: RTS linker: don't crash early when not finding extra DLL, most likely it's not needed.
Oct 27 2018, 3:48 AM
int-index requested changes to D5170: RTS linker: don't crash early when not finding extra DLL, most likely it's not needed.

You marked https://phabricator.haskell.org/D5170#inline-41160 as "Done" but it's not done.

Oct 27 2018, 3:32 AM

Oct 25 2018

int-index added a comment to D5036: [TTG: Handling Source Locations] Foundation and Pat.

Many functions seem to treat NewPat in a predefined manner instead of recursing into the Pat inside it – I don't see how it could possibly work. Does this rely on the caller to call dL on the pattern? Very fragile, let's not do that.

Oct 25 2018, 4:33 PM
int-index added a comment to D5221: Lower precedence for {-# UNPACK #-}.

could you link to the proposal in the description?

Oct 25 2018, 9:08 AM
int-index updated the summary of D5221: Lower precedence for {-# UNPACK #-}.
Oct 25 2018, 8:41 AM
int-index updated the diff for D5221: Lower precedence for {-# UNPACK #-}.

Rebase, add proposal link to the commit message

Oct 25 2018, 8:37 AM

Oct 24 2018

int-index updated the diff for D5221: Lower precedence for {-# UNPACK #-}.

Update comments, rebase

Oct 24 2018, 4:20 PM
int-index added inline comments to D5221: Lower precedence for {-# UNPACK #-}.
Oct 24 2018, 3:44 PM

Oct 22 2018

int-index added inline comments to D5170: RTS linker: don't crash early when not finding extra DLL, most likely it's not needed.
Oct 22 2018, 2:45 PM
int-index added inline comments to D5170: RTS linker: don't crash early when not finding extra DLL, most likely it's not needed.
Oct 22 2018, 11:21 AM

Oct 20 2018

int-index requested review of D5221: Lower precedence for {-# UNPACK #-}.
Oct 20 2018, 12:31 PM
int-index added a comment to D5221: Lower precedence for {-# UNPACK #-}.

@bgamari The proposal was accepted, would you mind taking another look?

Oct 20 2018, 12:29 PM

Oct 19 2018

int-index added a comment to D5170: RTS linker: don't crash early when not finding extra DLL, most likely it's not needed.

Current documentation talks about GHCi, but we actually face the same issue when using TemplateHaskell because it loads library dynamically, too. Could you mention TemplateHaskell there?

Oct 19 2018, 9:35 AM

Oct 18 2018

int-index added a comment to D5229: Visible kind application.

@RyanGlScott I'm fairly sure [] is parsed as a HsVar:

Oct 18 2018, 6:58 PM
int-index added a comment to D5229: Visible kind application.

I will special-case [] in the type-checker.

Oct 18 2018, 6:18 PM
int-index added inline comments to D5229: Visible kind application.
Oct 18 2018, 10:40 AM
int-index added inline comments to D5229: Visible kind application.
Oct 18 2018, 5:48 AM

Oct 17 2018

int-index added a comment to D5229: Visible kind application.

Great work! I've left a few comments about parsing.

Oct 17 2018, 8:09 AM

Oct 15 2018

int-index abandoned D5218: Meaning-preserving parsing of SCC/GENERATED/CORE annotations.

The discussion under https://github.com/ghc-proposals/ghc-proposals/pull/176 indicates that it's far from clear how exactly to proceed here, and it's likely that we'll end up with something different from this Diff, so I'll mark it as abandoned.

Oct 15 2018, 7:20 AM
int-index added a comment to D5170: RTS linker: don't crash early when not finding extra DLL, most likely it's not needed.

I have tested this patch using https://github.com/serokell/trac11042 and it indeed has the intended effect – the error is now a warning:

Oct 15 2018, 3:59 AM

Oct 13 2018

int-index added a comment to D5200: Enable -Wcompat=error in the testsuite.

CI failures are likely unrelated to this change, two tests have "stat too good":

Oct 13 2018, 2:55 AM

Oct 12 2018

int-index abandoned D5047: Return HsType GhcTc from tc_hs_type.

So do I. So, int-index, would be acceptable to follow path (1) for now?

Oct 12 2018, 1:37 PM
int-index updated the summary of D5200: Enable -Wcompat=error in the testsuite.
Oct 12 2018, 1:17 PM
int-index updated the diff for D5200: Enable -Wcompat=error in the testsuite.

Rebase

Oct 12 2018, 1:08 PM
int-index added a comment to D5044: Include -fwarn-star-is-type in -Wcompat.

Linux CI has passed: https://circleci.com/gh/ghc/ghc-diffs/457

Oct 12 2018, 8:54 AM
int-index added a comment to D5200: Enable -Wcompat=error in the testsuite.

On the other hand, one could argue that even failing test cases should pass -Wcompat's scrutiny.

Oct 12 2018, 8:01 AM
int-index updated the diff for D5200: Enable -Wcompat=error in the testsuite.

Update test cases

Oct 12 2018, 8:01 AM

Oct 11 2018

int-index updated the diff for D5221: Lower precedence for {-# UNPACK #-}.

Testsuite correction

Oct 11 2018, 8:29 AM
int-index added a comment to D5221: Lower precedence for {-# UNPACK #-}.

This change is not yet accepted by the GHC Steering Committee, but I prepared a patch for the case it gets accepted.

Oct 11 2018, 5:21 AM
int-index created D5221: Lower precedence for {-# UNPACK #-}.
Oct 11 2018, 5:20 AM

Oct 10 2018

int-index updated the diff for D5218: Meaning-preserving parsing of SCC/GENERATED/CORE annotations.

Workaround for operator sections

Oct 10 2018, 5:48 AM

Oct 9 2018

int-index added a comment to D5218: Meaning-preserving parsing of SCC/GENERATED/CORE annotations.

I tried to build it and test it but it doesn't build

Oct 9 2018, 4:43 PM
int-index added a comment to D5218: Meaning-preserving parsing of SCC/GENERATED/CORE annotations.

I tried to build it and test it but it doesn't build

Oct 9 2018, 4:05 PM
int-index added a comment to D5218: Meaning-preserving parsing of SCC/GENERATED/CORE annotations.

@osa1 I disagree with your analysis. With this patch, the examples you gave should parse as before, and no action from the users is needed in these cases. The change is that when the annotation is used after an infix operator, it applies only to the RHS of this operator. And in your examples there aren't even any operators.

Oct 9 2018, 3:32 PM
int-index added a comment to D5044: Include -fwarn-star-is-type in -Wcompat.

I updated the migration guide as requested: https://ghc.haskell.org/trac/ghc/wiki/Migration/8.8?action=diff&version=5

Oct 9 2018, 2:41 PM
int-index updated the diff for D5044: Include -fwarn-star-is-type in -Wcompat.

Update documentation

Oct 9 2018, 2:20 PM
int-index created D5218: Meaning-preserving parsing of SCC/GENERATED/CORE annotations.
Oct 9 2018, 1:36 PM
int-index updated the diff for D5044: Include -fwarn-star-is-type in -Wcompat.

Rebase

Oct 9 2018, 11:00 AM

Oct 8 2018

int-index added a comment to D5044: Include -fwarn-star-is-type in -Wcompat.

The CI failures do not seem related to the change:

Oct 8 2018, 7:41 AM

Oct 5 2018

int-index added a comment to D5205: Refactor NewHsTypeX to DerivedCoreTy.

I'm undecided how to proceed here because it appears the invariant about the type being closed is violated in current code.

Oct 5 2018, 9:27 AM
int-index created D5205: Refactor NewHsTypeX to DerivedCoreTy.
Oct 5 2018, 4:52 AM
int-index updated the diff for D5044: Include -fwarn-star-is-type in -Wcompat.

Rebase

Oct 5 2018, 1:55 AM

Oct 4 2018

int-index added a comment to D5044: Include -fwarn-star-is-type in -Wcompat.

Actually, let's merge this as is and add documentation for -Wstar-is-type in a new diff. That will make it easier to backport to 8.6.

Oct 4 2018, 11:06 AM
int-index created D5203: Add -Wstar-is-type to the User's Guide.
Oct 4 2018, 11:06 AM
int-index updated the diff for D5044: Include -fwarn-star-is-type in -Wcompat.

Bump Cabal submodule

Oct 4 2018, 8:27 AM
int-index added a parent revision for D5200: Enable -Wcompat=error in the testsuite: D5044: Include -fwarn-star-is-type in -Wcompat.
Oct 4 2018, 1:18 AM
int-index added a child revision for D5044: Include -fwarn-star-is-type in -Wcompat: D5200: Enable -Wcompat=error in the testsuite.
Oct 4 2018, 1:18 AM
int-index added a comment to D5200: Enable -Wcompat=error in the testsuite.

I think this is a sensible change, but I would want to make sure that we keep old code forms (things that fail -Wcompat) in the testsuite, because they are still supported. So I would just want to make sure that we preserve some test cases (that would now emit -Wcompat warnings).

Oct 4 2018, 1:12 AM

Oct 3 2018

Herald added a reviewer for D5200: Enable -Wcompat=error in the testsuite: goldfire.
Oct 3 2018, 3:02 PM
int-index added a comment to D5180: Parse the (!) type operator and allow type operators in existential context.

@RyanGlScott Sure, I can apply the same approach to terms, but I would prefer to do it in a separate Diff. For now I added Note [isFunLhs vs mergeDataCon] that documents the difference in detail.

Oct 3 2018, 12:45 PM
int-index added a comment to D5199: Set `infixr -1 ->`.

That has been fixed (and for the better I think!). Consider the following GHCi session

Oct 3 2018, 11:28 AM
int-index added a comment to D5180: Parse the (!) type operator and allow type operators in existential context.

I also added two entries to docs/users_guide/8.8.1-notes.rst.

Oct 3 2018, 11:06 AM
int-index updated the diff for D5180: Parse the (!) type operator and allow type operators in existential context.

Documentation, test cases for error messages, rebase

Oct 3 2018, 10:59 AM
int-index added a comment to D5199: Set `infixr -1 ->`.

until we can actually set ~ to be the fixity we want

Oct 3 2018, 10:59 AM
int-index added a comment to D5180: Parse the (!) type operator and allow type operators in existential context.

Aha. That's a much stronger reason.

Oct 3 2018, 6:29 AM
int-index added a comment to D5180: Parse the (!) type operator and allow type operators in existential context.

why it differs from the design for expressions?

Oct 3 2018, 5:25 AM

Oct 1 2018

int-index updated the diff for D5180: Parse the (!) type operator and allow type operators in existential context.

Documentation and error messages

Oct 1 2018, 4:23 PM
int-index added inline comments to D5180: Parse the (!) type operator and allow type operators in existential context.
Oct 1 2018, 4:23 PM
int-index updated the diff for D5180: Parse the (!) type operator and allow type operators in existential context.

Documentation and rebase

Oct 1 2018, 1:28 PM

Sep 25 2018

int-index added inline comments to D5180: Parse the (!) type operator and allow type operators in existential context.
Sep 25 2018, 3:59 PM
int-index added a comment to D5023: Parse the ~ and ! type operators consistently.

Created https://phabricator.haskell.org/D5180 with a proper fix.

Sep 25 2018, 2:18 PM
int-index updated the summary of D5180: Parse the (!) type operator and allow type operators in existential context.
Sep 25 2018, 2:16 PM
int-index updated the summary of D5180: Parse the (!) type operator and allow type operators in existential context.
Sep 25 2018, 2:15 PM
int-index created D5180: Parse the (!) type operator and allow type operators in existential context.
Sep 25 2018, 2:13 PM

Aug 27 2018

int-index added a comment to D5047: Return HsType GhcTc from tc_hs_type.

The downside to @int-index's approach is that it requires adding a lot of extension fields

Aug 27 2018, 6:20 PM

Aug 22 2018

int-index added a comment to D5047: Return HsType GhcTc from tc_hs_type.

I advocate the less ambitious version, which still lets you do the Trac Trac #12088 stuff, doesn't it?

Aug 22 2018, 11:06 AM
int-index added a comment to D5047: Return HsType GhcTc from tc_hs_type.

In fact, it looks as if something entirely new is happening: you are using the extension-field of the HsType constructors to store a desugared version of type. So in fact tc_hs_type is returning both an HsType Tc, and (in the extension fields) a desugared version of every sub-tree. Is this really what we want?

Aug 22 2018, 8:18 AM

Aug 21 2018

int-index added inline comments to D5047: Return HsType GhcTc from tc_hs_type.
Aug 21 2018, 2:50 PM

Aug 17 2018

int-index added a comment to D5023: Parse the ~ and ! type operators consistently.

@int-index: would you be interested in having a go at this? You seem knowledgeable!

Aug 17 2018, 9:31 AM
int-index added a comment to D5023: Parse the ~ and ! type operators consistently.

@RyanGlScott Here's a test case:

Aug 17 2018, 7:35 AM
int-index added a comment to D5023: Parse the ~ and ! type operators consistently.

That would allow f :: T (a ~ b) and f :: T (a ! b) to parse -- I have no idea what happens to them now.

Aug 17 2018, 6:25 AM