diff options
author | Alexander Vershilov <alexander.vershilov@gmail.com> | 2015-03-07 11:13:12 -0600 |
---|---|---|
committer | Austin Seipp <austin@well-typed.com> | 2015-03-07 11:13:12 -0600 |
commit | 76b1e11943d794da61d342c072a783862a9e2a1a (patch) | |
tree | 832360e9f2498e4a66403458a4b33376b240aa7b /docs/core-spec/CoreSyn.ott | |
parent | 504d8a4b183670830093a81d3c7a6d78416aed20 (diff) | |
download | haskell-76b1e11943d794da61d342c072a783862a9e2a1a.tar.gz |
Improve core linter so it catches unsafeCoerce problems (T9122)
Summary:
This is a draft of the patch that is sent for review.
In this patch required changes in linter were introduced
and actual check:
- new helper function: primRepSizeB
- primRep check for floating
- Add access to dynamic flags in linter.
- Implement additional lint rules.
Reviewers: austin, goldfire, simonpj
Reviewed By: simonpj
Subscribers: thomie
Differential Revision: https://phabricator.haskell.org/D637
GHC Trac Issues: #9122
Diffstat (limited to 'docs/core-spec/CoreSyn.ott')
-rw-r--r-- | docs/core-spec/CoreSyn.ott | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/docs/core-spec/CoreSyn.ott b/docs/core-spec/CoreSyn.ott index 0c5b30483e..d64667af18 100644 --- a/docs/core-spec/CoreSyn.ott +++ b/docs/core-spec/CoreSyn.ott @@ -278,6 +278,7 @@ terminals :: 'terminals_' ::= | vars_of :: :: vars_of {{ tex \textsf{vars\_of } }} | not :: :: not {{ tex \neg }} | isUnLiftedTyCon :: :: isUnLiftenTyCon {{ tex \textsf{isUnLiftedTyCon} }} + | compatibleUnBoxedTys :: :: compatibleUnBoxedTys {{ tex \textsf{compatibleUnBoxedTys} }} | false :: :: false {{ tex \textsf{false} }} | true :: :: true {{ tex \textsf{true} }} | \/ :: :: or {{ tex \vee }} @@ -333,6 +334,7 @@ formula :: 'formula_' ::= | no_duplicates </ bindingi // i /> :: :: no_duplicates_binding | not formula :: :: not | isUnLiftedTyCon T :: :: isUnLiftedTyCon + | compatibleUnBoxedTys t1 t2 :: :: compatibleUnBoxedTys | formula1 /\ formula2 :: :: and | formula1 \/ formula2 :: :: or | ( formula ) :: :: parens |