[commit: ghc] master: Remove PatSynBuilderId (2208011)

Matthew Pickering matthewtpickering at gmail.com
Mon Nov 9 10:56:06 UTC 2015


I don't think this would work in the case where there are no fields initialised?

Concretely, I am thinking of a case like this:
https://phabricator.haskell.org/P72

If I understand right, rbinds would be an empty list so there would be
no selector Id to get the relevant ConLike from.

On Mon, Nov 9, 2015 at 10:20 AM, Simon Peyton Jones
<simonpj at microsoft.com> wrote:
> Matthew,
>
> |      Remove PatSynBuilderId
>
> Thanks for doing this.  But it can be simpler still!  Suggestion:
>
> - remove the new 'labels' field from RecordCon; you only use it in dsExpr
>
> - In dsExpr, use the hsRecFieldSel of the first item in 'rbinds' to get a selector-Id
>
> - Inside that selector-Id you'll find RecSelId IdInfo; you can use that to
>   get the labels.
>
> Would that work?
>
> Simon
>
> |  -----Original Message-----
> |  From: ghc-commits [mailto:ghc-commits-bounces at haskell.org] On Behalf Of
> |  git at git.haskell.org
> |  Sent: 07 November 2015 23:50
> |  To: ghc-commits at haskell.org
> |  Subject: [commit: ghc] master: Remove PatSynBuilderId (2208011)
> |
> |  Repository : ssh://git@git.haskell.org/ghc
> |
> |  On branch  : master
> |  Link       :
> |  https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fghc.haskell.
> |  org%2ftrac%2fghc%2fchangeset%2f22080113f02f6644e2a0e3ce8adb1502346ab3b4%2fgh
> |  c&data=01%7c01%7csimonpj%40064d.mgd.microsoft.com%7c761b0bb4068a4d3ebe4c08d2
> |  e7ce3c86%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=SQ%2fUVBd2qpKcBoN17ALE
> |  MES4qFLtEuWiJakOotW0IUM%3d
> |
> |  >---------------------------------------------------------------
> |
> |  commit 22080113f02f6644e2a0e3ce8adb1502346ab3b4
> |  Author: Matthew Pickering <matthewtpickering at gmail.com>
> |  Date:   Sat Nov 7 23:46:03 2015 +0000
> |
> |      Remove PatSynBuilderId
> |
> |      Summary:
> |      It was only used to pass field labels between the typechecker and
> |      desugarer. Instead we add an extra field the RecordCon to carry this
> |      information.
> |
> |      Reviewers: austin, goldfire, bgamari
> |
> |      Reviewed By: bgamari
> |
> |      Subscribers: thomie
> |
> |      Differential Revision: https://phabricator.haskell.org/D1443
> |
> |      GHC Trac Issues: #11057
> |
> |
> |  >---------------------------------------------------------------
> |
> |  22080113f02f6644e2a0e3ce8adb1502346ab3b4
> |   compiler/basicTypes/Id.hs      | 11 +----------
> |   compiler/basicTypes/IdInfo.hs  |  3 ---
> |   compiler/deSugar/Coverage.hs   |  5 +++--
> |   compiler/deSugar/DsExpr.hs     |  4 +---
> |   compiler/deSugar/DsMeta.hs     |  2 +-
> |   compiler/hsSyn/Convert.hs      |  4 +++-
> |   compiler/hsSyn/HsExpr.hs       |  4 +++-
> |   compiler/hsSyn/PlaceHolder.hs  |  2 ++
> |   compiler/parser/RdrHsSyn.hs    |  4 ++--
> |   compiler/rename/RnExpr.hs      |  6 +++---
> |   compiler/typecheck/TcExpr.hs   |  5 +++--
> |   compiler/typecheck/TcHsSyn.hs  |  4 ++--  compiler/typecheck/TcPatSyn.hs |
> |  14 ++++++--------
> |   13 files changed, 30 insertions(+), 38 deletions(-)
> |
> |  Diff suppressed because of size. To see it, use:
> |
> |      git diff-tree --root --patch-with-stat --no-color --find-copies-harder -
> |  -ignore-space-at-eol --cc 22080113f02f6644e2a0e3ce8adb1502346ab3b4
> |  _______________________________________________
> |  ghc-commits mailing list
> |  ghc-commits at haskell.org
> |  https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fmail.haskell
> |  .org%2fcgi-bin%2fmailman%2flistinfo%2fghc-
> |  commits&data=01%7c01%7csimonpj%40064d.mgd.microsoft.com%7c761b0bb4068a4d3ebe
> |  4c08d2e7ce3c86%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=BnsSFmFFBiglS%2b
> |  ZyKRkye9LUDZyIh7lDkRoyCLDvb9U%3d


More information about the ghc-devs mailing list