Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
GHC
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
4,262
Issues
4,262
List
Boards
Labels
Service Desk
Milestones
Iterations
Merge Requests
419
Merge Requests
419
Requirements
Requirements
List
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Operations
Operations
Incidents
Environments
Analytics
Analytics
CI / CD
Code Review
Insights
Issue
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Glasgow Haskell Compiler
GHC
Commits
017d11e0
Commit
017d11e0
authored
Nov 14, 2016
by
Gabor Greif
💬
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Typos in comments, notes and manual
parent
642adec4
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
15 additions
and
15 deletions
+15
-15
compiler/coreSyn/CoreUtils.hs
compiler/coreSyn/CoreUtils.hs
+1
-1
compiler/typecheck/TcExpr.hs
compiler/typecheck/TcExpr.hs
+2
-2
compiler/typecheck/TcFlatten.hs
compiler/typecheck/TcFlatten.hs
+1
-1
compiler/typecheck/TcGenDeriv.hs
compiler/typecheck/TcGenDeriv.hs
+1
-1
compiler/typecheck/TcInstDcls.hs
compiler/typecheck/TcInstDcls.hs
+1
-1
compiler/typecheck/TcMType.hs
compiler/typecheck/TcMType.hs
+1
-1
compiler/typecheck/TcSimplify.hs
compiler/typecheck/TcSimplify.hs
+2
-2
compiler/typecheck/TcUnify.hs
compiler/typecheck/TcUnify.hs
+1
-1
compiler/vectorise/Vectorise.hs
compiler/vectorise/Vectorise.hs
+1
-1
docs/users_guide/glasgow_exts.rst
docs/users_guide/glasgow_exts.rst
+3
-3
testsuite/tests/typecheck/should_fail/tcfail174.hs
testsuite/tests/typecheck/should_fail/tcfail174.hs
+1
-1
No files found.
compiler/coreSyn/CoreUtils.hs
View file @
017d11e0
...
...
@@ -2091,7 +2091,7 @@ rhsIsStatic :: Platform
--
-- (ii) We treat partial applications as redexes, because in fact we
-- make a thunk for them that runs and builds a PAP
-- at run-time. The only appliations that are treated as
-- at run-time. The only appli
c
ations that are treated as
-- static are *saturated* applications of constructors.
-- We used to try to be clever with nested structures like this:
...
...
compiler/typecheck/TcExpr.hs
View file @
017d11e0
...
...
@@ -306,7 +306,7 @@ People write
so much, where
runST :: (forall s. ST s a) -> a
that I have finally given in and written a special type-checking
rule just for saturated appliations of ($).
rule just for saturated appli
c
ations of ($).
* Infer the type of the first argument
* Decompose it; should be of form (arg2_ty -> res_ty),
where arg2_ty might be a polytype
...
...
@@ -1938,7 +1938,7 @@ getFixedTyVars upd_fld_occs univ_tvs cons
-- Universally-quantified tyvars that
-- appear in any of the *implicit*
-- arguments to the constructor are fixed
-- See Note [Implict type sharing]
-- See Note [Implic
i
t type sharing]
fixed_tys
=
[
ty
|
(
fl
,
ty
)
<-
zip
flds
arg_tys
,
not
(
flLabel
fl
`
elem
`
upd_fld_occs
)]
...
...
compiler/typecheck/TcFlatten.hs
View file @
017d11e0
...
...
@@ -432,7 +432,7 @@ Assuming NOT rewriting wanteds with wanteds
[G] V a ~ f_aBg
Worklist includes [W] Scalar fmv_aBi ~ fmv_aBk
fmv_aBi, fmv_aBk are flatten unifica
it
on variables
fmv_aBi, fmv_aBk are flatten unifica
ti
on variables
Work item: [W] V fsk_aBh ~ fmv_aBi
...
...
compiler/typecheck/TcGenDeriv.hs
View file @
017d11e0
...
...
@@ -1591,7 +1591,7 @@ a polytype. E.g.
The type checker checks this code, and it currently requires
-XImpredicativeTypes to permit that polymorphic type instantiation,
so
ew
have to switch that flag on locally in TcDeriv.genInst.
so
we
have to switch that flag on locally in TcDeriv.genInst.
See #8503 for more discussion.
...
...
compiler/typecheck/TcInstDcls.hs
View file @
017d11e0
...
...
@@ -941,7 +941,7 @@ Notice that
be usused in some, but dead-code elimination will drop it.)
We achieve this by putting the the evidence variable for the overall
instance implica
it
on into the AbsBinds for each method/superclass.
instance implica
ti
on into the AbsBinds for each method/superclass.
Hence the 'dfun_ev_binds' passed into tcMethods and tcSuperClasses.
(And that in turn is why the abs_ev_binds field of AbBinds is a
[TcEvBinds] rather than simply TcEvBinds.
...
...
compiler/typecheck/TcMType.hs
View file @
017d11e0
...
...
@@ -379,7 +379,7 @@ checkingExpType err et = pprPanic "checkingExpType" (text err $$ ppr et)
tauifyExpType
::
ExpType
->
TcM
ExpType
-- ^ Turn a (Infer hole) type into a (Check alpha),
-- where alpha is a fresh unifica
it
on variable
-- where alpha is a fresh unifica
ti
on variable
tauifyExpType
(
Check
ty
)
=
return
(
Check
ty
)
-- No-op for (Check ty)
tauifyExpType
(
Infer
inf_res
)
=
do
{
ty
<-
inferResultToType
inf_res
;
return
(
Check
ty
)
}
...
...
compiler/typecheck/TcSimplify.hs
View file @
017d11e0
...
...
@@ -1553,8 +1553,8 @@ of progress. Trac #8474 is a classic example:
exponentially many) iterations!
Conclusion: we should call solveNestedImplications only if we did
some unifiction in solveSimpleWanteds; because that's the only way
we'll get more Givens (a unifica
it
on is like adding a Given) to
some unific
a
tion in solveSimpleWanteds; because that's the only way
we'll get more Givens (a unifica
ti
on is like adding a Given) to
allow the implication to make progress.
-}
...
...
compiler/typecheck/TcUnify.hs
View file @
017d11e0
...
...
@@ -999,7 +999,7 @@ with constraints
Here we abstract over the '->' inside the forall, in case that
is subject to an equality constraint from a GADT match.
Note that we kept the outer (->) bec
ua
se that's part of
Note that we kept the outer (->) bec
au
se that's part of
the polymorphic "shape". And becauuse of impredicativity,
GADT matches can't give equalities that affect polymorphic
shape.
...
...
compiler/vectorise/Vectorise.hs
View file @
017d11e0
...
...
@@ -275,7 +275,7 @@ vectTopBind b@(Rec binds)
-- Add a vectorised binding to an imported top-level variable that has a VECTORISE pragma
-- in this module.
--
-- REST
IR
CTION: Currently, we cannot use the pragma for mutually recursive definitions.
-- REST
RI
CTION: Currently, we cannot use the pragma for mutually recursive definitions.
--
vectImpBind
::
(
Id
,
CoreExpr
)
->
VM
CoreBind
vectImpBind
(
var
,
expr
)
...
...
docs/users_guide/glasgow_exts.rst
View file @
017d11e0
...
...
@@ -9493,13 +9493,13 @@ your ``forall``\s explicitly. Indeed, doing so is strongly advised for
rank
-
2
types
.
Sometimes
there
*
is
*
no
"outermost level"
,
in
which
case
no
implicit
quanification
happens
:
::
implicit
quan
t
ification
happens
:
::
data
PackMap
a
b
s
t
=
PackMap
(
Monad
f
=>
(
a
->
f
b
)
->
s
->
f
t
)
This
is
rejected
because
there
is
no
"outermost level"
for
the
types
on
the
RHS
(
it
would
obviously
be
terrible
to
add
extra
parameters
to
``
PackMap
``),
so
no
implicit
quantifica
it
on
happens
,
and
the
declaration
is
rejected
so
no
implicit
quantifica
ti
on
happens
,
and
the
declaration
is
rejected
(
with
"``f`` is out of scope"
).
Solution
:
use
an
explicit
``
forall
``:
::
data
PackMap
a
b
s
t
=
PackMap
(
forall
f
.
Monad
f
=>
(
a
->
f
b
)
->
s
->
f
t
)
...
...
@@ -11590,7 +11590,7 @@ optionally had by adding ``!`` in front of a variable.
In
ordinary
Haskell
,
``
f
``
is
lazy
in
its
argument
and
hence
in
``
x
``;
and
``
g
``
is
strict
in
its
argument
and
hence
also
strict
in
``
x
``.
With
``
Strict
``,
both
become
strict
because
``
f
``
's argument
gets an implict bang.
gets an implic
i
t bang.
.. _strict-modularity:
...
...
testsuite/tests/typecheck/should_fail/tcfail174.hs
View file @
017d11e0
...
...
@@ -8,7 +8,7 @@ data Capture a = Base a
g
::
Capture
(
forall
a
.
a
->
a
)
g
=
Base
id
-- Fails; need a rigid signature on 'id'
-- Actually, succeeds now, with visible type application
-- Disagree: should not succeed bec
ua
se it instantiates
-- Disagree: should not succeed bec
au
se it instantiates
-- Base with a forall type
-- This function should definitely be rejected, with or without type signature
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment