[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