Created
January 28, 2017 04:45
-
-
Save bgamari/71733f8c43f43fe66d51f9e59e153783 to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[1 of 1] Compiling T11480b ( T11480b.hs, T11480b.o ) | |
lookupCF | |
Nat | |
Just [runNat{runNat}] | |
[rKl :-> [runNat{runNat}], rKy :-> [], rKC :-> [getY{getY}]] | |
lookupCF | |
Y | |
Just [getY{getY}] | |
[rKl :-> [runNat{runNat}], rKy :-> [], rKC :-> [getY{getY}]] | |
Tc2 (src) | |
Tc3 | |
txExtendKindEnv [] | |
txExtendKindEnv [] | |
kcTyClGroup | |
module T11480b | |
newtype Y (p_aLB :: i_aLz | |
-> j_aLA -> *) (a_aLC :: j_aLA) (b_aLD :: i_aLz) | |
= Y {getY :: p_aLB b_aLD a_aLC} | |
txExtendKindEnv [(Y, APromotionErr TyConPE)] | |
env2 | |
[(i_aLz, Type variable ‘i_aLz’ = i_aLz[sk:1]), | |
(j_aLA, Type variable ‘j_aLA’ = j_aLA[sk:1])] | |
lk1 i_aLz | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
lk1 j_aLA | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
lk1 * | |
tcTyVar2b | |
* :: * | |
* | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
env2 [(p_aLB, Type variable ‘p_aLB’ = p_aLB[sk:1])] | |
lk1 j_aLA | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
env2 [(a_aLC, Type variable ‘a_aLC’ = a_aLC[sk:1])] | |
lk1 i_aLz | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
env2 [(b_aLD, Type variable ‘b_aLD’ = b_aLD[sk:1])] | |
solveEqualities { wanted = WC {} | |
newTcEvBinds unique = aPr | |
solveWanteds { WC {} | |
solveSimpleWanteds { {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {} | |
End solveEqualities } | |
reportAllUnsolved { | |
newTcEvBinds unique = aPs | |
reportAllUnsolved } | |
kcTyClGroup: initial kinds | |
Y :: forall j i. | |
(i_aLz[sk:1] -> j_aLA[sk:1] -> *) | |
-> j_aLA[sk:1] -> i_aLz[sk:1] -> * | |
(Y, APromotionErr RecDataConPE) | |
txExtendKindEnv [(Y, ATcTyCon Y), (Y, APromotionErr RecDataConPE)] | |
env2 | |
[(i_aLz, Type variable ‘i_aLz’ = i_aLz[sk:1]), | |
(j_aLA, Type variable ‘j_aLA’ = j_aLA[sk:1]), | |
(p_aLB, Type variable ‘p_aLB’ = p_aLB[sk:1]), | |
(a_aLC, Type variable ‘a_aLC’ = a_aLC[sk:1]), | |
(b_aLD, Type variable ‘b_aLD’ = b_aLD[sk:1])] | |
env2 [] | |
lk1 p_aLB | |
tc_infer_args (vis) | |
[anon] i_aLz[sk:1] | |
b_aLD | |
lk1 b_aLD | |
u_tys | |
tclvl 1 | |
i_aLz[sk:1] ~ i_aLz[sk:1] | |
arising from a type equality i_aLz[sk:1] ~ i_aLz[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aLz[sk:1] | |
i_aLz[sk:1] | |
<i_aLz[sk:1]>_N | |
tc_infer_args (vis) | |
[anon] j_aLA[sk:1] | |
a_aLC | |
lk1 a_aLC | |
u_tys | |
tclvl 1 | |
j_aLA[sk:1] ~ j_aLA[sk:1] | |
arising from a type equality j_aLA[sk:1] ~ j_aLA[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
j_aLA[sk:1] | |
j_aLA[sk:1] | |
<j_aLA[sk:1]>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aPt[tau:1] | |
arising from a type equality * ~ TYPE t_aPt[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aPt[tau:1] | |
arising from a type equality * ~ TYPE t_aPt[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aPt[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aPt[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aPt[tau:1] | |
<*>_N | |
solveEqualities { wanted = WC {} | |
newTcEvBinds unique = aPu | |
solveWanteds { WC {} | |
solveSimpleWanteds { {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {} | |
End solveEqualities } | |
reportAllUnsolved { | |
newTcEvBinds unique = aPv | |
reportAllUnsolved } | |
quantifyZonkedTyVars | |
DV {dv_kvs = [] dv_tvs = []} | |
[] | |
quantifyTyVars | |
globals: [] | |
nondep: [] | |
dep: [] | |
dep_kvs' [] | |
nondep_tvs' [] | |
Generalise kind | |
Y | |
[@j_aLA[sk:1], @i_aLz[sk:1], p_aLB[sk:1], a_aLC[sk:1], b_aLD[sk:1]] | |
[] | |
[@j_aLA[sk:1], @i_aLz[sk:1], p_aLB[sk:1], a_aLC[sk:1], b_aLD[sk:1]] | |
* | |
[@j_aLA, @i_aLz, p_aLB, a_aLC, b_aLD] | |
* | |
[j_aLA[sk:1], i_aLz[sk:1], p_aLB[sk:1], a_aLC[sk:1], b_aLD[sk:1]] | |
[i_aLz[sk:1], j_aLA[sk:1], p_aLB[sk:1], a_aLC[sk:1], b_aLD[sk:1]] | |
kcTyClGroup result Y :: forall j i. (i -> j -> *) -> j -> i -> * | |
tcTyAndCl generalized kinds | |
(Y, [@j_aLA, @i_aLz, p_aLB, a_aLC, b_aLD], *) | |
txExtendKindEnv [(Y, ATcTyCon Y)] | |
tcTyAndCl-x | |
newtype Y (p_aLB :: i_aLz | |
-> j_aLA -> *) (a_aLC :: j_aLA) (b_aLD :: i_aLz) | |
= Y {getY :: p_aLB b_aLD a_aLC} | |
env2 | |
[(i_aLz, Type variable ‘i_aLz’ = i_aLz[sk:1]), | |
(j_aLA, Type variable ‘j_aLA’ = j_aLA[sk:1]), | |
(p_aLB, Type variable ‘p_aLB’ = p_aLB[sk:1]), | |
(a_aLC, Type variable ‘a_aLC’ = a_aLC[sk:1]), | |
(b_aLD, Type variable ‘b_aLD’ = b_aLD[sk:1])] | |
solveEqualities { wanted = WC {} | |
newTcEvBinds unique = aPx | |
solveWanteds { WC {} | |
solveSimpleWanteds { {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {} | |
End solveEqualities } | |
reportAllUnsolved { | |
newTcEvBinds unique = aPy | |
reportAllUnsolved } | |
tcConDecl 1 Y | |
env2 [] | |
tcConDecl Y tvs: [] | |
tcConArg 1 p_aLB b_aLD a_aLC | |
lk1 p_aLB | |
tc_infer_args (vis) | |
[anon] i_aLz[sk:1] | |
b_aLD | |
lk1 b_aLD | |
u_tys | |
tclvl 1 | |
i_aLz[sk:1] ~ i_aLz[sk:1] | |
arising from a type equality i_aLz[sk:1] ~ i_aLz[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aLz[sk:1] | |
i_aLz[sk:1] | |
<i_aLz[sk:1]>_N | |
tc_infer_args (vis) | |
[anon] j_aLA[sk:1] | |
a_aLC | |
lk1 a_aLC | |
u_tys | |
tclvl 1 | |
j_aLA[sk:1] ~ j_aLA[sk:1] | |
arising from a type equality j_aLA[sk:1] ~ j_aLA[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
j_aLA[sk:1] | |
j_aLA[sk:1] | |
<j_aLA[sk:1]>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aPz[tau:1] | |
arising from a type equality * ~ TYPE t_aPz[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aPz[tau:1] | |
arising from a type equality * ~ TYPE t_aPz[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aPz[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aPz[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aPz[tau:1] | |
<*>_N | |
tcConArg 2 p_aLB b_aLD a_aLC | |
lookupCF | |
Y | |
Just [getY{getY}] | |
[rKl :-> [runNat{runNat}], rKy :-> [], rKC :-> [getY{getY}]] | |
tcExplicitTKBndrs | |
Hs vars: [] | |
tvs: | |
tcImplicitTKBndrs | |
[] | |
[] | |
solveEqualities { wanted = WC {} | |
newTcEvBinds unique = aPA | |
solveWanteds { WC {} | |
solveSimpleWanteds { {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {} | |
End solveEqualities } | |
reportAllUnsolved { | |
newTcEvBinds unique = aPB | |
reportAllUnsolved } | |
quantifyZonkedTyVars | |
DV {dv_kvs = [aLz :-> i_aLz[sk:1], aLA :-> j_aLA[sk:1]] | |
dv_tvs = [aLD :-> b_aLD[sk:1], aLB :-> p_aLB[sk:1], | |
aLC :-> a_aLC[sk:1]]} | |
[aLz :-> i_aLz, aLA :-> j_aLA, aLB :-> p_aLB, aLC :-> a_aLC, | |
aLD :-> b_aLD] | |
quantifyTyVars | |
globals: [aLz :-> i_aLz, aLA :-> j_aLA, aLB :-> p_aLB, | |
aLC :-> a_aLC, aLD :-> b_aLD] | |
nondep: [] | |
dep: [] | |
dep_kvs' [] | |
nondep_tvs' [] | |
tcConDecl 2 | |
Y | |
[getY{getY}] | |
tcConDecl 2 Y | |
tcDataDefn | |
Y | |
[@j_aLA, @i_aLz, p_aLB, a_aLC, b_aLD] | |
[] | |
Starting synonym cycle check [Y] | |
Done synonym cycle check [Y] | |
Starting family consistency check [Y] | |
Done family consistency [Y] | |
Starting validity check [Y] | |
Starting validity for tycon Y | |
checkValidTyCon | |
Y | |
Nothing | |
cvtc1 Y | |
cvtc2 Y | |
checkValidDataCon | |
Y | |
Y | |
[j_aLA, i_aLz, p_aLB, a_aLC, b_aLD] | |
Y p a b :: * | |
Y p a b :: * | |
checkValidDataCon 2 | |
forall j i (p :: i -> j -> *) (a :: j) (b :: i). p b a -> Y p a b | |
checkValidType | |
forall j i (p :: i -> j -> *) (a :: j) (b :: i). | |
p b a -> Y p a b :: * | |
check_type | |
forall j i (p :: i -> j -> *) (a :: j) (b :: i). p b a -> Y p a b | |
True | |
Ambiguity check for | |
forall j i (p :: i -> j -> *) (a :: j) (b :: i). p b a -> Y p a b | |
tcSubType_NC | |
the type of the constructor ‘Y’ | |
forall j i (p :: i -> j -> *) (a :: j) (b :: i). p b a -> Y p a b | |
forall j i (p :: i -> j -> *) (a :: j) (b :: i). p b a -> Y p a b | |
tc_sub_tc_type (general case) | |
ty_actual = forall j i (p :: i -> j -> *) (a :: j) (b :: i). | |
p b a -> Y p a b | |
ty_expected = forall j i (p :: i -> j -> *) (a :: j) (b :: i). | |
p b a -> Y p a b | |
tcSkolemise | |
tcSkolemise | |
1 | |
expected_ty forall j i (p :: i -> j -> *) (a :: j) (b :: i). | |
p b a -> Y p a b | |
inst tyvars [j_aPJ[sk:2], i_aPK[sk:2], p_aPL[sk:2], a_aPM[sk:2], | |
b_aPN[sk:2]] | |
given [] | |
inst type p_aPL[sk:2] b_aPN[sk:2] a_aPM[sk:2] | |
-> Y p_aPL[sk:2] a_aPM[sk:2] b_aPN[sk:2] | |
tc_sub_type_ds | |
ty_actual = forall j i (p :: i -> j -> *) (a :: j) (b :: i). | |
p b a -> Y p a b | |
ty_expected = p_aPL[sk:2] b_aPN[sk:2] a_aPM[sk:2] | |
-> Y p_aPL[sk:2] a_aPM[sk:2] b_aPN[sk:2] | |
Instantiating | |
all tyvars? True | |
origin arising from a type equality forall j i (p :: i | |
-> j -> *) (a :: j) (b :: i). | |
p b a -> Y p a b | |
~ | |
forall j i (p :: i -> j -> *) (a :: j) (b :: i). | |
p b a -> Y p a b | |
type forall j i (p :: i -> j -> *) (a :: j) (b :: i). | |
p b a -> Y p a b | |
theta [] | |
leave_bndrs [] | |
with [j_aPO[tau:2], i_aPP[tau:2], p_aPQ[tau:2], a_aPR[tau:2], | |
b_aPS[tau:2]] | |
theta: [] | |
tc_sub_type_ds | |
ty_actual = p_aPQ[tau:2] b_aPS[tau:2] a_aPR[tau:2] | |
-> Y p_aPQ[tau:2] a_aPR[tau:2] b_aPS[tau:2] | |
ty_expected = p_aPL[sk:2] b_aPN[sk:2] a_aPM[sk:2] | |
-> Y p_aPL[sk:2] a_aPM[sk:2] b_aPN[sk:2] | |
tc_sub_type_ds | |
ty_actual = Y p_aPQ[tau:2] a_aPR[tau:2] b_aPS[tau:2] | |
ty_expected = Y p_aPL[sk:2] a_aPM[sk:2] b_aPN[sk:2] | |
deeply_instantiate final subst | |
origin: arising from a type equality forall j i (p :: i | |
-> j -> *) (a :: j) (b :: i). | |
p b a -> Y p a b | |
~ | |
forall j i (p :: i -> j -> *) (a :: j) (b :: i). | |
p b a -> Y p a b | |
type: Y p_aPQ[tau:2] a_aPR[tau:2] b_aPS[tau:2] | |
new type: Y p_aPQ[tau:2] a_aPR[tau:2] b_aPS[tau:2] | |
subst: [TCvSubst | |
In scope: InScope {j_aPO i_aPP p_aPQ a_aPR b_aPS} | |
Type env: [] | |
Co env: []] | |
u_tys | |
tclvl 2 | |
Y p_aPQ[tau:2] a_aPR[tau:2] b_aPS[tau:2] | |
~ | |
Y p_aPL[sk:2] a_aPM[sk:2] b_aPN[sk:2] | |
arising from a type equality p_aPQ[tau:2] b_aPS[tau:2] a_aPR[tau:2] | |
-> Y p_aPQ[tau:2] a_aPR[tau:2] b_aPS[tau:2] | |
~ | |
p_aPL[sk:2] b_aPN[sk:2] a_aPM[sk:2] | |
-> Y p_aPL[sk:2] a_aPM[sk:2] b_aPN[sk:2] | |
u_tys | |
tclvl 2 | |
j_aPO[tau:2] ~ j_aPJ[sk:2] | |
arising from a type equality p_aPQ[tau:2] b_aPS[tau:2] a_aPR[tau:2] | |
-> Y p_aPQ[tau:2] a_aPR[tau:2] b_aPS[tau:2] | |
~ | |
p_aPL[sk:2] b_aPN[sk:2] a_aPM[sk:2] | |
-> Y p_aPL[sk:2] a_aPM[sk:2] b_aPN[sk:2] | |
u_tys | |
tclvl 2 | |
* ~ * | |
arising from a kind equality arising from | |
j_aPO[tau:2] ~ j_aPJ[sk:2] | |
u_tys | |
tclvl 2 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
j_aPO[tau:2] ~ j_aPJ[sk:2] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar j_aPO[tau:2] := j_aPJ[sk:2] | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
i_aPP[tau:2] ~ i_aPK[sk:2] | |
arising from a type equality p_aPQ[tau:2] b_aPS[tau:2] a_aPR[tau:2] | |
-> Y p_aPQ[tau:2] a_aPR[tau:2] b_aPS[tau:2] | |
~ | |
p_aPL[sk:2] b_aPN[sk:2] a_aPM[sk:2] | |
-> Y p_aPL[sk:2] a_aPM[sk:2] b_aPN[sk:2] | |
u_tys | |
tclvl 2 | |
* ~ * | |
arising from a kind equality arising from | |
i_aPP[tau:2] ~ i_aPK[sk:2] | |
u_tys | |
tclvl 2 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aPP[tau:2] ~ i_aPK[sk:2] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aPP[tau:2] := i_aPK[sk:2] | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
p_aPQ[tau:2] ~ p_aPL[sk:2] | |
arising from a type equality p_aPQ[tau:2] b_aPS[tau:2] a_aPR[tau:2] | |
-> Y p_aPQ[tau:2] a_aPR[tau:2] b_aPS[tau:2] | |
~ | |
p_aPL[sk:2] b_aPN[sk:2] a_aPM[sk:2] | |
-> Y p_aPL[sk:2] a_aPM[sk:2] b_aPN[sk:2] | |
u_tys | |
tclvl 2 | |
i_aPK[sk:2] -> j_aPJ[sk:2] -> * ~ i_aPP[tau:2] -> j_aPO[tau:2] -> * | |
arising from a kind equality arising from | |
p_aPQ[tau:2] ~ p_aPL[sk:2] | |
u_tys | |
tclvl 2 | |
i_aPK[sk:2] ~ i_aPP[tau:2] | |
arising from a kind equality arising from | |
p_aPQ[tau:2] ~ p_aPL[sk:2] | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
j_aPJ[sk:2] -> * ~ j_aPO[tau:2] -> * | |
arising from a kind equality arising from | |
p_aPQ[tau:2] ~ p_aPL[sk:2] | |
u_tys | |
tclvl 2 | |
j_aPJ[sk:2] ~ j_aPO[tau:2] | |
arising from a kind equality arising from | |
p_aPQ[tau:2] ~ p_aPL[sk:2] | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
* ~ * | |
arising from a kind equality arising from | |
p_aPQ[tau:2] ~ p_aPL[sk:2] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar p_aPQ[tau:2] := p_aPL[sk:2] | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
a_aPR[tau:2] ~ a_aPM[sk:2] | |
arising from a type equality p_aPQ[tau:2] b_aPS[tau:2] a_aPR[tau:2] | |
-> Y p_aPQ[tau:2] a_aPR[tau:2] b_aPS[tau:2] | |
~ | |
p_aPL[sk:2] b_aPN[sk:2] a_aPM[sk:2] | |
-> Y p_aPL[sk:2] a_aPM[sk:2] b_aPN[sk:2] | |
u_tys | |
tclvl 2 | |
j_aPJ[sk:2] ~ j_aPO[tau:2] | |
arising from a kind equality arising from | |
a_aPR[tau:2] ~ a_aPM[sk:2] | |
u_tys yields no coercion | |
writeMetaTyVar a_aPR[tau:2] := a_aPM[sk:2] | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
b_aPS[tau:2] ~ b_aPN[sk:2] | |
arising from a type equality p_aPQ[tau:2] b_aPS[tau:2] a_aPR[tau:2] | |
-> Y p_aPQ[tau:2] a_aPR[tau:2] b_aPS[tau:2] | |
~ | |
p_aPL[sk:2] b_aPN[sk:2] a_aPM[sk:2] | |
-> Y p_aPL[sk:2] a_aPM[sk:2] b_aPN[sk:2] | |
u_tys | |
tclvl 2 | |
i_aPK[sk:2] ~ i_aPP[tau:2] | |
arising from a kind equality arising from | |
b_aPS[tau:2] ~ b_aPN[sk:2] | |
u_tys yields no coercion | |
writeMetaTyVar b_aPS[tau:2] := b_aPN[sk:2] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
tc_sub_tc_type (general case) | |
ty_actual = p_aPL[sk:2] b_aPN[sk:2] a_aPM[sk:2] | |
ty_expected = p_aPQ[tau:2] b_aPS[tau:2] a_aPR[tau:2] | |
tcSkolemise | |
tcSkolemise | |
2 | |
expected_ty p_aPQ[tau:2] b_aPS[tau:2] a_aPR[tau:2] | |
inst tyvars [] | |
given [] | |
inst type p_aPQ[tau:2] b_aPS[tau:2] a_aPR[tau:2] | |
tc_sub_type_ds | |
ty_actual = p_aPL[sk:2] b_aPN[sk:2] a_aPM[sk:2] | |
ty_expected = p_aPQ[tau:2] b_aPS[tau:2] a_aPR[tau:2] | |
deeply_instantiate final subst | |
origin: arising from a type expected by the context: | |
p_aPL[sk:2] b_aPN[sk:2] a_aPM[sk:2] | |
type: p_aPL[sk:2] b_aPN[sk:2] a_aPM[sk:2] | |
new type: p_aPL[sk:2] b_aPN[sk:2] a_aPM[sk:2] | |
subst: [TCvSubst | |
In scope: InScope {j_aPJ i_aPK p_aPL a_aPM b_aPN} | |
Type env: [] | |
Co env: []] | |
u_tys | |
tclvl 2 | |
p_aPL[sk:2] b_aPN[sk:2] a_aPM[sk:2] | |
~ | |
p_aPQ[tau:2] b_aPS[tau:2] a_aPR[tau:2] | |
arising from a type equality p_aPQ[tau:2] b_aPS[tau:2] a_aPR[tau:2] | |
-> Y p_aPQ[tau:2] a_aPR[tau:2] b_aPS[tau:2] | |
~ | |
p_aPL[sk:2] b_aPN[sk:2] a_aPM[sk:2] | |
-> Y p_aPL[sk:2] a_aPM[sk:2] b_aPN[sk:2] | |
u_tys | |
tclvl 2 | |
p_aPL[sk:2] b_aPN[sk:2] ~ p_aPQ[tau:2] b_aPS[tau:2] | |
arising from a type equality p_aPQ[tau:2] b_aPS[tau:2] a_aPR[tau:2] | |
-> Y p_aPQ[tau:2] a_aPR[tau:2] b_aPS[tau:2] | |
~ | |
p_aPL[sk:2] b_aPN[sk:2] a_aPM[sk:2] | |
-> Y p_aPL[sk:2] a_aPM[sk:2] b_aPN[sk:2] | |
u_tys | |
tclvl 2 | |
p_aPL[sk:2] ~ p_aPQ[tau:2] | |
arising from a type equality p_aPQ[tau:2] b_aPS[tau:2] a_aPR[tau:2] | |
-> Y p_aPQ[tau:2] a_aPR[tau:2] b_aPS[tau:2] | |
~ | |
p_aPL[sk:2] b_aPN[sk:2] a_aPM[sk:2] | |
-> Y p_aPL[sk:2] a_aPM[sk:2] b_aPN[sk:2] | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
b_aPN[sk:2] ~ b_aPS[tau:2] | |
arising from a type equality p_aPQ[tau:2] b_aPS[tau:2] a_aPR[tau:2] | |
-> Y p_aPQ[tau:2] a_aPR[tau:2] b_aPS[tau:2] | |
~ | |
p_aPL[sk:2] b_aPN[sk:2] a_aPM[sk:2] | |
-> Y p_aPL[sk:2] a_aPM[sk:2] b_aPN[sk:2] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
a_aPM[sk:2] ~ a_aPR[tau:2] | |
arising from a type equality p_aPQ[tau:2] b_aPS[tau:2] a_aPR[tau:2] | |
-> Y p_aPQ[tau:2] a_aPR[tau:2] b_aPS[tau:2] | |
~ | |
p_aPL[sk:2] b_aPN[sk:2] a_aPM[sk:2] | |
-> Y p_aPL[sk:2] a_aPM[sk:2] b_aPN[sk:2] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
simplifyAmbiguityCheck { | |
type = forall j i (p :: i -> j -> *) (a :: j) (b :: i). | |
p b a -> Y p a b | |
wanted = WC {} | |
newTcEvBinds unique = aPT | |
solveWanteds { WC {} | |
solveSimpleWanteds { {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {} | |
End simplifyAmbiguityCheck } | |
reportUnsolved(ambig) { | |
newTcEvBinds unique = aPU | |
reportUnsolved(ambig) } | |
Done ambiguity check for | |
forall j i (p :: i -> j -> *) (a :: j) (b :: i). p b a -> Y p a b | |
checkValidType done | |
forall j i (p :: i -> j -> *) (a :: j) (b :: i). | |
p b a -> Y p a b :: * | |
Done validity of data con | |
Y forall j i (p :: i -> j -> *) (a :: j) (b :: i). p b a -> Y p a b | |
Done validity for tycon Y | |
Done validity check [Y] | |
tcAddImplicits | |
tycons [Y] | |
implicits [Coercion axiom ‘T11480b.N:Y’, Data constructor ‘Y’, | |
Identifier ‘T11480b.Y’] | |
txExtendKindEnv [] | |
env2 | |
[(getY, | |
Identifier[getY::forall j i (p :: i -> j -> *) (a :: j) (b :: i). | |
Y p a b -> p b a, TopLevelLet])] | |
------------------------------------------------ | |
Bindings for { [getY] | |
Generalisation plan | |
CheckGen getY :: forall j i (p :: i -> j -> *) (a :: j) (b :: i). | |
Y p a b -> p b a | |
tcPolyCheck | |
getY | |
T11480b.hs:30:54-57 | |
tcExtendIdBndrs [getY_aQ0[<NotTopLevel>]] | |
env2 | |
[(j_aLA, Type variable ‘j_aLA’ = j_aPV[sk:2]), | |
(i_aLz, Type variable ‘i_aLz’ = i_aPW[sk:2]), | |
(p_aLB, Type variable ‘p_aLB’ = p_aPX[sk:2]), | |
(a_aLC, Type variable ‘a_aLC’ = a_aPY[sk:2]), | |
(b_aLD, Type variable ‘b_aLD’ = b_aPZ[sk:2])] | |
tcMatchesFun | |
getY_aQ0 | |
Check{Y p_aPX[sk:2] a_aPY[sk:2] b_aPZ[sk:2] | |
-> p_aPX[sk:2] b_aPZ[sk:2] a_aPY[sk:2]} | |
tcSkolemise | |
tcSkolemise | |
2 | |
expected_ty Y p_aPX[sk:2] a_aPY[sk:2] b_aPZ[sk:2] | |
-> p_aPX[sk:2] b_aPZ[sk:2] a_aPY[sk:2] | |
inst tyvars [] | |
given [] | |
inst type Y p_aPX[sk:2] a_aPY[sk:2] b_aPZ[sk:2] | |
-> p_aPX[sk:2] b_aPZ[sk:2] a_aPY[sk:2] | |
tcConPat | |
Y | |
j_aLA i_aLz (p_aLB :: i -> j -> *) (a_aLC :: j) (b_aLD :: i) | |
[] | |
[] | |
[j_aPV[sk:2], i_aPW[sk:2], p_aPX[sk:2], a_aPY[sk:2], b_aPZ[sk:2]] | |
[p_aPX[sk:2] b_aPZ[sk:2] a_aPY[sk:2]] | |
RecCon: {getY = getY_B1} | |
find_field p_aPX[sk:2] b_aPZ[sk:2] a_aPY[sk:2] [] | |
tcPatBndr(not let) | |
getY_B1 | |
p_aPX[sk:2] b_aPZ[sk:2] a_aPY[sk:2] | |
tcExtendIdBndrs [getY_B1[<NotTopLevel>]] | |
env2 | |
[(getY_B1, | |
Identifier[getY_B1::p_aPX[sk:2] b_aPZ[sk:2] a_aPY[sk:2], NotLetBound])] | |
tcBody Check{p_aPX[sk:2] b_aPZ[sk:2] a_aPY[sk:2]} | |
tcInferId getY_B1 :: p_aPX[sk:2] b_aPZ[sk:2] a_aPY[sk:2] | |
tcCheckId | |
getY_B1 | |
p_aPX[sk:2] b_aPZ[sk:2] a_aPY[sk:2] | |
Check{p_aPX[sk:2] b_aPZ[sk:2] a_aPY[sk:2]} | |
tcWrapResult | |
Actual: p_aPX[sk:2] b_aPZ[sk:2] a_aPY[sk:2] | |
Expected: Check{p_aPX[sk:2] b_aPZ[sk:2] a_aPY[sk:2]} | |
tc_sub_type_ds | |
ty_actual = p_aPX[sk:2] b_aPZ[sk:2] a_aPY[sk:2] | |
ty_expected = p_aPX[sk:2] b_aPZ[sk:2] a_aPY[sk:2] | |
deeply_instantiate final subst | |
origin: arising from a use of ‘getY_B1’ | |
type: p_aPX[sk:2] b_aPZ[sk:2] a_aPY[sk:2] | |
new type: p_aPX[sk:2] b_aPZ[sk:2] a_aPY[sk:2] | |
subst: [TCvSubst | |
In scope: InScope {j_aPV i_aPW p_aPX a_aPY b_aPZ} | |
Type env: [] | |
Co env: []] | |
u_tys | |
tclvl 2 | |
p_aPX[sk:2] b_aPZ[sk:2] a_aPY[sk:2] | |
~ | |
p_aPX[sk:2] b_aPZ[sk:2] a_aPY[sk:2] | |
arising from a type equality p_aPX[sk:2] b_aPZ[sk:2] a_aPY[sk:2] | |
~ | |
p_aPX[sk:2] b_aPZ[sk:2] a_aPY[sk:2] | |
u_tys | |
tclvl 2 | |
p_aPX[sk:2] b_aPZ[sk:2] ~ p_aPX[sk:2] b_aPZ[sk:2] | |
arising from a type equality p_aPX[sk:2] b_aPZ[sk:2] a_aPY[sk:2] | |
~ | |
p_aPX[sk:2] b_aPZ[sk:2] a_aPY[sk:2] | |
u_tys | |
tclvl 2 | |
p_aPX[sk:2] ~ p_aPX[sk:2] | |
arising from a type equality p_aPX[sk:2] b_aPZ[sk:2] a_aPY[sk:2] | |
~ | |
p_aPX[sk:2] b_aPZ[sk:2] a_aPY[sk:2] | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
b_aPZ[sk:2] ~ b_aPZ[sk:2] | |
arising from a type equality p_aPX[sk:2] b_aPZ[sk:2] a_aPY[sk:2] | |
~ | |
p_aPX[sk:2] b_aPZ[sk:2] a_aPY[sk:2] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
a_aPY[sk:2] ~ a_aPY[sk:2] | |
arising from a type equality p_aPX[sk:2] b_aPZ[sk:2] a_aPY[sk:2] | |
~ | |
p_aPX[sk:2] b_aPZ[sk:2] a_aPY[sk:2] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
tcSpecPrags getY [] | |
} End of bindings for | |
[getY] | |
NonRecursive | |
getY forall j i (p :: i -> j -> *) (a :: j) (b :: i). | |
Y p a b -> p b a | |
tcExtendIdBndrs [getY[<TopLevel>]] | |
env2 | |
[(getY, | |
Identifier[getY::forall j i (p :: i -> j -> *) (a :: j) (b :: i). | |
Y p a b -> p b a, TopLevelLet])] | |
Adding instances: | |
addFamInsts | |
tcAddImplicits | |
tycons [] | |
implicits [] | |
txExtendKindEnv [] | |
env2 [] | |
kcTyClGroup | |
module T11480b | |
type family Op (p_aLw :: i_aLu -> j_aLv -> *) :: j_aLv | |
-> i_aLu -> * where | |
Op (Y p_aLx) = p_aLx | |
Op p_aLy = Y p_aLy | |
txExtendKindEnv [(Op, APromotionErr TyConPE)] | |
env2 | |
[(i_aLu, Type variable ‘i_aLu’ = i_aLu[sk:1]), | |
(j_aLv, Type variable ‘j_aLv’ = j_aLv[sk:1])] | |
lk1 i_aLu | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
lk1 j_aLv | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
lk1 * | |
tcTyVar2b | |
* :: * | |
* | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
env2 [(p_aLw, Type variable ‘p_aLw’ = p_aLw[sk:1])] | |
lk1 j_aLv | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
lk1 i_aLu | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
lk1 * | |
tcTyVar2b | |
* :: * | |
* | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
solveEqualities { wanted = WC {} | |
newTcEvBinds unique = aQ1 | |
solveWanteds { WC {} | |
solveSimpleWanteds { {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {} | |
End solveEqualities } | |
reportAllUnsolved { | |
newTcEvBinds unique = aQ2 | |
reportAllUnsolved } | |
kcTyClGroup: initial kinds | |
Op :: forall j i. | |
(i_aLu[sk:1] -> j_aLv[sk:1] -> *) | |
-> j_aLv[sk:1] -> i_aLu[sk:1] -> * | |
txExtendKindEnv [(Op, ATcTyCon Op)] | |
env2 [(p_aLx, Type variable ‘p_aLx’ = p_aLx[sk:1])] | |
tc_infer_args (invis) @j_aLv[sk:1] | |
tc_infer_args (invis) @i_aLu[sk:1] | |
tc_infer_args (vis) | |
[anon] i_aLu[sk:1] -> j_aLv[sk:1] -> * | |
(Y p_aLx) | |
lk1 Y | |
tcTyVar2a | |
Y | |
forall j i. (i -> j -> *) -> j -> i -> * | |
tc_infer_args (invis) @j_aLA | |
tc_infer_args (invis) @i_aLz | |
tc_infer_args (vis) | |
[anon] i -> j -> * | |
p_aLx | |
lk1 p_aLx | |
u_tys | |
tclvl 1 | |
k_aQ3[tau:1] ~ i_aQ7[tau:1] -> j_aQ6[tau:1] -> * | |
arising from a type equality k_aQ3[tau:1] | |
~ | |
i_aQ7[tau:1] -> j_aQ6[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aQ3[tau:1] ~ i_aQ7[tau:1] -> j_aQ6[tau:1] -> * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aQ3[tau:1] ~ i_aQ7[tau:1] -> j_aQ6[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aQ3[tau:1] := i_aQ7[tau:1] -> j_aQ6[tau:1] -> * | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aQ3[tau:1] | |
i_aQ7[tau:1] -> j_aQ6[tau:1] -> * | |
<i_aQ7[tau:1] -> j_aQ6[tau:1] -> *>_N | |
u_tys | |
tclvl 1 | |
j_aQ6[tau:1] -> i_aQ7[tau:1] -> * | |
~ | |
i_aQ5[tau:1] -> j_aQ4[tau:1] -> * | |
arising from a type equality j_aQ6[tau:1] -> i_aQ7[tau:1] -> * | |
~ | |
i_aQ5[tau:1] -> j_aQ4[tau:1] -> * | |
u_tys | |
tclvl 1 | |
j_aQ6[tau:1] ~ i_aQ5[tau:1] | |
arising from a type equality j_aQ6[tau:1] -> i_aQ7[tau:1] -> * | |
~ | |
i_aQ5[tau:1] -> j_aQ4[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
j_aQ6[tau:1] ~ i_aQ5[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
j_aQ6[tau:1] ~ i_aQ5[tau:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar j_aQ6[tau:1] := i_aQ5[tau:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aQ7[tau:1] -> * ~ j_aQ4[tau:1] -> * | |
arising from a type equality j_aQ6[tau:1] -> i_aQ7[tau:1] -> * | |
~ | |
i_aQ5[tau:1] -> j_aQ4[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aQ7[tau:1] ~ j_aQ4[tau:1] | |
arising from a type equality j_aQ6[tau:1] -> i_aQ7[tau:1] -> * | |
~ | |
i_aQ5[tau:1] -> j_aQ4[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aQ7[tau:1] ~ j_aQ4[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aQ7[tau:1] ~ j_aQ4[tau:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aQ7[tau:1] := j_aQ4[tau:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality j_aQ6[tau:1] -> i_aQ7[tau:1] -> * | |
~ | |
i_aQ5[tau:1] -> j_aQ4[tau:1] -> * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality j_aQ6[tau:1] -> i_aQ7[tau:1] -> * | |
~ | |
i_aQ5[tau:1] -> j_aQ4[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
j_aQ6[tau:1] -> i_aQ7[tau:1] -> * | |
i_aQ5[tau:1] -> j_aQ4[tau:1] -> * | |
<i_aQ5[tau:1] -> j_aQ4[tau:1] -> *>_N | |
instantiating tybinders: | |
lk1 p_aLx | |
u_tys | |
tclvl 1 | |
k_aQ3[tau:1] ~ j_aQ4[tau:1] -> i_aQ5[tau:1] -> * | |
arising from a type equality k_aQ3[tau:1] | |
~ | |
j_aQ4[tau:1] -> i_aQ5[tau:1] -> * | |
found filled tyvar | |
k_aQ3[tau:1] :-> i_aQ7[tau:1] -> j_aQ6[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aQ7[tau:1] ~ j_aQ4[tau:1] | |
arising from a type equality k_aQ3[tau:1] | |
~ | |
j_aQ4[tau:1] -> i_aQ5[tau:1] -> * | |
found filled tyvar i_aQ7[tau:1] :-> j_aQ4[tau:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
j_aQ6[tau:1] -> * ~ i_aQ5[tau:1] -> * | |
arising from a type equality k_aQ3[tau:1] | |
~ | |
j_aQ4[tau:1] -> i_aQ5[tau:1] -> * | |
u_tys | |
tclvl 1 | |
j_aQ6[tau:1] ~ i_aQ5[tau:1] | |
arising from a type equality k_aQ3[tau:1] | |
~ | |
j_aQ4[tau:1] -> i_aQ5[tau:1] -> * | |
found filled tyvar j_aQ6[tau:1] :-> i_aQ5[tau:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality k_aQ3[tau:1] | |
~ | |
j_aQ4[tau:1] -> i_aQ5[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aQ3[tau:1] | |
j_aQ4[tau:1] -> i_aQ5[tau:1] -> * | |
<j_aQ4[tau:1] -> i_aQ5[tau:1] -> *>_N | |
tcImplicitTKBndrs | |
[p_aLx] | |
[p_aLx[sk:1]] | |
env2 [(p_aLy, Type variable ‘p_aLy’ = p_aLy[sk:1])] | |
tc_infer_args (invis) @j_aLv[sk:1] | |
tc_infer_args (invis) @i_aLu[sk:1] | |
tc_infer_args (vis) | |
[anon] i_aLu[sk:1] -> j_aLv[sk:1] -> * | |
p_aLy | |
lk1 p_aLy | |
u_tys | |
tclvl 1 | |
k_aQ8[tau:1] ~ i_aQa[tau:1] -> j_aQ9[tau:1] -> * | |
arising from a type equality k_aQ8[tau:1] | |
~ | |
i_aQa[tau:1] -> j_aQ9[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aQ8[tau:1] ~ i_aQa[tau:1] -> j_aQ9[tau:1] -> * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aQ8[tau:1] ~ i_aQa[tau:1] -> j_aQ9[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aQ8[tau:1] := i_aQa[tau:1] -> j_aQ9[tau:1] -> * | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aQ8[tau:1] | |
i_aQa[tau:1] -> j_aQ9[tau:1] -> * | |
<i_aQa[tau:1] -> j_aQ9[tau:1] -> *>_N | |
instantiating tybinders: | |
lk1 Y | |
tcTyVar2a | |
Y | |
forall j i. (i -> j -> *) -> j -> i -> * | |
tc_infer_args (invis) @j_aLA | |
tc_infer_args (invis) @i_aLz | |
tc_infer_args (vis) | |
[anon] i -> j -> * | |
p_aLy | |
lk1 p_aLy | |
u_tys | |
tclvl 1 | |
k_aQ8[tau:1] ~ i_aQc[tau:1] -> j_aQb[tau:1] -> * | |
arising from a type equality k_aQ8[tau:1] | |
~ | |
i_aQc[tau:1] -> j_aQb[tau:1] -> * | |
found filled tyvar | |
k_aQ8[tau:1] :-> i_aQa[tau:1] -> j_aQ9[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aQa[tau:1] ~ i_aQc[tau:1] | |
arising from a type equality k_aQ8[tau:1] | |
~ | |
i_aQc[tau:1] -> j_aQb[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aQa[tau:1] ~ i_aQc[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aQa[tau:1] ~ i_aQc[tau:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aQa[tau:1] := i_aQc[tau:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
j_aQ9[tau:1] -> * ~ j_aQb[tau:1] -> * | |
arising from a type equality k_aQ8[tau:1] | |
~ | |
i_aQc[tau:1] -> j_aQb[tau:1] -> * | |
u_tys | |
tclvl 1 | |
j_aQ9[tau:1] ~ j_aQb[tau:1] | |
arising from a type equality k_aQ8[tau:1] | |
~ | |
i_aQc[tau:1] -> j_aQb[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
j_aQ9[tau:1] ~ j_aQb[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
j_aQ9[tau:1] ~ j_aQb[tau:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar j_aQ9[tau:1] := j_aQb[tau:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality k_aQ8[tau:1] | |
~ | |
i_aQc[tau:1] -> j_aQb[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aQ8[tau:1] | |
i_aQc[tau:1] -> j_aQb[tau:1] -> * | |
<i_aQc[tau:1] -> j_aQb[tau:1] -> *>_N | |
u_tys | |
tclvl 1 | |
j_aQb[tau:1] -> i_aQc[tau:1] -> * | |
~ | |
j_aQ9[tau:1] -> i_aQa[tau:1] -> * | |
arising from a type equality j_aQb[tau:1] -> i_aQc[tau:1] -> * | |
~ | |
j_aQ9[tau:1] -> i_aQa[tau:1] -> * | |
u_tys | |
tclvl 1 | |
j_aQb[tau:1] ~ j_aQ9[tau:1] | |
arising from a type equality j_aQb[tau:1] -> i_aQc[tau:1] -> * | |
~ | |
j_aQ9[tau:1] -> i_aQa[tau:1] -> * | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aQc[tau:1] -> * ~ i_aQa[tau:1] -> * | |
arising from a type equality j_aQb[tau:1] -> i_aQc[tau:1] -> * | |
~ | |
j_aQ9[tau:1] -> i_aQa[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aQc[tau:1] ~ i_aQa[tau:1] | |
arising from a type equality j_aQb[tau:1] -> i_aQc[tau:1] -> * | |
~ | |
j_aQ9[tau:1] -> i_aQa[tau:1] -> * | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality j_aQb[tau:1] -> i_aQc[tau:1] -> * | |
~ | |
j_aQ9[tau:1] -> i_aQa[tau:1] -> * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality j_aQb[tau:1] -> i_aQc[tau:1] -> * | |
~ | |
j_aQ9[tau:1] -> i_aQa[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
j_aQb[tau:1] -> i_aQc[tau:1] -> * | |
j_aQ9[tau:1] -> i_aQa[tau:1] -> * | |
<j_aQb[tau:1] -> i_aQc[tau:1] -> *>_N | |
tcImplicitTKBndrs | |
[p_aLy] | |
[p_aLy[sk:1]] | |
solveEqualities { wanted = WC {} | |
newTcEvBinds unique = aQd | |
solveWanteds { WC {} | |
solveSimpleWanteds { {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {} | |
End solveEqualities } | |
reportAllUnsolved { | |
newTcEvBinds unique = aQe | |
reportAllUnsolved } | |
quantifyZonkedTyVars | |
DV {dv_kvs = [] dv_tvs = []} | |
[] | |
quantifyTyVars | |
globals: [] | |
nondep: [] | |
dep: [] | |
dep_kvs' [] | |
nondep_tvs' [] | |
Generalise kind | |
Op | |
[@j_aLv[sk:1], @i_aLu[sk:1], p_aLw[sk:1]] | |
[] | |
[@j_aLv[sk:1], @i_aLu[sk:1], p_aLw[sk:1]] | |
j_aLv[sk:1] -> i_aLu[sk:1] -> * | |
[@j_aLv, @i_aLu, p_aLw] | |
j -> i -> * | |
[j_aLv[sk:1], i_aLu[sk:1], p_aLw[sk:1]] | |
[i_aLu[sk:1], j_aLv[sk:1], p_aLw[sk:1]] | |
kcTyClGroup result Op :: forall j i. (i -> j -> *) -> j -> i -> * | |
tcTyAndCl generalized kinds | |
(Op, [@j_aLv, @i_aLu, p_aLw], j -> i -> *) | |
txExtendKindEnv [(Op, ATcTyCon Op)] | |
tcTyAndCl-x | |
type family Op (p_aLw :: i_aLu -> j_aLv -> *) :: j_aLv | |
-> i_aLu -> * where | |
Op (Y p_aLx) = p_aLx | |
Op p_aLy = Y p_aLy | |
Closed type family: Op | |
env2 | |
[(i_aLu, Type variable ‘i_aLu’ = i_aLu[sk:1]), | |
(j_aLv, Type variable ‘j_aLv’ = j_aLv[sk:1]), | |
(p_aLw, Type variable ‘p_aLw’ = p_aLw[sk:1])] | |
env2 [(p_aLx, Type variable ‘p_aLx’ = p_aLx[sk:1])] | |
tc_infer_args (invis) @j_aLv | |
tc_infer_args (invis) @i_aLu | |
tc_infer_args (vis) | |
[anon] i -> j -> * | |
(Y p_aLx) | |
lk1 Y | |
tcTyVar2a | |
Y | |
forall j i. (i -> j -> *) -> j -> i -> * | |
tc_infer_args (invis) @j_aLA | |
tc_infer_args (invis) @i_aLz | |
tc_infer_args (vis) | |
[anon] i -> j -> * | |
p_aLx | |
lk1 p_aLx | |
u_tys | |
tclvl 1 | |
k_aQf[tau:1] ~ i_aQj[tau:1] -> j_aQi[tau:1] -> * | |
arising from a type equality k_aQf[tau:1] | |
~ | |
i_aQj[tau:1] -> j_aQi[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aQf[tau:1] ~ i_aQj[tau:1] -> j_aQi[tau:1] -> * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aQf[tau:1] ~ i_aQj[tau:1] -> j_aQi[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aQf[tau:1] := i_aQj[tau:1] -> j_aQi[tau:1] -> * | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aQf[tau:1] | |
i_aQj[tau:1] -> j_aQi[tau:1] -> * | |
<i_aQj[tau:1] -> j_aQi[tau:1] -> *>_N | |
u_tys | |
tclvl 1 | |
j_aQi[tau:1] -> i_aQj[tau:1] -> * | |
~ | |
i_aQh[tau:1] -> j_aQg[tau:1] -> * | |
arising from a type equality j_aQi[tau:1] -> i_aQj[tau:1] -> * | |
~ | |
i_aQh[tau:1] -> j_aQg[tau:1] -> * | |
u_tys | |
tclvl 1 | |
j_aQi[tau:1] ~ i_aQh[tau:1] | |
arising from a type equality j_aQi[tau:1] -> i_aQj[tau:1] -> * | |
~ | |
i_aQh[tau:1] -> j_aQg[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
j_aQi[tau:1] ~ i_aQh[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
j_aQi[tau:1] ~ i_aQh[tau:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar j_aQi[tau:1] := i_aQh[tau:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aQj[tau:1] -> * ~ j_aQg[tau:1] -> * | |
arising from a type equality j_aQi[tau:1] -> i_aQj[tau:1] -> * | |
~ | |
i_aQh[tau:1] -> j_aQg[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aQj[tau:1] ~ j_aQg[tau:1] | |
arising from a type equality j_aQi[tau:1] -> i_aQj[tau:1] -> * | |
~ | |
i_aQh[tau:1] -> j_aQg[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aQj[tau:1] ~ j_aQg[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aQj[tau:1] ~ j_aQg[tau:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aQj[tau:1] := j_aQg[tau:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality j_aQi[tau:1] -> i_aQj[tau:1] -> * | |
~ | |
i_aQh[tau:1] -> j_aQg[tau:1] -> * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality j_aQi[tau:1] -> i_aQj[tau:1] -> * | |
~ | |
i_aQh[tau:1] -> j_aQg[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
j_aQi[tau:1] -> i_aQj[tau:1] -> * | |
i_aQh[tau:1] -> j_aQg[tau:1] -> * | |
<i_aQh[tau:1] -> j_aQg[tau:1] -> *>_N | |
instantiating tybinders: | |
lk1 p_aLx | |
u_tys | |
tclvl 1 | |
k_aQf[tau:1] ~ j_aQg[tau:1] -> i_aQh[tau:1] -> * | |
arising from a type equality k_aQf[tau:1] | |
~ | |
j_aQg[tau:1] -> i_aQh[tau:1] -> * | |
found filled tyvar | |
k_aQf[tau:1] :-> i_aQj[tau:1] -> j_aQi[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aQj[tau:1] ~ j_aQg[tau:1] | |
arising from a type equality k_aQf[tau:1] | |
~ | |
j_aQg[tau:1] -> i_aQh[tau:1] -> * | |
found filled tyvar i_aQj[tau:1] :-> j_aQg[tau:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
j_aQi[tau:1] -> * ~ i_aQh[tau:1] -> * | |
arising from a type equality k_aQf[tau:1] | |
~ | |
j_aQg[tau:1] -> i_aQh[tau:1] -> * | |
u_tys | |
tclvl 1 | |
j_aQi[tau:1] ~ i_aQh[tau:1] | |
arising from a type equality k_aQf[tau:1] | |
~ | |
j_aQg[tau:1] -> i_aQh[tau:1] -> * | |
found filled tyvar j_aQi[tau:1] :-> i_aQh[tau:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality k_aQf[tau:1] | |
~ | |
j_aQg[tau:1] -> i_aQh[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aQf[tau:1] | |
j_aQg[tau:1] -> i_aQh[tau:1] -> * | |
<j_aQg[tau:1] -> i_aQh[tau:1] -> *>_N | |
tcImplicitTKBndrs | |
[p_aLx] | |
[p_aLx[sk:1]] | |
solveEqualities { wanted = WC {} | |
newTcEvBinds unique = aQk | |
solveWanteds { WC {} | |
solveSimpleWanteds { {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {} | |
End solveEqualities } | |
reportAllUnsolved { | |
newTcEvBinds unique = aQl | |
reportAllUnsolved } | |
quantifyZonkedTyVars | |
DV {dv_kvs = [aQg :-> j_aQg[tau:1], aQh :-> i_aQh[tau:1]] | |
dv_tvs = [aLx :-> p_aLx[sk:1], aQh :-> i_aQh[tau:1], | |
aQg :-> j_aQg[tau:1]]} | |
[] | |
Skolemising j_aQg[tau:1] := j_aQg[sk:1] | |
writeMetaTyVar j_aQg[tau:1] := j_aQg[sk:1] | |
Skolemising i_aQh[tau:1] := i_aQh[sk:1] | |
writeMetaTyVar i_aQh[tau:1] := i_aQh[sk:1] | |
quantifyTyVars | |
globals: [] | |
nondep: [p_aLx[sk:1]] | |
dep: [j_aQg[tau:1], i_aQh[tau:1]] | |
dep_kvs' [j_aQg[sk:1], i_aQh[sk:1]] | |
nondep_tvs' [p_aLx[sk:1]] | |
tcFamTyPats | |
Op | |
[j_aQg[tau:1], i_aQh[tau:1], Y p_aLx[sk:1]] | |
[j_aQg[sk:1], i_aQh[sk:1], p_aLx[sk:1]] | |
env2 | |
[(j_aQg, Type variable ‘j_aQg’ = j_aQg[sk:1]), | |
(i_aQh, Type variable ‘i_aQh’ = i_aQh[sk:1]), | |
(p_aLx, Type variable ‘p_aLx’ = p_aLx[sk:1])] | |
lk1 p_aLx | |
u_tys | |
tclvl 1 | |
j_aQg[sk:1] -> i_aQh[sk:1] -> * ~ j_aQg[tau:1] -> i_aQh[tau:1] -> * | |
arising from a type equality j_aQg[sk:1] -> i_aQh[sk:1] -> * | |
~ | |
j_aQg[tau:1] -> i_aQh[tau:1] -> * | |
u_tys | |
tclvl 1 | |
j_aQg[sk:1] ~ j_aQg[tau:1] | |
arising from a type equality j_aQg[sk:1] -> i_aQh[sk:1] -> * | |
~ | |
j_aQg[tau:1] -> i_aQh[tau:1] -> * | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aQh[sk:1] -> * ~ i_aQh[tau:1] -> * | |
arising from a type equality j_aQg[sk:1] -> i_aQh[sk:1] -> * | |
~ | |
j_aQg[tau:1] -> i_aQh[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aQh[sk:1] ~ i_aQh[tau:1] | |
arising from a type equality j_aQg[sk:1] -> i_aQh[sk:1] -> * | |
~ | |
j_aQg[tau:1] -> i_aQh[tau:1] -> * | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality j_aQg[sk:1] -> i_aQh[sk:1] -> * | |
~ | |
j_aQg[tau:1] -> i_aQh[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
j_aQg[sk:1] -> i_aQh[sk:1] -> * | |
j_aQg[tau:1] -> i_aQh[tau:1] -> * | |
<j_aQg[sk:1] -> i_aQh[sk:1] -> *>_N | |
solveEqualities { wanted = WC {} | |
newTcEvBinds unique = aQm | |
solveWanteds { WC {} | |
solveSimpleWanteds { {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {} | |
End solveEqualities } | |
reportAllUnsolved { | |
newTcEvBinds unique = aQn | |
reportAllUnsolved } | |
tcTyFamInstEqn Op j_aQg i_aQh (p_aLx :: j -> i -> *) | |
env2 [(p_aLy, Type variable ‘p_aLy’ = p_aLy[sk:1])] | |
tc_infer_args (invis) @j_aLv | |
tc_infer_args (invis) @i_aLu | |
tc_infer_args (vis) | |
[anon] i -> j -> * | |
p_aLy | |
lk1 p_aLy | |
u_tys | |
tclvl 1 | |
k_aQo[tau:1] ~ i_aQq[tau:1] -> j_aQp[tau:1] -> * | |
arising from a type equality k_aQo[tau:1] | |
~ | |
i_aQq[tau:1] -> j_aQp[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aQo[tau:1] ~ i_aQq[tau:1] -> j_aQp[tau:1] -> * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aQo[tau:1] ~ i_aQq[tau:1] -> j_aQp[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aQo[tau:1] := i_aQq[tau:1] -> j_aQp[tau:1] -> * | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aQo[tau:1] | |
i_aQq[tau:1] -> j_aQp[tau:1] -> * | |
<i_aQq[tau:1] -> j_aQp[tau:1] -> *>_N | |
instantiating tybinders: | |
lk1 Y | |
tcTyVar2a | |
Y | |
forall j i. (i -> j -> *) -> j -> i -> * | |
tc_infer_args (invis) @j_aLA | |
tc_infer_args (invis) @i_aLz | |
tc_infer_args (vis) | |
[anon] i -> j -> * | |
p_aLy | |
lk1 p_aLy | |
u_tys | |
tclvl 1 | |
k_aQo[tau:1] ~ i_aQs[tau:1] -> j_aQr[tau:1] -> * | |
arising from a type equality k_aQo[tau:1] | |
~ | |
i_aQs[tau:1] -> j_aQr[tau:1] -> * | |
found filled tyvar | |
k_aQo[tau:1] :-> i_aQq[tau:1] -> j_aQp[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aQq[tau:1] ~ i_aQs[tau:1] | |
arising from a type equality k_aQo[tau:1] | |
~ | |
i_aQs[tau:1] -> j_aQr[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aQq[tau:1] ~ i_aQs[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aQq[tau:1] ~ i_aQs[tau:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aQq[tau:1] := i_aQs[tau:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
j_aQp[tau:1] -> * ~ j_aQr[tau:1] -> * | |
arising from a type equality k_aQo[tau:1] | |
~ | |
i_aQs[tau:1] -> j_aQr[tau:1] -> * | |
u_tys | |
tclvl 1 | |
j_aQp[tau:1] ~ j_aQr[tau:1] | |
arising from a type equality k_aQo[tau:1] | |
~ | |
i_aQs[tau:1] -> j_aQr[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
j_aQp[tau:1] ~ j_aQr[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
j_aQp[tau:1] ~ j_aQr[tau:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar j_aQp[tau:1] := j_aQr[tau:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality k_aQo[tau:1] | |
~ | |
i_aQs[tau:1] -> j_aQr[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aQo[tau:1] | |
i_aQs[tau:1] -> j_aQr[tau:1] -> * | |
<i_aQs[tau:1] -> j_aQr[tau:1] -> *>_N | |
u_tys | |
tclvl 1 | |
j_aQr[tau:1] -> i_aQs[tau:1] -> * | |
~ | |
j_aQp[tau:1] -> i_aQq[tau:1] -> * | |
arising from a type equality j_aQr[tau:1] -> i_aQs[tau:1] -> * | |
~ | |
j_aQp[tau:1] -> i_aQq[tau:1] -> * | |
u_tys | |
tclvl 1 | |
j_aQr[tau:1] ~ j_aQp[tau:1] | |
arising from a type equality j_aQr[tau:1] -> i_aQs[tau:1] -> * | |
~ | |
j_aQp[tau:1] -> i_aQq[tau:1] -> * | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aQs[tau:1] -> * ~ i_aQq[tau:1] -> * | |
arising from a type equality j_aQr[tau:1] -> i_aQs[tau:1] -> * | |
~ | |
j_aQp[tau:1] -> i_aQq[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aQs[tau:1] ~ i_aQq[tau:1] | |
arising from a type equality j_aQr[tau:1] -> i_aQs[tau:1] -> * | |
~ | |
j_aQp[tau:1] -> i_aQq[tau:1] -> * | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality j_aQr[tau:1] -> i_aQs[tau:1] -> * | |
~ | |
j_aQp[tau:1] -> i_aQq[tau:1] -> * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality j_aQr[tau:1] -> i_aQs[tau:1] -> * | |
~ | |
j_aQp[tau:1] -> i_aQq[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
j_aQr[tau:1] -> i_aQs[tau:1] -> * | |
j_aQp[tau:1] -> i_aQq[tau:1] -> * | |
<j_aQr[tau:1] -> i_aQs[tau:1] -> *>_N | |
tcImplicitTKBndrs | |
[p_aLy] | |
[p_aLy[sk:1]] | |
solveEqualities { wanted = WC {} | |
newTcEvBinds unique = aQt | |
solveWanteds { WC {} | |
solveSimpleWanteds { {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {} | |
End solveEqualities } | |
reportAllUnsolved { | |
newTcEvBinds unique = aQu | |
reportAllUnsolved } | |
quantifyZonkedTyVars | |
DV {dv_kvs = [aQs :-> i_aQs[tau:1], aQr :-> j_aQr[tau:1]] | |
dv_tvs = [aLy :-> p_aLy[sk:1], aQs :-> i_aQs[tau:1], | |
aQr :-> j_aQr[tau:1]]} | |
[] | |
Skolemising i_aQs[tau:1] := i_aQs[sk:1] | |
writeMetaTyVar i_aQs[tau:1] := i_aQs[sk:1] | |
Skolemising j_aQr[tau:1] := j_aQr[sk:1] | |
writeMetaTyVar j_aQr[tau:1] := j_aQr[sk:1] | |
quantifyTyVars | |
globals: [] | |
nondep: [p_aLy[sk:1]] | |
dep: [i_aQs[tau:1], j_aQr[tau:1]] | |
dep_kvs' [i_aQs[sk:1], j_aQr[sk:1]] | |
nondep_tvs' [p_aLy[sk:1]] | |
tcFamTyPats | |
Op | |
[j_aQp[tau:1], i_aQq[tau:1], p_aLy[sk:1]] | |
[i_aQs[sk:1], j_aQr[sk:1], p_aLy[sk:1]] | |
env2 | |
[(i_aQs, Type variable ‘i_aQs’ = i_aQs[sk:1]), | |
(j_aQr, Type variable ‘j_aQr’ = j_aQr[sk:1]), | |
(p_aLy, Type variable ‘p_aLy’ = p_aLy[sk:1])] | |
lk1 Y | |
tcTyVar2a | |
Y | |
forall j i. (i -> j -> *) -> j -> i -> * | |
tc_infer_args (invis) @j_aLA | |
tc_infer_args (invis) @i_aLz | |
tc_infer_args (vis) | |
[anon] i -> j -> * | |
p_aLy | |
lk1 p_aLy | |
u_tys | |
tclvl 1 | |
i_aQs[sk:1] -> j_aQr[sk:1] -> * ~ i_aQw[tau:1] -> j_aQv[tau:1] -> * | |
arising from a type equality i_aQs[sk:1] -> j_aQr[sk:1] -> * | |
~ | |
i_aQw[tau:1] -> j_aQv[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aQs[sk:1] ~ i_aQw[tau:1] | |
arising from a type equality i_aQs[sk:1] -> j_aQr[sk:1] -> * | |
~ | |
i_aQw[tau:1] -> j_aQv[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aQw[tau:1] ~ i_aQs[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aQw[tau:1] ~ i_aQs[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aQw[tau:1] := i_aQs[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
j_aQr[sk:1] -> * ~ j_aQv[tau:1] -> * | |
arising from a type equality i_aQs[sk:1] -> j_aQr[sk:1] -> * | |
~ | |
i_aQw[tau:1] -> j_aQv[tau:1] -> * | |
u_tys | |
tclvl 1 | |
j_aQr[sk:1] ~ j_aQv[tau:1] | |
arising from a type equality i_aQs[sk:1] -> j_aQr[sk:1] -> * | |
~ | |
i_aQw[tau:1] -> j_aQv[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
j_aQv[tau:1] ~ j_aQr[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
j_aQv[tau:1] ~ j_aQr[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar j_aQv[tau:1] := j_aQr[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality i_aQs[sk:1] -> j_aQr[sk:1] -> * | |
~ | |
i_aQw[tau:1] -> j_aQv[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aQs[sk:1] -> j_aQr[sk:1] -> * | |
i_aQw[tau:1] -> j_aQv[tau:1] -> * | |
<i_aQs[sk:1] -> j_aQr[sk:1] -> *>_N | |
u_tys | |
tclvl 1 | |
j_aQv[tau:1] -> i_aQw[tau:1] -> * | |
~ | |
j_aQp[tau:1] -> i_aQq[tau:1] -> * | |
arising from a type equality j_aQv[tau:1] -> i_aQw[tau:1] -> * | |
~ | |
j_aQp[tau:1] -> i_aQq[tau:1] -> * | |
u_tys | |
tclvl 1 | |
j_aQv[tau:1] ~ j_aQp[tau:1] | |
arising from a type equality j_aQv[tau:1] -> i_aQw[tau:1] -> * | |
~ | |
j_aQp[tau:1] -> i_aQq[tau:1] -> * | |
found filled tyvar j_aQv[tau:1] :-> j_aQr[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aQw[tau:1] -> * ~ i_aQq[tau:1] -> * | |
arising from a type equality j_aQv[tau:1] -> i_aQw[tau:1] -> * | |
~ | |
j_aQp[tau:1] -> i_aQq[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aQw[tau:1] ~ i_aQq[tau:1] | |
arising from a type equality j_aQv[tau:1] -> i_aQw[tau:1] -> * | |
~ | |
j_aQp[tau:1] -> i_aQq[tau:1] -> * | |
found filled tyvar i_aQw[tau:1] :-> i_aQs[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality j_aQv[tau:1] -> i_aQw[tau:1] -> * | |
~ | |
j_aQp[tau:1] -> i_aQq[tau:1] -> * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality j_aQv[tau:1] -> i_aQw[tau:1] -> * | |
~ | |
j_aQp[tau:1] -> i_aQq[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
j_aQv[tau:1] -> i_aQw[tau:1] -> * | |
j_aQp[tau:1] -> i_aQq[tau:1] -> * | |
<j_aQr[sk:1] -> i_aQs[sk:1] -> *>_N | |
solveEqualities { wanted = WC {} | |
newTcEvBinds unique = aQx | |
solveWanteds { WC {} | |
solveSimpleWanteds { {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {} | |
End solveEqualities } | |
reportAllUnsolved { | |
newTcEvBinds unique = aQy | |
reportAllUnsolved } | |
tcTyFamInstEqn Op i_aQs j_aQr (p_aLy :: i -> j -> *) | |
Starting synonym cycle check [Op] | |
Done synonym cycle check [Op] | |
Starting family consistency check [Op] | |
Done family consistency [Op] | |
Starting validity check [Op] | |
Starting validity for tycon Op | |
checkValidTyCon | |
Op | |
Nothing | |
Done validity for tycon Op | |
Done validity check [Op] | |
tcAddImplicits | |
tycons [Op] | |
implicits [Coercion axiom ‘T11480b.D:R:Op’] | |
txExtendKindEnv [] | |
env2 [] | |
Adding instances: | |
addFamInsts | |
tcAddImplicits | |
tycons [] | |
implicits [] | |
txExtendKindEnv [] | |
env2 [] | |
kcTyClGroup | |
module T11480b | |
class Vacuous (p_aLs :: i_aLr -> i_aLr -> *) (a_aLt :: i_aLr) | |
txExtendKindEnv [(Vacuous, APromotionErr ClassPE)] | |
env2 [(i_aLr, Type variable ‘i_aLr’ = i_aLr[sk:1])] | |
lk1 i_aLr | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
lk1 i_aLr | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
lk1 * | |
tcTyVar2b | |
* :: * | |
* | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
env2 [(p_aLs, Type variable ‘p_aLs’ = p_aLs[sk:1])] | |
lk1 i_aLr | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
env2 [(a_aLt, Type variable ‘a_aLt’ = a_aLt[sk:1])] | |
txExtendKindEnv [] | |
solveEqualities { wanted = WC {} | |
newTcEvBinds unique = aQA | |
solveWanteds { WC {} | |
solveSimpleWanteds { {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {} | |
End solveEqualities } | |
reportAllUnsolved { | |
newTcEvBinds unique = aQB | |
reportAllUnsolved } | |
kcTyClGroup: initial kinds | |
Vacuous :: forall i. | |
(i_aLr[sk:1] -> i_aLr[sk:1] -> *) -> i_aLr[sk:1] -> Constraint | |
txExtendKindEnv [(Vacuous, ATcTyCon Vacuous)] | |
env2 | |
[(i_aLr, Type variable ‘i_aLr’ = i_aLr[sk:1]), | |
(p_aLs, Type variable ‘p_aLs’ = p_aLs[sk:1]), | |
(a_aLt, Type variable ‘a_aLt’ = a_aLt[sk:1])] | |
solveEqualities { wanted = WC {} | |
newTcEvBinds unique = aQC | |
solveWanteds { WC {} | |
solveSimpleWanteds { {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {} | |
End solveEqualities } | |
reportAllUnsolved { | |
newTcEvBinds unique = aQD | |
reportAllUnsolved } | |
quantifyZonkedTyVars | |
DV {dv_kvs = [] dv_tvs = []} | |
[] | |
quantifyTyVars | |
globals: [] | |
nondep: [] | |
dep: [] | |
dep_kvs' [] | |
nondep_tvs' [] | |
Generalise kind | |
Vacuous | |
[@i_aLr[sk:1], p_aLs[sk:1], a_aLt[sk:1]] | |
[] | |
[@i_aLr[sk:1], p_aLs[sk:1], a_aLt[sk:1]] | |
Constraint | |
[@i_aLr, p_aLs, a_aLt] | |
Constraint | |
[i_aLr[sk:1], p_aLs[sk:1], a_aLt[sk:1]] | |
[i_aLr[sk:1], p_aLs[sk:1], a_aLt[sk:1]] | |
kcTyClGroup result | |
Vacuous :: forall i. (i -> i -> *) -> i -> Constraint | |
tcTyAndCl generalized kinds | |
(Vacuous, [@i_aLr, p_aLs, a_aLt], Constraint) | |
txExtendKindEnv [(Vacuous, ATcTyCon Vacuous)] | |
tcTyAndCl-x | |
class Vacuous (p_aLs :: i_aLr -> i_aLr -> *) (a_aLt :: i_aLr) | |
env2 | |
[(i_aLr, Type variable ‘i_aLr’ = i_aLr[sk:1]), | |
(p_aLs, Type variable ‘p_aLs’ = p_aLs[sk:1]), | |
(a_aLt, Type variable ‘a_aLt’ = a_aLt[sk:1])] | |
tcClassDecl 1 | |
Vacuous | |
[@i_aLr, p_aLs, a_aLt] | |
solveEqualities { wanted = WC {} | |
newTcEvBinds unique = aQE | |
solveWanteds { WC {} | |
solveSimpleWanteds { {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {} | |
End solveEqualities } | |
reportAllUnsolved { | |
newTcEvBinds unique = aQF | |
reportAllUnsolved } | |
tcClassSigs 1 Vacuous | |
tcClassSigs 2 Vacuous | |
tcClassDecl | |
[] | |
[@i_aLr, p_aLs, a_aLt] | |
[] | |
Starting synonym cycle check [Vacuous] | |
Done synonym cycle check [Vacuous] | |
Starting family consistency check [Vacuous] | |
Done family consistency [Vacuous] | |
Starting validity check [Vacuous] | |
Starting validity for tycon Vacuous | |
checkValidTyCon | |
Vacuous | |
Just Vacuous | |
Done validity for tycon Vacuous | |
Done validity check [Vacuous] | |
tcAddImplicits | |
tycons [Vacuous] | |
implicits [Data constructor ‘T11480b.C:Vacuous’, | |
Identifier ‘T11480b.C:Vacuous’] | |
txExtendKindEnv [] | |
env2 [] | |
env2 | |
[(p_aPc, Type variable ‘p_aPc’ = p_aPc[sk:1]), | |
(a_aPd, Type variable ‘a_aPd’ = a_aPd[sk:1])] | |
lk1 Vacuous | |
tcTyVar2a | |
Vacuous | |
forall i. (i -> i -> *) -> i -> Constraint | |
tc_infer_args (invis) @i_aLr | |
tc_infer_args (vis) | |
[anon] i -> i -> * | |
p_aPc | |
lk1 p_aPc | |
u_tys | |
tclvl 1 | |
k_aQM[tau:1] ~ i_aQO[tau:1] -> i_aQO[tau:1] -> * | |
arising from a type equality k_aQM[tau:1] | |
~ | |
i_aQO[tau:1] -> i_aQO[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aQM[tau:1] ~ i_aQO[tau:1] -> i_aQO[tau:1] -> * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aQM[tau:1] ~ i_aQO[tau:1] -> i_aQO[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aQM[tau:1] := i_aQO[tau:1] -> i_aQO[tau:1] -> * | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aQM[tau:1] | |
i_aQO[tau:1] -> i_aQO[tau:1] -> * | |
<i_aQO[tau:1] -> i_aQO[tau:1] -> *>_N | |
tc_infer_args (vis) | |
[anon] i | |
a_aPd | |
lk1 a_aPd | |
u_tys | |
tclvl 1 | |
k_aQN[tau:1] ~ i_aQO[tau:1] | |
arising from a type equality k_aQN[tau:1] ~ i_aQO[tau:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aQN[tau:1] ~ i_aQO[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aQN[tau:1] ~ i_aQO[tau:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aQN[tau:1] := i_aQO[tau:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aQN[tau:1] | |
i_aQO[tau:1] | |
<i_aQO[tau:1]>_N | |
u_tys | |
tclvl 1 | |
Constraint ~ Constraint | |
arising from a type equality Constraint ~ Constraint | |
u_tys yields no coercion | |
checkExpectedKind | |
Constraint | |
Constraint | |
<Constraint>_N | |
tcImplicitTKBndrs | |
[p_aPc, a_aPd] | |
[p_aPc[sk:1], a_aPd[sk:1]] | |
solveEqualities { wanted = WC {} | |
newTcEvBinds unique = aQP | |
solveWanteds { WC {} | |
solveSimpleWanteds { {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {} | |
End solveEqualities } | |
reportAllUnsolved { | |
newTcEvBinds unique = aQQ | |
reportAllUnsolved } | |
quantifyZonkedTyVars | |
DV {dv_kvs = [aQO :-> i_aQO[tau:1]] dv_tvs = []} | |
[] | |
Skolemising i_aQO[tau:1] := i_aQO[sk:1] | |
writeMetaTyVar i_aQO[tau:1] := i_aQO[sk:1] | |
quantifyTyVars | |
globals: [] | |
nondep: [] | |
dep: [i_aQO[tau:1]] | |
dep_kvs' [i_aQO[sk:1]] | |
nondep_tvs' [] | |
checkValidInstance { | |
forall i (p :: i -> i -> *) (a :: i). Vacuous p a | |
cvi 2 forall i (p :: i -> i -> *) (a :: i). Vacuous p a | |
End checkValidInstance } | |
tcLocalInstDecl Vacuous p_aPc a_aPd | |
env2 | |
[(i_aQO, Type variable ‘i_aQO’ = i_aQO), | |
(p_aPc, Type variable ‘p_aPc’ = p_aPc), | |
(a_aPd, Type variable ‘a_aPd’ = a_aPd)] | |
env2 | |
[(i_aQO, Type variable ‘i_aQO’ = i_aQO), | |
(p_aPc, Type variable ‘p_aPc’ = p_aPc), | |
(a_aPd, Type variable ‘a_aPd’ = a_aPd)] | |
doClsInstErrorChecks | |
instance forall i (p :: i -> i -> *) (a :: i). Vacuous p a | |
-- Defined at T11480b.hs:37:10 | |
Adding instances: | |
T11480b.$fVacuousipa : | |
instance forall i (p :: i -> i -> *) (a :: i). Vacuous p a | |
-- Defined at T11480b.hs:37:10 | |
addFamInsts | |
tcAddImplicits | |
tycons [] | |
implicits [] | |
txExtendKindEnv [] | |
env2 [] | |
kcTyClGroup | |
module T11480b | |
data Dict (p_aLp :: Constraint) where Dict :: p_aLq => Dict p_aLq | |
txExtendKindEnv [(Dict, APromotionErr TyConPE)] | |
env2 [] | |
lk1 Constraint | |
tcTyVar2a | |
Constraint | |
* | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
env2 [(p_aLp, Type variable ‘p_aLp’ = p_aLp[sk:1])] | |
solveEqualities { wanted = WC {} | |
newTcEvBinds unique = aQV | |
solveWanteds { WC {} | |
solveSimpleWanteds { {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {} | |
End solveEqualities } | |
reportAllUnsolved { | |
newTcEvBinds unique = aQW | |
reportAllUnsolved } | |
kcTyClGroup: initial kinds | |
Dict :: Constraint -> * | |
(Dict, APromotionErr RecDataConPE) | |
txExtendKindEnv | |
[(Dict, ATcTyCon Dict), (Dict, APromotionErr RecDataConPE)] | |
env2 [(p_aLp, Type variable ‘p_aLp’ = p_aLp[sk:1])] | |
env2 [(p_aLq, Type variable ‘p_aLq’ = p_aLq[sk:1])] | |
lk1 p_aLq | |
u_tys | |
tclvl 1 | |
k_aQX[tau:1] ~ Constraint | |
arising from a type equality k_aQX[tau:1] ~ Constraint | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from k_aQX[tau:1] ~ Constraint | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from k_aQX[tau:1] ~ Constraint | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aQX[tau:1] := Constraint | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aQX[tau:1] | |
Constraint | |
<Constraint>_N | |
lk1 Dict | |
lk1 (loopy) Dict | |
tcTyVar2a | |
Dict | |
Constraint -> * | |
tc_infer_args (vis) | |
[anon] Constraint | |
p_aLq | |
lk1 p_aLq | |
u_tys | |
tclvl 1 | |
k_aQX[tau:1] ~ Constraint | |
arising from a type equality k_aQX[tau:1] ~ Constraint | |
found filled tyvar k_aQX[tau:1] :-> Constraint | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aQX[tau:1] | |
Constraint | |
<Constraint>_N | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
lookupCF | |
Dict | |
Just [] | |
[rKl :-> [runNat{runNat}], rKy :-> [], rKC :-> [getY{getY}]] | |
tcExplicitTKBndrs | |
Hs vars: [] | |
tvs: | |
tcImplicitTKBndrs | |
[p_aLq] | |
[p_aLq[sk:1]] | |
solveEqualities { wanted = WC {} | |
newTcEvBinds unique = aQY | |
solveWanteds { WC {} | |
solveSimpleWanteds { {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {} | |
End solveEqualities } | |
reportAllUnsolved { | |
newTcEvBinds unique = aQZ | |
reportAllUnsolved } | |
solveEqualities { wanted = WC {} | |
newTcEvBinds unique = aR0 | |
solveWanteds { WC {} | |
solveSimpleWanteds { {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {} | |
End solveEqualities } | |
reportAllUnsolved { | |
newTcEvBinds unique = aR1 | |
reportAllUnsolved } | |
quantifyZonkedTyVars | |
DV {dv_kvs = [] dv_tvs = []} | |
[] | |
quantifyTyVars | |
globals: [] | |
nondep: [] | |
dep: [] | |
dep_kvs' [] | |
nondep_tvs' [] | |
Generalise kind | |
Dict | |
[p_aLp[sk:1]] | |
[] | |
[p_aLp[sk:1]] | |
* | |
[p_aLp] | |
* | |
[p_aLp[sk:1]] | |
[p_aLp[sk:1]] | |
kcTyClGroup result Dict :: Constraint -> * | |
tcTyAndCl generalized kinds (Dict, [p_aLp], *) | |
txExtendKindEnv [(Dict, ATcTyCon Dict)] | |
tcTyAndCl-x | |
data Dict (p_aLp :: Constraint) where Dict :: p_aLq => Dict p_aLq | |
env2 [(p_aLp, Type variable ‘p_aLp’ = p_aLp[sk:1])] | |
solveEqualities { wanted = WC {} | |
newTcEvBinds unique = aR3 | |
solveWanteds { WC {} | |
solveSimpleWanteds { {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {} | |
End solveEqualities } | |
reportAllUnsolved { | |
newTcEvBinds unique = aR4 | |
reportAllUnsolved } | |
tcConDecl 1 [Dict] | |
env2 [(p_aLq, Type variable ‘p_aLq’ = p_aLq[sk:1])] | |
lk1 p_aLq | |
u_tys | |
tclvl 1 | |
k_aR5[tau:1] ~ Constraint | |
arising from a type equality k_aR5[tau:1] ~ Constraint | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from k_aR5[tau:1] ~ Constraint | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from k_aR5[tau:1] ~ Constraint | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aR5[tau:1] := Constraint | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aR5[tau:1] | |
Constraint | |
<Constraint>_N | |
lk1 Dict | |
tcTyVar2a | |
Dict | |
Constraint -> * | |
tc_infer_args (vis) | |
[anon] Constraint | |
p_aLq | |
lk1 p_aLq | |
u_tys | |
tclvl 1 | |
k_aR5[tau:1] ~ Constraint | |
arising from a type equality k_aR5[tau:1] ~ Constraint | |
found filled tyvar k_aR5[tau:1] :-> Constraint | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aR5[tau:1] | |
Constraint | |
<Constraint>_N | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
lookupCF | |
Dict | |
Just [] | |
[rKl :-> [runNat{runNat}], rKy :-> [], rKC :-> [getY{getY}]] | |
tcExplicitTKBndrs | |
Hs vars: [] | |
tvs: | |
tcImplicitTKBndrs | |
[p_aLq] | |
[p_aLq[sk:1]] | |
solveEqualities { wanted = WC {} | |
newTcEvBinds unique = aR6 | |
solveWanteds { WC {} | |
solveSimpleWanteds { {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {} | |
End solveEqualities } | |
reportAllUnsolved { | |
newTcEvBinds unique = aR7 | |
reportAllUnsolved } | |
quantifyZonkedTyVars | |
DV {dv_kvs = [] dv_tvs = []} | |
[] | |
quantifyTyVars | |
globals: [] | |
nondep: [] | |
dep: [] | |
dep_kvs' [] | |
nondep_tvs' [] | |
tcConDecl 2 | |
[Dict] | |
[] | |
tcConDecl 2 [Dict] | |
tcDataDefn | |
Dict | |
[p_aLp] | |
[] | |
Starting synonym cycle check [Dict] | |
Done synonym cycle check [Dict] | |
Starting family consistency check [Dict] | |
Done family consistency [Dict] | |
Starting validity check [Dict] | |
Starting validity for tycon Dict | |
checkValidTyCon | |
Dict | |
Nothing | |
cvtc1 Dict | |
cvtc2 Dict | |
checkValidDataCon | |
Dict | |
Dict | |
[p_aLp] | |
Dict p :: * | |
Dict p :: * | |
checkValidDataCon 2 forall (p :: Constraint). p => Dict p | |
checkValidType forall (p :: Constraint). p => Dict p :: * | |
check_type | |
forall (p :: Constraint). p => Dict p | |
True | |
check_valid_theta [p] | |
Ambiguity check for forall (p :: Constraint). p => Dict p | |
tcSubType_NC | |
the type of the constructor ‘Dict’ | |
forall (p :: Constraint). p => Dict p | |
forall (p :: Constraint). p => Dict p | |
tc_sub_tc_type (general case) | |
ty_actual = forall (p :: Constraint). p => Dict p | |
ty_expected = forall (p :: Constraint). p => Dict p | |
tcSkolemise | |
tcSkolemise | |
1 | |
expected_ty forall (p :: Constraint). p => Dict p | |
inst tyvars [p_aRe[sk:2]] | |
given [irred_aRf] | |
inst type Dict p_aRe[sk:2] | |
tc_sub_type_ds | |
ty_actual = forall (p :: Constraint). p => Dict p | |
ty_expected = Dict p_aRe[sk:2] | |
instCallConstraints [irred_aRh] | |
Instantiating | |
all tyvars? True | |
origin arising from a type equality forall (p :: Constraint). | |
p => | |
Dict p | |
~ | |
forall (p :: Constraint). p => Dict p | |
type forall (p :: Constraint). p => Dict p | |
theta [p] | |
leave_bndrs [] | |
with [p_aRg[tau:2]] | |
theta: [p_aRg[tau:2]] | |
tc_sub_type_ds | |
ty_actual = Dict p_aRg[tau:2] | |
ty_expected = Dict p_aRe[sk:2] | |
deeply_instantiate final subst | |
origin: arising from a type equality forall (p :: Constraint). | |
p => | |
Dict p | |
~ | |
forall (p :: Constraint). p => Dict p | |
type: Dict p_aRg[tau:2] | |
new type: Dict p_aRg[tau:2] | |
subst: [TCvSubst In scope: InScope {p_aRg} Type env: [] Co env: []] | |
u_tys | |
tclvl 2 | |
Dict p_aRg[tau:2] ~ Dict p_aRe[sk:2] | |
arising from a type equality Dict p_aRg[tau:2] ~ Dict p_aRe[sk:2] | |
u_tys | |
tclvl 2 | |
p_aRg[tau:2] ~ p_aRe[sk:2] | |
arising from a type equality Dict p_aRg[tau:2] ~ Dict p_aRe[sk:2] | |
u_tys | |
tclvl 2 | |
Constraint ~ Constraint | |
arising from a kind equality arising from | |
p_aRg[tau:2] ~ p_aRe[sk:2] | |
u_tys yields no coercion | |
writeMetaTyVar p_aRg[tau:2] := p_aRe[sk:2] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
newTcEvBinds unique = aRi | |
simplifyAmbiguityCheck { | |
type = forall (p :: Constraint). p => Dict p | |
wanted = WC {wc_impl = | |
Implic { | |
TcLevel = 2 | |
Skolems = (p_aRe[sk:2] :: Constraint) | |
No-eqs = False | |
Status = Unsolved | |
Given = irred_aRf :: p_aRe[sk:2] | |
Wanted = | |
WC {wc_simple = [WD] irred_aRh {0}:: p_aRg[tau:2] (CNonCanonical)} | |
Binds = EvBindsVar<aRi> | |
Needed = [] | |
the type of the constructor ‘Dict’: | |
p_aRe[sk:2] => Dict p_aRe[sk:2] }} | |
newTcEvBinds unique = aRj | |
solveWanteds { | |
WC {wc_impl = | |
Implic { | |
TcLevel = 2 | |
Skolems = (p_aRe[sk:2] :: Constraint) | |
No-eqs = False | |
Status = Unsolved | |
Given = irred_aRf :: p_aRe[sk:2] | |
Wanted = | |
WC {wc_simple = [WD] irred_aRh {0}:: p_aRg[tau:2] (CNonCanonical)} | |
Binds = EvBindsVar<aRi> | |
Needed = [] | |
the type of the constructor ‘Dict’: | |
p_aRe[sk:2] => Dict p_aRe[sk:2] }} | |
solveSimpleWanteds { {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveNestedImplications starting { | |
solveImplication { | |
Implic { | |
TcLevel = 2 | |
Skolems = (p_aRe[sk:2] :: Constraint) | |
No-eqs = False | |
Status = Unsolved | |
Given = irred_aRf :: p_aRe[sk:2] | |
Wanted = | |
WC {wc_simple = [WD] irred_aRh {0}:: p_aRg[tau:2] (CNonCanonical)} | |
Binds = EvBindsVar<aRi> | |
Needed = [] | |
the type of the constructor ‘Dict’: | |
p_aRe[sk:2] => Dict p_aRe[sk:2] } | |
Inerts {Unsolved goals = 0} | |
solveSimpleGivens { | |
[[G] irred_aRf {0}:: p_aRe[sk:2] (CNonCanonical)] | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] irred_aRf {0}:: p_aRe[sk:2] (CNonCanonical) | |
inerts = {Unsolved goals = 0} | |
rest of worklist = WL {} | |
runStage canonicalization { | |
workitem = [G] irred_aRf {0}:: p_aRe[sk:2] (CNonCanonical) | |
canonicalize (non-canonical) | |
[G] irred_aRf {0}:: p_aRe[sk:2] (CNonCanonical) | |
canEvNC:irred p_aRe[sk:2] | |
can_pred IrredPred = p_aRe[sk:2] | |
flatten { p_aRe[sk:2] | |
Unfilled tyvar p_aRe[sk:2] | |
flatten } p_aRe[sk:2] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] irred_aRf {0}:: p_aRe[sk:2] (CIrredEvCan) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] irred_aRf {0}:: p_aRe[sk:2] (CIrredEvCan) | |
doTopReact [G] irred_aRf {0}:: p_aRe[sk:2] (CIrredEvCan) | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] irred_aRf {0}:: p_aRe[sk:2] (CIrredEvCan) | |
addInertCan } | |
Step 1[l:2,d:0] Kept as inert: [G] irred_aRf {0}:: p_aRe[sk:2] | |
End solver pipeline (kept as inert) } | |
final_item = [G] irred_aRf {0}:: p_aRe[sk:2] (CIrredEvCan) | |
End solveSimpleGivens } | |
solveWanteds { | |
WC {wc_simple = [WD] irred_aRh {0}:: p_aRg[tau:2] (CNonCanonical)} | |
solveSimpleWanteds { | |
{[WD] irred_aRh {0}:: p_aRg[tau:2] (CNonCanonical)} | |
----------------------------- | |
Start solver pipeline { | |
work item = [WD] irred_aRh {0}:: p_aRg[tau:2] (CNonCanonical) | |
inerts = {Irreds = [G] irred_aRf {0}:: p_aRe[sk:2] (CIrredEvCan) | |
Unsolved goals = 0} | |
rest of worklist = WL {} | |
runStage canonicalization { | |
workitem = [WD] irred_aRh {0}:: p_aRg[tau:2] (CNonCanonical) | |
canonicalize (non-canonical) | |
[WD] irred_aRh {0}:: p_aRg[tau:2] (CNonCanonical) | |
canEvNC:irred p_aRg[tau:2] | |
can_pred IrredPred = p_aRg[tau:2] | |
flatten { p_aRg[tau:2] | |
Following filled tyvar p_aRg[tau:2] = p_aRe[sk:2] | |
Unfilled tyvar p_aRe[sk:2] | |
flatten } p_aRe[sk:2] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [WD] irred_aRh {0}:: p_aRe[sk:2] (CIrredEvCan) | |
addTcEvBind | |
aRi | |
[W] irred_aRh = irred_aRf | |
end stage interact with inerts } | |
Step 2[l:2,d:0] Irred equal (keep): | |
[WD] irred_aRh {0}:: p_aRe[sk:2] | |
End solver pipeline (discharged) } | |
getUnsolvedInerts | |
tv eqs = {} | |
fun eqs = {} | |
insols = {} | |
others = {} | |
implics = {} | |
Unflattening | |
{Funeqs = | |
Tv eqs =} | |
Unflattening 1 {} | |
Unflattening 2 {} | |
Unflattening 3 {} | |
Unflattening done {} | |
zonkSimples done: {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {[W] irred_aRh = irred_aRf} | |
getNoGivenEqs | |
True | |
{Irreds = [G] irred_aRf {0}:: p_aRe[sk:2] (CIrredEvCan) | |
Unsolved goals = 0} | |
{} | |
solveImplication 2 | |
{} | |
WC {} | |
setImplicationStatus 2 | |
[irred_aRf] | |
([aRh :-> [W] irred_aRh = irred_aRf], []) | |
[aRf :-> irred_aRf] | |
solveImplication end } | |
no_given_eqs = False | |
floated_eqs = {} | |
res_implic = Nothing | |
implication evbinds = {[W] irred_aRh = irred_aRf} | |
implication tvcs = [] | |
solveNestedImplications end } | |
all floated_eqs = {} | |
unsolved_implics = {Nothing} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {} | |
Constraint solver steps = 2 | |
End simplifyAmbiguityCheck } | |
reportUnsolved(ambig) { | |
newTcEvBinds unique = aRk | |
reportUnsolved(ambig) } | |
Done ambiguity check for forall (p :: Constraint). p => Dict p | |
checkValidType done forall (p :: Constraint). p => Dict p :: * | |
Done validity of data con | |
Dict forall (p :: Constraint). p => Dict p | |
Done validity for tycon Dict | |
Done validity check [Dict] | |
tcAddImplicits | |
tycons [Dict] | |
implicits [Data constructor ‘Dict’, Identifier ‘T11480b.Dict’] | |
txExtendKindEnv [] | |
env2 [] | |
Adding instances: | |
addFamInsts | |
tcAddImplicits | |
tycons [] | |
implicits [] | |
txExtendKindEnv [] | |
env2 [] | |
kcTyClGroup | |
module T11480b | |
data Nat (p_aKL :: i_aKK -> i_aKK -> *) (q_aKN :: j_aKM | |
-> j_aKM -> *) (f_aKO :: i_aKK | |
-> j_aKM) (g_aKP :: i_aKK | |
-> j_aKM) | |
where | |
Nat :: (Functor p_aKQ q_aKR f_aKS, Functor p_aKQ q_aKR g_aKT) => | |
{runNat :: forall a_aKU. | |
Ob p_aKQ a_aKU => q_aKR (f_aKS a_aKU) (g_aKT a_aKU)} | |
-> Nat p_aKQ q_aKR f_aKS g_aKT | |
class (Category p_aKW, Category q_aKY) => Functor (p_aKW :: i_aKV | |
-> i_aKV -> *) (q_aKY :: j_aKX | |
-> j_aKX | |
-> *) (f_aKZ :: i_aKV | |
-> j_aKX) | f_aKZ -> p_aKW | |
q_aKY where | |
fmap :: p_aKW a_aL0 b_aL1 -> q_aKY (f_aKZ a_aL0) (f_aKZ b_aL1) | |
class Functor (Op p_aL3) (Nat p_aL3 (->)) p_aL3 => Category (p_aL3 :: i_aL2 | |
-> i_aL2 -> *) where | |
type Ob p_aL3 :: i_aL2 -> Constraint | |
type Ob p_aL4 = Vacuous p_aL4 | |
id :: Ob p_aL3 a_aL5 => p_aL3 a_aL5 a_aL5 | |
(.) :: p_aL3 b_aL6 c_aL7 -> p_aL3 a_aL8 b_aL6 -> p_aL3 a_aL8 c_aL7 | |
source :: p_aL3 a_aL9 b_aLa -> Dict (Ob p_aL3 a_aL9) | |
default source :: | |
(Ob p_aL3 ~ Vacuous p_aL3) => | |
p_aL3 a_aLb b_aLc -> Dict (Ob p_aL3 a_aLb) | |
source _ = Dict | |
target :: p_aL3 a_aLd b_aLe -> Dict (Ob p_aL3 b_aLe) | |
default target :: | |
(Ob p_aL3 ~ Vacuous p_aL3) => | |
p_aL3 a_aLf b_aLg -> Dict (Ob p_aL3 b_aLg) | |
target _ = Dict | |
op :: p_aL3 b_aLh a_aLi -> Op p_aL3 a_aLi b_aLh | |
default op :: | |
Op p_aL3 ~ Y p_aL3 => p_aL3 b_aLj a_aLk -> Op p_aL3 a_aLk b_aLj | |
op = Y | |
unop :: Op p_aL3 b_aLl a_aLm -> p_aL3 a_aLm b_aLl | |
default unop :: | |
Op p_aL3 ~ Y p_aL3 => Op p_aL3 b_aLn a_aLo -> p_aL3 a_aLo b_aLn | |
unop = getY | |
txExtendKindEnv | |
[(Nat, APromotionErr TyConPE), (Functor, APromotionErr ClassPE), | |
(Category, APromotionErr ClassPE), (Ob, APromotionErr TyConPE)] | |
env2 | |
[(i_aKK, Type variable ‘i_aKK’ = i_aKK[sk:1]), | |
(j_aKM, Type variable ‘j_aKM’ = j_aKM[sk:1])] | |
lk1 i_aKK | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
lk1 i_aKK | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
lk1 * | |
tcTyVar2b | |
* :: * | |
* | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
env2 [(p_aKL, Type variable ‘p_aKL’ = p_aKL[sk:1])] | |
lk1 j_aKM | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
lk1 j_aKM | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
lk1 * | |
tcTyVar2b | |
* :: * | |
* | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
env2 [(q_aKN, Type variable ‘q_aKN’ = q_aKN[sk:1])] | |
lk1 i_aKK | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
lk1 j_aKM | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
env2 [(f_aKO, Type variable ‘f_aKO’ = f_aKO[sk:1])] | |
lk1 i_aKK | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
lk1 j_aKM | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
env2 [(g_aKP, Type variable ‘g_aKP’ = g_aKP[sk:1])] | |
solveEqualities { wanted = WC {} | |
newTcEvBinds unique = aRl | |
solveWanteds { WC {} | |
solveSimpleWanteds { {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {} | |
End solveEqualities } | |
reportAllUnsolved { | |
newTcEvBinds unique = aRm | |
reportAllUnsolved } | |
env2 | |
[(i_aKV, Type variable ‘i_aKV’ = i_aKV[sk:1]), | |
(j_aKX, Type variable ‘j_aKX’ = j_aKX[sk:1])] | |
lk1 i_aKV | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
lk1 i_aKV | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
lk1 * | |
tcTyVar2b | |
* :: * | |
* | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
env2 [(p_aKW, Type variable ‘p_aKW’ = p_aKW[sk:1])] | |
lk1 j_aKX | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
lk1 j_aKX | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
lk1 * | |
tcTyVar2b | |
* :: * | |
* | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
env2 [(q_aKY, Type variable ‘q_aKY’ = q_aKY[sk:1])] | |
lk1 i_aKV | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
lk1 j_aKX | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
env2 [(f_aKZ, Type variable ‘f_aKZ’ = f_aKZ[sk:1])] | |
txExtendKindEnv [] | |
solveEqualities { wanted = WC {} | |
newTcEvBinds unique = aRn | |
solveWanteds { WC {} | |
solveSimpleWanteds { {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {} | |
End solveEqualities } | |
reportAllUnsolved { | |
newTcEvBinds unique = aRo | |
reportAllUnsolved } | |
env2 [(i_aL2, Type variable ‘i_aL2’ = i_aL2[sk:1])] | |
lk1 i_aL2 | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
lk1 i_aL2 | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
lk1 * | |
tcTyVar2b | |
* :: * | |
* | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
env2 [(p_aL3, Type variable ‘p_aL3’ = p_aL3[sk:1])] | |
txExtendKindEnv [(Ob, APromotionErr TyConPE)] | |
env2 [] | |
lk1 i_aL2 | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
lk1 Constraint | |
tcTyVar2a | |
Constraint | |
* | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
solveEqualities { wanted = WC {} | |
newTcEvBinds unique = aRp | |
solveWanteds { WC {} | |
solveSimpleWanteds { {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {} | |
End solveEqualities } | |
reportAllUnsolved { | |
newTcEvBinds unique = aRq | |
reportAllUnsolved } | |
solveEqualities { wanted = WC {} | |
newTcEvBinds unique = aRr | |
solveWanteds { WC {} | |
solveSimpleWanteds { {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {} | |
End solveEqualities } | |
reportAllUnsolved { | |
newTcEvBinds unique = aRs | |
reportAllUnsolved } | |
kcTyClGroup: initial kinds | |
Nat :: forall i j. | |
(i_aKK[sk:1] -> i_aKK[sk:1] -> *) | |
-> (j_aKM[sk:1] -> j_aKM[sk:1] -> *) | |
-> (i_aKK[sk:1] -> j_aKM[sk:1]) | |
-> (i_aKK[sk:1] -> j_aKM[sk:1]) | |
-> * | |
(Nat, APromotionErr RecDataConPE) | |
Functor :: forall i j. | |
(i_aKV[sk:1] -> i_aKV[sk:1] -> *) | |
-> (j_aKX[sk:1] -> j_aKX[sk:1] -> *) | |
-> (i_aKV[sk:1] -> j_aKX[sk:1]) | |
-> Constraint | |
Category :: forall i. | |
(i_aL2[sk:1] -> i_aL2[sk:1] -> *) -> Constraint | |
Ob :: forall i. | |
(i_aL2[sk:1] -> i_aL2[sk:1] -> *) -> i_aL2[sk:1] -> Constraint | |
txExtendKindEnv | |
[(Nat, ATcTyCon Nat), (Nat, APromotionErr RecDataConPE), | |
(Functor, ATcTyCon Functor), (Category, ATcTyCon Category), | |
(Ob, ATcTyCon Ob)] | |
env2 | |
[(i_aKK, Type variable ‘i_aKK’ = i_aKK[sk:1]), | |
(j_aKM, Type variable ‘j_aKM’ = j_aKM[sk:1]), | |
(p_aKL, Type variable ‘p_aKL’ = p_aKL[sk:1]), | |
(q_aKN, Type variable ‘q_aKN’ = q_aKN[sk:1]), | |
(f_aKO, Type variable ‘f_aKO’ = f_aKO[sk:1]), | |
(g_aKP, Type variable ‘g_aKP’ = g_aKP[sk:1])] | |
env2 | |
[(p_aKQ, Type variable ‘p_aKQ’ = p_aKQ[sk:1]), | |
(q_aKR, Type variable ‘q_aKR’ = q_aKR[sk:1]), | |
(f_aKS, Type variable ‘f_aKS’ = f_aKS[sk:1]), | |
(g_aKT, Type variable ‘g_aKT’ = g_aKT[sk:1])] | |
lk1 Functor | |
lk1 (loopy) Functor | |
tcTyVar2a | |
Functor | |
forall i j. | |
(i_aKV[sk:1] -> i_aKV[sk:1] -> *) | |
-> (j_aKX[sk:1] -> j_aKX[sk:1] -> *) | |
-> (i_aKV[sk:1] -> j_aKX[sk:1]) | |
-> Constraint | |
tc_infer_args (invis) @i_aKV[sk:1] | |
tc_infer_args (invis) @j_aKX[sk:1] | |
tc_infer_args (vis) | |
[anon] i_aKV[sk:1] -> i_aKV[sk:1] -> * | |
p_aKQ | |
lk1 p_aKQ | |
u_tys | |
tclvl 1 | |
k_aRt[tau:1] ~ i_aRx[tau:1] -> i_aRx[tau:1] -> * | |
arising from a type equality k_aRt[tau:1] | |
~ | |
i_aRx[tau:1] -> i_aRx[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aRt[tau:1] ~ i_aRx[tau:1] -> i_aRx[tau:1] -> * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aRt[tau:1] ~ i_aRx[tau:1] -> i_aRx[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aRt[tau:1] := i_aRx[tau:1] -> i_aRx[tau:1] -> * | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aRt[tau:1] | |
i_aRx[tau:1] -> i_aRx[tau:1] -> * | |
<i_aRx[tau:1] -> i_aRx[tau:1] -> *>_N | |
tc_infer_args (vis) | |
[anon] j_aKX[sk:1] -> j_aKX[sk:1] -> * | |
q_aKR | |
lk1 q_aKR | |
u_tys | |
tclvl 1 | |
k_aRu[tau:1] ~ j_aRy[tau:1] -> j_aRy[tau:1] -> * | |
arising from a type equality k_aRu[tau:1] | |
~ | |
j_aRy[tau:1] -> j_aRy[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aRu[tau:1] ~ j_aRy[tau:1] -> j_aRy[tau:1] -> * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aRu[tau:1] ~ j_aRy[tau:1] -> j_aRy[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aRu[tau:1] := j_aRy[tau:1] -> j_aRy[tau:1] -> * | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aRu[tau:1] | |
j_aRy[tau:1] -> j_aRy[tau:1] -> * | |
<j_aRy[tau:1] -> j_aRy[tau:1] -> *>_N | |
tc_infer_args (vis) | |
[anon] i_aKV[sk:1] -> j_aKX[sk:1] | |
f_aKS | |
lk1 f_aKS | |
u_tys | |
tclvl 1 | |
k_aRv[tau:1] ~ i_aRx[tau:1] -> j_aRy[tau:1] | |
arising from a type equality k_aRv[tau:1] | |
~ | |
i_aRx[tau:1] -> j_aRy[tau:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aRv[tau:1] ~ i_aRx[tau:1] -> j_aRy[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aRv[tau:1] ~ i_aRx[tau:1] -> j_aRy[tau:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aRv[tau:1] := i_aRx[tau:1] -> j_aRy[tau:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aRv[tau:1] | |
i_aRx[tau:1] -> j_aRy[tau:1] | |
<i_aRx[tau:1] -> j_aRy[tau:1]>_N | |
u_tys | |
tclvl 1 | |
Constraint ~ Constraint | |
arising from a type equality Constraint ~ Constraint | |
u_tys yields no coercion | |
checkExpectedKind | |
Constraint | |
Constraint | |
<Constraint>_N | |
lk1 Functor | |
lk1 (loopy) Functor | |
tcTyVar2a | |
Functor | |
forall i j. | |
(i_aKV[sk:1] -> i_aKV[sk:1] -> *) | |
-> (j_aKX[sk:1] -> j_aKX[sk:1] -> *) | |
-> (i_aKV[sk:1] -> j_aKX[sk:1]) | |
-> Constraint | |
tc_infer_args (invis) @i_aKV[sk:1] | |
tc_infer_args (invis) @j_aKX[sk:1] | |
tc_infer_args (vis) | |
[anon] i_aKV[sk:1] -> i_aKV[sk:1] -> * | |
p_aKQ | |
lk1 p_aKQ | |
u_tys | |
tclvl 1 | |
k_aRt[tau:1] ~ i_aRz[tau:1] -> i_aRz[tau:1] -> * | |
arising from a type equality k_aRt[tau:1] | |
~ | |
i_aRz[tau:1] -> i_aRz[tau:1] -> * | |
found filled tyvar | |
k_aRt[tau:1] :-> i_aRx[tau:1] -> i_aRx[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aRx[tau:1] ~ i_aRz[tau:1] | |
arising from a type equality k_aRt[tau:1] | |
~ | |
i_aRz[tau:1] -> i_aRz[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aRx[tau:1] ~ i_aRz[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aRx[tau:1] ~ i_aRz[tau:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aRx[tau:1] := i_aRz[tau:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aRx[tau:1] -> * ~ i_aRz[tau:1] -> * | |
arising from a type equality k_aRt[tau:1] | |
~ | |
i_aRz[tau:1] -> i_aRz[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aRx[tau:1] ~ i_aRz[tau:1] | |
arising from a type equality k_aRt[tau:1] | |
~ | |
i_aRz[tau:1] -> i_aRz[tau:1] -> * | |
found filled tyvar i_aRx[tau:1] :-> i_aRz[tau:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality k_aRt[tau:1] | |
~ | |
i_aRz[tau:1] -> i_aRz[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aRt[tau:1] | |
i_aRz[tau:1] -> i_aRz[tau:1] -> * | |
<i_aRz[tau:1] -> i_aRz[tau:1] -> *>_N | |
tc_infer_args (vis) | |
[anon] j_aKX[sk:1] -> j_aKX[sk:1] -> * | |
q_aKR | |
lk1 q_aKR | |
u_tys | |
tclvl 1 | |
k_aRu[tau:1] ~ j_aRA[tau:1] -> j_aRA[tau:1] -> * | |
arising from a type equality k_aRu[tau:1] | |
~ | |
j_aRA[tau:1] -> j_aRA[tau:1] -> * | |
found filled tyvar | |
k_aRu[tau:1] :-> j_aRy[tau:1] -> j_aRy[tau:1] -> * | |
u_tys | |
tclvl 1 | |
j_aRy[tau:1] ~ j_aRA[tau:1] | |
arising from a type equality k_aRu[tau:1] | |
~ | |
j_aRA[tau:1] -> j_aRA[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
j_aRy[tau:1] ~ j_aRA[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
j_aRy[tau:1] ~ j_aRA[tau:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar j_aRy[tau:1] := j_aRA[tau:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
j_aRy[tau:1] -> * ~ j_aRA[tau:1] -> * | |
arising from a type equality k_aRu[tau:1] | |
~ | |
j_aRA[tau:1] -> j_aRA[tau:1] -> * | |
u_tys | |
tclvl 1 | |
j_aRy[tau:1] ~ j_aRA[tau:1] | |
arising from a type equality k_aRu[tau:1] | |
~ | |
j_aRA[tau:1] -> j_aRA[tau:1] -> * | |
found filled tyvar j_aRy[tau:1] :-> j_aRA[tau:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality k_aRu[tau:1] | |
~ | |
j_aRA[tau:1] -> j_aRA[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aRu[tau:1] | |
j_aRA[tau:1] -> j_aRA[tau:1] -> * | |
<j_aRA[tau:1] -> j_aRA[tau:1] -> *>_N | |
tc_infer_args (vis) | |
[anon] i_aKV[sk:1] -> j_aKX[sk:1] | |
g_aKT | |
lk1 g_aKT | |
u_tys | |
tclvl 1 | |
k_aRw[tau:1] ~ i_aRz[tau:1] -> j_aRA[tau:1] | |
arising from a type equality k_aRw[tau:1] | |
~ | |
i_aRz[tau:1] -> j_aRA[tau:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aRw[tau:1] ~ i_aRz[tau:1] -> j_aRA[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aRw[tau:1] ~ i_aRz[tau:1] -> j_aRA[tau:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aRw[tau:1] := i_aRz[tau:1] -> j_aRA[tau:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aRw[tau:1] | |
i_aRz[tau:1] -> j_aRA[tau:1] | |
<i_aRz[tau:1] -> j_aRA[tau:1]>_N | |
u_tys | |
tclvl 1 | |
Constraint ~ Constraint | |
arising from a type equality Constraint ~ Constraint | |
u_tys yields no coercion | |
checkExpectedKind | |
Constraint | |
Constraint | |
<Constraint>_N | |
tcConArg 1 | |
forall a_aKU. Ob p_aKQ a_aKU => q_aKR (f_aKS a_aKU) (g_aKT a_aKU) | |
env2 [(a_aKU, Type variable ‘a_aKU’ = a_aKU[sk:1])] | |
lk1 Ob | |
lk1 (loopy) Ob | |
instantiating tybinders: @i_aL2[sk:1] := i_aRD[tau:1] | |
tcTyVar2b | |
Ob :: forall i. | |
(i_aL2[sk:1] -> i_aL2[sk:1] -> *) -> i_aL2[sk:1] -> Constraint | |
(i_aRD[tau:1] -> i_aRD[tau:1] -> *) -> i_aRD[tau:1] -> Constraint | |
tc_infer_args (vis) | |
[anon] i_aRD[tau:1] -> i_aRD[tau:1] -> * | |
p_aKQ | |
lk1 p_aKQ | |
u_tys | |
tclvl 1 | |
k_aRt[tau:1] ~ i_aRD[tau:1] -> i_aRD[tau:1] -> * | |
arising from a type equality k_aRt[tau:1] | |
~ | |
i_aRD[tau:1] -> i_aRD[tau:1] -> * | |
found filled tyvar | |
k_aRt[tau:1] :-> i_aRx[tau:1] -> i_aRx[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aRx[tau:1] ~ i_aRD[tau:1] | |
arising from a type equality k_aRt[tau:1] | |
~ | |
i_aRD[tau:1] -> i_aRD[tau:1] -> * | |
found filled tyvar i_aRx[tau:1] :-> i_aRz[tau:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aRz[tau:1] ~ i_aRD[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aRz[tau:1] ~ i_aRD[tau:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aRz[tau:1] := i_aRD[tau:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aRx[tau:1] -> * ~ i_aRD[tau:1] -> * | |
arising from a type equality k_aRt[tau:1] | |
~ | |
i_aRD[tau:1] -> i_aRD[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aRx[tau:1] ~ i_aRD[tau:1] | |
arising from a type equality k_aRt[tau:1] | |
~ | |
i_aRD[tau:1] -> i_aRD[tau:1] -> * | |
found filled tyvar i_aRx[tau:1] :-> i_aRz[tau:1] | |
found filled tyvar i_aRz[tau:1] :-> i_aRD[tau:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality k_aRt[tau:1] | |
~ | |
i_aRD[tau:1] -> i_aRD[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aRt[tau:1] | |
i_aRD[tau:1] -> i_aRD[tau:1] -> * | |
<i_aRD[tau:1] -> i_aRD[tau:1] -> *>_N | |
tc_infer_args (vis) | |
[anon] i_aRD[tau:1] | |
a_aKU | |
lk1 a_aKU | |
u_tys | |
tclvl 1 | |
k_aRC[tau:1] ~ i_aRD[tau:1] | |
arising from a type equality k_aRC[tau:1] ~ i_aRD[tau:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aRC[tau:1] ~ i_aRD[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aRC[tau:1] ~ i_aRD[tau:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aRC[tau:1] := i_aRD[tau:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aRC[tau:1] | |
i_aRD[tau:1] | |
<i_aRD[tau:1]>_N | |
u_tys | |
tclvl 1 | |
Constraint ~ Constraint | |
arising from a type equality Constraint ~ Constraint | |
u_tys yields no coercion | |
checkExpectedKind | |
Constraint | |
Constraint | |
<Constraint>_N | |
lk1 q_aKR | |
tc_infer_args (vis) | |
[anon] j_aRA[tau:1] | |
(f_aKS a_aKU) | |
lk1 f_aKS | |
tc_infer_args (vis) | |
[anon] i_aRD[tau:1] | |
a_aKU | |
lk1 a_aKU | |
u_tys | |
tclvl 1 | |
k_aRC[tau:1] ~ i_aRD[tau:1] | |
arising from a type equality k_aRC[tau:1] ~ i_aRD[tau:1] | |
found filled tyvar k_aRC[tau:1] :-> i_aRD[tau:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aRC[tau:1] | |
i_aRD[tau:1] | |
<i_aRD[tau:1]>_N | |
u_tys | |
tclvl 1 | |
j_aRA[tau:1] ~ j_aRA[tau:1] | |
arising from a type equality j_aRA[tau:1] ~ j_aRA[tau:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
j_aRA[tau:1] | |
j_aRA[tau:1] | |
<j_aRA[tau:1]>_N | |
tc_infer_args (vis) | |
[anon] j_aRA[tau:1] | |
(g_aKT a_aKU) | |
lk1 g_aKT | |
tc_infer_args (vis) | |
[anon] i_aRD[tau:1] | |
a_aKU | |
lk1 a_aKU | |
u_tys | |
tclvl 1 | |
k_aRC[tau:1] ~ i_aRD[tau:1] | |
arising from a type equality k_aRC[tau:1] ~ i_aRD[tau:1] | |
found filled tyvar k_aRC[tau:1] :-> i_aRD[tau:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aRC[tau:1] | |
i_aRD[tau:1] | |
<i_aRD[tau:1]>_N | |
u_tys | |
tclvl 1 | |
j_aRA[tau:1] ~ j_aRA[tau:1] | |
arising from a type equality j_aRA[tau:1] ~ j_aRA[tau:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
j_aRA[tau:1] | |
j_aRA[tau:1] | |
<j_aRA[tau:1]>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aRE[tau:1] | |
arising from a type equality * ~ TYPE t_aRE[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aRE[tau:1] | |
arising from a type equality * ~ TYPE t_aRE[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aRE[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aRE[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aRE[tau:1] | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aRB[tau:1] | |
arising from a type equality * ~ TYPE t_aRB[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aRB[tau:1] | |
arising from a type equality * ~ TYPE t_aRB[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aRB[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aRB[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aRB[tau:1] | |
<*>_N | |
tcExplicitTKBndrs | |
Hs vars: [a_aKU] | |
tvs: (a_aKU[sk:1] :: i_aRD[tau:1]) | |
tcConArg 2 | |
forall a_aKU. Ob p_aKQ a_aKU => q_aKR (f_aKS a_aKU) (g_aKT a_aKU) | |
lk1 Nat | |
lk1 (loopy) Nat | |
tcTyVar2a | |
Nat | |
forall i j. | |
(i_aKK[sk:1] -> i_aKK[sk:1] -> *) | |
-> (j_aKM[sk:1] -> j_aKM[sk:1] -> *) | |
-> (i_aKK[sk:1] -> j_aKM[sk:1]) | |
-> (i_aKK[sk:1] -> j_aKM[sk:1]) | |
-> * | |
tc_infer_args (invis) @i_aKK[sk:1] | |
tc_infer_args (invis) @j_aKM[sk:1] | |
tc_infer_args (vis) | |
[anon] i_aKK[sk:1] -> i_aKK[sk:1] -> * | |
p_aKQ | |
lk1 p_aKQ | |
u_tys | |
tclvl 1 | |
k_aRt[tau:1] ~ i_aRF[tau:1] -> i_aRF[tau:1] -> * | |
arising from a type equality k_aRt[tau:1] | |
~ | |
i_aRF[tau:1] -> i_aRF[tau:1] -> * | |
found filled tyvar | |
k_aRt[tau:1] :-> i_aRx[tau:1] -> i_aRx[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aRx[tau:1] ~ i_aRF[tau:1] | |
arising from a type equality k_aRt[tau:1] | |
~ | |
i_aRF[tau:1] -> i_aRF[tau:1] -> * | |
found filled tyvar i_aRx[tau:1] :-> i_aRz[tau:1] | |
found filled tyvar i_aRz[tau:1] :-> i_aRD[tau:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aRD[tau:1] ~ i_aRF[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aRD[tau:1] ~ i_aRF[tau:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aRD[tau:1] := i_aRF[tau:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aRx[tau:1] -> * ~ i_aRF[tau:1] -> * | |
arising from a type equality k_aRt[tau:1] | |
~ | |
i_aRF[tau:1] -> i_aRF[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aRx[tau:1] ~ i_aRF[tau:1] | |
arising from a type equality k_aRt[tau:1] | |
~ | |
i_aRF[tau:1] -> i_aRF[tau:1] -> * | |
found filled tyvar i_aRx[tau:1] :-> i_aRz[tau:1] | |
found filled tyvar i_aRz[tau:1] :-> i_aRD[tau:1] | |
found filled tyvar i_aRD[tau:1] :-> i_aRF[tau:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality k_aRt[tau:1] | |
~ | |
i_aRF[tau:1] -> i_aRF[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aRt[tau:1] | |
i_aRF[tau:1] -> i_aRF[tau:1] -> * | |
<i_aRF[tau:1] -> i_aRF[tau:1] -> *>_N | |
tc_infer_args (vis) | |
[anon] j_aKM[sk:1] -> j_aKM[sk:1] -> * | |
q_aKR | |
lk1 q_aKR | |
u_tys | |
tclvl 1 | |
k_aRu[tau:1] ~ j_aRG[tau:1] -> j_aRG[tau:1] -> * | |
arising from a type equality k_aRu[tau:1] | |
~ | |
j_aRG[tau:1] -> j_aRG[tau:1] -> * | |
found filled tyvar | |
k_aRu[tau:1] :-> j_aRy[tau:1] -> j_aRy[tau:1] -> * | |
u_tys | |
tclvl 1 | |
j_aRy[tau:1] ~ j_aRG[tau:1] | |
arising from a type equality k_aRu[tau:1] | |
~ | |
j_aRG[tau:1] -> j_aRG[tau:1] -> * | |
found filled tyvar j_aRy[tau:1] :-> j_aRA[tau:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
j_aRA[tau:1] ~ j_aRG[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
j_aRA[tau:1] ~ j_aRG[tau:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar j_aRA[tau:1] := j_aRG[tau:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
j_aRy[tau:1] -> * ~ j_aRG[tau:1] -> * | |
arising from a type equality k_aRu[tau:1] | |
~ | |
j_aRG[tau:1] -> j_aRG[tau:1] -> * | |
u_tys | |
tclvl 1 | |
j_aRy[tau:1] ~ j_aRG[tau:1] | |
arising from a type equality k_aRu[tau:1] | |
~ | |
j_aRG[tau:1] -> j_aRG[tau:1] -> * | |
found filled tyvar j_aRy[tau:1] :-> j_aRA[tau:1] | |
found filled tyvar j_aRA[tau:1] :-> j_aRG[tau:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality k_aRu[tau:1] | |
~ | |
j_aRG[tau:1] -> j_aRG[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aRu[tau:1] | |
j_aRG[tau:1] -> j_aRG[tau:1] -> * | |
<j_aRG[tau:1] -> j_aRG[tau:1] -> *>_N | |
tc_infer_args (vis) | |
[anon] i_aKK[sk:1] -> j_aKM[sk:1] | |
f_aKS | |
lk1 f_aKS | |
u_tys | |
tclvl 1 | |
k_aRv[tau:1] ~ i_aRF[tau:1] -> j_aRG[tau:1] | |
arising from a type equality k_aRv[tau:1] | |
~ | |
i_aRF[tau:1] -> j_aRG[tau:1] | |
found filled tyvar k_aRv[tau:1] :-> i_aRx[tau:1] -> j_aRy[tau:1] | |
u_tys | |
tclvl 1 | |
i_aRx[tau:1] ~ i_aRF[tau:1] | |
arising from a type equality k_aRv[tau:1] | |
~ | |
i_aRF[tau:1] -> j_aRG[tau:1] | |
found filled tyvar i_aRx[tau:1] :-> i_aRz[tau:1] | |
found filled tyvar i_aRz[tau:1] :-> i_aRD[tau:1] | |
found filled tyvar i_aRD[tau:1] :-> i_aRF[tau:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
j_aRy[tau:1] ~ j_aRG[tau:1] | |
arising from a type equality k_aRv[tau:1] | |
~ | |
i_aRF[tau:1] -> j_aRG[tau:1] | |
found filled tyvar j_aRy[tau:1] :-> j_aRA[tau:1] | |
found filled tyvar j_aRA[tau:1] :-> j_aRG[tau:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aRv[tau:1] | |
i_aRF[tau:1] -> j_aRG[tau:1] | |
<i_aRF[tau:1] -> j_aRG[tau:1]>_N | |
tc_infer_args (vis) | |
[anon] i_aKK[sk:1] -> j_aKM[sk:1] | |
g_aKT | |
lk1 g_aKT | |
u_tys | |
tclvl 1 | |
k_aRw[tau:1] ~ i_aRF[tau:1] -> j_aRG[tau:1] | |
arising from a type equality k_aRw[tau:1] | |
~ | |
i_aRF[tau:1] -> j_aRG[tau:1] | |
found filled tyvar k_aRw[tau:1] :-> i_aRz[tau:1] -> j_aRA[tau:1] | |
u_tys | |
tclvl 1 | |
i_aRz[tau:1] ~ i_aRF[tau:1] | |
arising from a type equality k_aRw[tau:1] | |
~ | |
i_aRF[tau:1] -> j_aRG[tau:1] | |
found filled tyvar i_aRz[tau:1] :-> i_aRD[tau:1] | |
found filled tyvar i_aRD[tau:1] :-> i_aRF[tau:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
j_aRA[tau:1] ~ j_aRG[tau:1] | |
arising from a type equality k_aRw[tau:1] | |
~ | |
i_aRF[tau:1] -> j_aRG[tau:1] | |
found filled tyvar j_aRA[tau:1] :-> j_aRG[tau:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aRw[tau:1] | |
i_aRF[tau:1] -> j_aRG[tau:1] | |
<i_aRF[tau:1] -> j_aRG[tau:1]>_N | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
lookupCF | |
Nat | |
Just [runNat{runNat}] | |
[rKl :-> [runNat{runNat}], rKy :-> [], rKC :-> [getY{getY}]] | |
tcExplicitTKBndrs | |
Hs vars: [] | |
tvs: | |
tcImplicitTKBndrs | |
[p_aKQ, q_aKR, f_aKS, g_aKT] | |
[p_aKQ[sk:1], q_aKR[sk:1], f_aKS[sk:1], g_aKT[sk:1]] | |
solveEqualities { wanted = WC {} | |
newTcEvBinds unique = aRH | |
solveWanteds { WC {} | |
solveSimpleWanteds { {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {} | |
End solveEqualities } | |
reportAllUnsolved { | |
newTcEvBinds unique = aRI | |
reportAllUnsolved } | |
env2 | |
[(i_aKV, Type variable ‘i_aKV’ = i_aKV[sk:1]), | |
(j_aKX, Type variable ‘j_aKX’ = j_aKX[sk:1]), | |
(p_aKW, Type variable ‘p_aKW’ = p_aKW[sk:1]), | |
(q_aKY, Type variable ‘q_aKY’ = q_aKY[sk:1]), | |
(f_aKZ, Type variable ‘f_aKZ’ = f_aKZ[sk:1])] | |
lk1 Category | |
lk1 (loopy) Category | |
tcTyVar2a | |
Category | |
forall i. (i_aL2[sk:1] -> i_aL2[sk:1] -> *) -> Constraint | |
tc_infer_args (invis) @i_aL2[sk:1] | |
tc_infer_args (vis) | |
[anon] i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
p_aKW | |
lk1 p_aKW | |
u_tys | |
tclvl 1 | |
i_aKV[sk:1] -> i_aKV[sk:1] -> * ~ i_aRJ[tau:1] -> i_aRJ[tau:1] -> * | |
arising from a type equality i_aKV[sk:1] -> i_aKV[sk:1] -> * | |
~ | |
i_aRJ[tau:1] -> i_aRJ[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aKV[sk:1] ~ i_aRJ[tau:1] | |
arising from a type equality i_aKV[sk:1] -> i_aKV[sk:1] -> * | |
~ | |
i_aRJ[tau:1] -> i_aRJ[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aRJ[tau:1] ~ i_aKV[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aRJ[tau:1] ~ i_aKV[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aRJ[tau:1] := i_aKV[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aKV[sk:1] -> * ~ i_aRJ[tau:1] -> * | |
arising from a type equality i_aKV[sk:1] -> i_aKV[sk:1] -> * | |
~ | |
i_aRJ[tau:1] -> i_aRJ[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aKV[sk:1] ~ i_aRJ[tau:1] | |
arising from a type equality i_aKV[sk:1] -> i_aKV[sk:1] -> * | |
~ | |
i_aRJ[tau:1] -> i_aRJ[tau:1] -> * | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality i_aKV[sk:1] -> i_aKV[sk:1] -> * | |
~ | |
i_aRJ[tau:1] -> i_aRJ[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aKV[sk:1] -> i_aKV[sk:1] -> * | |
i_aRJ[tau:1] -> i_aRJ[tau:1] -> * | |
<i_aKV[sk:1] -> i_aKV[sk:1] -> *>_N | |
u_tys | |
tclvl 1 | |
Constraint ~ Constraint | |
arising from a type equality Constraint ~ Constraint | |
u_tys yields no coercion | |
checkExpectedKind | |
Constraint | |
Constraint | |
<Constraint>_N | |
lk1 Category | |
lk1 (loopy) Category | |
tcTyVar2a | |
Category | |
forall i. (i_aL2[sk:1] -> i_aL2[sk:1] -> *) -> Constraint | |
tc_infer_args (invis) @i_aL2[sk:1] | |
tc_infer_args (vis) | |
[anon] i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
q_aKY | |
lk1 q_aKY | |
u_tys | |
tclvl 1 | |
j_aKX[sk:1] -> j_aKX[sk:1] -> * ~ i_aRK[tau:1] -> i_aRK[tau:1] -> * | |
arising from a type equality j_aKX[sk:1] -> j_aKX[sk:1] -> * | |
~ | |
i_aRK[tau:1] -> i_aRK[tau:1] -> * | |
u_tys | |
tclvl 1 | |
j_aKX[sk:1] ~ i_aRK[tau:1] | |
arising from a type equality j_aKX[sk:1] -> j_aKX[sk:1] -> * | |
~ | |
i_aRK[tau:1] -> i_aRK[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aRK[tau:1] ~ j_aKX[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aRK[tau:1] ~ j_aKX[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aRK[tau:1] := j_aKX[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
j_aKX[sk:1] -> * ~ i_aRK[tau:1] -> * | |
arising from a type equality j_aKX[sk:1] -> j_aKX[sk:1] -> * | |
~ | |
i_aRK[tau:1] -> i_aRK[tau:1] -> * | |
u_tys | |
tclvl 1 | |
j_aKX[sk:1] ~ i_aRK[tau:1] | |
arising from a type equality j_aKX[sk:1] -> j_aKX[sk:1] -> * | |
~ | |
i_aRK[tau:1] -> i_aRK[tau:1] -> * | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality j_aKX[sk:1] -> j_aKX[sk:1] -> * | |
~ | |
i_aRK[tau:1] -> i_aRK[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
j_aKX[sk:1] -> j_aKX[sk:1] -> * | |
i_aRK[tau:1] -> i_aRK[tau:1] -> * | |
<j_aKX[sk:1] -> j_aKX[sk:1] -> *>_N | |
u_tys | |
tclvl 1 | |
Constraint ~ Constraint | |
arising from a type equality Constraint ~ Constraint | |
u_tys yields no coercion | |
checkExpectedKind | |
Constraint | |
Constraint | |
<Constraint>_N | |
env2 | |
[(a_aL0, Type variable ‘a_aL0’ = a_aL0[sk:1]), | |
(b_aL1, Type variable ‘b_aL1’ = b_aL1[sk:1])] | |
lk1 p_aKW | |
tc_infer_args (vis) | |
[anon] i_aKV[sk:1] | |
a_aL0 | |
lk1 a_aL0 | |
u_tys | |
tclvl 1 | |
k_aRL[tau:1] ~ i_aKV[sk:1] | |
arising from a type equality k_aRL[tau:1] ~ i_aKV[sk:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aRL[tau:1] ~ i_aKV[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aRL[tau:1] ~ i_aKV[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aRL[tau:1] := i_aKV[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aRL[tau:1] | |
i_aKV[sk:1] | |
<i_aKV[sk:1]>_N | |
tc_infer_args (vis) | |
[anon] i_aKV[sk:1] | |
b_aL1 | |
lk1 b_aL1 | |
u_tys | |
tclvl 1 | |
k_aRM[tau:1] ~ i_aKV[sk:1] | |
arising from a type equality k_aRM[tau:1] ~ i_aKV[sk:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aRM[tau:1] ~ i_aKV[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aRM[tau:1] ~ i_aKV[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aRM[tau:1] := i_aKV[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aRM[tau:1] | |
i_aKV[sk:1] | |
<i_aKV[sk:1]>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aRN[tau:1] | |
arising from a type equality * ~ TYPE t_aRN[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aRN[tau:1] | |
arising from a type equality * ~ TYPE t_aRN[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aRN[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aRN[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aRN[tau:1] | |
<*>_N | |
lk1 q_aKY | |
tc_infer_args (vis) | |
[anon] j_aKX[sk:1] | |
(f_aKZ a_aL0) | |
lk1 f_aKZ | |
tc_infer_args (vis) | |
[anon] i_aKV[sk:1] | |
a_aL0 | |
lk1 a_aL0 | |
u_tys | |
tclvl 1 | |
k_aRL[tau:1] ~ i_aKV[sk:1] | |
arising from a type equality k_aRL[tau:1] ~ i_aKV[sk:1] | |
found filled tyvar k_aRL[tau:1] :-> i_aKV[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aRL[tau:1] | |
i_aKV[sk:1] | |
<i_aKV[sk:1]>_N | |
u_tys | |
tclvl 1 | |
j_aKX[sk:1] ~ j_aKX[sk:1] | |
arising from a type equality j_aKX[sk:1] ~ j_aKX[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
j_aKX[sk:1] | |
j_aKX[sk:1] | |
<j_aKX[sk:1]>_N | |
tc_infer_args (vis) | |
[anon] j_aKX[sk:1] | |
(f_aKZ b_aL1) | |
lk1 f_aKZ | |
tc_infer_args (vis) | |
[anon] i_aKV[sk:1] | |
b_aL1 | |
lk1 b_aL1 | |
u_tys | |
tclvl 1 | |
k_aRM[tau:1] ~ i_aKV[sk:1] | |
arising from a type equality k_aRM[tau:1] ~ i_aKV[sk:1] | |
found filled tyvar k_aRM[tau:1] :-> i_aKV[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aRM[tau:1] | |
i_aKV[sk:1] | |
<i_aKV[sk:1]>_N | |
u_tys | |
tclvl 1 | |
j_aKX[sk:1] ~ j_aKX[sk:1] | |
arising from a type equality j_aKX[sk:1] ~ j_aKX[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
j_aKX[sk:1] | |
j_aKX[sk:1] | |
<j_aKX[sk:1]>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aRO[tau:1] | |
arising from a type equality * ~ TYPE t_aRO[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aRO[tau:1] | |
arising from a type equality * ~ TYPE t_aRO[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aRO[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aRO[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aRO[tau:1] | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
tcImplicitTKBndrs | |
[a_aL0, b_aL1] | |
[a_aL0[sk:1], b_aL1[sk:1]] | |
env2 | |
[(i_aL2, Type variable ‘i_aL2’ = i_aL2[sk:1]), | |
(p_aL3, Type variable ‘p_aL3’ = p_aL3[sk:1])] | |
lk1 Functor | |
lk1 (loopy) Functor | |
tcTyVar2a | |
Functor | |
forall i j. | |
(i_aKV[sk:1] -> i_aKV[sk:1] -> *) | |
-> (j_aKX[sk:1] -> j_aKX[sk:1] -> *) | |
-> (i_aKV[sk:1] -> j_aKX[sk:1]) | |
-> Constraint | |
tc_infer_args (invis) @i_aKV[sk:1] | |
tc_infer_args (invis) @j_aKX[sk:1] | |
tc_infer_args (vis) | |
[anon] i_aKV[sk:1] -> i_aKV[sk:1] -> * | |
(Op p_aL3) | |
lk1 Op | |
instantiating tybinders: | |
@j_aLv := j_aRR[tau:1] | |
@i_aLu := i_aRS[tau:1] | |
tcTyVar2b | |
Op :: forall j i. (i -> j -> *) -> j -> i -> * | |
(i_aRS[tau:1] -> j_aRR[tau:1] -> *) | |
-> j_aRR[tau:1] -> i_aRS[tau:1] -> * | |
tc_infer_args (vis) | |
[anon] i_aRS[tau:1] -> j_aRR[tau:1] -> * | |
p_aL3 | |
lk1 p_aL3 | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * ~ i_aRS[tau:1] -> j_aRR[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aRS[tau:1] -> j_aRR[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aRS[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aRS[tau:1] -> j_aRR[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aRS[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aRS[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aRS[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> * ~ j_aRR[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aRS[tau:1] -> j_aRR[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ j_aRR[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aRS[tau:1] -> j_aRR[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
j_aRR[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
j_aRR[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar j_aRR[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aRS[tau:1] -> j_aRR[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
i_aRS[tau:1] -> j_aRR[tau:1] -> * | |
<i_aL2[sk:1] -> i_aL2[sk:1] -> *>_N | |
u_tys | |
tclvl 1 | |
j_aRR[tau:1] -> i_aRS[tau:1] -> * | |
~ | |
i_aRP[tau:1] -> i_aRP[tau:1] -> * | |
arising from a type equality j_aRR[tau:1] -> i_aRS[tau:1] -> * | |
~ | |
i_aRP[tau:1] -> i_aRP[tau:1] -> * | |
u_tys | |
tclvl 1 | |
j_aRR[tau:1] ~ i_aRP[tau:1] | |
arising from a type equality j_aRR[tau:1] -> i_aRS[tau:1] -> * | |
~ | |
i_aRP[tau:1] -> i_aRP[tau:1] -> * | |
found filled tyvar j_aRR[tau:1] :-> i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aRP[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aRP[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aRP[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aRS[tau:1] -> * ~ i_aRP[tau:1] -> * | |
arising from a type equality j_aRR[tau:1] -> i_aRS[tau:1] -> * | |
~ | |
i_aRP[tau:1] -> i_aRP[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aRS[tau:1] ~ i_aRP[tau:1] | |
arising from a type equality j_aRR[tau:1] -> i_aRS[tau:1] -> * | |
~ | |
i_aRP[tau:1] -> i_aRP[tau:1] -> * | |
found filled tyvar i_aRS[tau:1] :-> i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality j_aRR[tau:1] -> i_aRS[tau:1] -> * | |
~ | |
i_aRP[tau:1] -> i_aRP[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
j_aRR[tau:1] -> i_aRS[tau:1] -> * | |
i_aRP[tau:1] -> i_aRP[tau:1] -> * | |
<i_aL2[sk:1] -> i_aL2[sk:1] -> *>_N | |
tc_infer_args (vis) | |
[anon] j_aKX[sk:1] -> j_aKX[sk:1] -> * | |
(Nat p_aL3 (->)) | |
lk1 Nat | |
lk1 (loopy) Nat | |
tcTyVar2a | |
Nat | |
forall i j. | |
(i_aKK[sk:1] -> i_aKK[sk:1] -> *) | |
-> (j_aKM[sk:1] -> j_aKM[sk:1] -> *) | |
-> (i_aKK[sk:1] -> j_aKM[sk:1]) | |
-> (i_aKK[sk:1] -> j_aKM[sk:1]) | |
-> * | |
tc_infer_args (invis) @i_aKK[sk:1] | |
tc_infer_args (invis) @j_aKM[sk:1] | |
tc_infer_args (vis) | |
[anon] i_aKK[sk:1] -> i_aKK[sk:1] -> * | |
p_aL3 | |
lk1 p_aL3 | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * ~ i_aRT[tau:1] -> i_aRT[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aRT[tau:1] -> i_aRT[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aRT[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aRT[tau:1] -> i_aRT[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aRT[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aRT[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aRT[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> * ~ i_aRT[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aRT[tau:1] -> i_aRT[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aRT[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aRT[tau:1] -> i_aRT[tau:1] -> * | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aRT[tau:1] -> i_aRT[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
i_aRT[tau:1] -> i_aRT[tau:1] -> * | |
<i_aL2[sk:1] -> i_aL2[sk:1] -> *>_N | |
tc_infer_args (vis) | |
[anon] j_aKM[sk:1] -> j_aKM[sk:1] -> * | |
(->) | |
lk1 (->) | |
tcTyVar2a | |
(->) | |
TYPE q -> TYPE r -> * | |
instantiating tybinders: | |
{q_1h} := q_aRV[tau:1] | |
{r_1i} := r_aRW[tau:1] | |
u_tys | |
tclvl 1 | |
TYPE q_aRV[tau:1] -> TYPE r_aRW[tau:1] -> * | |
~ | |
j_aRU[tau:1] -> j_aRU[tau:1] -> * | |
arising from a type equality TYPE q_aRV[tau:1] | |
-> TYPE r_aRW[tau:1] -> * | |
~ | |
j_aRU[tau:1] -> j_aRU[tau:1] -> * | |
u_tys | |
tclvl 1 | |
TYPE q_aRV[tau:1] ~ j_aRU[tau:1] | |
arising from a type equality TYPE q_aRV[tau:1] | |
-> TYPE r_aRW[tau:1] -> * | |
~ | |
j_aRU[tau:1] -> j_aRU[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
j_aRU[tau:1] ~ TYPE q_aRV[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
j_aRU[tau:1] ~ TYPE q_aRV[tau:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar j_aRU[tau:1] := TYPE q_aRV[tau:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
TYPE r_aRW[tau:1] -> * ~ j_aRU[tau:1] -> * | |
arising from a type equality TYPE q_aRV[tau:1] | |
-> TYPE r_aRW[tau:1] -> * | |
~ | |
j_aRU[tau:1] -> j_aRU[tau:1] -> * | |
u_tys | |
tclvl 1 | |
TYPE r_aRW[tau:1] ~ j_aRU[tau:1] | |
arising from a type equality TYPE q_aRV[tau:1] | |
-> TYPE r_aRW[tau:1] -> * | |
~ | |
j_aRU[tau:1] -> j_aRU[tau:1] -> * | |
found filled tyvar j_aRU[tau:1] :-> TYPE q_aRV[tau:1] | |
u_tys | |
tclvl 1 | |
r_aRW[tau:1] ~ q_aRV[tau:1] | |
arising from a type equality TYPE q_aRV[tau:1] | |
-> TYPE r_aRW[tau:1] -> * | |
~ | |
j_aRU[tau:1] -> j_aRU[tau:1] -> * | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
r_aRW[tau:1] ~ q_aRV[tau:1] | |
u_tys yields no coercion | |
writeMetaTyVar r_aRW[tau:1] := q_aRV[tau:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality TYPE q_aRV[tau:1] | |
-> TYPE r_aRW[tau:1] -> * | |
~ | |
j_aRU[tau:1] -> j_aRU[tau:1] -> * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality TYPE q_aRV[tau:1] | |
-> TYPE r_aRW[tau:1] -> * | |
~ | |
j_aRU[tau:1] -> j_aRU[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
TYPE q -> TYPE r -> * | |
j_aRU[tau:1] -> j_aRU[tau:1] -> * | |
<TYPE q_aRV[tau:1] -> TYPE q_aRV[tau:1] -> *>_N | |
u_tys | |
tclvl 1 | |
(i_aRT[tau:1] -> j_aRU[tau:1]) | |
-> (i_aRT[tau:1] -> j_aRU[tau:1]) -> * | |
~ | |
j_aRQ[tau:1] -> j_aRQ[tau:1] -> * | |
arising from a type equality (i_aRT[tau:1] -> j_aRU[tau:1]) | |
-> (i_aRT[tau:1] -> j_aRU[tau:1]) -> * | |
~ | |
j_aRQ[tau:1] -> j_aRQ[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aRT[tau:1] -> j_aRU[tau:1] ~ j_aRQ[tau:1] | |
arising from a type equality (i_aRT[tau:1] -> j_aRU[tau:1]) | |
-> (i_aRT[tau:1] -> j_aRU[tau:1]) -> * | |
~ | |
j_aRQ[tau:1] -> j_aRQ[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
j_aRQ[tau:1] ~ i_aL2[sk:1] -> TYPE q_aRV[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
j_aRQ[tau:1] ~ i_aL2[sk:1] -> TYPE q_aRV[tau:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar j_aRQ[tau:1] := i_aL2[sk:1] -> TYPE q_aRV[tau:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
(i_aRT[tau:1] -> j_aRU[tau:1]) -> * ~ j_aRQ[tau:1] -> * | |
arising from a type equality (i_aRT[tau:1] -> j_aRU[tau:1]) | |
-> (i_aRT[tau:1] -> j_aRU[tau:1]) -> * | |
~ | |
j_aRQ[tau:1] -> j_aRQ[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aRT[tau:1] -> j_aRU[tau:1] ~ j_aRQ[tau:1] | |
arising from a type equality (i_aRT[tau:1] -> j_aRU[tau:1]) | |
-> (i_aRT[tau:1] -> j_aRU[tau:1]) -> * | |
~ | |
j_aRQ[tau:1] -> j_aRQ[tau:1] -> * | |
found filled tyvar | |
j_aRQ[tau:1] :-> i_aL2[sk:1] -> TYPE q_aRV[tau:1] | |
u_tys | |
tclvl 1 | |
i_aRT[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality (i_aRT[tau:1] -> j_aRU[tau:1]) | |
-> (i_aRT[tau:1] -> j_aRU[tau:1]) -> * | |
~ | |
j_aRQ[tau:1] -> j_aRQ[tau:1] -> * | |
found filled tyvar i_aRT[tau:1] :-> i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
j_aRU[tau:1] ~ TYPE q_aRV[tau:1] | |
arising from a type equality (i_aRT[tau:1] -> j_aRU[tau:1]) | |
-> (i_aRT[tau:1] -> j_aRU[tau:1]) -> * | |
~ | |
j_aRQ[tau:1] -> j_aRQ[tau:1] -> * | |
found filled tyvar j_aRU[tau:1] :-> TYPE q_aRV[tau:1] | |
u_tys | |
tclvl 1 | |
q_aRV[tau:1] ~ q_aRV[tau:1] | |
arising from a type equality (i_aRT[tau:1] -> j_aRU[tau:1]) | |
-> (i_aRT[tau:1] -> j_aRU[tau:1]) -> * | |
~ | |
j_aRQ[tau:1] -> j_aRQ[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality (i_aRT[tau:1] -> j_aRU[tau:1]) | |
-> (i_aRT[tau:1] -> j_aRU[tau:1]) -> * | |
~ | |
j_aRQ[tau:1] -> j_aRQ[tau:1] -> * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality (i_aRT[tau:1] -> j_aRU[tau:1]) | |
-> (i_aRT[tau:1] -> j_aRU[tau:1]) -> * | |
~ | |
j_aRQ[tau:1] -> j_aRQ[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
(i_aRT[tau:1] -> j_aRU[tau:1]) | |
-> (i_aRT[tau:1] -> j_aRU[tau:1]) -> * | |
j_aRQ[tau:1] -> j_aRQ[tau:1] -> * | |
<(i_aL2[sk:1] -> TYPE q_aRV[tau:1]) | |
-> (i_aL2[sk:1] -> TYPE q_aRV[tau:1]) -> *>_N | |
tc_infer_args (vis) | |
[anon] i_aKV[sk:1] -> j_aKX[sk:1] | |
p_aL3 | |
lk1 p_aL3 | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * ~ i_aRP[tau:1] -> j_aRQ[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aRP[tau:1] -> j_aRQ[tau:1] | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aRP[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aRP[tau:1] -> j_aRQ[tau:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> * ~ j_aRQ[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aRP[tau:1] -> j_aRQ[tau:1] | |
found filled tyvar | |
j_aRQ[tau:1] :-> i_aL2[sk:1] -> TYPE q_aRV[tau:1] | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aL2[sk:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aRP[tau:1] -> j_aRQ[tau:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ TYPE q_aRV[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aRP[tau:1] -> j_aRQ[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ q_aRV[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aRP[tau:1] -> j_aRQ[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
q_aRV[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar q_aRV[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
i_aRP[tau:1] -> j_aRQ[tau:1] | |
<i_aL2[sk:1] -> i_aL2[sk:1] -> *>_N | |
u_tys | |
tclvl 1 | |
Constraint ~ Constraint | |
arising from a type equality Constraint ~ Constraint | |
u_tys yields no coercion | |
checkExpectedKind | |
Constraint | |
Constraint | |
<Constraint>_N | |
env2 [(a_aL5, Type variable ‘a_aL5’ = a_aL5[sk:1])] | |
lk1 Ob | |
lk1 (loopy) Ob | |
instantiating tybinders: @i_aL2[sk:1] := i_aRY[tau:1] | |
tcTyVar2b | |
Ob :: forall i. | |
(i_aL2[sk:1] -> i_aL2[sk:1] -> *) -> i_aL2[sk:1] -> Constraint | |
(i_aRY[tau:1] -> i_aRY[tau:1] -> *) -> i_aRY[tau:1] -> Constraint | |
tc_infer_args (vis) | |
[anon] i_aRY[tau:1] -> i_aRY[tau:1] -> * | |
p_aL3 | |
lk1 p_aL3 | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * ~ i_aRY[tau:1] -> i_aRY[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aRY[tau:1] -> i_aRY[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aRY[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aRY[tau:1] -> i_aRY[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aRY[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aRY[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aRY[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> * ~ i_aRY[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aRY[tau:1] -> i_aRY[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aRY[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aRY[tau:1] -> i_aRY[tau:1] -> * | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aRY[tau:1] -> i_aRY[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
i_aRY[tau:1] -> i_aRY[tau:1] -> * | |
<i_aL2[sk:1] -> i_aL2[sk:1] -> *>_N | |
tc_infer_args (vis) | |
[anon] i_aRY[tau:1] | |
a_aL5 | |
lk1 a_aL5 | |
u_tys | |
tclvl 1 | |
k_aRX[tau:1] ~ i_aRY[tau:1] | |
arising from a type equality k_aRX[tau:1] ~ i_aRY[tau:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aRX[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aRX[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aRX[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aRX[tau:1] | |
i_aRY[tau:1] | |
<i_aL2[sk:1]>_N | |
u_tys | |
tclvl 1 | |
Constraint ~ Constraint | |
arising from a type equality Constraint ~ Constraint | |
u_tys yields no coercion | |
checkExpectedKind | |
Constraint | |
Constraint | |
<Constraint>_N | |
lk1 p_aL3 | |
tc_infer_args (vis) | |
[anon] i_aL2[sk:1] | |
a_aL5 | |
lk1 a_aL5 | |
u_tys | |
tclvl 1 | |
k_aRX[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality k_aRX[tau:1] ~ i_aL2[sk:1] | |
found filled tyvar k_aRX[tau:1] :-> i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aRX[tau:1] | |
i_aL2[sk:1] | |
<i_aL2[sk:1]>_N | |
tc_infer_args (vis) | |
[anon] i_aL2[sk:1] | |
a_aL5 | |
lk1 a_aL5 | |
u_tys | |
tclvl 1 | |
k_aRX[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality k_aRX[tau:1] ~ i_aL2[sk:1] | |
found filled tyvar k_aRX[tau:1] :-> i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aRX[tau:1] | |
i_aL2[sk:1] | |
<i_aL2[sk:1]>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aRZ[tau:1] | |
arising from a type equality * ~ TYPE t_aRZ[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aRZ[tau:1] | |
arising from a type equality * ~ TYPE t_aRZ[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aRZ[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aRZ[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aRZ[tau:1] | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
tcImplicitTKBndrs | |
[a_aL5] | |
[a_aL5[sk:1]] | |
env2 | |
[(b_aL6, Type variable ‘b_aL6’ = b_aL6[sk:1]), | |
(c_aL7, Type variable ‘c_aL7’ = c_aL7[sk:1]), | |
(a_aL8, Type variable ‘a_aL8’ = a_aL8[sk:1])] | |
lk1 p_aL3 | |
tc_infer_args (vis) | |
[anon] i_aL2[sk:1] | |
b_aL6 | |
lk1 b_aL6 | |
u_tys | |
tclvl 1 | |
k_aS0[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality k_aS0[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aS0[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aS0[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aS0[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aS0[tau:1] | |
i_aL2[sk:1] | |
<i_aL2[sk:1]>_N | |
tc_infer_args (vis) | |
[anon] i_aL2[sk:1] | |
c_aL7 | |
lk1 c_aL7 | |
u_tys | |
tclvl 1 | |
k_aS1[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality k_aS1[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aS1[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aS1[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aS1[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aS1[tau:1] | |
i_aL2[sk:1] | |
<i_aL2[sk:1]>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aS3[tau:1] | |
arising from a type equality * ~ TYPE t_aS3[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aS3[tau:1] | |
arising from a type equality * ~ TYPE t_aS3[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aS3[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aS3[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aS3[tau:1] | |
<*>_N | |
lk1 p_aL3 | |
tc_infer_args (vis) | |
[anon] i_aL2[sk:1] | |
a_aL8 | |
lk1 a_aL8 | |
u_tys | |
tclvl 1 | |
k_aS2[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality k_aS2[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aS2[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aS2[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aS2[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aS2[tau:1] | |
i_aL2[sk:1] | |
<i_aL2[sk:1]>_N | |
tc_infer_args (vis) | |
[anon] i_aL2[sk:1] | |
b_aL6 | |
lk1 b_aL6 | |
u_tys | |
tclvl 1 | |
k_aS0[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality k_aS0[tau:1] ~ i_aL2[sk:1] | |
found filled tyvar k_aS0[tau:1] :-> i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aS0[tau:1] | |
i_aL2[sk:1] | |
<i_aL2[sk:1]>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aS5[tau:1] | |
arising from a type equality * ~ TYPE t_aS5[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aS5[tau:1] | |
arising from a type equality * ~ TYPE t_aS5[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aS5[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aS5[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aS5[tau:1] | |
<*>_N | |
lk1 p_aL3 | |
tc_infer_args (vis) | |
[anon] i_aL2[sk:1] | |
a_aL8 | |
lk1 a_aL8 | |
u_tys | |
tclvl 1 | |
k_aS2[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality k_aS2[tau:1] ~ i_aL2[sk:1] | |
found filled tyvar k_aS2[tau:1] :-> i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aS2[tau:1] | |
i_aL2[sk:1] | |
<i_aL2[sk:1]>_N | |
tc_infer_args (vis) | |
[anon] i_aL2[sk:1] | |
c_aL7 | |
lk1 c_aL7 | |
u_tys | |
tclvl 1 | |
k_aS1[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality k_aS1[tau:1] ~ i_aL2[sk:1] | |
found filled tyvar k_aS1[tau:1] :-> i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aS1[tau:1] | |
i_aL2[sk:1] | |
<i_aL2[sk:1]>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aS6[tau:1] | |
arising from a type equality * ~ TYPE t_aS6[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aS6[tau:1] | |
arising from a type equality * ~ TYPE t_aS6[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aS6[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aS6[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aS6[tau:1] | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aS4[tau:1] | |
arising from a type equality * ~ TYPE t_aS4[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aS4[tau:1] | |
arising from a type equality * ~ TYPE t_aS4[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aS4[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aS4[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aS4[tau:1] | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
tcImplicitTKBndrs | |
[b_aL6, c_aL7, a_aL8] | |
[b_aL6[sk:1], c_aL7[sk:1], a_aL8[sk:1]] | |
env2 | |
[(a_aL9, Type variable ‘a_aL9’ = a_aL9[sk:1]), | |
(b_aLa, Type variable ‘b_aLa’ = b_aLa[sk:1])] | |
lk1 p_aL3 | |
tc_infer_args (vis) | |
[anon] i_aL2[sk:1] | |
a_aL9 | |
lk1 a_aL9 | |
u_tys | |
tclvl 1 | |
k_aS7[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality k_aS7[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aS7[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aS7[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aS7[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aS7[tau:1] | |
i_aL2[sk:1] | |
<i_aL2[sk:1]>_N | |
tc_infer_args (vis) | |
[anon] i_aL2[sk:1] | |
b_aLa | |
lk1 b_aLa | |
u_tys | |
tclvl 1 | |
k_aS8[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality k_aS8[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aS8[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aS8[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aS8[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aS8[tau:1] | |
i_aL2[sk:1] | |
<i_aL2[sk:1]>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aS9[tau:1] | |
arising from a type equality * ~ TYPE t_aS9[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aS9[tau:1] | |
arising from a type equality * ~ TYPE t_aS9[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aS9[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aS9[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aS9[tau:1] | |
<*>_N | |
lk1 Dict | |
tcTyVar2a | |
Dict | |
Constraint -> * | |
tc_infer_args (vis) | |
[anon] Constraint | |
(Ob p_aL3 a_aL9) | |
lk1 Ob | |
lk1 (loopy) Ob | |
instantiating tybinders: @i_aL2[sk:1] := i_aSb[tau:1] | |
tcTyVar2b | |
Ob :: forall i. | |
(i_aL2[sk:1] -> i_aL2[sk:1] -> *) -> i_aL2[sk:1] -> Constraint | |
(i_aSb[tau:1] -> i_aSb[tau:1] -> *) -> i_aSb[tau:1] -> Constraint | |
tc_infer_args (vis) | |
[anon] i_aSb[tau:1] -> i_aSb[tau:1] -> * | |
p_aL3 | |
lk1 p_aL3 | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * ~ i_aSb[tau:1] -> i_aSb[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSb[tau:1] -> i_aSb[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aSb[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSb[tau:1] -> i_aSb[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aSb[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aSb[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aSb[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> * ~ i_aSb[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSb[tau:1] -> i_aSb[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aSb[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSb[tau:1] -> i_aSb[tau:1] -> * | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSb[tau:1] -> i_aSb[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
i_aSb[tau:1] -> i_aSb[tau:1] -> * | |
<i_aL2[sk:1] -> i_aL2[sk:1] -> *>_N | |
tc_infer_args (vis) | |
[anon] i_aSb[tau:1] | |
a_aL9 | |
lk1 a_aL9 | |
u_tys | |
tclvl 1 | |
k_aS7[tau:1] ~ i_aSb[tau:1] | |
arising from a type equality k_aS7[tau:1] ~ i_aSb[tau:1] | |
found filled tyvar k_aS7[tau:1] :-> i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aS7[tau:1] | |
i_aSb[tau:1] | |
<i_aL2[sk:1]>_N | |
u_tys | |
tclvl 1 | |
Constraint ~ Constraint | |
arising from a type equality Constraint ~ Constraint | |
u_tys yields no coercion | |
checkExpectedKind | |
Constraint | |
Constraint | |
<Constraint>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aSa[tau:1] | |
arising from a type equality * ~ TYPE t_aSa[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aSa[tau:1] | |
arising from a type equality * ~ TYPE t_aSa[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aSa[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aSa[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aSa[tau:1] | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
tcImplicitTKBndrs | |
[a_aL9, b_aLa] | |
[a_aL9[sk:1], b_aLa[sk:1]] | |
env2 | |
[(a_aLb, Type variable ‘a_aLb’ = a_aLb[sk:1]), | |
(b_aLc, Type variable ‘b_aLc’ = b_aLc[sk:1])] | |
lk1 ~ | |
tcTyVar2a | |
~ | |
forall k. k -> k -> Constraint | |
tc_infer_args (invis) @k_aSe | |
tc_infer_args (vis) | |
[anon] k | |
Ob p_aL3 | |
lk1 Ob | |
lk1 (loopy) Ob | |
instantiating tybinders: @i_aL2[sk:1] := i_aSl[tau:1] | |
tcTyVar2b | |
Ob :: forall i. | |
(i_aL2[sk:1] -> i_aL2[sk:1] -> *) -> i_aL2[sk:1] -> Constraint | |
(i_aSl[tau:1] -> i_aSl[tau:1] -> *) -> i_aSl[tau:1] -> Constraint | |
tc_infer_args (vis) | |
[anon] i_aSl[tau:1] -> i_aSl[tau:1] -> * | |
p_aL3 | |
lk1 p_aL3 | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * ~ i_aSl[tau:1] -> i_aSl[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSl[tau:1] -> i_aSl[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aSl[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSl[tau:1] -> i_aSl[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aSl[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aSl[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aSl[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> * ~ i_aSl[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSl[tau:1] -> i_aSl[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aSl[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSl[tau:1] -> i_aSl[tau:1] -> * | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSl[tau:1] -> i_aSl[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
i_aSl[tau:1] -> i_aSl[tau:1] -> * | |
<i_aL2[sk:1] -> i_aL2[sk:1] -> *>_N | |
u_tys | |
tclvl 1 | |
i_aSl[tau:1] -> Constraint ~ k_aSk[tau:1] | |
arising from a type equality i_aSl[tau:1] -> Constraint | |
~ | |
k_aSk[tau:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aSk[tau:1] ~ i_aL2[sk:1] -> Constraint | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aSk[tau:1] ~ i_aL2[sk:1] -> Constraint | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aSk[tau:1] := i_aL2[sk:1] -> Constraint | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aSl[tau:1] -> Constraint | |
k_aSk[tau:1] | |
<i_aL2[sk:1] -> Constraint>_N | |
tc_infer_args (vis) | |
[anon] k | |
Vacuous p_aL3 | |
lk1 Vacuous | |
tcTyVar2a | |
Vacuous | |
forall i. (i -> i -> *) -> i -> Constraint | |
tc_infer_args (invis) @i_aLr | |
tc_infer_args (vis) | |
[anon] i -> i -> * | |
p_aL3 | |
lk1 p_aL3 | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * ~ i_aSm[tau:1] -> i_aSm[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSm[tau:1] -> i_aSm[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aSm[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSm[tau:1] -> i_aSm[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aSm[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aSm[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aSm[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> * ~ i_aSm[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSm[tau:1] -> i_aSm[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aSm[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSm[tau:1] -> i_aSm[tau:1] -> * | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSm[tau:1] -> i_aSm[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
i_aSm[tau:1] -> i_aSm[tau:1] -> * | |
<i_aL2[sk:1] -> i_aL2[sk:1] -> *>_N | |
u_tys | |
tclvl 1 | |
i_aSm[tau:1] -> Constraint ~ k_aSk[tau:1] | |
arising from a type equality i_aSm[tau:1] -> Constraint | |
~ | |
k_aSk[tau:1] | |
found filled tyvar k_aSk[tau:1] :-> i_aL2[sk:1] -> Constraint | |
u_tys | |
tclvl 1 | |
i_aSm[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality i_aSm[tau:1] -> Constraint | |
~ | |
k_aSk[tau:1] | |
found filled tyvar i_aSm[tau:1] :-> i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
Constraint ~ Constraint | |
arising from a type equality i_aSm[tau:1] -> Constraint | |
~ | |
k_aSk[tau:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aSm[tau:1] -> Constraint | |
k_aSk[tau:1] | |
<i_aL2[sk:1] -> Constraint>_N | |
u_tys | |
tclvl 1 | |
Constraint ~ Constraint | |
arising from a type equality Constraint ~ Constraint | |
u_tys yields no coercion | |
checkExpectedKind | |
Constraint | |
Constraint | |
<Constraint>_N | |
lk1 p_aL3 | |
tc_infer_args (vis) | |
[anon] i_aL2[sk:1] | |
a_aLb | |
lk1 a_aLb | |
u_tys | |
tclvl 1 | |
k_aSc[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality k_aSc[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aSc[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aSc[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aSc[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aSc[tau:1] | |
i_aL2[sk:1] | |
<i_aL2[sk:1]>_N | |
tc_infer_args (vis) | |
[anon] i_aL2[sk:1] | |
b_aLc | |
lk1 b_aLc | |
u_tys | |
tclvl 1 | |
k_aSd[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality k_aSd[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aSd[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aSd[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aSd[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aSd[tau:1] | |
i_aL2[sk:1] | |
<i_aL2[sk:1]>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aSo[tau:1] | |
arising from a type equality * ~ TYPE t_aSo[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aSo[tau:1] | |
arising from a type equality * ~ TYPE t_aSo[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aSo[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aSo[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aSo[tau:1] | |
<*>_N | |
lk1 Dict | |
tcTyVar2a | |
Dict | |
Constraint -> * | |
tc_infer_args (vis) | |
[anon] Constraint | |
(Ob p_aL3 a_aLb) | |
lk1 Ob | |
lk1 (loopy) Ob | |
instantiating tybinders: @i_aL2[sk:1] := i_aSq[tau:1] | |
tcTyVar2b | |
Ob :: forall i. | |
(i_aL2[sk:1] -> i_aL2[sk:1] -> *) -> i_aL2[sk:1] -> Constraint | |
(i_aSq[tau:1] -> i_aSq[tau:1] -> *) -> i_aSq[tau:1] -> Constraint | |
tc_infer_args (vis) | |
[anon] i_aSq[tau:1] -> i_aSq[tau:1] -> * | |
p_aL3 | |
lk1 p_aL3 | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * ~ i_aSq[tau:1] -> i_aSq[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSq[tau:1] -> i_aSq[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aSq[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSq[tau:1] -> i_aSq[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aSq[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aSq[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aSq[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> * ~ i_aSq[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSq[tau:1] -> i_aSq[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aSq[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSq[tau:1] -> i_aSq[tau:1] -> * | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSq[tau:1] -> i_aSq[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
i_aSq[tau:1] -> i_aSq[tau:1] -> * | |
<i_aL2[sk:1] -> i_aL2[sk:1] -> *>_N | |
tc_infer_args (vis) | |
[anon] i_aSq[tau:1] | |
a_aLb | |
lk1 a_aLb | |
u_tys | |
tclvl 1 | |
k_aSc[tau:1] ~ i_aSq[tau:1] | |
arising from a type equality k_aSc[tau:1] ~ i_aSq[tau:1] | |
found filled tyvar k_aSc[tau:1] :-> i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aSc[tau:1] | |
i_aSq[tau:1] | |
<i_aL2[sk:1]>_N | |
u_tys | |
tclvl 1 | |
Constraint ~ Constraint | |
arising from a type equality Constraint ~ Constraint | |
u_tys yields no coercion | |
checkExpectedKind | |
Constraint | |
Constraint | |
<Constraint>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aSp[tau:1] | |
arising from a type equality * ~ TYPE t_aSp[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aSp[tau:1] | |
arising from a type equality * ~ TYPE t_aSp[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aSp[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aSp[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aSp[tau:1] | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aSn[tau:1] | |
arising from a type equality * ~ TYPE t_aSn[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aSn[tau:1] | |
arising from a type equality * ~ TYPE t_aSn[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aSn[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aSn[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aSn[tau:1] | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
tcImplicitTKBndrs | |
[a_aLb, b_aLc] | |
[a_aLb[sk:1], b_aLc[sk:1]] | |
env2 | |
[(a_aLd, Type variable ‘a_aLd’ = a_aLd[sk:1]), | |
(b_aLe, Type variable ‘b_aLe’ = b_aLe[sk:1])] | |
lk1 p_aL3 | |
tc_infer_args (vis) | |
[anon] i_aL2[sk:1] | |
a_aLd | |
lk1 a_aLd | |
u_tys | |
tclvl 1 | |
k_aSr[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality k_aSr[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aSr[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aSr[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aSr[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aSr[tau:1] | |
i_aL2[sk:1] | |
<i_aL2[sk:1]>_N | |
tc_infer_args (vis) | |
[anon] i_aL2[sk:1] | |
b_aLe | |
lk1 b_aLe | |
u_tys | |
tclvl 1 | |
k_aSs[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality k_aSs[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aSs[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aSs[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aSs[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aSs[tau:1] | |
i_aL2[sk:1] | |
<i_aL2[sk:1]>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aSt[tau:1] | |
arising from a type equality * ~ TYPE t_aSt[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aSt[tau:1] | |
arising from a type equality * ~ TYPE t_aSt[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aSt[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aSt[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aSt[tau:1] | |
<*>_N | |
lk1 Dict | |
tcTyVar2a | |
Dict | |
Constraint -> * | |
tc_infer_args (vis) | |
[anon] Constraint | |
(Ob p_aL3 b_aLe) | |
lk1 Ob | |
lk1 (loopy) Ob | |
instantiating tybinders: @i_aL2[sk:1] := i_aSv[tau:1] | |
tcTyVar2b | |
Ob :: forall i. | |
(i_aL2[sk:1] -> i_aL2[sk:1] -> *) -> i_aL2[sk:1] -> Constraint | |
(i_aSv[tau:1] -> i_aSv[tau:1] -> *) -> i_aSv[tau:1] -> Constraint | |
tc_infer_args (vis) | |
[anon] i_aSv[tau:1] -> i_aSv[tau:1] -> * | |
p_aL3 | |
lk1 p_aL3 | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * ~ i_aSv[tau:1] -> i_aSv[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSv[tau:1] -> i_aSv[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aSv[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSv[tau:1] -> i_aSv[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aSv[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aSv[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aSv[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> * ~ i_aSv[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSv[tau:1] -> i_aSv[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aSv[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSv[tau:1] -> i_aSv[tau:1] -> * | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSv[tau:1] -> i_aSv[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
i_aSv[tau:1] -> i_aSv[tau:1] -> * | |
<i_aL2[sk:1] -> i_aL2[sk:1] -> *>_N | |
tc_infer_args (vis) | |
[anon] i_aSv[tau:1] | |
b_aLe | |
lk1 b_aLe | |
u_tys | |
tclvl 1 | |
k_aSs[tau:1] ~ i_aSv[tau:1] | |
arising from a type equality k_aSs[tau:1] ~ i_aSv[tau:1] | |
found filled tyvar k_aSs[tau:1] :-> i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aSs[tau:1] | |
i_aSv[tau:1] | |
<i_aL2[sk:1]>_N | |
u_tys | |
tclvl 1 | |
Constraint ~ Constraint | |
arising from a type equality Constraint ~ Constraint | |
u_tys yields no coercion | |
checkExpectedKind | |
Constraint | |
Constraint | |
<Constraint>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aSu[tau:1] | |
arising from a type equality * ~ TYPE t_aSu[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aSu[tau:1] | |
arising from a type equality * ~ TYPE t_aSu[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aSu[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aSu[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aSu[tau:1] | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
tcImplicitTKBndrs | |
[a_aLd, b_aLe] | |
[a_aLd[sk:1], b_aLe[sk:1]] | |
env2 | |
[(a_aLf, Type variable ‘a_aLf’ = a_aLf[sk:1]), | |
(b_aLg, Type variable ‘b_aLg’ = b_aLg[sk:1])] | |
lk1 ~ | |
tcTyVar2a | |
~ | |
forall k. k -> k -> Constraint | |
tc_infer_args (invis) @k_aSe | |
tc_infer_args (vis) | |
[anon] k | |
Ob p_aL3 | |
lk1 Ob | |
lk1 (loopy) Ob | |
instantiating tybinders: @i_aL2[sk:1] := i_aSz[tau:1] | |
tcTyVar2b | |
Ob :: forall i. | |
(i_aL2[sk:1] -> i_aL2[sk:1] -> *) -> i_aL2[sk:1] -> Constraint | |
(i_aSz[tau:1] -> i_aSz[tau:1] -> *) -> i_aSz[tau:1] -> Constraint | |
tc_infer_args (vis) | |
[anon] i_aSz[tau:1] -> i_aSz[tau:1] -> * | |
p_aL3 | |
lk1 p_aL3 | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * ~ i_aSz[tau:1] -> i_aSz[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSz[tau:1] -> i_aSz[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aSz[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSz[tau:1] -> i_aSz[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aSz[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aSz[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aSz[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> * ~ i_aSz[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSz[tau:1] -> i_aSz[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aSz[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSz[tau:1] -> i_aSz[tau:1] -> * | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSz[tau:1] -> i_aSz[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
i_aSz[tau:1] -> i_aSz[tau:1] -> * | |
<i_aL2[sk:1] -> i_aL2[sk:1] -> *>_N | |
u_tys | |
tclvl 1 | |
i_aSz[tau:1] -> Constraint ~ k_aSy[tau:1] | |
arising from a type equality i_aSz[tau:1] -> Constraint | |
~ | |
k_aSy[tau:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aSy[tau:1] ~ i_aL2[sk:1] -> Constraint | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aSy[tau:1] ~ i_aL2[sk:1] -> Constraint | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aSy[tau:1] := i_aL2[sk:1] -> Constraint | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aSz[tau:1] -> Constraint | |
k_aSy[tau:1] | |
<i_aL2[sk:1] -> Constraint>_N | |
tc_infer_args (vis) | |
[anon] k | |
Vacuous p_aL3 | |
lk1 Vacuous | |
tcTyVar2a | |
Vacuous | |
forall i. (i -> i -> *) -> i -> Constraint | |
tc_infer_args (invis) @i_aLr | |
tc_infer_args (vis) | |
[anon] i -> i -> * | |
p_aL3 | |
lk1 p_aL3 | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * ~ i_aSA[tau:1] -> i_aSA[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSA[tau:1] -> i_aSA[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aSA[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSA[tau:1] -> i_aSA[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aSA[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aSA[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aSA[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> * ~ i_aSA[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSA[tau:1] -> i_aSA[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aSA[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSA[tau:1] -> i_aSA[tau:1] -> * | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSA[tau:1] -> i_aSA[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
i_aSA[tau:1] -> i_aSA[tau:1] -> * | |
<i_aL2[sk:1] -> i_aL2[sk:1] -> *>_N | |
u_tys | |
tclvl 1 | |
i_aSA[tau:1] -> Constraint ~ k_aSy[tau:1] | |
arising from a type equality i_aSA[tau:1] -> Constraint | |
~ | |
k_aSy[tau:1] | |
found filled tyvar k_aSy[tau:1] :-> i_aL2[sk:1] -> Constraint | |
u_tys | |
tclvl 1 | |
i_aSA[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality i_aSA[tau:1] -> Constraint | |
~ | |
k_aSy[tau:1] | |
found filled tyvar i_aSA[tau:1] :-> i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
Constraint ~ Constraint | |
arising from a type equality i_aSA[tau:1] -> Constraint | |
~ | |
k_aSy[tau:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aSA[tau:1] -> Constraint | |
k_aSy[tau:1] | |
<i_aL2[sk:1] -> Constraint>_N | |
u_tys | |
tclvl 1 | |
Constraint ~ Constraint | |
arising from a type equality Constraint ~ Constraint | |
u_tys yields no coercion | |
checkExpectedKind | |
Constraint | |
Constraint | |
<Constraint>_N | |
lk1 p_aL3 | |
tc_infer_args (vis) | |
[anon] i_aL2[sk:1] | |
a_aLf | |
lk1 a_aLf | |
u_tys | |
tclvl 1 | |
k_aSw[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality k_aSw[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aSw[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aSw[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aSw[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aSw[tau:1] | |
i_aL2[sk:1] | |
<i_aL2[sk:1]>_N | |
tc_infer_args (vis) | |
[anon] i_aL2[sk:1] | |
b_aLg | |
lk1 b_aLg | |
u_tys | |
tclvl 1 | |
k_aSx[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality k_aSx[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aSx[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aSx[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aSx[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aSx[tau:1] | |
i_aL2[sk:1] | |
<i_aL2[sk:1]>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aSC[tau:1] | |
arising from a type equality * ~ TYPE t_aSC[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aSC[tau:1] | |
arising from a type equality * ~ TYPE t_aSC[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aSC[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aSC[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aSC[tau:1] | |
<*>_N | |
lk1 Dict | |
tcTyVar2a | |
Dict | |
Constraint -> * | |
tc_infer_args (vis) | |
[anon] Constraint | |
(Ob p_aL3 b_aLg) | |
lk1 Ob | |
lk1 (loopy) Ob | |
instantiating tybinders: @i_aL2[sk:1] := i_aSE[tau:1] | |
tcTyVar2b | |
Ob :: forall i. | |
(i_aL2[sk:1] -> i_aL2[sk:1] -> *) -> i_aL2[sk:1] -> Constraint | |
(i_aSE[tau:1] -> i_aSE[tau:1] -> *) -> i_aSE[tau:1] -> Constraint | |
tc_infer_args (vis) | |
[anon] i_aSE[tau:1] -> i_aSE[tau:1] -> * | |
p_aL3 | |
lk1 p_aL3 | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * ~ i_aSE[tau:1] -> i_aSE[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSE[tau:1] -> i_aSE[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aSE[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSE[tau:1] -> i_aSE[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aSE[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aSE[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aSE[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> * ~ i_aSE[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSE[tau:1] -> i_aSE[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aSE[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSE[tau:1] -> i_aSE[tau:1] -> * | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSE[tau:1] -> i_aSE[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
i_aSE[tau:1] -> i_aSE[tau:1] -> * | |
<i_aL2[sk:1] -> i_aL2[sk:1] -> *>_N | |
tc_infer_args (vis) | |
[anon] i_aSE[tau:1] | |
b_aLg | |
lk1 b_aLg | |
u_tys | |
tclvl 1 | |
k_aSx[tau:1] ~ i_aSE[tau:1] | |
arising from a type equality k_aSx[tau:1] ~ i_aSE[tau:1] | |
found filled tyvar k_aSx[tau:1] :-> i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aSx[tau:1] | |
i_aSE[tau:1] | |
<i_aL2[sk:1]>_N | |
u_tys | |
tclvl 1 | |
Constraint ~ Constraint | |
arising from a type equality Constraint ~ Constraint | |
u_tys yields no coercion | |
checkExpectedKind | |
Constraint | |
Constraint | |
<Constraint>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aSD[tau:1] | |
arising from a type equality * ~ TYPE t_aSD[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aSD[tau:1] | |
arising from a type equality * ~ TYPE t_aSD[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aSD[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aSD[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aSD[tau:1] | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aSB[tau:1] | |
arising from a type equality * ~ TYPE t_aSB[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aSB[tau:1] | |
arising from a type equality * ~ TYPE t_aSB[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aSB[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aSB[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aSB[tau:1] | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
tcImplicitTKBndrs | |
[a_aLf, b_aLg] | |
[a_aLf[sk:1], b_aLg[sk:1]] | |
env2 | |
[(b_aLh, Type variable ‘b_aLh’ = b_aLh[sk:1]), | |
(a_aLi, Type variable ‘a_aLi’ = a_aLi[sk:1])] | |
lk1 p_aL3 | |
tc_infer_args (vis) | |
[anon] i_aL2[sk:1] | |
b_aLh | |
lk1 b_aLh | |
u_tys | |
tclvl 1 | |
k_aSF[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality k_aSF[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aSF[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aSF[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aSF[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aSF[tau:1] | |
i_aL2[sk:1] | |
<i_aL2[sk:1]>_N | |
tc_infer_args (vis) | |
[anon] i_aL2[sk:1] | |
a_aLi | |
lk1 a_aLi | |
u_tys | |
tclvl 1 | |
k_aSG[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality k_aSG[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aSG[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aSG[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aSG[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aSG[tau:1] | |
i_aL2[sk:1] | |
<i_aL2[sk:1]>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aSH[tau:1] | |
arising from a type equality * ~ TYPE t_aSH[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aSH[tau:1] | |
arising from a type equality * ~ TYPE t_aSH[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aSH[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aSH[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aSH[tau:1] | |
<*>_N | |
lk1 Op | |
instantiating tybinders: | |
@j_aLv := j_aSJ[tau:1] | |
@i_aLu := i_aSK[tau:1] | |
tcTyVar2b | |
Op :: forall j i. (i -> j -> *) -> j -> i -> * | |
(i_aSK[tau:1] -> j_aSJ[tau:1] -> *) | |
-> j_aSJ[tau:1] -> i_aSK[tau:1] -> * | |
tc_infer_args (vis) | |
[anon] i_aSK[tau:1] -> j_aSJ[tau:1] -> * | |
p_aL3 | |
lk1 p_aL3 | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * ~ i_aSK[tau:1] -> j_aSJ[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSK[tau:1] -> j_aSJ[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aSK[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSK[tau:1] -> j_aSJ[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aSK[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aSK[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aSK[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> * ~ j_aSJ[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSK[tau:1] -> j_aSJ[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ j_aSJ[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSK[tau:1] -> j_aSJ[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
j_aSJ[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
j_aSJ[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar j_aSJ[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSK[tau:1] -> j_aSJ[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
i_aSK[tau:1] -> j_aSJ[tau:1] -> * | |
<i_aL2[sk:1] -> i_aL2[sk:1] -> *>_N | |
tc_infer_args (vis) | |
[anon] j_aSJ[tau:1] | |
a_aLi | |
lk1 a_aLi | |
u_tys | |
tclvl 1 | |
k_aSG[tau:1] ~ j_aSJ[tau:1] | |
arising from a type equality k_aSG[tau:1] ~ j_aSJ[tau:1] | |
found filled tyvar k_aSG[tau:1] :-> i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aSG[tau:1] | |
j_aSJ[tau:1] | |
<i_aL2[sk:1]>_N | |
tc_infer_args (vis) | |
[anon] i_aSK[tau:1] | |
b_aLh | |
lk1 b_aLh | |
u_tys | |
tclvl 1 | |
k_aSF[tau:1] ~ i_aSK[tau:1] | |
arising from a type equality k_aSF[tau:1] ~ i_aSK[tau:1] | |
found filled tyvar k_aSF[tau:1] :-> i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aSF[tau:1] | |
i_aSK[tau:1] | |
<i_aL2[sk:1]>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aSI[tau:1] | |
arising from a type equality * ~ TYPE t_aSI[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aSI[tau:1] | |
arising from a type equality * ~ TYPE t_aSI[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aSI[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aSI[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aSI[tau:1] | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
tcImplicitTKBndrs | |
[b_aLh, a_aLi] | |
[b_aLh[sk:1], a_aLi[sk:1]] | |
env2 | |
[(b_aLj, Type variable ‘b_aLj’ = b_aLj[sk:1]), | |
(a_aLk, Type variable ‘a_aLk’ = a_aLk[sk:1])] | |
lk1 ~ | |
tcTyVar2a | |
~ | |
forall k. k -> k -> Constraint | |
tc_infer_args (invis) @k_aSe | |
tc_infer_args (vis) | |
[anon] k | |
Op p_aL3 | |
lk1 Op | |
instantiating tybinders: | |
@j_aLv := j_aSO[tau:1] | |
@i_aLu := i_aSP[tau:1] | |
tcTyVar2b | |
Op :: forall j i. (i -> j -> *) -> j -> i -> * | |
(i_aSP[tau:1] -> j_aSO[tau:1] -> *) | |
-> j_aSO[tau:1] -> i_aSP[tau:1] -> * | |
tc_infer_args (vis) | |
[anon] i_aSP[tau:1] -> j_aSO[tau:1] -> * | |
p_aL3 | |
lk1 p_aL3 | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * ~ i_aSP[tau:1] -> j_aSO[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSP[tau:1] -> j_aSO[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aSP[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSP[tau:1] -> j_aSO[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aSP[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aSP[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aSP[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> * ~ j_aSO[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSP[tau:1] -> j_aSO[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ j_aSO[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSP[tau:1] -> j_aSO[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
j_aSO[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
j_aSO[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar j_aSO[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSP[tau:1] -> j_aSO[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
i_aSP[tau:1] -> j_aSO[tau:1] -> * | |
<i_aL2[sk:1] -> i_aL2[sk:1] -> *>_N | |
u_tys | |
tclvl 1 | |
j_aSO[tau:1] -> i_aSP[tau:1] -> * ~ k_aSN[tau:1] | |
arising from a type equality j_aSO[tau:1] -> i_aSP[tau:1] -> * | |
~ | |
k_aSN[tau:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aSN[tau:1] ~ i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aSN[tau:1] ~ i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aSN[tau:1] := i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
u_tys yields no coercion | |
checkExpectedKind | |
j_aSO[tau:1] -> i_aSP[tau:1] -> * | |
k_aSN[tau:1] | |
<i_aL2[sk:1] -> i_aL2[sk:1] -> *>_N | |
tc_infer_args (vis) | |
[anon] k | |
Y p_aL3 | |
lk1 Y | |
tcTyVar2a | |
Y | |
forall j i. (i -> j -> *) -> j -> i -> * | |
tc_infer_args (invis) @j_aLA | |
tc_infer_args (invis) @i_aLz | |
tc_infer_args (vis) | |
[anon] i -> j -> * | |
p_aL3 | |
lk1 p_aL3 | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * ~ i_aSR[tau:1] -> j_aSQ[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSR[tau:1] -> j_aSQ[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aSR[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSR[tau:1] -> j_aSQ[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aSR[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aSR[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aSR[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> * ~ j_aSQ[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSR[tau:1] -> j_aSQ[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ j_aSQ[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSR[tau:1] -> j_aSQ[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
j_aSQ[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
j_aSQ[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar j_aSQ[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSR[tau:1] -> j_aSQ[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
i_aSR[tau:1] -> j_aSQ[tau:1] -> * | |
<i_aL2[sk:1] -> i_aL2[sk:1] -> *>_N | |
u_tys | |
tclvl 1 | |
j_aSQ[tau:1] -> i_aSR[tau:1] -> * ~ k_aSN[tau:1] | |
arising from a type equality j_aSQ[tau:1] -> i_aSR[tau:1] -> * | |
~ | |
k_aSN[tau:1] | |
found filled tyvar k_aSN[tau:1] :-> i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
u_tys | |
tclvl 1 | |
j_aSQ[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality j_aSQ[tau:1] -> i_aSR[tau:1] -> * | |
~ | |
k_aSN[tau:1] | |
found filled tyvar j_aSQ[tau:1] :-> i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aSR[tau:1] -> * ~ i_aL2[sk:1] -> * | |
arising from a type equality j_aSQ[tau:1] -> i_aSR[tau:1] -> * | |
~ | |
k_aSN[tau:1] | |
u_tys | |
tclvl 1 | |
i_aSR[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality j_aSQ[tau:1] -> i_aSR[tau:1] -> * | |
~ | |
k_aSN[tau:1] | |
found filled tyvar i_aSR[tau:1] :-> i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality j_aSQ[tau:1] -> i_aSR[tau:1] -> * | |
~ | |
k_aSN[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality j_aSQ[tau:1] -> i_aSR[tau:1] -> * | |
~ | |
k_aSN[tau:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
j_aSQ[tau:1] -> i_aSR[tau:1] -> * | |
k_aSN[tau:1] | |
<i_aL2[sk:1] -> i_aL2[sk:1] -> *>_N | |
u_tys | |
tclvl 1 | |
Constraint ~ Constraint | |
arising from a type equality Constraint ~ Constraint | |
u_tys yields no coercion | |
checkExpectedKind | |
Constraint | |
Constraint | |
<Constraint>_N | |
lk1 p_aL3 | |
tc_infer_args (vis) | |
[anon] i_aL2[sk:1] | |
b_aLj | |
lk1 b_aLj | |
u_tys | |
tclvl 1 | |
k_aSL[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality k_aSL[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aSL[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aSL[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aSL[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aSL[tau:1] | |
i_aL2[sk:1] | |
<i_aL2[sk:1]>_N | |
tc_infer_args (vis) | |
[anon] i_aL2[sk:1] | |
a_aLk | |
lk1 a_aLk | |
u_tys | |
tclvl 1 | |
k_aSM[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality k_aSM[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aSM[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aSM[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aSM[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aSM[tau:1] | |
i_aL2[sk:1] | |
<i_aL2[sk:1]>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aST[tau:1] | |
arising from a type equality * ~ TYPE t_aST[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aST[tau:1] | |
arising from a type equality * ~ TYPE t_aST[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aST[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aST[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aST[tau:1] | |
<*>_N | |
lk1 Op | |
instantiating tybinders: | |
@j_aLv := j_aSV[tau:1] | |
@i_aLu := i_aSW[tau:1] | |
tcTyVar2b | |
Op :: forall j i. (i -> j -> *) -> j -> i -> * | |
(i_aSW[tau:1] -> j_aSV[tau:1] -> *) | |
-> j_aSV[tau:1] -> i_aSW[tau:1] -> * | |
tc_infer_args (vis) | |
[anon] i_aSW[tau:1] -> j_aSV[tau:1] -> * | |
p_aL3 | |
lk1 p_aL3 | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * ~ i_aSW[tau:1] -> j_aSV[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSW[tau:1] -> j_aSV[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aSW[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSW[tau:1] -> j_aSV[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aSW[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aSW[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aSW[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> * ~ j_aSV[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSW[tau:1] -> j_aSV[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ j_aSV[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSW[tau:1] -> j_aSV[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
j_aSV[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
j_aSV[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar j_aSV[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aSW[tau:1] -> j_aSV[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
i_aSW[tau:1] -> j_aSV[tau:1] -> * | |
<i_aL2[sk:1] -> i_aL2[sk:1] -> *>_N | |
tc_infer_args (vis) | |
[anon] j_aSV[tau:1] | |
a_aLk | |
lk1 a_aLk | |
u_tys | |
tclvl 1 | |
k_aSM[tau:1] ~ j_aSV[tau:1] | |
arising from a type equality k_aSM[tau:1] ~ j_aSV[tau:1] | |
found filled tyvar k_aSM[tau:1] :-> i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aSM[tau:1] | |
j_aSV[tau:1] | |
<i_aL2[sk:1]>_N | |
tc_infer_args (vis) | |
[anon] i_aSW[tau:1] | |
b_aLj | |
lk1 b_aLj | |
u_tys | |
tclvl 1 | |
k_aSL[tau:1] ~ i_aSW[tau:1] | |
arising from a type equality k_aSL[tau:1] ~ i_aSW[tau:1] | |
found filled tyvar k_aSL[tau:1] :-> i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aSL[tau:1] | |
i_aSW[tau:1] | |
<i_aL2[sk:1]>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aSU[tau:1] | |
arising from a type equality * ~ TYPE t_aSU[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aSU[tau:1] | |
arising from a type equality * ~ TYPE t_aSU[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aSU[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aSU[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aSU[tau:1] | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aSS[tau:1] | |
arising from a type equality * ~ TYPE t_aSS[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aSS[tau:1] | |
arising from a type equality * ~ TYPE t_aSS[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aSS[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aSS[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aSS[tau:1] | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
tcImplicitTKBndrs | |
[b_aLj, a_aLk] | |
[b_aLj[sk:1], a_aLk[sk:1]] | |
env2 | |
[(b_aLl, Type variable ‘b_aLl’ = b_aLl[sk:1]), | |
(a_aLm, Type variable ‘a_aLm’ = a_aLm[sk:1])] | |
lk1 Op | |
instantiating tybinders: | |
@j_aLv := j_aT1[tau:1] | |
@i_aLu := i_aT2[tau:1] | |
tcTyVar2b | |
Op :: forall j i. (i -> j -> *) -> j -> i -> * | |
(i_aT2[tau:1] -> j_aT1[tau:1] -> *) | |
-> j_aT1[tau:1] -> i_aT2[tau:1] -> * | |
tc_infer_args (vis) | |
[anon] i_aT2[tau:1] -> j_aT1[tau:1] -> * | |
p_aL3 | |
lk1 p_aL3 | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * ~ i_aT2[tau:1] -> j_aT1[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aT2[tau:1] -> j_aT1[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aT2[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aT2[tau:1] -> j_aT1[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aT2[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aT2[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aT2[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> * ~ j_aT1[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aT2[tau:1] -> j_aT1[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ j_aT1[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aT2[tau:1] -> j_aT1[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
j_aT1[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
j_aT1[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar j_aT1[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aT2[tau:1] -> j_aT1[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
i_aT2[tau:1] -> j_aT1[tau:1] -> * | |
<i_aL2[sk:1] -> i_aL2[sk:1] -> *>_N | |
tc_infer_args (vis) | |
[anon] j_aT1[tau:1] | |
b_aLl | |
lk1 b_aLl | |
u_tys | |
tclvl 1 | |
k_aSX[tau:1] ~ j_aT1[tau:1] | |
arising from a type equality k_aSX[tau:1] ~ j_aT1[tau:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aSX[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aSX[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aSX[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aSX[tau:1] | |
j_aT1[tau:1] | |
<i_aL2[sk:1]>_N | |
tc_infer_args (vis) | |
[anon] i_aT2[tau:1] | |
a_aLm | |
lk1 a_aLm | |
u_tys | |
tclvl 1 | |
k_aSY[tau:1] ~ i_aT2[tau:1] | |
arising from a type equality k_aSY[tau:1] ~ i_aT2[tau:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aSY[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aSY[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aSY[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aSY[tau:1] | |
i_aT2[tau:1] | |
<i_aL2[sk:1]>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aSZ[tau:1] | |
arising from a type equality * ~ TYPE t_aSZ[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aSZ[tau:1] | |
arising from a type equality * ~ TYPE t_aSZ[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aSZ[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aSZ[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aSZ[tau:1] | |
<*>_N | |
lk1 p_aL3 | |
tc_infer_args (vis) | |
[anon] i_aL2[sk:1] | |
a_aLm | |
lk1 a_aLm | |
u_tys | |
tclvl 1 | |
k_aSY[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality k_aSY[tau:1] ~ i_aL2[sk:1] | |
found filled tyvar k_aSY[tau:1] :-> i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aSY[tau:1] | |
i_aL2[sk:1] | |
<i_aL2[sk:1]>_N | |
tc_infer_args (vis) | |
[anon] i_aL2[sk:1] | |
b_aLl | |
lk1 b_aLl | |
u_tys | |
tclvl 1 | |
k_aSX[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality k_aSX[tau:1] ~ i_aL2[sk:1] | |
found filled tyvar k_aSX[tau:1] :-> i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aSX[tau:1] | |
i_aL2[sk:1] | |
<i_aL2[sk:1]>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aT0[tau:1] | |
arising from a type equality * ~ TYPE t_aT0[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aT0[tau:1] | |
arising from a type equality * ~ TYPE t_aT0[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aT0[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aT0[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aT0[tau:1] | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
tcImplicitTKBndrs | |
[b_aLl, a_aLm] | |
[b_aLl[sk:1], a_aLm[sk:1]] | |
env2 | |
[(b_aLn, Type variable ‘b_aLn’ = b_aLn[sk:1]), | |
(a_aLo, Type variable ‘a_aLo’ = a_aLo[sk:1])] | |
lk1 ~ | |
tcTyVar2a | |
~ | |
forall k. k -> k -> Constraint | |
tc_infer_args (invis) @k_aSe | |
tc_infer_args (vis) | |
[anon] k | |
Op p_aL3 | |
lk1 Op | |
instantiating tybinders: | |
@j_aLv := j_aT6[tau:1] | |
@i_aLu := i_aT7[tau:1] | |
tcTyVar2b | |
Op :: forall j i. (i -> j -> *) -> j -> i -> * | |
(i_aT7[tau:1] -> j_aT6[tau:1] -> *) | |
-> j_aT6[tau:1] -> i_aT7[tau:1] -> * | |
tc_infer_args (vis) | |
[anon] i_aT7[tau:1] -> j_aT6[tau:1] -> * | |
p_aL3 | |
lk1 p_aL3 | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * ~ i_aT7[tau:1] -> j_aT6[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aT7[tau:1] -> j_aT6[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aT7[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aT7[tau:1] -> j_aT6[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aT7[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aT7[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aT7[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> * ~ j_aT6[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aT7[tau:1] -> j_aT6[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ j_aT6[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aT7[tau:1] -> j_aT6[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
j_aT6[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
j_aT6[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar j_aT6[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aT7[tau:1] -> j_aT6[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
i_aT7[tau:1] -> j_aT6[tau:1] -> * | |
<i_aL2[sk:1] -> i_aL2[sk:1] -> *>_N | |
u_tys | |
tclvl 1 | |
j_aT6[tau:1] -> i_aT7[tau:1] -> * ~ k_aT5[tau:1] | |
arising from a type equality j_aT6[tau:1] -> i_aT7[tau:1] -> * | |
~ | |
k_aT5[tau:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aT5[tau:1] ~ i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aT5[tau:1] ~ i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aT5[tau:1] := i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
u_tys yields no coercion | |
checkExpectedKind | |
j_aT6[tau:1] -> i_aT7[tau:1] -> * | |
k_aT5[tau:1] | |
<i_aL2[sk:1] -> i_aL2[sk:1] -> *>_N | |
tc_infer_args (vis) | |
[anon] k | |
Y p_aL3 | |
lk1 Y | |
tcTyVar2a | |
Y | |
forall j i. (i -> j -> *) -> j -> i -> * | |
tc_infer_args (invis) @j_aLA | |
tc_infer_args (invis) @i_aLz | |
tc_infer_args (vis) | |
[anon] i -> j -> * | |
p_aL3 | |
lk1 p_aL3 | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * ~ i_aT9[tau:1] -> j_aT8[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aT9[tau:1] -> j_aT8[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aT9[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aT9[tau:1] -> j_aT8[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aT9[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aT9[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aT9[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> * ~ j_aT8[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aT9[tau:1] -> j_aT8[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ j_aT8[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aT9[tau:1] -> j_aT8[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
j_aT8[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
j_aT8[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar j_aT8[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aT9[tau:1] -> j_aT8[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
i_aT9[tau:1] -> j_aT8[tau:1] -> * | |
<i_aL2[sk:1] -> i_aL2[sk:1] -> *>_N | |
u_tys | |
tclvl 1 | |
j_aT8[tau:1] -> i_aT9[tau:1] -> * ~ k_aT5[tau:1] | |
arising from a type equality j_aT8[tau:1] -> i_aT9[tau:1] -> * | |
~ | |
k_aT5[tau:1] | |
found filled tyvar k_aT5[tau:1] :-> i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
u_tys | |
tclvl 1 | |
j_aT8[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality j_aT8[tau:1] -> i_aT9[tau:1] -> * | |
~ | |
k_aT5[tau:1] | |
found filled tyvar j_aT8[tau:1] :-> i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aT9[tau:1] -> * ~ i_aL2[sk:1] -> * | |
arising from a type equality j_aT8[tau:1] -> i_aT9[tau:1] -> * | |
~ | |
k_aT5[tau:1] | |
u_tys | |
tclvl 1 | |
i_aT9[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality j_aT8[tau:1] -> i_aT9[tau:1] -> * | |
~ | |
k_aT5[tau:1] | |
found filled tyvar i_aT9[tau:1] :-> i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality j_aT8[tau:1] -> i_aT9[tau:1] -> * | |
~ | |
k_aT5[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality j_aT8[tau:1] -> i_aT9[tau:1] -> * | |
~ | |
k_aT5[tau:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
j_aT8[tau:1] -> i_aT9[tau:1] -> * | |
k_aT5[tau:1] | |
<i_aL2[sk:1] -> i_aL2[sk:1] -> *>_N | |
u_tys | |
tclvl 1 | |
Constraint ~ Constraint | |
arising from a type equality Constraint ~ Constraint | |
u_tys yields no coercion | |
checkExpectedKind | |
Constraint | |
Constraint | |
<Constraint>_N | |
lk1 Op | |
instantiating tybinders: | |
@j_aLv := j_aTd[tau:1] | |
@i_aLu := i_aTe[tau:1] | |
tcTyVar2b | |
Op :: forall j i. (i -> j -> *) -> j -> i -> * | |
(i_aTe[tau:1] -> j_aTd[tau:1] -> *) | |
-> j_aTd[tau:1] -> i_aTe[tau:1] -> * | |
tc_infer_args (vis) | |
[anon] i_aTe[tau:1] -> j_aTd[tau:1] -> * | |
p_aL3 | |
lk1 p_aL3 | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * ~ i_aTe[tau:1] -> j_aTd[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aTe[tau:1] -> j_aTd[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aTe[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aTe[tau:1] -> j_aTd[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aTe[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aTe[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aTe[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> * ~ j_aTd[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aTe[tau:1] -> j_aTd[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ j_aTd[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aTe[tau:1] -> j_aTd[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
j_aTd[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
j_aTd[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar j_aTd[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aTe[tau:1] -> j_aTd[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
i_aTe[tau:1] -> j_aTd[tau:1] -> * | |
<i_aL2[sk:1] -> i_aL2[sk:1] -> *>_N | |
tc_infer_args (vis) | |
[anon] j_aTd[tau:1] | |
b_aLn | |
lk1 b_aLn | |
u_tys | |
tclvl 1 | |
k_aT3[tau:1] ~ j_aTd[tau:1] | |
arising from a type equality k_aT3[tau:1] ~ j_aTd[tau:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aT3[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aT3[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aT3[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aT3[tau:1] | |
j_aTd[tau:1] | |
<i_aL2[sk:1]>_N | |
tc_infer_args (vis) | |
[anon] i_aTe[tau:1] | |
a_aLo | |
lk1 a_aLo | |
u_tys | |
tclvl 1 | |
k_aT4[tau:1] ~ i_aTe[tau:1] | |
arising from a type equality k_aT4[tau:1] ~ i_aTe[tau:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aT4[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aT4[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aT4[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aT4[tau:1] | |
i_aTe[tau:1] | |
<i_aL2[sk:1]>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aTb[tau:1] | |
arising from a type equality * ~ TYPE t_aTb[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aTb[tau:1] | |
arising from a type equality * ~ TYPE t_aTb[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aTb[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aTb[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aTb[tau:1] | |
<*>_N | |
lk1 p_aL3 | |
tc_infer_args (vis) | |
[anon] i_aL2[sk:1] | |
a_aLo | |
lk1 a_aLo | |
u_tys | |
tclvl 1 | |
k_aT4[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality k_aT4[tau:1] ~ i_aL2[sk:1] | |
found filled tyvar k_aT4[tau:1] :-> i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aT4[tau:1] | |
i_aL2[sk:1] | |
<i_aL2[sk:1]>_N | |
tc_infer_args (vis) | |
[anon] i_aL2[sk:1] | |
b_aLn | |
lk1 b_aLn | |
u_tys | |
tclvl 1 | |
k_aT3[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality k_aT3[tau:1] ~ i_aL2[sk:1] | |
found filled tyvar k_aT3[tau:1] :-> i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aT3[tau:1] | |
i_aL2[sk:1] | |
<i_aL2[sk:1]>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aTc[tau:1] | |
arising from a type equality * ~ TYPE t_aTc[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aTc[tau:1] | |
arising from a type equality * ~ TYPE t_aTc[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aTc[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aTc[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aTc[tau:1] | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aTa[tau:1] | |
arising from a type equality * ~ TYPE t_aTa[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aTa[tau:1] | |
arising from a type equality * ~ TYPE t_aTa[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aTa[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aTa[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aTa[tau:1] | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
tcImplicitTKBndrs | |
[b_aLn, a_aLo] | |
[b_aLn[sk:1], a_aLo[sk:1]] | |
solveEqualities { wanted = WC {} | |
newTcEvBinds unique = aTf | |
solveWanteds { WC {} | |
solveSimpleWanteds { {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {} | |
End solveEqualities } | |
reportAllUnsolved { | |
newTcEvBinds unique = aTg | |
reportAllUnsolved } | |
quantifyZonkedTyVars | |
DV {dv_kvs = [] dv_tvs = []} | |
[] | |
quantifyTyVars | |
globals: [] | |
nondep: [] | |
dep: [] | |
dep_kvs' [] | |
nondep_tvs' [] | |
Generalise kind | |
Nat | |
[@i_aKK[sk:1], @j_aKM[sk:1], p_aKL[sk:1], q_aKN[sk:1], f_aKO[sk:1], | |
g_aKP[sk:1]] | |
[] | |
[@i_aKK[sk:1], @j_aKM[sk:1], p_aKL[sk:1], q_aKN[sk:1], f_aKO[sk:1], | |
g_aKP[sk:1]] | |
* | |
[@i_aKK, @j_aKM, p_aKL, q_aKN, f_aKO, g_aKP] | |
* | |
[i_aKK[sk:1], j_aKM[sk:1], p_aKL[sk:1], q_aKN[sk:1], f_aKO[sk:1], | |
g_aKP[sk:1]] | |
[i_aKK[sk:1], j_aKM[sk:1], p_aKL[sk:1], q_aKN[sk:1], f_aKO[sk:1], | |
g_aKP[sk:1]] | |
quantifyZonkedTyVars | |
DV {dv_kvs = [] dv_tvs = []} | |
[] | |
quantifyTyVars | |
globals: [] | |
nondep: [] | |
dep: [] | |
dep_kvs' [] | |
nondep_tvs' [] | |
Generalise kind | |
Functor | |
[@i_aKV[sk:1], @j_aKX[sk:1], p_aKW[sk:1], q_aKY[sk:1], f_aKZ[sk:1]] | |
[] | |
[@i_aKV[sk:1], @j_aKX[sk:1], p_aKW[sk:1], q_aKY[sk:1], f_aKZ[sk:1]] | |
Constraint | |
[@i_aKV, @j_aKX, p_aKW, q_aKY, f_aKZ] | |
Constraint | |
[i_aKV[sk:1], j_aKX[sk:1], p_aKW[sk:1], q_aKY[sk:1], f_aKZ[sk:1]] | |
[i_aKV[sk:1], j_aKX[sk:1], p_aKW[sk:1], q_aKY[sk:1], f_aKZ[sk:1]] | |
quantifyZonkedTyVars | |
DV {dv_kvs = [] dv_tvs = []} | |
[] | |
quantifyTyVars | |
globals: [] | |
nondep: [] | |
dep: [] | |
dep_kvs' [] | |
nondep_tvs' [] | |
Generalise kind | |
Category | |
[@i_aL2[sk:1], p_aL3[sk:1]] | |
[] | |
[@i_aL2[sk:1], p_aL3[sk:1]] | |
Constraint | |
[@i_aL2, p_aL3] | |
Constraint | |
[i_aL2[sk:1], p_aL3[sk:1]] | |
[i_aL2[sk:1], p_aL3[sk:1]] | |
quantifyZonkedTyVars | |
DV {dv_kvs = [] dv_tvs = []} | |
[] | |
quantifyTyVars | |
globals: [] | |
nondep: [] | |
dep: [] | |
dep_kvs' [] | |
nondep_tvs' [] | |
Generalise kind | |
Ob | |
[@i_aL2[sk:1], p_aL3[sk:1]] | |
[] | |
[@i_aL2[sk:1], p_aL3[sk:1]] | |
i_aL2[sk:1] -> Constraint | |
[@i_aL2, p_aL3] | |
i -> Constraint | |
[i_aL2[sk:1], p_aL3[sk:1]] | |
[p_aL3[sk:1]] | |
kcTyClGroup result | |
Nat :: forall i j. | |
(i -> i -> *) -> (j -> j -> *) -> (i -> j) -> (i -> j) -> * | |
Functor :: forall i j. | |
(i -> i -> *) -> (j -> j -> *) -> (i -> j) -> Constraint | |
Category :: forall i. (i -> i -> *) -> Constraint | |
Ob :: forall i. (i -> i -> *) -> i -> Constraint | |
tcTyAndCl generalized kinds | |
(Nat, [@i_aKK, @j_aKM, p_aKL, q_aKN, f_aKO, g_aKP], *) | |
(Functor, [@i_aKV, @j_aKX, p_aKW, q_aKY, f_aKZ], Constraint) | |
(Category, [@i_aL2, p_aL3], Constraint) | |
(Ob, [@i_aL2, p_aL3], i -> Constraint) | |
txExtendKindEnv | |
[(Nat, ATcTyCon Nat), (Functor, ATcTyCon Functor), | |
(Category, ATcTyCon Category), (Ob, ATcTyCon Ob)] | |
tcTyAndCl-x | |
data Nat (p_aKL :: i_aKK -> i_aKK -> *) (q_aKN :: j_aKM | |
-> j_aKM -> *) (f_aKO :: i_aKK | |
-> j_aKM) (g_aKP :: i_aKK | |
-> j_aKM) | |
where | |
Nat :: (Functor p_aKQ q_aKR f_aKS, Functor p_aKQ q_aKR g_aKT) => | |
{runNat :: forall a_aKU. | |
Ob p_aKQ a_aKU => q_aKR (f_aKS a_aKU) (g_aKT a_aKU)} | |
-> Nat p_aKQ q_aKR f_aKS g_aKT | |
env2 | |
[(i_aKK, Type variable ‘i_aKK’ = i_aKK[sk:1]), | |
(j_aKM, Type variable ‘j_aKM’ = j_aKM[sk:1]), | |
(p_aKL, Type variable ‘p_aKL’ = p_aKL[sk:1]), | |
(q_aKN, Type variable ‘q_aKN’ = q_aKN[sk:1]), | |
(f_aKO, Type variable ‘f_aKO’ = f_aKO[sk:1]), | |
(g_aKP, Type variable ‘g_aKP’ = g_aKP[sk:1])] | |
solveEqualities { wanted = WC {} | |
newTcEvBinds unique = aTi | |
solveWanteds { WC {} | |
solveSimpleWanteds { {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {} | |
End solveEqualities } | |
reportAllUnsolved { | |
newTcEvBinds unique = aTj | |
reportAllUnsolved } | |
tcConDecl 1 [Nat] | |
env2 | |
[(p_aKQ, Type variable ‘p_aKQ’ = p_aKQ[sk:1]), | |
(q_aKR, Type variable ‘q_aKR’ = q_aKR[sk:1]), | |
(f_aKS, Type variable ‘f_aKS’ = f_aKS[sk:1]), | |
(g_aKT, Type variable ‘g_aKT’ = g_aKT[sk:1])] | |
lk1 Functor | |
tcTyVar2a | |
Functor | |
forall i j. | |
(i -> i -> *) -> (j -> j -> *) -> (i -> j) -> Constraint | |
tc_infer_args (invis) @i_aKV | |
tc_infer_args (invis) @j_aKX | |
tc_infer_args (vis) | |
[anon] i -> i -> * | |
p_aKQ | |
lk1 p_aKQ | |
u_tys | |
tclvl 1 | |
k_aTk[tau:1] ~ i_aTo[tau:1] -> i_aTo[tau:1] -> * | |
arising from a type equality k_aTk[tau:1] | |
~ | |
i_aTo[tau:1] -> i_aTo[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aTk[tau:1] ~ i_aTo[tau:1] -> i_aTo[tau:1] -> * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aTk[tau:1] ~ i_aTo[tau:1] -> i_aTo[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aTk[tau:1] := i_aTo[tau:1] -> i_aTo[tau:1] -> * | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aTk[tau:1] | |
i_aTo[tau:1] -> i_aTo[tau:1] -> * | |
<i_aTo[tau:1] -> i_aTo[tau:1] -> *>_N | |
tc_infer_args (vis) | |
[anon] j -> j -> * | |
q_aKR | |
lk1 q_aKR | |
u_tys | |
tclvl 1 | |
k_aTl[tau:1] ~ j_aTp[tau:1] -> j_aTp[tau:1] -> * | |
arising from a type equality k_aTl[tau:1] | |
~ | |
j_aTp[tau:1] -> j_aTp[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aTl[tau:1] ~ j_aTp[tau:1] -> j_aTp[tau:1] -> * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aTl[tau:1] ~ j_aTp[tau:1] -> j_aTp[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aTl[tau:1] := j_aTp[tau:1] -> j_aTp[tau:1] -> * | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aTl[tau:1] | |
j_aTp[tau:1] -> j_aTp[tau:1] -> * | |
<j_aTp[tau:1] -> j_aTp[tau:1] -> *>_N | |
tc_infer_args (vis) | |
[anon] i -> j | |
f_aKS | |
lk1 f_aKS | |
u_tys | |
tclvl 1 | |
k_aTm[tau:1] ~ i_aTo[tau:1] -> j_aTp[tau:1] | |
arising from a type equality k_aTm[tau:1] | |
~ | |
i_aTo[tau:1] -> j_aTp[tau:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aTm[tau:1] ~ i_aTo[tau:1] -> j_aTp[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aTm[tau:1] ~ i_aTo[tau:1] -> j_aTp[tau:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aTm[tau:1] := i_aTo[tau:1] -> j_aTp[tau:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aTm[tau:1] | |
i_aTo[tau:1] -> j_aTp[tau:1] | |
<i_aTo[tau:1] -> j_aTp[tau:1]>_N | |
u_tys | |
tclvl 1 | |
Constraint ~ Constraint | |
arising from a type equality Constraint ~ Constraint | |
u_tys yields no coercion | |
checkExpectedKind | |
Constraint | |
Constraint | |
<Constraint>_N | |
lk1 Functor | |
tcTyVar2a | |
Functor | |
forall i j. | |
(i -> i -> *) -> (j -> j -> *) -> (i -> j) -> Constraint | |
tc_infer_args (invis) @i_aKV | |
tc_infer_args (invis) @j_aKX | |
tc_infer_args (vis) | |
[anon] i -> i -> * | |
p_aKQ | |
lk1 p_aKQ | |
u_tys | |
tclvl 1 | |
k_aTk[tau:1] ~ i_aTq[tau:1] -> i_aTq[tau:1] -> * | |
arising from a type equality k_aTk[tau:1] | |
~ | |
i_aTq[tau:1] -> i_aTq[tau:1] -> * | |
found filled tyvar | |
k_aTk[tau:1] :-> i_aTo[tau:1] -> i_aTo[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aTo[tau:1] ~ i_aTq[tau:1] | |
arising from a type equality k_aTk[tau:1] | |
~ | |
i_aTq[tau:1] -> i_aTq[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aTo[tau:1] ~ i_aTq[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aTo[tau:1] ~ i_aTq[tau:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aTo[tau:1] := i_aTq[tau:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aTo[tau:1] -> * ~ i_aTq[tau:1] -> * | |
arising from a type equality k_aTk[tau:1] | |
~ | |
i_aTq[tau:1] -> i_aTq[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aTo[tau:1] ~ i_aTq[tau:1] | |
arising from a type equality k_aTk[tau:1] | |
~ | |
i_aTq[tau:1] -> i_aTq[tau:1] -> * | |
found filled tyvar i_aTo[tau:1] :-> i_aTq[tau:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality k_aTk[tau:1] | |
~ | |
i_aTq[tau:1] -> i_aTq[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aTk[tau:1] | |
i_aTq[tau:1] -> i_aTq[tau:1] -> * | |
<i_aTq[tau:1] -> i_aTq[tau:1] -> *>_N | |
tc_infer_args (vis) | |
[anon] j -> j -> * | |
q_aKR | |
lk1 q_aKR | |
u_tys | |
tclvl 1 | |
k_aTl[tau:1] ~ j_aTr[tau:1] -> j_aTr[tau:1] -> * | |
arising from a type equality k_aTl[tau:1] | |
~ | |
j_aTr[tau:1] -> j_aTr[tau:1] -> * | |
found filled tyvar | |
k_aTl[tau:1] :-> j_aTp[tau:1] -> j_aTp[tau:1] -> * | |
u_tys | |
tclvl 1 | |
j_aTp[tau:1] ~ j_aTr[tau:1] | |
arising from a type equality k_aTl[tau:1] | |
~ | |
j_aTr[tau:1] -> j_aTr[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
j_aTp[tau:1] ~ j_aTr[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
j_aTp[tau:1] ~ j_aTr[tau:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar j_aTp[tau:1] := j_aTr[tau:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
j_aTp[tau:1] -> * ~ j_aTr[tau:1] -> * | |
arising from a type equality k_aTl[tau:1] | |
~ | |
j_aTr[tau:1] -> j_aTr[tau:1] -> * | |
u_tys | |
tclvl 1 | |
j_aTp[tau:1] ~ j_aTr[tau:1] | |
arising from a type equality k_aTl[tau:1] | |
~ | |
j_aTr[tau:1] -> j_aTr[tau:1] -> * | |
found filled tyvar j_aTp[tau:1] :-> j_aTr[tau:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality k_aTl[tau:1] | |
~ | |
j_aTr[tau:1] -> j_aTr[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aTl[tau:1] | |
j_aTr[tau:1] -> j_aTr[tau:1] -> * | |
<j_aTr[tau:1] -> j_aTr[tau:1] -> *>_N | |
tc_infer_args (vis) | |
[anon] i -> j | |
g_aKT | |
lk1 g_aKT | |
u_tys | |
tclvl 1 | |
k_aTn[tau:1] ~ i_aTq[tau:1] -> j_aTr[tau:1] | |
arising from a type equality k_aTn[tau:1] | |
~ | |
i_aTq[tau:1] -> j_aTr[tau:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aTn[tau:1] ~ i_aTq[tau:1] -> j_aTr[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aTn[tau:1] ~ i_aTq[tau:1] -> j_aTr[tau:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aTn[tau:1] := i_aTq[tau:1] -> j_aTr[tau:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aTn[tau:1] | |
i_aTq[tau:1] -> j_aTr[tau:1] | |
<i_aTq[tau:1] -> j_aTr[tau:1]>_N | |
u_tys | |
tclvl 1 | |
Constraint ~ Constraint | |
arising from a type equality Constraint ~ Constraint | |
u_tys yields no coercion | |
checkExpectedKind | |
Constraint | |
Constraint | |
<Constraint>_N | |
tcConArg 1 | |
forall a_aKU. Ob p_aKQ a_aKU => q_aKR (f_aKS a_aKU) (g_aKT a_aKU) | |
env2 [(a_aKU, Type variable ‘a_aKU’ = a_aKU[sk:1])] | |
lk1 Ob | |
instantiating tybinders: @i_aL2 := i_aTu[tau:1] | |
tcTyVar2b | |
Ob :: forall i. (i -> i -> *) -> i -> Constraint | |
(i_aTu[tau:1] -> i_aTu[tau:1] -> *) -> i_aTu[tau:1] -> Constraint | |
tc_infer_args (vis) | |
[anon] i_aTu[tau:1] -> i_aTu[tau:1] -> * | |
p_aKQ | |
lk1 p_aKQ | |
u_tys | |
tclvl 1 | |
k_aTk[tau:1] ~ i_aTu[tau:1] -> i_aTu[tau:1] -> * | |
arising from a type equality k_aTk[tau:1] | |
~ | |
i_aTu[tau:1] -> i_aTu[tau:1] -> * | |
found filled tyvar | |
k_aTk[tau:1] :-> i_aTo[tau:1] -> i_aTo[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aTo[tau:1] ~ i_aTu[tau:1] | |
arising from a type equality k_aTk[tau:1] | |
~ | |
i_aTu[tau:1] -> i_aTu[tau:1] -> * | |
found filled tyvar i_aTo[tau:1] :-> i_aTq[tau:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aTq[tau:1] ~ i_aTu[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aTq[tau:1] ~ i_aTu[tau:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aTq[tau:1] := i_aTu[tau:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aTo[tau:1] -> * ~ i_aTu[tau:1] -> * | |
arising from a type equality k_aTk[tau:1] | |
~ | |
i_aTu[tau:1] -> i_aTu[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aTo[tau:1] ~ i_aTu[tau:1] | |
arising from a type equality k_aTk[tau:1] | |
~ | |
i_aTu[tau:1] -> i_aTu[tau:1] -> * | |
found filled tyvar i_aTo[tau:1] :-> i_aTq[tau:1] | |
found filled tyvar i_aTq[tau:1] :-> i_aTu[tau:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality k_aTk[tau:1] | |
~ | |
i_aTu[tau:1] -> i_aTu[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aTk[tau:1] | |
i_aTu[tau:1] -> i_aTu[tau:1] -> * | |
<i_aTu[tau:1] -> i_aTu[tau:1] -> *>_N | |
tc_infer_args (vis) | |
[anon] i_aTu[tau:1] | |
a_aKU | |
lk1 a_aKU | |
u_tys | |
tclvl 1 | |
k_aTt[tau:1] ~ i_aTu[tau:1] | |
arising from a type equality k_aTt[tau:1] ~ i_aTu[tau:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aTt[tau:1] ~ i_aTu[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aTt[tau:1] ~ i_aTu[tau:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aTt[tau:1] := i_aTu[tau:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aTt[tau:1] | |
i_aTu[tau:1] | |
<i_aTu[tau:1]>_N | |
u_tys | |
tclvl 1 | |
Constraint ~ Constraint | |
arising from a type equality Constraint ~ Constraint | |
u_tys yields no coercion | |
checkExpectedKind | |
Constraint | |
Constraint | |
<Constraint>_N | |
lk1 q_aKR | |
tc_infer_args (vis) | |
[anon] j_aTr[tau:1] | |
(f_aKS a_aKU) | |
lk1 f_aKS | |
tc_infer_args (vis) | |
[anon] i_aTu[tau:1] | |
a_aKU | |
lk1 a_aKU | |
u_tys | |
tclvl 1 | |
k_aTt[tau:1] ~ i_aTu[tau:1] | |
arising from a type equality k_aTt[tau:1] ~ i_aTu[tau:1] | |
found filled tyvar k_aTt[tau:1] :-> i_aTu[tau:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aTt[tau:1] | |
i_aTu[tau:1] | |
<i_aTu[tau:1]>_N | |
u_tys | |
tclvl 1 | |
j_aTr[tau:1] ~ j_aTr[tau:1] | |
arising from a type equality j_aTr[tau:1] ~ j_aTr[tau:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
j_aTr[tau:1] | |
j_aTr[tau:1] | |
<j_aTr[tau:1]>_N | |
tc_infer_args (vis) | |
[anon] j_aTr[tau:1] | |
(g_aKT a_aKU) | |
lk1 g_aKT | |
tc_infer_args (vis) | |
[anon] i_aTu[tau:1] | |
a_aKU | |
lk1 a_aKU | |
u_tys | |
tclvl 1 | |
k_aTt[tau:1] ~ i_aTu[tau:1] | |
arising from a type equality k_aTt[tau:1] ~ i_aTu[tau:1] | |
found filled tyvar k_aTt[tau:1] :-> i_aTu[tau:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aTt[tau:1] | |
i_aTu[tau:1] | |
<i_aTu[tau:1]>_N | |
u_tys | |
tclvl 1 | |
j_aTr[tau:1] ~ j_aTr[tau:1] | |
arising from a type equality j_aTr[tau:1] ~ j_aTr[tau:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
j_aTr[tau:1] | |
j_aTr[tau:1] | |
<j_aTr[tau:1]>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aTv[tau:1] | |
arising from a type equality * ~ TYPE t_aTv[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aTv[tau:1] | |
arising from a type equality * ~ TYPE t_aTv[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aTv[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aTv[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aTv[tau:1] | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aTs[tau:1] | |
arising from a type equality * ~ TYPE t_aTs[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aTs[tau:1] | |
arising from a type equality * ~ TYPE t_aTs[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aTs[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aTs[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aTs[tau:1] | |
<*>_N | |
tcExplicitTKBndrs | |
Hs vars: [a_aKU] | |
tvs: (a_aKU[sk:1] :: i_aTu[tau:1]) | |
tcConArg 2 | |
forall a_aKU. Ob p_aKQ a_aKU => q_aKR (f_aKS a_aKU) (g_aKT a_aKU) | |
lk1 Nat | |
tcTyVar2a | |
Nat | |
forall i j. | |
(i -> i -> *) -> (j -> j -> *) -> (i -> j) -> (i -> j) -> * | |
tc_infer_args (invis) @i_aKK | |
tc_infer_args (invis) @j_aKM | |
tc_infer_args (vis) | |
[anon] i -> i -> * | |
p_aKQ | |
lk1 p_aKQ | |
u_tys | |
tclvl 1 | |
k_aTk[tau:1] ~ i_aTw[tau:1] -> i_aTw[tau:1] -> * | |
arising from a type equality k_aTk[tau:1] | |
~ | |
i_aTw[tau:1] -> i_aTw[tau:1] -> * | |
found filled tyvar | |
k_aTk[tau:1] :-> i_aTo[tau:1] -> i_aTo[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aTo[tau:1] ~ i_aTw[tau:1] | |
arising from a type equality k_aTk[tau:1] | |
~ | |
i_aTw[tau:1] -> i_aTw[tau:1] -> * | |
found filled tyvar i_aTo[tau:1] :-> i_aTq[tau:1] | |
found filled tyvar i_aTq[tau:1] :-> i_aTu[tau:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aTu[tau:1] ~ i_aTw[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aTu[tau:1] ~ i_aTw[tau:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aTu[tau:1] := i_aTw[tau:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aTo[tau:1] -> * ~ i_aTw[tau:1] -> * | |
arising from a type equality k_aTk[tau:1] | |
~ | |
i_aTw[tau:1] -> i_aTw[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aTo[tau:1] ~ i_aTw[tau:1] | |
arising from a type equality k_aTk[tau:1] | |
~ | |
i_aTw[tau:1] -> i_aTw[tau:1] -> * | |
found filled tyvar i_aTo[tau:1] :-> i_aTq[tau:1] | |
found filled tyvar i_aTq[tau:1] :-> i_aTu[tau:1] | |
found filled tyvar i_aTu[tau:1] :-> i_aTw[tau:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality k_aTk[tau:1] | |
~ | |
i_aTw[tau:1] -> i_aTw[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aTk[tau:1] | |
i_aTw[tau:1] -> i_aTw[tau:1] -> * | |
<i_aTw[tau:1] -> i_aTw[tau:1] -> *>_N | |
tc_infer_args (vis) | |
[anon] j -> j -> * | |
q_aKR | |
lk1 q_aKR | |
u_tys | |
tclvl 1 | |
k_aTl[tau:1] ~ j_aTx[tau:1] -> j_aTx[tau:1] -> * | |
arising from a type equality k_aTl[tau:1] | |
~ | |
j_aTx[tau:1] -> j_aTx[tau:1] -> * | |
found filled tyvar | |
k_aTl[tau:1] :-> j_aTp[tau:1] -> j_aTp[tau:1] -> * | |
u_tys | |
tclvl 1 | |
j_aTp[tau:1] ~ j_aTx[tau:1] | |
arising from a type equality k_aTl[tau:1] | |
~ | |
j_aTx[tau:1] -> j_aTx[tau:1] -> * | |
found filled tyvar j_aTp[tau:1] :-> j_aTr[tau:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
j_aTr[tau:1] ~ j_aTx[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
j_aTr[tau:1] ~ j_aTx[tau:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar j_aTr[tau:1] := j_aTx[tau:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
j_aTp[tau:1] -> * ~ j_aTx[tau:1] -> * | |
arising from a type equality k_aTl[tau:1] | |
~ | |
j_aTx[tau:1] -> j_aTx[tau:1] -> * | |
u_tys | |
tclvl 1 | |
j_aTp[tau:1] ~ j_aTx[tau:1] | |
arising from a type equality k_aTl[tau:1] | |
~ | |
j_aTx[tau:1] -> j_aTx[tau:1] -> * | |
found filled tyvar j_aTp[tau:1] :-> j_aTr[tau:1] | |
found filled tyvar j_aTr[tau:1] :-> j_aTx[tau:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality k_aTl[tau:1] | |
~ | |
j_aTx[tau:1] -> j_aTx[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aTl[tau:1] | |
j_aTx[tau:1] -> j_aTx[tau:1] -> * | |
<j_aTx[tau:1] -> j_aTx[tau:1] -> *>_N | |
tc_infer_args (vis) | |
[anon] i -> j | |
f_aKS | |
lk1 f_aKS | |
u_tys | |
tclvl 1 | |
k_aTm[tau:1] ~ i_aTw[tau:1] -> j_aTx[tau:1] | |
arising from a type equality k_aTm[tau:1] | |
~ | |
i_aTw[tau:1] -> j_aTx[tau:1] | |
found filled tyvar k_aTm[tau:1] :-> i_aTo[tau:1] -> j_aTp[tau:1] | |
u_tys | |
tclvl 1 | |
i_aTo[tau:1] ~ i_aTw[tau:1] | |
arising from a type equality k_aTm[tau:1] | |
~ | |
i_aTw[tau:1] -> j_aTx[tau:1] | |
found filled tyvar i_aTo[tau:1] :-> i_aTq[tau:1] | |
found filled tyvar i_aTq[tau:1] :-> i_aTu[tau:1] | |
found filled tyvar i_aTu[tau:1] :-> i_aTw[tau:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
j_aTp[tau:1] ~ j_aTx[tau:1] | |
arising from a type equality k_aTm[tau:1] | |
~ | |
i_aTw[tau:1] -> j_aTx[tau:1] | |
found filled tyvar j_aTp[tau:1] :-> j_aTr[tau:1] | |
found filled tyvar j_aTr[tau:1] :-> j_aTx[tau:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aTm[tau:1] | |
i_aTw[tau:1] -> j_aTx[tau:1] | |
<i_aTw[tau:1] -> j_aTx[tau:1]>_N | |
tc_infer_args (vis) | |
[anon] i -> j | |
g_aKT | |
lk1 g_aKT | |
u_tys | |
tclvl 1 | |
k_aTn[tau:1] ~ i_aTw[tau:1] -> j_aTx[tau:1] | |
arising from a type equality k_aTn[tau:1] | |
~ | |
i_aTw[tau:1] -> j_aTx[tau:1] | |
found filled tyvar k_aTn[tau:1] :-> i_aTq[tau:1] -> j_aTr[tau:1] | |
u_tys | |
tclvl 1 | |
i_aTq[tau:1] ~ i_aTw[tau:1] | |
arising from a type equality k_aTn[tau:1] | |
~ | |
i_aTw[tau:1] -> j_aTx[tau:1] | |
found filled tyvar i_aTq[tau:1] :-> i_aTu[tau:1] | |
found filled tyvar i_aTu[tau:1] :-> i_aTw[tau:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
j_aTr[tau:1] ~ j_aTx[tau:1] | |
arising from a type equality k_aTn[tau:1] | |
~ | |
i_aTw[tau:1] -> j_aTx[tau:1] | |
found filled tyvar j_aTr[tau:1] :-> j_aTx[tau:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aTn[tau:1] | |
i_aTw[tau:1] -> j_aTx[tau:1] | |
<i_aTw[tau:1] -> j_aTx[tau:1]>_N | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
lookupCF | |
Nat | |
Just [runNat{runNat}] | |
[rKl :-> [runNat{runNat}], rKy :-> [], rKC :-> [getY{getY}]] | |
tcExplicitTKBndrs | |
Hs vars: [] | |
tvs: | |
tcImplicitTKBndrs | |
[p_aKQ, q_aKR, f_aKS, g_aKT] | |
[p_aKQ[sk:1], q_aKR[sk:1], f_aKS[sk:1], g_aKT[sk:1]] | |
solveEqualities { wanted = WC {} | |
newTcEvBinds unique = aTy | |
solveWanteds { WC {} | |
solveSimpleWanteds { {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {} | |
End solveEqualities } | |
reportAllUnsolved { | |
newTcEvBinds unique = aTz | |
reportAllUnsolved } | |
quantifyZonkedTyVars | |
DV {dv_kvs = [aTx :-> j_aTx[tau:1], aTw :-> i_aTw[tau:1]] | |
dv_tvs = [aTx :-> j_aTx[tau:1], aTw :-> i_aTw[tau:1]]} | |
[] | |
Skolemising j_aTx[tau:1] := j_aTx[sk:1] | |
writeMetaTyVar j_aTx[tau:1] := j_aTx[sk:1] | |
Skolemising i_aTw[tau:1] := i_aTw[sk:1] | |
writeMetaTyVar i_aTw[tau:1] := i_aTw[sk:1] | |
quantifyTyVars | |
globals: [] | |
nondep: [] | |
dep: [j_aTx[tau:1], i_aTw[tau:1]] | |
dep_kvs' [j_aTx[sk:1], i_aTw[sk:1]] | |
nondep_tvs' [] | |
tcConDecl 2 | |
[Nat] | |
[runNat{runNat}] | |
tcConDecl 2 [Nat] | |
tcDataDefn | |
Nat | |
[@i_aKK, @j_aKM, p_aKL, q_aKN, f_aKO, g_aKP] | |
[] | |
tcTyAndCl-x | |
class (Category p_aKW, Category q_aKY) => Functor (p_aKW :: i_aKV | |
-> i_aKV -> *) (q_aKY :: j_aKX | |
-> j_aKX | |
-> *) (f_aKZ :: i_aKV | |
-> j_aKX) | f_aKZ -> p_aKW | |
q_aKY where | |
fmap :: p_aKW a_aL0 b_aL1 -> q_aKY (f_aKZ a_aL0) (f_aKZ b_aL1) | |
env2 | |
[(i_aKV, Type variable ‘i_aKV’ = i_aKV[sk:1]), | |
(j_aKX, Type variable ‘j_aKX’ = j_aKX[sk:1]), | |
(p_aKW, Type variable ‘p_aKW’ = p_aKW[sk:1]), | |
(q_aKY, Type variable ‘q_aKY’ = q_aKY[sk:1]), | |
(f_aKZ, Type variable ‘f_aKZ’ = f_aKZ[sk:1])] | |
tcClassDecl 1 | |
Functor | |
[@i_aKV, @j_aKX, p_aKW, q_aKY, f_aKZ] | |
lk1 Category | |
tcTyVar2a | |
Category | |
forall i. (i -> i -> *) -> Constraint | |
tc_infer_args (invis) @i_aL2 | |
tc_infer_args (vis) | |
[anon] i -> i -> * | |
p_aKW | |
lk1 p_aKW | |
u_tys | |
tclvl 1 | |
i_aKV[sk:1] -> i_aKV[sk:1] -> * ~ i_aTF[tau:1] -> i_aTF[tau:1] -> * | |
arising from a type equality i_aKV[sk:1] -> i_aKV[sk:1] -> * | |
~ | |
i_aTF[tau:1] -> i_aTF[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aKV[sk:1] ~ i_aTF[tau:1] | |
arising from a type equality i_aKV[sk:1] -> i_aKV[sk:1] -> * | |
~ | |
i_aTF[tau:1] -> i_aTF[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aTF[tau:1] ~ i_aKV[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aTF[tau:1] ~ i_aKV[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aTF[tau:1] := i_aKV[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aKV[sk:1] -> * ~ i_aTF[tau:1] -> * | |
arising from a type equality i_aKV[sk:1] -> i_aKV[sk:1] -> * | |
~ | |
i_aTF[tau:1] -> i_aTF[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aKV[sk:1] ~ i_aTF[tau:1] | |
arising from a type equality i_aKV[sk:1] -> i_aKV[sk:1] -> * | |
~ | |
i_aTF[tau:1] -> i_aTF[tau:1] -> * | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality i_aKV[sk:1] -> i_aKV[sk:1] -> * | |
~ | |
i_aTF[tau:1] -> i_aTF[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aKV[sk:1] -> i_aKV[sk:1] -> * | |
i_aTF[tau:1] -> i_aTF[tau:1] -> * | |
<i_aKV[sk:1] -> i_aKV[sk:1] -> *>_N | |
u_tys | |
tclvl 1 | |
Constraint ~ Constraint | |
arising from a type equality Constraint ~ Constraint | |
u_tys yields no coercion | |
checkExpectedKind | |
Constraint | |
Constraint | |
<Constraint>_N | |
lk1 Category | |
tcTyVar2a | |
Category | |
forall i. (i -> i -> *) -> Constraint | |
tc_infer_args (invis) @i_aL2 | |
tc_infer_args (vis) | |
[anon] i -> i -> * | |
q_aKY | |
lk1 q_aKY | |
u_tys | |
tclvl 1 | |
j_aKX[sk:1] -> j_aKX[sk:1] -> * ~ i_aTG[tau:1] -> i_aTG[tau:1] -> * | |
arising from a type equality j_aKX[sk:1] -> j_aKX[sk:1] -> * | |
~ | |
i_aTG[tau:1] -> i_aTG[tau:1] -> * | |
u_tys | |
tclvl 1 | |
j_aKX[sk:1] ~ i_aTG[tau:1] | |
arising from a type equality j_aKX[sk:1] -> j_aKX[sk:1] -> * | |
~ | |
i_aTG[tau:1] -> i_aTG[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aTG[tau:1] ~ j_aKX[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aTG[tau:1] ~ j_aKX[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aTG[tau:1] := j_aKX[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
j_aKX[sk:1] -> * ~ i_aTG[tau:1] -> * | |
arising from a type equality j_aKX[sk:1] -> j_aKX[sk:1] -> * | |
~ | |
i_aTG[tau:1] -> i_aTG[tau:1] -> * | |
u_tys | |
tclvl 1 | |
j_aKX[sk:1] ~ i_aTG[tau:1] | |
arising from a type equality j_aKX[sk:1] -> j_aKX[sk:1] -> * | |
~ | |
i_aTG[tau:1] -> i_aTG[tau:1] -> * | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality j_aKX[sk:1] -> j_aKX[sk:1] -> * | |
~ | |
i_aTG[tau:1] -> i_aTG[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
j_aKX[sk:1] -> j_aKX[sk:1] -> * | |
i_aTG[tau:1] -> i_aTG[tau:1] -> * | |
<j_aKX[sk:1] -> j_aKX[sk:1] -> *>_N | |
u_tys | |
tclvl 1 | |
Constraint ~ Constraint | |
arising from a type equality Constraint ~ Constraint | |
u_tys yields no coercion | |
checkExpectedKind | |
Constraint | |
Constraint | |
<Constraint>_N | |
solveEqualities { wanted = WC {} | |
newTcEvBinds unique = aTH | |
solveWanteds { WC {} | |
solveSimpleWanteds { {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {} | |
End solveEqualities } | |
reportAllUnsolved { | |
newTcEvBinds unique = aTI | |
reportAllUnsolved } | |
tcClassSigs 1 Functor | |
ClsSig 1 [fmap] | |
env2 | |
[(a_aL0, Type variable ‘a_aL0’ = a_aL0[sk:1]), | |
(b_aL1, Type variable ‘b_aL1’ = b_aL1[sk:1])] | |
lk1 p_aKW | |
tc_infer_args (vis) | |
[anon] i_aKV[sk:1] | |
a_aL0 | |
lk1 a_aL0 | |
u_tys | |
tclvl 1 | |
k_aTJ[tau:1] ~ i_aKV[sk:1] | |
arising from a type equality k_aTJ[tau:1] ~ i_aKV[sk:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aTJ[tau:1] ~ i_aKV[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aTJ[tau:1] ~ i_aKV[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aTJ[tau:1] := i_aKV[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aTJ[tau:1] | |
i_aKV[sk:1] | |
<i_aKV[sk:1]>_N | |
tc_infer_args (vis) | |
[anon] i_aKV[sk:1] | |
b_aL1 | |
lk1 b_aL1 | |
u_tys | |
tclvl 1 | |
k_aTK[tau:1] ~ i_aKV[sk:1] | |
arising from a type equality k_aTK[tau:1] ~ i_aKV[sk:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aTK[tau:1] ~ i_aKV[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aTK[tau:1] ~ i_aKV[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aTK[tau:1] := i_aKV[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aTK[tau:1] | |
i_aKV[sk:1] | |
<i_aKV[sk:1]>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aTL[tau:1] | |
arising from a type equality * ~ TYPE t_aTL[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aTL[tau:1] | |
arising from a type equality * ~ TYPE t_aTL[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aTL[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aTL[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aTL[tau:1] | |
<*>_N | |
lk1 q_aKY | |
tc_infer_args (vis) | |
[anon] j_aKX[sk:1] | |
(f_aKZ a_aL0) | |
lk1 f_aKZ | |
tc_infer_args (vis) | |
[anon] i_aKV[sk:1] | |
a_aL0 | |
lk1 a_aL0 | |
u_tys | |
tclvl 1 | |
k_aTJ[tau:1] ~ i_aKV[sk:1] | |
arising from a type equality k_aTJ[tau:1] ~ i_aKV[sk:1] | |
found filled tyvar k_aTJ[tau:1] :-> i_aKV[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aTJ[tau:1] | |
i_aKV[sk:1] | |
<i_aKV[sk:1]>_N | |
u_tys | |
tclvl 1 | |
j_aKX[sk:1] ~ j_aKX[sk:1] | |
arising from a type equality j_aKX[sk:1] ~ j_aKX[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
j_aKX[sk:1] | |
j_aKX[sk:1] | |
<j_aKX[sk:1]>_N | |
tc_infer_args (vis) | |
[anon] j_aKX[sk:1] | |
(f_aKZ b_aL1) | |
lk1 f_aKZ | |
tc_infer_args (vis) | |
[anon] i_aKV[sk:1] | |
b_aL1 | |
lk1 b_aL1 | |
u_tys | |
tclvl 1 | |
k_aTK[tau:1] ~ i_aKV[sk:1] | |
arising from a type equality k_aTK[tau:1] ~ i_aKV[sk:1] | |
found filled tyvar k_aTK[tau:1] :-> i_aKV[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aTK[tau:1] | |
i_aKV[sk:1] | |
<i_aKV[sk:1]>_N | |
u_tys | |
tclvl 1 | |
j_aKX[sk:1] ~ j_aKX[sk:1] | |
arising from a type equality j_aKX[sk:1] ~ j_aKX[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
j_aKX[sk:1] | |
j_aKX[sk:1] | |
<j_aKX[sk:1]>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aTM[tau:1] | |
arising from a type equality * ~ TYPE t_aTM[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aTM[tau:1] | |
arising from a type equality * ~ TYPE t_aTM[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aTM[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aTM[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aTM[tau:1] | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
tcImplicitTKBndrs | |
[a_aL0, b_aL1] | |
[a_aL0[sk:1], b_aL1[sk:1]] | |
solveEqualities { wanted = WC {} | |
newTcEvBinds unique = aTN | |
solveWanteds { WC {} | |
solveSimpleWanteds { {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {} | |
End solveEqualities } | |
reportAllUnsolved { | |
newTcEvBinds unique = aTO | |
reportAllUnsolved } | |
quantifyZonkedTyVars | |
DV {dv_kvs = [aKW :-> p_aKW[sk:1], aKY :-> q_aKY[sk:1], | |
aKZ :-> f_aKZ[sk:1], aKX :-> j_aKX[sk:1], aKV :-> i_aKV[sk:1]] | |
dv_tvs = []} | |
[aKV :-> i_aKV[sk:1], aKW :-> p_aKW[sk:1], aKX :-> j_aKX[sk:1], | |
aKY :-> q_aKY[sk:1], aKZ :-> f_aKZ[sk:1]] | |
quantifyTyVars | |
globals: [aKV :-> i_aKV[sk:1], aKW :-> p_aKW[sk:1], | |
aKX :-> j_aKX[sk:1], aKY :-> q_aKY[sk:1], aKZ :-> f_aKZ[sk:1]] | |
nondep: [] | |
dep: [] | |
dep_kvs' [] | |
nondep_tvs' [] | |
ClsSig 2 [fmap] | |
tcClassSigs 2 Functor | |
tcClassDecl | |
[([f_aKZ], [p_aKW, q_aKY])] | |
[@i_aKV, @j_aKX, p_aKW, q_aKY, f_aKZ] | |
[([f_aKZ[sk:1]], [p_aKW[sk:1], q_aKY[sk:1]])] | |
tcTyAndCl-x | |
class Functor (Op p_aL3) (Nat p_aL3 (->)) p_aL3 => Category (p_aL3 :: i_aL2 | |
-> i_aL2 -> *) where | |
type Ob p_aL3 :: i_aL2 -> Constraint | |
type Ob p_aL4 = Vacuous p_aL4 | |
id :: Ob p_aL3 a_aL5 => p_aL3 a_aL5 a_aL5 | |
(.) :: p_aL3 b_aL6 c_aL7 -> p_aL3 a_aL8 b_aL6 -> p_aL3 a_aL8 c_aL7 | |
source :: p_aL3 a_aL9 b_aLa -> Dict (Ob p_aL3 a_aL9) | |
default source :: | |
(Ob p_aL3 ~ Vacuous p_aL3) => | |
p_aL3 a_aLb b_aLc -> Dict (Ob p_aL3 a_aLb) | |
source _ = Dict | |
target :: p_aL3 a_aLd b_aLe -> Dict (Ob p_aL3 b_aLe) | |
default target :: | |
(Ob p_aL3 ~ Vacuous p_aL3) => | |
p_aL3 a_aLf b_aLg -> Dict (Ob p_aL3 b_aLg) | |
target _ = Dict | |
op :: p_aL3 b_aLh a_aLi -> Op p_aL3 a_aLi b_aLh | |
default op :: | |
Op p_aL3 ~ Y p_aL3 => p_aL3 b_aLj a_aLk -> Op p_aL3 a_aLk b_aLj | |
op = Y | |
unop :: Op p_aL3 b_aLl a_aLm -> p_aL3 a_aLm b_aLl | |
default unop :: | |
Op p_aL3 ~ Y p_aL3 => Op p_aL3 b_aLn a_aLo -> p_aL3 a_aLo b_aLn | |
unop = getY | |
env2 | |
[(i_aL2, Type variable ‘i_aL2’ = i_aL2[sk:1]), | |
(p_aL3, Type variable ‘p_aL3’ = p_aL3[sk:1])] | |
tcClassDecl 1 | |
Category | |
[@i_aL2, p_aL3] | |
lk1 Functor | |
tcTyVar2a | |
Functor | |
forall i j. | |
(i -> i -> *) -> (j -> j -> *) -> (i -> j) -> Constraint | |
tc_infer_args (invis) @i_aKV | |
tc_infer_args (invis) @j_aKX | |
tc_infer_args (vis) | |
[anon] i -> i -> * | |
(Op p_aL3) | |
lk1 Op | |
instantiating tybinders: | |
@j_aLv := j_aTZ[tau:1] | |
@i_aLu := i_aU0[tau:1] | |
tcTyVar2b | |
Op :: forall j i. (i -> j -> *) -> j -> i -> * | |
(i_aU0[tau:1] -> j_aTZ[tau:1] -> *) | |
-> j_aTZ[tau:1] -> i_aU0[tau:1] -> * | |
tc_infer_args (vis) | |
[anon] i_aU0[tau:1] -> j_aTZ[tau:1] -> * | |
p_aL3 | |
lk1 p_aL3 | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * ~ i_aU0[tau:1] -> j_aTZ[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aU0[tau:1] -> j_aTZ[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aU0[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aU0[tau:1] -> j_aTZ[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aU0[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aU0[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aU0[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> * ~ j_aTZ[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aU0[tau:1] -> j_aTZ[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ j_aTZ[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aU0[tau:1] -> j_aTZ[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
j_aTZ[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
j_aTZ[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar j_aTZ[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aU0[tau:1] -> j_aTZ[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
i_aU0[tau:1] -> j_aTZ[tau:1] -> * | |
<i_aL2[sk:1] -> i_aL2[sk:1] -> *>_N | |
u_tys | |
tclvl 1 | |
j_aTZ[tau:1] -> i_aU0[tau:1] -> * | |
~ | |
i_aTX[tau:1] -> i_aTX[tau:1] -> * | |
arising from a type equality j_aTZ[tau:1] -> i_aU0[tau:1] -> * | |
~ | |
i_aTX[tau:1] -> i_aTX[tau:1] -> * | |
u_tys | |
tclvl 1 | |
j_aTZ[tau:1] ~ i_aTX[tau:1] | |
arising from a type equality j_aTZ[tau:1] -> i_aU0[tau:1] -> * | |
~ | |
i_aTX[tau:1] -> i_aTX[tau:1] -> * | |
found filled tyvar j_aTZ[tau:1] :-> i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aTX[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aTX[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aTX[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aU0[tau:1] -> * ~ i_aTX[tau:1] -> * | |
arising from a type equality j_aTZ[tau:1] -> i_aU0[tau:1] -> * | |
~ | |
i_aTX[tau:1] -> i_aTX[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aU0[tau:1] ~ i_aTX[tau:1] | |
arising from a type equality j_aTZ[tau:1] -> i_aU0[tau:1] -> * | |
~ | |
i_aTX[tau:1] -> i_aTX[tau:1] -> * | |
found filled tyvar i_aU0[tau:1] :-> i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality j_aTZ[tau:1] -> i_aU0[tau:1] -> * | |
~ | |
i_aTX[tau:1] -> i_aTX[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
j_aTZ[tau:1] -> i_aU0[tau:1] -> * | |
i_aTX[tau:1] -> i_aTX[tau:1] -> * | |
<i_aL2[sk:1] -> i_aL2[sk:1] -> *>_N | |
tc_infer_args (vis) | |
[anon] j -> j -> * | |
(Nat p_aL3 (->)) | |
lk1 Nat | |
tcTyVar2a | |
Nat | |
forall i j. | |
(i -> i -> *) -> (j -> j -> *) -> (i -> j) -> (i -> j) -> * | |
tc_infer_args (invis) @i_aKK | |
tc_infer_args (invis) @j_aKM | |
tc_infer_args (vis) | |
[anon] i -> i -> * | |
p_aL3 | |
lk1 p_aL3 | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * ~ i_aU1[tau:1] -> i_aU1[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aU1[tau:1] -> i_aU1[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aU1[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aU1[tau:1] -> i_aU1[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aU1[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aU1[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aU1[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> * ~ i_aU1[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aU1[tau:1] -> i_aU1[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aU1[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aU1[tau:1] -> i_aU1[tau:1] -> * | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aU1[tau:1] -> i_aU1[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
i_aU1[tau:1] -> i_aU1[tau:1] -> * | |
<i_aL2[sk:1] -> i_aL2[sk:1] -> *>_N | |
tc_infer_args (vis) | |
[anon] j -> j -> * | |
(->) | |
lk1 (->) | |
tcTyVar2a | |
(->) | |
TYPE q -> TYPE r -> * | |
instantiating tybinders: | |
{q_1h} := q_aU3[tau:1] | |
{r_1i} := r_aU4[tau:1] | |
u_tys | |
tclvl 1 | |
TYPE q_aU3[tau:1] -> TYPE r_aU4[tau:1] -> * | |
~ | |
j_aU2[tau:1] -> j_aU2[tau:1] -> * | |
arising from a type equality TYPE q_aU3[tau:1] | |
-> TYPE r_aU4[tau:1] -> * | |
~ | |
j_aU2[tau:1] -> j_aU2[tau:1] -> * | |
u_tys | |
tclvl 1 | |
TYPE q_aU3[tau:1] ~ j_aU2[tau:1] | |
arising from a type equality TYPE q_aU3[tau:1] | |
-> TYPE r_aU4[tau:1] -> * | |
~ | |
j_aU2[tau:1] -> j_aU2[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
j_aU2[tau:1] ~ TYPE q_aU3[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
j_aU2[tau:1] ~ TYPE q_aU3[tau:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar j_aU2[tau:1] := TYPE q_aU3[tau:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
TYPE r_aU4[tau:1] -> * ~ j_aU2[tau:1] -> * | |
arising from a type equality TYPE q_aU3[tau:1] | |
-> TYPE r_aU4[tau:1] -> * | |
~ | |
j_aU2[tau:1] -> j_aU2[tau:1] -> * | |
u_tys | |
tclvl 1 | |
TYPE r_aU4[tau:1] ~ j_aU2[tau:1] | |
arising from a type equality TYPE q_aU3[tau:1] | |
-> TYPE r_aU4[tau:1] -> * | |
~ | |
j_aU2[tau:1] -> j_aU2[tau:1] -> * | |
found filled tyvar j_aU2[tau:1] :-> TYPE q_aU3[tau:1] | |
u_tys | |
tclvl 1 | |
r_aU4[tau:1] ~ q_aU3[tau:1] | |
arising from a type equality TYPE q_aU3[tau:1] | |
-> TYPE r_aU4[tau:1] -> * | |
~ | |
j_aU2[tau:1] -> j_aU2[tau:1] -> * | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
r_aU4[tau:1] ~ q_aU3[tau:1] | |
u_tys yields no coercion | |
writeMetaTyVar r_aU4[tau:1] := q_aU3[tau:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality TYPE q_aU3[tau:1] | |
-> TYPE r_aU4[tau:1] -> * | |
~ | |
j_aU2[tau:1] -> j_aU2[tau:1] -> * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality TYPE q_aU3[tau:1] | |
-> TYPE r_aU4[tau:1] -> * | |
~ | |
j_aU2[tau:1] -> j_aU2[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
TYPE q -> TYPE r -> * | |
j_aU2[tau:1] -> j_aU2[tau:1] -> * | |
<TYPE q_aU3[tau:1] -> TYPE q_aU3[tau:1] -> *>_N | |
u_tys | |
tclvl 1 | |
(i_aU1[tau:1] -> j_aU2[tau:1]) | |
-> (i_aU1[tau:1] -> j_aU2[tau:1]) -> * | |
~ | |
j_aTY[tau:1] -> j_aTY[tau:1] -> * | |
arising from a type equality (i_aU1[tau:1] -> j_aU2[tau:1]) | |
-> (i_aU1[tau:1] -> j_aU2[tau:1]) -> * | |
~ | |
j_aTY[tau:1] -> j_aTY[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aU1[tau:1] -> j_aU2[tau:1] ~ j_aTY[tau:1] | |
arising from a type equality (i_aU1[tau:1] -> j_aU2[tau:1]) | |
-> (i_aU1[tau:1] -> j_aU2[tau:1]) -> * | |
~ | |
j_aTY[tau:1] -> j_aTY[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
j_aTY[tau:1] ~ i_aL2[sk:1] -> TYPE q_aU3[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
j_aTY[tau:1] ~ i_aL2[sk:1] -> TYPE q_aU3[tau:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar j_aTY[tau:1] := i_aL2[sk:1] -> TYPE q_aU3[tau:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
(i_aU1[tau:1] -> j_aU2[tau:1]) -> * ~ j_aTY[tau:1] -> * | |
arising from a type equality (i_aU1[tau:1] -> j_aU2[tau:1]) | |
-> (i_aU1[tau:1] -> j_aU2[tau:1]) -> * | |
~ | |
j_aTY[tau:1] -> j_aTY[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aU1[tau:1] -> j_aU2[tau:1] ~ j_aTY[tau:1] | |
arising from a type equality (i_aU1[tau:1] -> j_aU2[tau:1]) | |
-> (i_aU1[tau:1] -> j_aU2[tau:1]) -> * | |
~ | |
j_aTY[tau:1] -> j_aTY[tau:1] -> * | |
found filled tyvar | |
j_aTY[tau:1] :-> i_aL2[sk:1] -> TYPE q_aU3[tau:1] | |
u_tys | |
tclvl 1 | |
i_aU1[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality (i_aU1[tau:1] -> j_aU2[tau:1]) | |
-> (i_aU1[tau:1] -> j_aU2[tau:1]) -> * | |
~ | |
j_aTY[tau:1] -> j_aTY[tau:1] -> * | |
found filled tyvar i_aU1[tau:1] :-> i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
j_aU2[tau:1] ~ TYPE q_aU3[tau:1] | |
arising from a type equality (i_aU1[tau:1] -> j_aU2[tau:1]) | |
-> (i_aU1[tau:1] -> j_aU2[tau:1]) -> * | |
~ | |
j_aTY[tau:1] -> j_aTY[tau:1] -> * | |
found filled tyvar j_aU2[tau:1] :-> TYPE q_aU3[tau:1] | |
u_tys | |
tclvl 1 | |
q_aU3[tau:1] ~ q_aU3[tau:1] | |
arising from a type equality (i_aU1[tau:1] -> j_aU2[tau:1]) | |
-> (i_aU1[tau:1] -> j_aU2[tau:1]) -> * | |
~ | |
j_aTY[tau:1] -> j_aTY[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality (i_aU1[tau:1] -> j_aU2[tau:1]) | |
-> (i_aU1[tau:1] -> j_aU2[tau:1]) -> * | |
~ | |
j_aTY[tau:1] -> j_aTY[tau:1] -> * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality (i_aU1[tau:1] -> j_aU2[tau:1]) | |
-> (i_aU1[tau:1] -> j_aU2[tau:1]) -> * | |
~ | |
j_aTY[tau:1] -> j_aTY[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
(i_aU1[tau:1] -> j_aU2[tau:1]) | |
-> (i_aU1[tau:1] -> j_aU2[tau:1]) -> * | |
j_aTY[tau:1] -> j_aTY[tau:1] -> * | |
<(i_aL2[sk:1] -> TYPE q_aU3[tau:1]) | |
-> (i_aL2[sk:1] -> TYPE q_aU3[tau:1]) -> *>_N | |
tc_infer_args (vis) | |
[anon] i -> j | |
p_aL3 | |
lk1 p_aL3 | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * ~ i_aTX[tau:1] -> j_aTY[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aTX[tau:1] -> j_aTY[tau:1] | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aTX[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aTX[tau:1] -> j_aTY[tau:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> * ~ j_aTY[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aTX[tau:1] -> j_aTY[tau:1] | |
found filled tyvar | |
j_aTY[tau:1] :-> i_aL2[sk:1] -> TYPE q_aU3[tau:1] | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aL2[sk:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aTX[tau:1] -> j_aTY[tau:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ TYPE q_aU3[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aTX[tau:1] -> j_aTY[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ q_aU3[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aTX[tau:1] -> j_aTY[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
q_aU3[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar q_aU3[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
i_aTX[tau:1] -> j_aTY[tau:1] | |
<i_aL2[sk:1] -> i_aL2[sk:1] -> *>_N | |
u_tys | |
tclvl 1 | |
Constraint ~ Constraint | |
arising from a type equality Constraint ~ Constraint | |
u_tys yields no coercion | |
checkExpectedKind | |
Constraint | |
Constraint | |
<Constraint>_N | |
solveEqualities { wanted = WC {} | |
newTcEvBinds unique = aU5 | |
solveWanteds { WC {} | |
solveSimpleWanteds { {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {} | |
End solveEqualities } | |
reportAllUnsolved { | |
newTcEvBinds unique = aU6 | |
reportAllUnsolved } | |
tcClassSigs 1 Category | |
env2 | |
[(a_aLb, Type variable ‘a_aLb’ = a_aLb[sk:1]), | |
(b_aLc, Type variable ‘b_aLc’ = b_aLc[sk:1])] | |
lk1 ~ | |
tcTyVar2a | |
~ | |
forall k. k -> k -> Constraint | |
tc_infer_args (invis) @k_aSe | |
tc_infer_args (vis) | |
[anon] k | |
Ob p_aL3 | |
lk1 Ob | |
instantiating tybinders: @i_aL2 := i_aUa[tau:1] | |
tcTyVar2b | |
Ob :: forall i. (i -> i -> *) -> i -> Constraint | |
(i_aUa[tau:1] -> i_aUa[tau:1] -> *) -> i_aUa[tau:1] -> Constraint | |
tc_infer_args (vis) | |
[anon] i_aUa[tau:1] -> i_aUa[tau:1] -> * | |
p_aL3 | |
lk1 p_aL3 | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * ~ i_aUa[tau:1] -> i_aUa[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUa[tau:1] -> i_aUa[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aUa[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUa[tau:1] -> i_aUa[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aUa[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aUa[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aUa[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> * ~ i_aUa[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUa[tau:1] -> i_aUa[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aUa[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUa[tau:1] -> i_aUa[tau:1] -> * | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUa[tau:1] -> i_aUa[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
i_aUa[tau:1] -> i_aUa[tau:1] -> * | |
<i_aL2[sk:1] -> i_aL2[sk:1] -> *>_N | |
u_tys | |
tclvl 1 | |
i_aUa[tau:1] -> Constraint ~ k_aU9[tau:1] | |
arising from a type equality i_aUa[tau:1] -> Constraint | |
~ | |
k_aU9[tau:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aU9[tau:1] ~ i_aL2[sk:1] -> Constraint | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aU9[tau:1] ~ i_aL2[sk:1] -> Constraint | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aU9[tau:1] := i_aL2[sk:1] -> Constraint | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aUa[tau:1] -> Constraint | |
k_aU9[tau:1] | |
<i_aL2[sk:1] -> Constraint>_N | |
tc_infer_args (vis) | |
[anon] k | |
Vacuous p_aL3 | |
lk1 Vacuous | |
tcTyVar2a | |
Vacuous | |
forall i. (i -> i -> *) -> i -> Constraint | |
tc_infer_args (invis) @i_aLr | |
tc_infer_args (vis) | |
[anon] i -> i -> * | |
p_aL3 | |
lk1 p_aL3 | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * ~ i_aUb[tau:1] -> i_aUb[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUb[tau:1] -> i_aUb[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aUb[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUb[tau:1] -> i_aUb[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aUb[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aUb[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aUb[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> * ~ i_aUb[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUb[tau:1] -> i_aUb[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aUb[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUb[tau:1] -> i_aUb[tau:1] -> * | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUb[tau:1] -> i_aUb[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
i_aUb[tau:1] -> i_aUb[tau:1] -> * | |
<i_aL2[sk:1] -> i_aL2[sk:1] -> *>_N | |
u_tys | |
tclvl 1 | |
i_aUb[tau:1] -> Constraint ~ k_aU9[tau:1] | |
arising from a type equality i_aUb[tau:1] -> Constraint | |
~ | |
k_aU9[tau:1] | |
found filled tyvar k_aU9[tau:1] :-> i_aL2[sk:1] -> Constraint | |
u_tys | |
tclvl 1 | |
i_aUb[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality i_aUb[tau:1] -> Constraint | |
~ | |
k_aU9[tau:1] | |
found filled tyvar i_aUb[tau:1] :-> i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
Constraint ~ Constraint | |
arising from a type equality i_aUb[tau:1] -> Constraint | |
~ | |
k_aU9[tau:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aUb[tau:1] -> Constraint | |
k_aU9[tau:1] | |
<i_aL2[sk:1] -> Constraint>_N | |
u_tys | |
tclvl 1 | |
Constraint ~ Constraint | |
arising from a type equality Constraint ~ Constraint | |
u_tys yields no coercion | |
checkExpectedKind | |
Constraint | |
Constraint | |
<Constraint>_N | |
lk1 p_aL3 | |
tc_infer_args (vis) | |
[anon] i_aL2[sk:1] | |
a_aLb | |
lk1 a_aLb | |
u_tys | |
tclvl 1 | |
k_aU7[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality k_aU7[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aU7[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aU7[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aU7[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aU7[tau:1] | |
i_aL2[sk:1] | |
<i_aL2[sk:1]>_N | |
tc_infer_args (vis) | |
[anon] i_aL2[sk:1] | |
b_aLc | |
lk1 b_aLc | |
u_tys | |
tclvl 1 | |
k_aU8[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality k_aU8[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aU8[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aU8[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aU8[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aU8[tau:1] | |
i_aL2[sk:1] | |
<i_aL2[sk:1]>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aUd[tau:1] | |
arising from a type equality * ~ TYPE t_aUd[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aUd[tau:1] | |
arising from a type equality * ~ TYPE t_aUd[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aUd[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aUd[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aUd[tau:1] | |
<*>_N | |
lk1 Dict | |
tcTyVar2a | |
Dict | |
Constraint -> * | |
tc_infer_args (vis) | |
[anon] Constraint | |
(Ob p_aL3 a_aLb) | |
lk1 Ob | |
instantiating tybinders: @i_aL2 := i_aUf[tau:1] | |
tcTyVar2b | |
Ob :: forall i. (i -> i -> *) -> i -> Constraint | |
(i_aUf[tau:1] -> i_aUf[tau:1] -> *) -> i_aUf[tau:1] -> Constraint | |
tc_infer_args (vis) | |
[anon] i_aUf[tau:1] -> i_aUf[tau:1] -> * | |
p_aL3 | |
lk1 p_aL3 | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * ~ i_aUf[tau:1] -> i_aUf[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUf[tau:1] -> i_aUf[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aUf[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUf[tau:1] -> i_aUf[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aUf[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aUf[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aUf[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> * ~ i_aUf[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUf[tau:1] -> i_aUf[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aUf[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUf[tau:1] -> i_aUf[tau:1] -> * | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUf[tau:1] -> i_aUf[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
i_aUf[tau:1] -> i_aUf[tau:1] -> * | |
<i_aL2[sk:1] -> i_aL2[sk:1] -> *>_N | |
tc_infer_args (vis) | |
[anon] i_aUf[tau:1] | |
a_aLb | |
lk1 a_aLb | |
u_tys | |
tclvl 1 | |
k_aU7[tau:1] ~ i_aUf[tau:1] | |
arising from a type equality k_aU7[tau:1] ~ i_aUf[tau:1] | |
found filled tyvar k_aU7[tau:1] :-> i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aU7[tau:1] | |
i_aUf[tau:1] | |
<i_aL2[sk:1]>_N | |
u_tys | |
tclvl 1 | |
Constraint ~ Constraint | |
arising from a type equality Constraint ~ Constraint | |
u_tys yields no coercion | |
checkExpectedKind | |
Constraint | |
Constraint | |
<Constraint>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aUe[tau:1] | |
arising from a type equality * ~ TYPE t_aUe[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aUe[tau:1] | |
arising from a type equality * ~ TYPE t_aUe[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aUe[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aUe[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aUe[tau:1] | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aUc[tau:1] | |
arising from a type equality * ~ TYPE t_aUc[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aUc[tau:1] | |
arising from a type equality * ~ TYPE t_aUc[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aUc[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aUc[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aUc[tau:1] | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
tcImplicitTKBndrs | |
[a_aLb, b_aLc] | |
[a_aLb[sk:1], b_aLc[sk:1]] | |
solveEqualities { wanted = WC {} | |
newTcEvBinds unique = aUg | |
solveWanteds { WC {} | |
solveSimpleWanteds { {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {} | |
End solveEqualities } | |
reportAllUnsolved { | |
newTcEvBinds unique = aUh | |
reportAllUnsolved } | |
quantifyZonkedTyVars | |
DV {dv_kvs = [aL3 :-> p_aL3[sk:1], aL2 :-> i_aL2[sk:1]] | |
dv_tvs = []} | |
[aL2 :-> i_aL2[sk:1], aL3 :-> p_aL3[sk:1]] | |
quantifyTyVars | |
globals: [aL2 :-> i_aL2[sk:1], aL3 :-> p_aL3[sk:1]] | |
nondep: [] | |
dep: [] | |
dep_kvs' [] | |
nondep_tvs' [] | |
env2 | |
[(a_aLf, Type variable ‘a_aLf’ = a_aLf[sk:1]), | |
(b_aLg, Type variable ‘b_aLg’ = b_aLg[sk:1])] | |
lk1 ~ | |
tcTyVar2a | |
~ | |
forall k. k -> k -> Constraint | |
tc_infer_args (invis) @k_aSe | |
tc_infer_args (vis) | |
[anon] k | |
Ob p_aL3 | |
lk1 Ob | |
instantiating tybinders: @i_aL2 := i_aUl[tau:1] | |
tcTyVar2b | |
Ob :: forall i. (i -> i -> *) -> i -> Constraint | |
(i_aUl[tau:1] -> i_aUl[tau:1] -> *) -> i_aUl[tau:1] -> Constraint | |
tc_infer_args (vis) | |
[anon] i_aUl[tau:1] -> i_aUl[tau:1] -> * | |
p_aL3 | |
lk1 p_aL3 | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * ~ i_aUl[tau:1] -> i_aUl[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUl[tau:1] -> i_aUl[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aUl[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUl[tau:1] -> i_aUl[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aUl[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aUl[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aUl[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> * ~ i_aUl[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUl[tau:1] -> i_aUl[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aUl[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUl[tau:1] -> i_aUl[tau:1] -> * | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUl[tau:1] -> i_aUl[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
i_aUl[tau:1] -> i_aUl[tau:1] -> * | |
<i_aL2[sk:1] -> i_aL2[sk:1] -> *>_N | |
u_tys | |
tclvl 1 | |
i_aUl[tau:1] -> Constraint ~ k_aUk[tau:1] | |
arising from a type equality i_aUl[tau:1] -> Constraint | |
~ | |
k_aUk[tau:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aUk[tau:1] ~ i_aL2[sk:1] -> Constraint | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aUk[tau:1] ~ i_aL2[sk:1] -> Constraint | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aUk[tau:1] := i_aL2[sk:1] -> Constraint | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aUl[tau:1] -> Constraint | |
k_aUk[tau:1] | |
<i_aL2[sk:1] -> Constraint>_N | |
tc_infer_args (vis) | |
[anon] k | |
Vacuous p_aL3 | |
lk1 Vacuous | |
tcTyVar2a | |
Vacuous | |
forall i. (i -> i -> *) -> i -> Constraint | |
tc_infer_args (invis) @i_aLr | |
tc_infer_args (vis) | |
[anon] i -> i -> * | |
p_aL3 | |
lk1 p_aL3 | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * ~ i_aUm[tau:1] -> i_aUm[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUm[tau:1] -> i_aUm[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aUm[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUm[tau:1] -> i_aUm[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aUm[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aUm[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aUm[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> * ~ i_aUm[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUm[tau:1] -> i_aUm[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aUm[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUm[tau:1] -> i_aUm[tau:1] -> * | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUm[tau:1] -> i_aUm[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
i_aUm[tau:1] -> i_aUm[tau:1] -> * | |
<i_aL2[sk:1] -> i_aL2[sk:1] -> *>_N | |
u_tys | |
tclvl 1 | |
i_aUm[tau:1] -> Constraint ~ k_aUk[tau:1] | |
arising from a type equality i_aUm[tau:1] -> Constraint | |
~ | |
k_aUk[tau:1] | |
found filled tyvar k_aUk[tau:1] :-> i_aL2[sk:1] -> Constraint | |
u_tys | |
tclvl 1 | |
i_aUm[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality i_aUm[tau:1] -> Constraint | |
~ | |
k_aUk[tau:1] | |
found filled tyvar i_aUm[tau:1] :-> i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
Constraint ~ Constraint | |
arising from a type equality i_aUm[tau:1] -> Constraint | |
~ | |
k_aUk[tau:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aUm[tau:1] -> Constraint | |
k_aUk[tau:1] | |
<i_aL2[sk:1] -> Constraint>_N | |
u_tys | |
tclvl 1 | |
Constraint ~ Constraint | |
arising from a type equality Constraint ~ Constraint | |
u_tys yields no coercion | |
checkExpectedKind | |
Constraint | |
Constraint | |
<Constraint>_N | |
lk1 p_aL3 | |
tc_infer_args (vis) | |
[anon] i_aL2[sk:1] | |
a_aLf | |
lk1 a_aLf | |
u_tys | |
tclvl 1 | |
k_aUi[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality k_aUi[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aUi[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aUi[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aUi[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aUi[tau:1] | |
i_aL2[sk:1] | |
<i_aL2[sk:1]>_N | |
tc_infer_args (vis) | |
[anon] i_aL2[sk:1] | |
b_aLg | |
lk1 b_aLg | |
u_tys | |
tclvl 1 | |
k_aUj[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality k_aUj[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aUj[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aUj[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aUj[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aUj[tau:1] | |
i_aL2[sk:1] | |
<i_aL2[sk:1]>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aUo[tau:1] | |
arising from a type equality * ~ TYPE t_aUo[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aUo[tau:1] | |
arising from a type equality * ~ TYPE t_aUo[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aUo[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aUo[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aUo[tau:1] | |
<*>_N | |
lk1 Dict | |
tcTyVar2a | |
Dict | |
Constraint -> * | |
tc_infer_args (vis) | |
[anon] Constraint | |
(Ob p_aL3 b_aLg) | |
lk1 Ob | |
instantiating tybinders: @i_aL2 := i_aUq[tau:1] | |
tcTyVar2b | |
Ob :: forall i. (i -> i -> *) -> i -> Constraint | |
(i_aUq[tau:1] -> i_aUq[tau:1] -> *) -> i_aUq[tau:1] -> Constraint | |
tc_infer_args (vis) | |
[anon] i_aUq[tau:1] -> i_aUq[tau:1] -> * | |
p_aL3 | |
lk1 p_aL3 | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * ~ i_aUq[tau:1] -> i_aUq[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUq[tau:1] -> i_aUq[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aUq[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUq[tau:1] -> i_aUq[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aUq[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aUq[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aUq[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> * ~ i_aUq[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUq[tau:1] -> i_aUq[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aUq[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUq[tau:1] -> i_aUq[tau:1] -> * | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUq[tau:1] -> i_aUq[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
i_aUq[tau:1] -> i_aUq[tau:1] -> * | |
<i_aL2[sk:1] -> i_aL2[sk:1] -> *>_N | |
tc_infer_args (vis) | |
[anon] i_aUq[tau:1] | |
b_aLg | |
lk1 b_aLg | |
u_tys | |
tclvl 1 | |
k_aUj[tau:1] ~ i_aUq[tau:1] | |
arising from a type equality k_aUj[tau:1] ~ i_aUq[tau:1] | |
found filled tyvar k_aUj[tau:1] :-> i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aUj[tau:1] | |
i_aUq[tau:1] | |
<i_aL2[sk:1]>_N | |
u_tys | |
tclvl 1 | |
Constraint ~ Constraint | |
arising from a type equality Constraint ~ Constraint | |
u_tys yields no coercion | |
checkExpectedKind | |
Constraint | |
Constraint | |
<Constraint>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aUp[tau:1] | |
arising from a type equality * ~ TYPE t_aUp[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aUp[tau:1] | |
arising from a type equality * ~ TYPE t_aUp[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aUp[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aUp[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aUp[tau:1] | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aUn[tau:1] | |
arising from a type equality * ~ TYPE t_aUn[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aUn[tau:1] | |
arising from a type equality * ~ TYPE t_aUn[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aUn[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aUn[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aUn[tau:1] | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
tcImplicitTKBndrs | |
[a_aLf, b_aLg] | |
[a_aLf[sk:1], b_aLg[sk:1]] | |
solveEqualities { wanted = WC {} | |
newTcEvBinds unique = aUr | |
solveWanteds { WC {} | |
solveSimpleWanteds { {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {} | |
End solveEqualities } | |
reportAllUnsolved { | |
newTcEvBinds unique = aUs | |
reportAllUnsolved } | |
quantifyZonkedTyVars | |
DV {dv_kvs = [aL3 :-> p_aL3[sk:1], aL2 :-> i_aL2[sk:1]] | |
dv_tvs = []} | |
[aL2 :-> i_aL2[sk:1], aL3 :-> p_aL3[sk:1]] | |
quantifyTyVars | |
globals: [aL2 :-> i_aL2[sk:1], aL3 :-> p_aL3[sk:1]] | |
nondep: [] | |
dep: [] | |
dep_kvs' [] | |
nondep_tvs' [] | |
env2 | |
[(b_aLj, Type variable ‘b_aLj’ = b_aLj[sk:1]), | |
(a_aLk, Type variable ‘a_aLk’ = a_aLk[sk:1])] | |
lk1 ~ | |
tcTyVar2a | |
~ | |
forall k. k -> k -> Constraint | |
tc_infer_args (invis) @k_aSe | |
tc_infer_args (vis) | |
[anon] k | |
Op p_aL3 | |
lk1 Op | |
instantiating tybinders: | |
@j_aLv := j_aUw[tau:1] | |
@i_aLu := i_aUx[tau:1] | |
tcTyVar2b | |
Op :: forall j i. (i -> j -> *) -> j -> i -> * | |
(i_aUx[tau:1] -> j_aUw[tau:1] -> *) | |
-> j_aUw[tau:1] -> i_aUx[tau:1] -> * | |
tc_infer_args (vis) | |
[anon] i_aUx[tau:1] -> j_aUw[tau:1] -> * | |
p_aL3 | |
lk1 p_aL3 | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * ~ i_aUx[tau:1] -> j_aUw[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUx[tau:1] -> j_aUw[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aUx[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUx[tau:1] -> j_aUw[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aUx[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aUx[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aUx[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> * ~ j_aUw[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUx[tau:1] -> j_aUw[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ j_aUw[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUx[tau:1] -> j_aUw[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
j_aUw[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
j_aUw[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar j_aUw[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUx[tau:1] -> j_aUw[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
i_aUx[tau:1] -> j_aUw[tau:1] -> * | |
<i_aL2[sk:1] -> i_aL2[sk:1] -> *>_N | |
u_tys | |
tclvl 1 | |
j_aUw[tau:1] -> i_aUx[tau:1] -> * ~ k_aUv[tau:1] | |
arising from a type equality j_aUw[tau:1] -> i_aUx[tau:1] -> * | |
~ | |
k_aUv[tau:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aUv[tau:1] ~ i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aUv[tau:1] ~ i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aUv[tau:1] := i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
u_tys yields no coercion | |
checkExpectedKind | |
j_aUw[tau:1] -> i_aUx[tau:1] -> * | |
k_aUv[tau:1] | |
<i_aL2[sk:1] -> i_aL2[sk:1] -> *>_N | |
tc_infer_args (vis) | |
[anon] k | |
Y p_aL3 | |
lk1 Y | |
tcTyVar2a | |
Y | |
forall j i. (i -> j -> *) -> j -> i -> * | |
tc_infer_args (invis) @j_aLA | |
tc_infer_args (invis) @i_aLz | |
tc_infer_args (vis) | |
[anon] i -> j -> * | |
p_aL3 | |
lk1 p_aL3 | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * ~ i_aUz[tau:1] -> j_aUy[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUz[tau:1] -> j_aUy[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aUz[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUz[tau:1] -> j_aUy[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aUz[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aUz[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aUz[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> * ~ j_aUy[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUz[tau:1] -> j_aUy[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ j_aUy[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUz[tau:1] -> j_aUy[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
j_aUy[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
j_aUy[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar j_aUy[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUz[tau:1] -> j_aUy[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
i_aUz[tau:1] -> j_aUy[tau:1] -> * | |
<i_aL2[sk:1] -> i_aL2[sk:1] -> *>_N | |
u_tys | |
tclvl 1 | |
j_aUy[tau:1] -> i_aUz[tau:1] -> * ~ k_aUv[tau:1] | |
arising from a type equality j_aUy[tau:1] -> i_aUz[tau:1] -> * | |
~ | |
k_aUv[tau:1] | |
found filled tyvar k_aUv[tau:1] :-> i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
u_tys | |
tclvl 1 | |
j_aUy[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality j_aUy[tau:1] -> i_aUz[tau:1] -> * | |
~ | |
k_aUv[tau:1] | |
found filled tyvar j_aUy[tau:1] :-> i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aUz[tau:1] -> * ~ i_aL2[sk:1] -> * | |
arising from a type equality j_aUy[tau:1] -> i_aUz[tau:1] -> * | |
~ | |
k_aUv[tau:1] | |
u_tys | |
tclvl 1 | |
i_aUz[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality j_aUy[tau:1] -> i_aUz[tau:1] -> * | |
~ | |
k_aUv[tau:1] | |
found filled tyvar i_aUz[tau:1] :-> i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality j_aUy[tau:1] -> i_aUz[tau:1] -> * | |
~ | |
k_aUv[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality j_aUy[tau:1] -> i_aUz[tau:1] -> * | |
~ | |
k_aUv[tau:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
j_aUy[tau:1] -> i_aUz[tau:1] -> * | |
k_aUv[tau:1] | |
<i_aL2[sk:1] -> i_aL2[sk:1] -> *>_N | |
u_tys | |
tclvl 1 | |
Constraint ~ Constraint | |
arising from a type equality Constraint ~ Constraint | |
u_tys yields no coercion | |
checkExpectedKind | |
Constraint | |
Constraint | |
<Constraint>_N | |
lk1 p_aL3 | |
tc_infer_args (vis) | |
[anon] i_aL2[sk:1] | |
b_aLj | |
lk1 b_aLj | |
u_tys | |
tclvl 1 | |
k_aUt[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality k_aUt[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aUt[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aUt[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aUt[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aUt[tau:1] | |
i_aL2[sk:1] | |
<i_aL2[sk:1]>_N | |
tc_infer_args (vis) | |
[anon] i_aL2[sk:1] | |
a_aLk | |
lk1 a_aLk | |
u_tys | |
tclvl 1 | |
k_aUu[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality k_aUu[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aUu[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aUu[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aUu[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aUu[tau:1] | |
i_aL2[sk:1] | |
<i_aL2[sk:1]>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aUB[tau:1] | |
arising from a type equality * ~ TYPE t_aUB[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aUB[tau:1] | |
arising from a type equality * ~ TYPE t_aUB[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aUB[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aUB[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aUB[tau:1] | |
<*>_N | |
lk1 Op | |
instantiating tybinders: | |
@j_aLv := j_aUD[tau:1] | |
@i_aLu := i_aUE[tau:1] | |
tcTyVar2b | |
Op :: forall j i. (i -> j -> *) -> j -> i -> * | |
(i_aUE[tau:1] -> j_aUD[tau:1] -> *) | |
-> j_aUD[tau:1] -> i_aUE[tau:1] -> * | |
tc_infer_args (vis) | |
[anon] i_aUE[tau:1] -> j_aUD[tau:1] -> * | |
p_aL3 | |
lk1 p_aL3 | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * ~ i_aUE[tau:1] -> j_aUD[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUE[tau:1] -> j_aUD[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aUE[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUE[tau:1] -> j_aUD[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aUE[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aUE[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aUE[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> * ~ j_aUD[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUE[tau:1] -> j_aUD[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ j_aUD[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUE[tau:1] -> j_aUD[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
j_aUD[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
j_aUD[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar j_aUD[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUE[tau:1] -> j_aUD[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
i_aUE[tau:1] -> j_aUD[tau:1] -> * | |
<i_aL2[sk:1] -> i_aL2[sk:1] -> *>_N | |
tc_infer_args (vis) | |
[anon] j_aUD[tau:1] | |
a_aLk | |
lk1 a_aLk | |
u_tys | |
tclvl 1 | |
k_aUu[tau:1] ~ j_aUD[tau:1] | |
arising from a type equality k_aUu[tau:1] ~ j_aUD[tau:1] | |
found filled tyvar k_aUu[tau:1] :-> i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aUu[tau:1] | |
j_aUD[tau:1] | |
<i_aL2[sk:1]>_N | |
tc_infer_args (vis) | |
[anon] i_aUE[tau:1] | |
b_aLj | |
lk1 b_aLj | |
u_tys | |
tclvl 1 | |
k_aUt[tau:1] ~ i_aUE[tau:1] | |
arising from a type equality k_aUt[tau:1] ~ i_aUE[tau:1] | |
found filled tyvar k_aUt[tau:1] :-> i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aUt[tau:1] | |
i_aUE[tau:1] | |
<i_aL2[sk:1]>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aUC[tau:1] | |
arising from a type equality * ~ TYPE t_aUC[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aUC[tau:1] | |
arising from a type equality * ~ TYPE t_aUC[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aUC[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aUC[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aUC[tau:1] | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aUA[tau:1] | |
arising from a type equality * ~ TYPE t_aUA[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aUA[tau:1] | |
arising from a type equality * ~ TYPE t_aUA[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aUA[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aUA[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aUA[tau:1] | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
tcImplicitTKBndrs | |
[b_aLj, a_aLk] | |
[b_aLj[sk:1], a_aLk[sk:1]] | |
solveEqualities { wanted = WC {} | |
newTcEvBinds unique = aUF | |
solveWanteds { WC {} | |
solveSimpleWanteds { {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {} | |
End solveEqualities } | |
reportAllUnsolved { | |
newTcEvBinds unique = aUG | |
reportAllUnsolved } | |
quantifyZonkedTyVars | |
DV {dv_kvs = [aL3 :-> p_aL3[sk:1], aL2 :-> i_aL2[sk:1]] | |
dv_tvs = []} | |
[aL2 :-> i_aL2[sk:1], aL3 :-> p_aL3[sk:1]] | |
quantifyTyVars | |
globals: [aL2 :-> i_aL2[sk:1], aL3 :-> p_aL3[sk:1]] | |
nondep: [] | |
dep: [] | |
dep_kvs' [] | |
nondep_tvs' [] | |
env2 | |
[(b_aLn, Type variable ‘b_aLn’ = b_aLn[sk:1]), | |
(a_aLo, Type variable ‘a_aLo’ = a_aLo[sk:1])] | |
lk1 ~ | |
tcTyVar2a | |
~ | |
forall k. k -> k -> Constraint | |
tc_infer_args (invis) @k_aSe | |
tc_infer_args (vis) | |
[anon] k | |
Op p_aL3 | |
lk1 Op | |
instantiating tybinders: | |
@j_aLv := j_aUK[tau:1] | |
@i_aLu := i_aUL[tau:1] | |
tcTyVar2b | |
Op :: forall j i. (i -> j -> *) -> j -> i -> * | |
(i_aUL[tau:1] -> j_aUK[tau:1] -> *) | |
-> j_aUK[tau:1] -> i_aUL[tau:1] -> * | |
tc_infer_args (vis) | |
[anon] i_aUL[tau:1] -> j_aUK[tau:1] -> * | |
p_aL3 | |
lk1 p_aL3 | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * ~ i_aUL[tau:1] -> j_aUK[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUL[tau:1] -> j_aUK[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aUL[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUL[tau:1] -> j_aUK[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aUL[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aUL[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aUL[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> * ~ j_aUK[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUL[tau:1] -> j_aUK[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ j_aUK[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUL[tau:1] -> j_aUK[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
j_aUK[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
j_aUK[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar j_aUK[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUL[tau:1] -> j_aUK[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
i_aUL[tau:1] -> j_aUK[tau:1] -> * | |
<i_aL2[sk:1] -> i_aL2[sk:1] -> *>_N | |
u_tys | |
tclvl 1 | |
j_aUK[tau:1] -> i_aUL[tau:1] -> * ~ k_aUJ[tau:1] | |
arising from a type equality j_aUK[tau:1] -> i_aUL[tau:1] -> * | |
~ | |
k_aUJ[tau:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aUJ[tau:1] ~ i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aUJ[tau:1] ~ i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aUJ[tau:1] := i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
u_tys yields no coercion | |
checkExpectedKind | |
j_aUK[tau:1] -> i_aUL[tau:1] -> * | |
k_aUJ[tau:1] | |
<i_aL2[sk:1] -> i_aL2[sk:1] -> *>_N | |
tc_infer_args (vis) | |
[anon] k | |
Y p_aL3 | |
lk1 Y | |
tcTyVar2a | |
Y | |
forall j i. (i -> j -> *) -> j -> i -> * | |
tc_infer_args (invis) @j_aLA | |
tc_infer_args (invis) @i_aLz | |
tc_infer_args (vis) | |
[anon] i -> j -> * | |
p_aL3 | |
lk1 p_aL3 | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * ~ i_aUN[tau:1] -> j_aUM[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUN[tau:1] -> j_aUM[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aUN[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUN[tau:1] -> j_aUM[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aUN[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aUN[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aUN[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> * ~ j_aUM[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUN[tau:1] -> j_aUM[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ j_aUM[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUN[tau:1] -> j_aUM[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
j_aUM[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
j_aUM[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar j_aUM[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUN[tau:1] -> j_aUM[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
i_aUN[tau:1] -> j_aUM[tau:1] -> * | |
<i_aL2[sk:1] -> i_aL2[sk:1] -> *>_N | |
u_tys | |
tclvl 1 | |
j_aUM[tau:1] -> i_aUN[tau:1] -> * ~ k_aUJ[tau:1] | |
arising from a type equality j_aUM[tau:1] -> i_aUN[tau:1] -> * | |
~ | |
k_aUJ[tau:1] | |
found filled tyvar k_aUJ[tau:1] :-> i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
u_tys | |
tclvl 1 | |
j_aUM[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality j_aUM[tau:1] -> i_aUN[tau:1] -> * | |
~ | |
k_aUJ[tau:1] | |
found filled tyvar j_aUM[tau:1] :-> i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aUN[tau:1] -> * ~ i_aL2[sk:1] -> * | |
arising from a type equality j_aUM[tau:1] -> i_aUN[tau:1] -> * | |
~ | |
k_aUJ[tau:1] | |
u_tys | |
tclvl 1 | |
i_aUN[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality j_aUM[tau:1] -> i_aUN[tau:1] -> * | |
~ | |
k_aUJ[tau:1] | |
found filled tyvar i_aUN[tau:1] :-> i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality j_aUM[tau:1] -> i_aUN[tau:1] -> * | |
~ | |
k_aUJ[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality j_aUM[tau:1] -> i_aUN[tau:1] -> * | |
~ | |
k_aUJ[tau:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
j_aUM[tau:1] -> i_aUN[tau:1] -> * | |
k_aUJ[tau:1] | |
<i_aL2[sk:1] -> i_aL2[sk:1] -> *>_N | |
u_tys | |
tclvl 1 | |
Constraint ~ Constraint | |
arising from a type equality Constraint ~ Constraint | |
u_tys yields no coercion | |
checkExpectedKind | |
Constraint | |
Constraint | |
<Constraint>_N | |
lk1 Op | |
instantiating tybinders: | |
@j_aLv := j_aUR[tau:1] | |
@i_aLu := i_aUS[tau:1] | |
tcTyVar2b | |
Op :: forall j i. (i -> j -> *) -> j -> i -> * | |
(i_aUS[tau:1] -> j_aUR[tau:1] -> *) | |
-> j_aUR[tau:1] -> i_aUS[tau:1] -> * | |
tc_infer_args (vis) | |
[anon] i_aUS[tau:1] -> j_aUR[tau:1] -> * | |
p_aL3 | |
lk1 p_aL3 | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * ~ i_aUS[tau:1] -> j_aUR[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUS[tau:1] -> j_aUR[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aUS[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUS[tau:1] -> j_aUR[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aUS[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aUS[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aUS[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> * ~ j_aUR[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUS[tau:1] -> j_aUR[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ j_aUR[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUS[tau:1] -> j_aUR[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
j_aUR[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
j_aUR[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar j_aUR[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUS[tau:1] -> j_aUR[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
i_aUS[tau:1] -> j_aUR[tau:1] -> * | |
<i_aL2[sk:1] -> i_aL2[sk:1] -> *>_N | |
tc_infer_args (vis) | |
[anon] j_aUR[tau:1] | |
b_aLn | |
lk1 b_aLn | |
u_tys | |
tclvl 1 | |
k_aUH[tau:1] ~ j_aUR[tau:1] | |
arising from a type equality k_aUH[tau:1] ~ j_aUR[tau:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aUH[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aUH[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aUH[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aUH[tau:1] | |
j_aUR[tau:1] | |
<i_aL2[sk:1]>_N | |
tc_infer_args (vis) | |
[anon] i_aUS[tau:1] | |
a_aLo | |
lk1 a_aLo | |
u_tys | |
tclvl 1 | |
k_aUI[tau:1] ~ i_aUS[tau:1] | |
arising from a type equality k_aUI[tau:1] ~ i_aUS[tau:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aUI[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aUI[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aUI[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aUI[tau:1] | |
i_aUS[tau:1] | |
<i_aL2[sk:1]>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aUP[tau:1] | |
arising from a type equality * ~ TYPE t_aUP[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aUP[tau:1] | |
arising from a type equality * ~ TYPE t_aUP[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aUP[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aUP[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aUP[tau:1] | |
<*>_N | |
lk1 p_aL3 | |
tc_infer_args (vis) | |
[anon] i_aL2[sk:1] | |
a_aLo | |
lk1 a_aLo | |
u_tys | |
tclvl 1 | |
k_aUI[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality k_aUI[tau:1] ~ i_aL2[sk:1] | |
found filled tyvar k_aUI[tau:1] :-> i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aUI[tau:1] | |
i_aL2[sk:1] | |
<i_aL2[sk:1]>_N | |
tc_infer_args (vis) | |
[anon] i_aL2[sk:1] | |
b_aLn | |
lk1 b_aLn | |
u_tys | |
tclvl 1 | |
k_aUH[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality k_aUH[tau:1] ~ i_aL2[sk:1] | |
found filled tyvar k_aUH[tau:1] :-> i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aUH[tau:1] | |
i_aL2[sk:1] | |
<i_aL2[sk:1]>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aUQ[tau:1] | |
arising from a type equality * ~ TYPE t_aUQ[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aUQ[tau:1] | |
arising from a type equality * ~ TYPE t_aUQ[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aUQ[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aUQ[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aUQ[tau:1] | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aUO[tau:1] | |
arising from a type equality * ~ TYPE t_aUO[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aUO[tau:1] | |
arising from a type equality * ~ TYPE t_aUO[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aUO[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aUO[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aUO[tau:1] | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
tcImplicitTKBndrs | |
[b_aLn, a_aLo] | |
[b_aLn[sk:1], a_aLo[sk:1]] | |
solveEqualities { wanted = WC {} | |
newTcEvBinds unique = aUT | |
solveWanteds { WC {} | |
solveSimpleWanteds { {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {} | |
End solveEqualities } | |
reportAllUnsolved { | |
newTcEvBinds unique = aUU | |
reportAllUnsolved } | |
quantifyZonkedTyVars | |
DV {dv_kvs = [aL3 :-> p_aL3[sk:1], aL2 :-> i_aL2[sk:1]] | |
dv_tvs = []} | |
[aL2 :-> i_aL2[sk:1], aL3 :-> p_aL3[sk:1]] | |
quantifyTyVars | |
globals: [aL2 :-> i_aL2[sk:1], aL3 :-> p_aL3[sk:1]] | |
nondep: [] | |
dep: [] | |
dep_kvs' [] | |
nondep_tvs' [] | |
ClsSig 1 [id] | |
env2 [(a_aL5, Type variable ‘a_aL5’ = a_aL5[sk:1])] | |
lk1 Ob | |
instantiating tybinders: @i_aL2 := i_aUW[tau:1] | |
tcTyVar2b | |
Ob :: forall i. (i -> i -> *) -> i -> Constraint | |
(i_aUW[tau:1] -> i_aUW[tau:1] -> *) -> i_aUW[tau:1] -> Constraint | |
tc_infer_args (vis) | |
[anon] i_aUW[tau:1] -> i_aUW[tau:1] -> * | |
p_aL3 | |
lk1 p_aL3 | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * ~ i_aUW[tau:1] -> i_aUW[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUW[tau:1] -> i_aUW[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aUW[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUW[tau:1] -> i_aUW[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aUW[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aUW[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aUW[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> * ~ i_aUW[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUW[tau:1] -> i_aUW[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aUW[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUW[tau:1] -> i_aUW[tau:1] -> * | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aUW[tau:1] -> i_aUW[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
i_aUW[tau:1] -> i_aUW[tau:1] -> * | |
<i_aL2[sk:1] -> i_aL2[sk:1] -> *>_N | |
tc_infer_args (vis) | |
[anon] i_aUW[tau:1] | |
a_aL5 | |
lk1 a_aL5 | |
u_tys | |
tclvl 1 | |
k_aUV[tau:1] ~ i_aUW[tau:1] | |
arising from a type equality k_aUV[tau:1] ~ i_aUW[tau:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aUV[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aUV[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aUV[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aUV[tau:1] | |
i_aUW[tau:1] | |
<i_aL2[sk:1]>_N | |
u_tys | |
tclvl 1 | |
Constraint ~ Constraint | |
arising from a type equality Constraint ~ Constraint | |
u_tys yields no coercion | |
checkExpectedKind | |
Constraint | |
Constraint | |
<Constraint>_N | |
lk1 p_aL3 | |
tc_infer_args (vis) | |
[anon] i_aL2[sk:1] | |
a_aL5 | |
lk1 a_aL5 | |
u_tys | |
tclvl 1 | |
k_aUV[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality k_aUV[tau:1] ~ i_aL2[sk:1] | |
found filled tyvar k_aUV[tau:1] :-> i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aUV[tau:1] | |
i_aL2[sk:1] | |
<i_aL2[sk:1]>_N | |
tc_infer_args (vis) | |
[anon] i_aL2[sk:1] | |
a_aL5 | |
lk1 a_aL5 | |
u_tys | |
tclvl 1 | |
k_aUV[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality k_aUV[tau:1] ~ i_aL2[sk:1] | |
found filled tyvar k_aUV[tau:1] :-> i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aUV[tau:1] | |
i_aL2[sk:1] | |
<i_aL2[sk:1]>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aUX[tau:1] | |
arising from a type equality * ~ TYPE t_aUX[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aUX[tau:1] | |
arising from a type equality * ~ TYPE t_aUX[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aUX[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aUX[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aUX[tau:1] | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
tcImplicitTKBndrs | |
[a_aL5] | |
[a_aL5[sk:1]] | |
solveEqualities { wanted = WC {} | |
newTcEvBinds unique = aUY | |
solveWanteds { WC {} | |
solveSimpleWanteds { {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {} | |
End solveEqualities } | |
reportAllUnsolved { | |
newTcEvBinds unique = aUZ | |
reportAllUnsolved } | |
quantifyZonkedTyVars | |
DV {dv_kvs = [aL3 :-> p_aL3[sk:1], aL2 :-> i_aL2[sk:1]] | |
dv_tvs = []} | |
[aL2 :-> i_aL2[sk:1], aL3 :-> p_aL3[sk:1]] | |
quantifyTyVars | |
globals: [aL2 :-> i_aL2[sk:1], aL3 :-> p_aL3[sk:1]] | |
nondep: [] | |
dep: [] | |
dep_kvs' [] | |
nondep_tvs' [] | |
ClsSig 2 [id] | |
ClsSig 1 [.] | |
env2 | |
[(b_aL6, Type variable ‘b_aL6’ = b_aL6[sk:1]), | |
(c_aL7, Type variable ‘c_aL7’ = c_aL7[sk:1]), | |
(a_aL8, Type variable ‘a_aL8’ = a_aL8[sk:1])] | |
lk1 p_aL3 | |
tc_infer_args (vis) | |
[anon] i_aL2[sk:1] | |
b_aL6 | |
lk1 b_aL6 | |
u_tys | |
tclvl 1 | |
k_aV0[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality k_aV0[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aV0[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aV0[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aV0[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aV0[tau:1] | |
i_aL2[sk:1] | |
<i_aL2[sk:1]>_N | |
tc_infer_args (vis) | |
[anon] i_aL2[sk:1] | |
c_aL7 | |
lk1 c_aL7 | |
u_tys | |
tclvl 1 | |
k_aV1[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality k_aV1[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aV1[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aV1[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aV1[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aV1[tau:1] | |
i_aL2[sk:1] | |
<i_aL2[sk:1]>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aV3[tau:1] | |
arising from a type equality * ~ TYPE t_aV3[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aV3[tau:1] | |
arising from a type equality * ~ TYPE t_aV3[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aV3[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aV3[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aV3[tau:1] | |
<*>_N | |
lk1 p_aL3 | |
tc_infer_args (vis) | |
[anon] i_aL2[sk:1] | |
a_aL8 | |
lk1 a_aL8 | |
u_tys | |
tclvl 1 | |
k_aV2[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality k_aV2[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aV2[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aV2[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aV2[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aV2[tau:1] | |
i_aL2[sk:1] | |
<i_aL2[sk:1]>_N | |
tc_infer_args (vis) | |
[anon] i_aL2[sk:1] | |
b_aL6 | |
lk1 b_aL6 | |
u_tys | |
tclvl 1 | |
k_aV0[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality k_aV0[tau:1] ~ i_aL2[sk:1] | |
found filled tyvar k_aV0[tau:1] :-> i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aV0[tau:1] | |
i_aL2[sk:1] | |
<i_aL2[sk:1]>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aV5[tau:1] | |
arising from a type equality * ~ TYPE t_aV5[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aV5[tau:1] | |
arising from a type equality * ~ TYPE t_aV5[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aV5[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aV5[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aV5[tau:1] | |
<*>_N | |
lk1 p_aL3 | |
tc_infer_args (vis) | |
[anon] i_aL2[sk:1] | |
a_aL8 | |
lk1 a_aL8 | |
u_tys | |
tclvl 1 | |
k_aV2[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality k_aV2[tau:1] ~ i_aL2[sk:1] | |
found filled tyvar k_aV2[tau:1] :-> i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aV2[tau:1] | |
i_aL2[sk:1] | |
<i_aL2[sk:1]>_N | |
tc_infer_args (vis) | |
[anon] i_aL2[sk:1] | |
c_aL7 | |
lk1 c_aL7 | |
u_tys | |
tclvl 1 | |
k_aV1[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality k_aV1[tau:1] ~ i_aL2[sk:1] | |
found filled tyvar k_aV1[tau:1] :-> i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aV1[tau:1] | |
i_aL2[sk:1] | |
<i_aL2[sk:1]>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aV6[tau:1] | |
arising from a type equality * ~ TYPE t_aV6[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aV6[tau:1] | |
arising from a type equality * ~ TYPE t_aV6[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aV6[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aV6[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aV6[tau:1] | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aV4[tau:1] | |
arising from a type equality * ~ TYPE t_aV4[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aV4[tau:1] | |
arising from a type equality * ~ TYPE t_aV4[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aV4[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aV4[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aV4[tau:1] | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
tcImplicitTKBndrs | |
[b_aL6, c_aL7, a_aL8] | |
[b_aL6[sk:1], c_aL7[sk:1], a_aL8[sk:1]] | |
solveEqualities { wanted = WC {} | |
newTcEvBinds unique = aV7 | |
solveWanteds { WC {} | |
solveSimpleWanteds { {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {} | |
End solveEqualities } | |
reportAllUnsolved { | |
newTcEvBinds unique = aV8 | |
reportAllUnsolved } | |
quantifyZonkedTyVars | |
DV {dv_kvs = [aL3 :-> p_aL3[sk:1], aL2 :-> i_aL2[sk:1]] | |
dv_tvs = []} | |
[aL2 :-> i_aL2[sk:1], aL3 :-> p_aL3[sk:1]] | |
quantifyTyVars | |
globals: [aL2 :-> i_aL2[sk:1], aL3 :-> p_aL3[sk:1]] | |
nondep: [] | |
dep: [] | |
dep_kvs' [] | |
nondep_tvs' [] | |
ClsSig 2 [.] | |
ClsSig 1 [source] | |
env2 | |
[(a_aL9, Type variable ‘a_aL9’ = a_aL9[sk:1]), | |
(b_aLa, Type variable ‘b_aLa’ = b_aLa[sk:1])] | |
lk1 p_aL3 | |
tc_infer_args (vis) | |
[anon] i_aL2[sk:1] | |
a_aL9 | |
lk1 a_aL9 | |
u_tys | |
tclvl 1 | |
k_aV9[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality k_aV9[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aV9[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aV9[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aV9[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aV9[tau:1] | |
i_aL2[sk:1] | |
<i_aL2[sk:1]>_N | |
tc_infer_args (vis) | |
[anon] i_aL2[sk:1] | |
b_aLa | |
lk1 b_aLa | |
u_tys | |
tclvl 1 | |
k_aVa[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality k_aVa[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aVa[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aVa[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aVa[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aVa[tau:1] | |
i_aL2[sk:1] | |
<i_aL2[sk:1]>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aVb[tau:1] | |
arising from a type equality * ~ TYPE t_aVb[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aVb[tau:1] | |
arising from a type equality * ~ TYPE t_aVb[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aVb[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aVb[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aVb[tau:1] | |
<*>_N | |
lk1 Dict | |
tcTyVar2a | |
Dict | |
Constraint -> * | |
tc_infer_args (vis) | |
[anon] Constraint | |
(Ob p_aL3 a_aL9) | |
lk1 Ob | |
instantiating tybinders: @i_aL2 := i_aVd[tau:1] | |
tcTyVar2b | |
Ob :: forall i. (i -> i -> *) -> i -> Constraint | |
(i_aVd[tau:1] -> i_aVd[tau:1] -> *) -> i_aVd[tau:1] -> Constraint | |
tc_infer_args (vis) | |
[anon] i_aVd[tau:1] -> i_aVd[tau:1] -> * | |
p_aL3 | |
lk1 p_aL3 | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * ~ i_aVd[tau:1] -> i_aVd[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aVd[tau:1] -> i_aVd[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aVd[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aVd[tau:1] -> i_aVd[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aVd[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aVd[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aVd[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> * ~ i_aVd[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aVd[tau:1] -> i_aVd[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aVd[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aVd[tau:1] -> i_aVd[tau:1] -> * | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aVd[tau:1] -> i_aVd[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
i_aVd[tau:1] -> i_aVd[tau:1] -> * | |
<i_aL2[sk:1] -> i_aL2[sk:1] -> *>_N | |
tc_infer_args (vis) | |
[anon] i_aVd[tau:1] | |
a_aL9 | |
lk1 a_aL9 | |
u_tys | |
tclvl 1 | |
k_aV9[tau:1] ~ i_aVd[tau:1] | |
arising from a type equality k_aV9[tau:1] ~ i_aVd[tau:1] | |
found filled tyvar k_aV9[tau:1] :-> i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aV9[tau:1] | |
i_aVd[tau:1] | |
<i_aL2[sk:1]>_N | |
u_tys | |
tclvl 1 | |
Constraint ~ Constraint | |
arising from a type equality Constraint ~ Constraint | |
u_tys yields no coercion | |
checkExpectedKind | |
Constraint | |
Constraint | |
<Constraint>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aVc[tau:1] | |
arising from a type equality * ~ TYPE t_aVc[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aVc[tau:1] | |
arising from a type equality * ~ TYPE t_aVc[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aVc[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aVc[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aVc[tau:1] | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
tcImplicitTKBndrs | |
[a_aL9, b_aLa] | |
[a_aL9[sk:1], b_aLa[sk:1]] | |
solveEqualities { wanted = WC {} | |
newTcEvBinds unique = aVe | |
solveWanteds { WC {} | |
solveSimpleWanteds { {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {} | |
End solveEqualities } | |
reportAllUnsolved { | |
newTcEvBinds unique = aVf | |
reportAllUnsolved } | |
quantifyZonkedTyVars | |
DV {dv_kvs = [aL3 :-> p_aL3[sk:1], aL2 :-> i_aL2[sk:1]] | |
dv_tvs = []} | |
[aL2 :-> i_aL2[sk:1], aL3 :-> p_aL3[sk:1]] | |
quantifyTyVars | |
globals: [aL2 :-> i_aL2[sk:1], aL3 :-> p_aL3[sk:1]] | |
nondep: [] | |
dep: [] | |
dep_kvs' [] | |
nondep_tvs' [] | |
ClsSig 2 [source] | |
ClsSig 1 [target] | |
env2 | |
[(a_aLd, Type variable ‘a_aLd’ = a_aLd[sk:1]), | |
(b_aLe, Type variable ‘b_aLe’ = b_aLe[sk:1])] | |
lk1 p_aL3 | |
tc_infer_args (vis) | |
[anon] i_aL2[sk:1] | |
a_aLd | |
lk1 a_aLd | |
u_tys | |
tclvl 1 | |
k_aVg[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality k_aVg[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aVg[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aVg[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aVg[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aVg[tau:1] | |
i_aL2[sk:1] | |
<i_aL2[sk:1]>_N | |
tc_infer_args (vis) | |
[anon] i_aL2[sk:1] | |
b_aLe | |
lk1 b_aLe | |
u_tys | |
tclvl 1 | |
k_aVh[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality k_aVh[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aVh[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aVh[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aVh[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aVh[tau:1] | |
i_aL2[sk:1] | |
<i_aL2[sk:1]>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aVi[tau:1] | |
arising from a type equality * ~ TYPE t_aVi[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aVi[tau:1] | |
arising from a type equality * ~ TYPE t_aVi[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aVi[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aVi[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aVi[tau:1] | |
<*>_N | |
lk1 Dict | |
tcTyVar2a | |
Dict | |
Constraint -> * | |
tc_infer_args (vis) | |
[anon] Constraint | |
(Ob p_aL3 b_aLe) | |
lk1 Ob | |
instantiating tybinders: @i_aL2 := i_aVk[tau:1] | |
tcTyVar2b | |
Ob :: forall i. (i -> i -> *) -> i -> Constraint | |
(i_aVk[tau:1] -> i_aVk[tau:1] -> *) -> i_aVk[tau:1] -> Constraint | |
tc_infer_args (vis) | |
[anon] i_aVk[tau:1] -> i_aVk[tau:1] -> * | |
p_aL3 | |
lk1 p_aL3 | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * ~ i_aVk[tau:1] -> i_aVk[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aVk[tau:1] -> i_aVk[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aVk[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aVk[tau:1] -> i_aVk[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aVk[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aVk[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aVk[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> * ~ i_aVk[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aVk[tau:1] -> i_aVk[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aVk[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aVk[tau:1] -> i_aVk[tau:1] -> * | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aVk[tau:1] -> i_aVk[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
i_aVk[tau:1] -> i_aVk[tau:1] -> * | |
<i_aL2[sk:1] -> i_aL2[sk:1] -> *>_N | |
tc_infer_args (vis) | |
[anon] i_aVk[tau:1] | |
b_aLe | |
lk1 b_aLe | |
u_tys | |
tclvl 1 | |
k_aVh[tau:1] ~ i_aVk[tau:1] | |
arising from a type equality k_aVh[tau:1] ~ i_aVk[tau:1] | |
found filled tyvar k_aVh[tau:1] :-> i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aVh[tau:1] | |
i_aVk[tau:1] | |
<i_aL2[sk:1]>_N | |
u_tys | |
tclvl 1 | |
Constraint ~ Constraint | |
arising from a type equality Constraint ~ Constraint | |
u_tys yields no coercion | |
checkExpectedKind | |
Constraint | |
Constraint | |
<Constraint>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aVj[tau:1] | |
arising from a type equality * ~ TYPE t_aVj[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aVj[tau:1] | |
arising from a type equality * ~ TYPE t_aVj[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aVj[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aVj[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aVj[tau:1] | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
tcImplicitTKBndrs | |
[a_aLd, b_aLe] | |
[a_aLd[sk:1], b_aLe[sk:1]] | |
solveEqualities { wanted = WC {} | |
newTcEvBinds unique = aVl | |
solveWanteds { WC {} | |
solveSimpleWanteds { {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {} | |
End solveEqualities } | |
reportAllUnsolved { | |
newTcEvBinds unique = aVm | |
reportAllUnsolved } | |
quantifyZonkedTyVars | |
DV {dv_kvs = [aL3 :-> p_aL3[sk:1], aL2 :-> i_aL2[sk:1]] | |
dv_tvs = []} | |
[aL2 :-> i_aL2[sk:1], aL3 :-> p_aL3[sk:1]] | |
quantifyTyVars | |
globals: [aL2 :-> i_aL2[sk:1], aL3 :-> p_aL3[sk:1]] | |
nondep: [] | |
dep: [] | |
dep_kvs' [] | |
nondep_tvs' [] | |
ClsSig 2 [target] | |
ClsSig 1 [op] | |
env2 | |
[(b_aLh, Type variable ‘b_aLh’ = b_aLh[sk:1]), | |
(a_aLi, Type variable ‘a_aLi’ = a_aLi[sk:1])] | |
lk1 p_aL3 | |
tc_infer_args (vis) | |
[anon] i_aL2[sk:1] | |
b_aLh | |
lk1 b_aLh | |
u_tys | |
tclvl 1 | |
k_aVn[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality k_aVn[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aVn[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aVn[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aVn[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aVn[tau:1] | |
i_aL2[sk:1] | |
<i_aL2[sk:1]>_N | |
tc_infer_args (vis) | |
[anon] i_aL2[sk:1] | |
a_aLi | |
lk1 a_aLi | |
u_tys | |
tclvl 1 | |
k_aVo[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality k_aVo[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aVo[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aVo[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aVo[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aVo[tau:1] | |
i_aL2[sk:1] | |
<i_aL2[sk:1]>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aVp[tau:1] | |
arising from a type equality * ~ TYPE t_aVp[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aVp[tau:1] | |
arising from a type equality * ~ TYPE t_aVp[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aVp[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aVp[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aVp[tau:1] | |
<*>_N | |
lk1 Op | |
instantiating tybinders: | |
@j_aLv := j_aVr[tau:1] | |
@i_aLu := i_aVs[tau:1] | |
tcTyVar2b | |
Op :: forall j i. (i -> j -> *) -> j -> i -> * | |
(i_aVs[tau:1] -> j_aVr[tau:1] -> *) | |
-> j_aVr[tau:1] -> i_aVs[tau:1] -> * | |
tc_infer_args (vis) | |
[anon] i_aVs[tau:1] -> j_aVr[tau:1] -> * | |
p_aL3 | |
lk1 p_aL3 | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * ~ i_aVs[tau:1] -> j_aVr[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aVs[tau:1] -> j_aVr[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aVs[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aVs[tau:1] -> j_aVr[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aVs[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aVs[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aVs[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> * ~ j_aVr[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aVs[tau:1] -> j_aVr[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ j_aVr[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aVs[tau:1] -> j_aVr[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
j_aVr[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
j_aVr[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar j_aVr[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aVs[tau:1] -> j_aVr[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
i_aVs[tau:1] -> j_aVr[tau:1] -> * | |
<i_aL2[sk:1] -> i_aL2[sk:1] -> *>_N | |
tc_infer_args (vis) | |
[anon] j_aVr[tau:1] | |
a_aLi | |
lk1 a_aLi | |
u_tys | |
tclvl 1 | |
k_aVo[tau:1] ~ j_aVr[tau:1] | |
arising from a type equality k_aVo[tau:1] ~ j_aVr[tau:1] | |
found filled tyvar k_aVo[tau:1] :-> i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aVo[tau:1] | |
j_aVr[tau:1] | |
<i_aL2[sk:1]>_N | |
tc_infer_args (vis) | |
[anon] i_aVs[tau:1] | |
b_aLh | |
lk1 b_aLh | |
u_tys | |
tclvl 1 | |
k_aVn[tau:1] ~ i_aVs[tau:1] | |
arising from a type equality k_aVn[tau:1] ~ i_aVs[tau:1] | |
found filled tyvar k_aVn[tau:1] :-> i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aVn[tau:1] | |
i_aVs[tau:1] | |
<i_aL2[sk:1]>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aVq[tau:1] | |
arising from a type equality * ~ TYPE t_aVq[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aVq[tau:1] | |
arising from a type equality * ~ TYPE t_aVq[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aVq[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aVq[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aVq[tau:1] | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
tcImplicitTKBndrs | |
[b_aLh, a_aLi] | |
[b_aLh[sk:1], a_aLi[sk:1]] | |
solveEqualities { wanted = WC {} | |
newTcEvBinds unique = aVt | |
solveWanteds { WC {} | |
solveSimpleWanteds { {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {} | |
End solveEqualities } | |
reportAllUnsolved { | |
newTcEvBinds unique = aVu | |
reportAllUnsolved } | |
quantifyZonkedTyVars | |
DV {dv_kvs = [aL3 :-> p_aL3[sk:1], aL2 :-> i_aL2[sk:1]] | |
dv_tvs = []} | |
[aL2 :-> i_aL2[sk:1], aL3 :-> p_aL3[sk:1]] | |
quantifyTyVars | |
globals: [aL2 :-> i_aL2[sk:1], aL3 :-> p_aL3[sk:1]] | |
nondep: [] | |
dep: [] | |
dep_kvs' [] | |
nondep_tvs' [] | |
ClsSig 2 [op] | |
ClsSig 1 [unop] | |
env2 | |
[(b_aLl, Type variable ‘b_aLl’ = b_aLl[sk:1]), | |
(a_aLm, Type variable ‘a_aLm’ = a_aLm[sk:1])] | |
lk1 Op | |
instantiating tybinders: | |
@j_aLv := j_aVz[tau:1] | |
@i_aLu := i_aVA[tau:1] | |
tcTyVar2b | |
Op :: forall j i. (i -> j -> *) -> j -> i -> * | |
(i_aVA[tau:1] -> j_aVz[tau:1] -> *) | |
-> j_aVz[tau:1] -> i_aVA[tau:1] -> * | |
tc_infer_args (vis) | |
[anon] i_aVA[tau:1] -> j_aVz[tau:1] -> * | |
p_aL3 | |
lk1 p_aL3 | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * ~ i_aVA[tau:1] -> j_aVz[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aVA[tau:1] -> j_aVz[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ i_aVA[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aVA[tau:1] -> j_aVz[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aVA[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aVA[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aVA[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] -> * ~ j_aVz[tau:1] -> * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aVA[tau:1] -> j_aVz[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aL2[sk:1] ~ j_aVz[tau:1] | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aVA[tau:1] -> j_aVz[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
j_aVz[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
j_aVz[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar j_aVz[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
~ | |
i_aVA[tau:1] -> j_aVz[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aL2[sk:1] -> i_aL2[sk:1] -> * | |
i_aVA[tau:1] -> j_aVz[tau:1] -> * | |
<i_aL2[sk:1] -> i_aL2[sk:1] -> *>_N | |
tc_infer_args (vis) | |
[anon] j_aVz[tau:1] | |
b_aLl | |
lk1 b_aLl | |
u_tys | |
tclvl 1 | |
k_aVv[tau:1] ~ j_aVz[tau:1] | |
arising from a type equality k_aVv[tau:1] ~ j_aVz[tau:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aVv[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aVv[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aVv[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aVv[tau:1] | |
j_aVz[tau:1] | |
<i_aL2[sk:1]>_N | |
tc_infer_args (vis) | |
[anon] i_aVA[tau:1] | |
a_aLm | |
lk1 a_aLm | |
u_tys | |
tclvl 1 | |
k_aVw[tau:1] ~ i_aVA[tau:1] | |
arising from a type equality k_aVw[tau:1] ~ i_aVA[tau:1] | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aVw[tau:1] ~ i_aL2[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aVw[tau:1] ~ i_aL2[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aVw[tau:1] := i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aVw[tau:1] | |
i_aVA[tau:1] | |
<i_aL2[sk:1]>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aVx[tau:1] | |
arising from a type equality * ~ TYPE t_aVx[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aVx[tau:1] | |
arising from a type equality * ~ TYPE t_aVx[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aVx[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aVx[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aVx[tau:1] | |
<*>_N | |
lk1 p_aL3 | |
tc_infer_args (vis) | |
[anon] i_aL2[sk:1] | |
a_aLm | |
lk1 a_aLm | |
u_tys | |
tclvl 1 | |
k_aVw[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality k_aVw[tau:1] ~ i_aL2[sk:1] | |
found filled tyvar k_aVw[tau:1] :-> i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aVw[tau:1] | |
i_aL2[sk:1] | |
<i_aL2[sk:1]>_N | |
tc_infer_args (vis) | |
[anon] i_aL2[sk:1] | |
b_aLl | |
lk1 b_aLl | |
u_tys | |
tclvl 1 | |
k_aVv[tau:1] ~ i_aL2[sk:1] | |
arising from a type equality k_aVv[tau:1] ~ i_aL2[sk:1] | |
found filled tyvar k_aVv[tau:1] :-> i_aL2[sk:1] | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aVv[tau:1] | |
i_aL2[sk:1] | |
<i_aL2[sk:1]>_N | |
u_tys | |
tclvl 1 | |
* ~ TYPE t_aVy[tau:1] | |
arising from a type equality * ~ TYPE t_aVy[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ t_aVy[tau:1] | |
arising from a type equality * ~ TYPE t_aVy[tau:1] | |
u_tys | |
tclvl 1 | |
GHC.Types.RuntimeRep ~ GHC.Types.RuntimeRep | |
arising from a kind equality arising from | |
t_aVy[tau:1] ~ 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
writeMetaTyVar t_aVy[tau:1] := 'GHC.Types.LiftedRep | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
TYPE t_aVy[tau:1] | |
<*>_N | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality * ~ * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a type equality * ~ * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
* | |
* | |
<*>_N | |
tcImplicitTKBndrs | |
[b_aLl, a_aLm] | |
[b_aLl[sk:1], a_aLm[sk:1]] | |
solveEqualities { wanted = WC {} | |
newTcEvBinds unique = aVB | |
solveWanteds { WC {} | |
solveSimpleWanteds { {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {} | |
End solveEqualities } | |
reportAllUnsolved { | |
newTcEvBinds unique = aVC | |
reportAllUnsolved } | |
quantifyZonkedTyVars | |
DV {dv_kvs = [aL3 :-> p_aL3[sk:1], aL2 :-> i_aL2[sk:1]] | |
dv_tvs = []} | |
[aL2 :-> i_aL2[sk:1], aL3 :-> p_aL3[sk:1]] | |
quantifyTyVars | |
globals: [aL2 :-> i_aL2[sk:1], aL3 :-> p_aL3[sk:1]] | |
nondep: [] | |
dep: [] | |
dep_kvs' [] | |
nondep_tvs' [] | |
ClsSig 2 [unop] | |
tcClassSigs 2 Category | |
env2 [(p_aL3, Type variable ‘p_aL3’ = p_aL3[sk:1])] | |
open type family: Ob | |
tcDefaultAssocDecl Ob | |
env2 [(p_aL4, Type variable ‘p_aL4’ = p_aL4[sk:1])] | |
tc_infer_args (invis) @i_aL2 | |
tc_infer_args (vis) | |
[anon] i -> i -> * | |
p_aL4 | |
lk1 p_aL4 | |
u_tys | |
tclvl 1 | |
k_aVD[tau:1] ~ i_aVE[tau:1] -> i_aVE[tau:1] -> * | |
arising from a type equality k_aVD[tau:1] | |
~ | |
i_aVE[tau:1] -> i_aVE[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
k_aVD[tau:1] ~ i_aVE[tau:1] -> i_aVE[tau:1] -> * | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
k_aVD[tau:1] ~ i_aVE[tau:1] -> i_aVE[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar k_aVD[tau:1] := i_aVE[tau:1] -> i_aVE[tau:1] -> * | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aVD[tau:1] | |
i_aVE[tau:1] -> i_aVE[tau:1] -> * | |
<i_aVE[tau:1] -> i_aVE[tau:1] -> *>_N | |
instantiating tybinders: | |
lk1 Vacuous | |
tcTyVar2a | |
Vacuous | |
forall i. (i -> i -> *) -> i -> Constraint | |
tc_infer_args (invis) @i_aLr | |
tc_infer_args (vis) | |
[anon] i -> i -> * | |
p_aL4 | |
lk1 p_aL4 | |
u_tys | |
tclvl 1 | |
k_aVD[tau:1] ~ i_aVF[tau:1] -> i_aVF[tau:1] -> * | |
arising from a type equality k_aVD[tau:1] | |
~ | |
i_aVF[tau:1] -> i_aVF[tau:1] -> * | |
found filled tyvar | |
k_aVD[tau:1] :-> i_aVE[tau:1] -> i_aVE[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aVE[tau:1] ~ i_aVF[tau:1] | |
arising from a type equality k_aVD[tau:1] | |
~ | |
i_aVF[tau:1] -> i_aVF[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aVE[tau:1] ~ i_aVF[tau:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aVE[tau:1] ~ i_aVF[tau:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aVE[tau:1] := i_aVF[tau:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aVE[tau:1] -> * ~ i_aVF[tau:1] -> * | |
arising from a type equality k_aVD[tau:1] | |
~ | |
i_aVF[tau:1] -> i_aVF[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aVE[tau:1] ~ i_aVF[tau:1] | |
arising from a type equality k_aVD[tau:1] | |
~ | |
i_aVF[tau:1] -> i_aVF[tau:1] -> * | |
found filled tyvar i_aVE[tau:1] :-> i_aVF[tau:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality k_aVD[tau:1] | |
~ | |
i_aVF[tau:1] -> i_aVF[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
k_aVD[tau:1] | |
i_aVF[tau:1] -> i_aVF[tau:1] -> * | |
<i_aVF[tau:1] -> i_aVF[tau:1] -> *>_N | |
u_tys | |
tclvl 1 | |
i_aVF[tau:1] -> Constraint ~ i_aVE[tau:1] -> Constraint | |
arising from a type equality i_aVF[tau:1] -> Constraint | |
~ | |
i_aVE[tau:1] -> Constraint | |
u_tys | |
tclvl 1 | |
i_aVF[tau:1] ~ i_aVE[tau:1] | |
arising from a type equality i_aVF[tau:1] -> Constraint | |
~ | |
i_aVE[tau:1] -> Constraint | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
Constraint ~ Constraint | |
arising from a type equality i_aVF[tau:1] -> Constraint | |
~ | |
i_aVE[tau:1] -> Constraint | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aVF[tau:1] -> Constraint | |
i_aVE[tau:1] -> Constraint | |
<i_aVF[tau:1] -> Constraint>_N | |
tcImplicitTKBndrs | |
[p_aL4] | |
[p_aL4[sk:1]] | |
solveEqualities { wanted = WC {} | |
newTcEvBinds unique = aVG | |
solveWanteds { WC {} | |
solveSimpleWanteds { {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {} | |
End solveEqualities } | |
reportAllUnsolved { | |
newTcEvBinds unique = aVH | |
reportAllUnsolved } | |
quantifyZonkedTyVars | |
DV {dv_kvs = [aVF :-> i_aVF[tau:1]] | |
dv_tvs = [aL4 :-> p_aL4[sk:1], aVF :-> i_aVF[tau:1]]} | |
[] | |
Skolemising i_aVF[tau:1] := i_aVF[sk:1] | |
writeMetaTyVar i_aVF[tau:1] := i_aVF[sk:1] | |
quantifyTyVars | |
globals: [] | |
nondep: [p_aL4[sk:1]] | |
dep: [i_aVF[tau:1]] | |
dep_kvs' [i_aVF[sk:1]] | |
nondep_tvs' [p_aL4[sk:1]] | |
tcFamTyPats | |
Ob | |
[i_aVE[tau:1], p_aL4[sk:1]] | |
[i_aVF[sk:1], p_aL4[sk:1]] | |
env2 | |
[(i_aVF, Type variable ‘i_aVF’ = i_aVF[sk:1]), | |
(p_aL4, Type variable ‘p_aL4’ = p_aL4[sk:1])] | |
lk1 Vacuous | |
tcTyVar2a | |
Vacuous | |
forall i. (i -> i -> *) -> i -> Constraint | |
tc_infer_args (invis) @i_aLr | |
tc_infer_args (vis) | |
[anon] i -> i -> * | |
p_aL4 | |
lk1 p_aL4 | |
u_tys | |
tclvl 1 | |
i_aVF[sk:1] -> i_aVF[sk:1] -> * ~ i_aVI[tau:1] -> i_aVI[tau:1] -> * | |
arising from a type equality i_aVF[sk:1] -> i_aVF[sk:1] -> * | |
~ | |
i_aVI[tau:1] -> i_aVI[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aVF[sk:1] ~ i_aVI[tau:1] | |
arising from a type equality i_aVF[sk:1] -> i_aVF[sk:1] -> * | |
~ | |
i_aVI[tau:1] -> i_aVI[tau:1] -> * | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a kind equality arising from | |
i_aVI[tau:1] ~ i_aVF[sk:1] | |
u_tys | |
tclvl 1 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aVI[tau:1] ~ i_aVF[sk:1] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aVI[tau:1] := i_aVF[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
i_aVF[sk:1] -> * ~ i_aVI[tau:1] -> * | |
arising from a type equality i_aVF[sk:1] -> i_aVF[sk:1] -> * | |
~ | |
i_aVI[tau:1] -> i_aVI[tau:1] -> * | |
u_tys | |
tclvl 1 | |
i_aVF[sk:1] ~ i_aVI[tau:1] | |
arising from a type equality i_aVF[sk:1] -> i_aVF[sk:1] -> * | |
~ | |
i_aVI[tau:1] -> i_aVI[tau:1] -> * | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
* ~ * | |
arising from a type equality i_aVF[sk:1] -> i_aVF[sk:1] -> * | |
~ | |
i_aVI[tau:1] -> i_aVI[tau:1] -> * | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aVF[sk:1] -> i_aVF[sk:1] -> * | |
i_aVI[tau:1] -> i_aVI[tau:1] -> * | |
<i_aVF[sk:1] -> i_aVF[sk:1] -> *>_N | |
u_tys | |
tclvl 1 | |
i_aVI[tau:1] -> Constraint ~ i_aVE[tau:1] -> Constraint | |
arising from a type equality i_aVI[tau:1] -> Constraint | |
~ | |
i_aVE[tau:1] -> Constraint | |
u_tys | |
tclvl 1 | |
i_aVI[tau:1] ~ i_aVE[tau:1] | |
arising from a type equality i_aVI[tau:1] -> Constraint | |
~ | |
i_aVE[tau:1] -> Constraint | |
found filled tyvar i_aVI[tau:1] :-> i_aVF[sk:1] | |
u_tys yields no coercion | |
u_tys | |
tclvl 1 | |
Constraint ~ Constraint | |
arising from a type equality i_aVI[tau:1] -> Constraint | |
~ | |
i_aVE[tau:1] -> Constraint | |
u_tys yields no coercion | |
u_tys yields no coercion | |
checkExpectedKind | |
i_aVI[tau:1] -> Constraint | |
i_aVE[tau:1] -> Constraint | |
<i_aVF[sk:1] -> Constraint>_N | |
solveEqualities { wanted = WC {} | |
newTcEvBinds unique = aVJ | |
solveWanteds { WC {} | |
solveSimpleWanteds { {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {} | |
End solveEqualities } | |
reportAllUnsolved { | |
newTcEvBinds unique = aVK | |
reportAllUnsolved } | |
tcClassDecl | |
[] | |
[@i_aL2, p_aL3] | |
[] | |
Starting synonym cycle check [Nat, Functor, Category] | |
Done synonym cycle check [Nat, Functor, Category] | |
Starting family consistency check [Nat, Functor, Category] | |
Done family consistency [Nat, Functor, Category] | |
Starting validity check [Nat, Functor, Category] | |
Starting validity for tycon Nat | |
checkValidTyCon | |
Nat | |
Nothing | |
cvtc1 Nat | |
cvtc2 Nat | |
checkValidDataCon | |
Nat | |
Nat | |
[i_aKK, j_aKM, p_aKL, q_aKN, f_aKO, g_aKP] | |
Nat p q f g :: * | |
Nat p q f g :: * | |
checkValidDataCon 2 | |
forall i j (p :: i -> i -> *) (q :: j -> j -> *) (f :: i | |
-> j) (g :: i -> j). | |
(Functor p q f, Functor p q g) => | |
(forall (a :: i). Ob p a => q (f a) (g a)) -> Nat p q f g | |
checkValidType | |
forall i j (p :: i -> i -> *) (q :: j -> j -> *) (f :: i | |
-> j) (g :: i -> j). | |
(Functor p q f, Functor p q g) => | |
(forall (a :: i). Ob p a => q (f a) (g a)) -> Nat p q f g :: * | |
check_type | |
forall i j (p :: i -> i -> *) (q :: j -> j -> *) (f :: i | |
-> j) (g :: i -> j). | |
(Functor p q f, Functor p q g) => | |
(forall (a :: i). Ob p a => q (f a) (g a)) -> Nat p q f g | |
True | |
check_valid_theta [Functor p q f, Functor p q g] | |
check_type | |
forall (a :: i). Ob p a => q (f a) (g a) | |
True | |
check_valid_theta [Ob p a] | |
Ambiguity check for | |
forall i j (p :: i -> i -> *) (q :: j -> j -> *) (f :: i | |
-> j) (g :: i -> j). | |
(Functor p q f, Functor p q g) => | |
(forall (a :: i). Ob p a => q (f a) (g a)) -> Nat p q f g | |
tcSubType_NC | |
the type of the constructor ‘Nat’ | |
forall i j (p :: i -> i -> *) (q :: j -> j -> *) (f :: i | |
-> j) (g :: i -> j). | |
(Functor p q f, Functor p q g) => | |
(forall (a :: i). Ob p a => q (f a) (g a)) -> Nat p q f g | |
forall i j (p :: i -> i -> *) (q :: j -> j -> *) (f :: i | |
-> j) (g :: i -> j). | |
(Functor p q f, Functor p q g) => | |
(forall (a :: i). Ob p a => q (f a) (g a)) -> Nat p q f g | |
tc_sub_tc_type (general case) | |
ty_actual = forall i j (p :: i -> i -> *) (q :: j | |
-> j -> *) (f :: i -> j) (g :: i -> j). | |
(Functor p q f, Functor p q g) => | |
(forall (a :: i). Ob p a => q (f a) (g a)) -> Nat p q f g | |
ty_expected = forall i j (p :: i -> i -> *) (q :: j | |
-> j -> *) (f :: i -> j) (g :: i -> j). | |
(Functor p q f, Functor p q g) => | |
(forall (a :: i). Ob p a => q (f a) (g a)) -> Nat p q f g | |
tcSkolemise | |
tcSkolemise | |
1 | |
expected_ty forall i j (p :: i -> i -> *) (q :: j | |
-> j -> *) (f :: i -> j) (g :: i -> j). | |
(Functor p q f, Functor p q g) => | |
(forall (a :: i). Ob p a => q (f a) (g a)) -> Nat p q f g | |
inst tyvars [i_aVX[sk:2], j_aVY[sk:2], p_aVZ[sk:2], q_aW0[sk:2], | |
f_aW1[sk:2], g_aW2[sk:2]] | |
given [$dFunctor_aW3, $dFunctor_aW4] | |
inst type (forall (a :: i_aVX[sk:2]). | |
Ob p_aVZ[sk:2] a => | |
q_aW0[sk:2] (f_aW1[sk:2] a) (g_aW2[sk:2] a)) | |
-> Nat p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2] g_aW2[sk:2] | |
tc_sub_type_ds | |
ty_actual = forall i j (p :: i -> i -> *) (q :: j | |
-> j -> *) (f :: i -> j) (g :: i -> j). | |
(Functor p q f, Functor p q g) => | |
(forall (a :: i). Ob p a => q (f a) (g a)) -> Nat p q f g | |
ty_expected = (forall (a :: i_aVX[sk:2]). | |
Ob p_aVZ[sk:2] a => | |
q_aW0[sk:2] (f_aW1[sk:2] a) (g_aW2[sk:2] a)) | |
-> Nat p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2] g_aW2[sk:2] | |
instCallConstraints [$dFunctor_aWb, $dFunctor_aWc] | |
Instantiating | |
all tyvars? True | |
origin arising from a type equality forall i j (p :: i | |
-> i -> *) (q :: j -> j -> *) (f :: i | |
-> j) (g :: i | |
-> j). | |
(Functor p q f, Functor p q g) => | |
(forall (a :: i). Ob p a => q (f a) (g a)) -> Nat p q f g | |
~ | |
forall i j (p :: i -> i -> *) (q :: j -> j -> *) (f :: i | |
-> j) (g :: i | |
-> j). | |
(Functor p q f, Functor p q g) => | |
(forall (a :: i). Ob p a => q (f a) (g a)) -> Nat p q f g | |
type forall i j (p :: i -> i -> *) (q :: j -> j -> *) (f :: i | |
-> j) (g :: i -> j). | |
(Functor p q f, Functor p q g) => | |
(forall (a :: i). Ob p a => q (f a) (g a)) -> Nat p q f g | |
theta [Functor p q f, Functor p q g] | |
leave_bndrs [] | |
with [i_aW5[tau:2], j_aW6[tau:2], p_aW7[tau:2], q_aW8[tau:2], | |
f_aW9[tau:2], g_aWa[tau:2]] | |
theta: [Functor p_aW7[tau:2] q_aW8[tau:2] f_aW9[tau:2], | |
Functor p_aW7[tau:2] q_aW8[tau:2] g_aWa[tau:2]] | |
tc_sub_type_ds | |
ty_actual = (forall (a :: i_aW5[tau:2]). | |
Ob p_aW7[tau:2] a => | |
q_aW8[tau:2] (f_aW9[tau:2] a) (g_aWa[tau:2] a)) | |
-> Nat p_aW7[tau:2] q_aW8[tau:2] f_aW9[tau:2] g_aWa[tau:2] | |
ty_expected = (forall (a :: i_aVX[sk:2]). | |
Ob p_aVZ[sk:2] a => | |
q_aW0[sk:2] (f_aW1[sk:2] a) (g_aW2[sk:2] a)) | |
-> Nat p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2] g_aW2[sk:2] | |
tc_sub_type_ds | |
ty_actual = Nat | |
p_aW7[tau:2] q_aW8[tau:2] f_aW9[tau:2] g_aWa[tau:2] | |
ty_expected = Nat p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2] g_aW2[sk:2] | |
deeply_instantiate final subst | |
origin: arising from a type equality forall i j (p :: i | |
-> i -> *) (q :: j -> j -> *) (f :: i | |
-> j) (g :: i | |
-> j). | |
(Functor p q f, Functor p q g) => | |
(forall (a :: i). Ob p a => q (f a) (g a)) -> Nat p q f g | |
~ | |
forall i j (p :: i -> i -> *) (q :: j -> j -> *) (f :: i | |
-> j) (g :: i | |
-> j). | |
(Functor p q f, Functor p q g) => | |
(forall (a :: i). Ob p a => q (f a) (g a)) -> Nat p q f g | |
type: Nat p_aW7[tau:2] q_aW8[tau:2] f_aW9[tau:2] g_aWa[tau:2] | |
new type: Nat p_aW7[tau:2] q_aW8[tau:2] f_aW9[tau:2] g_aWa[tau:2] | |
subst: [TCvSubst | |
In scope: InScope {i_aW5 j_aW6 p_aW7 q_aW8 f_aW9 g_aWa} | |
Type env: [] | |
Co env: []] | |
u_tys | |
tclvl 2 | |
Nat p_aW7[tau:2] q_aW8[tau:2] f_aW9[tau:2] g_aWa[tau:2] | |
~ | |
Nat p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2] g_aW2[sk:2] | |
arising from a type equality (forall (a :: i_aW5[tau:2]). | |
Ob p_aW7[tau:2] a => | |
q_aW8[tau:2] (f_aW9[tau:2] a) (g_aWa[tau:2] a)) | |
-> Nat p_aW7[tau:2] q_aW8[tau:2] f_aW9[tau:2] g_aWa[tau:2] | |
~ | |
(forall (a :: i_aVX[sk:2]). | |
Ob p_aVZ[sk:2] a => | |
q_aW0[sk:2] (f_aW1[sk:2] a) (g_aW2[sk:2] a)) | |
-> Nat p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2] g_aW2[sk:2] | |
u_tys | |
tclvl 2 | |
i_aW5[tau:2] ~ i_aVX[sk:2] | |
arising from a type equality (forall (a :: i_aW5[tau:2]). | |
Ob p_aW7[tau:2] a => | |
q_aW8[tau:2] (f_aW9[tau:2] a) (g_aWa[tau:2] a)) | |
-> Nat p_aW7[tau:2] q_aW8[tau:2] f_aW9[tau:2] g_aWa[tau:2] | |
~ | |
(forall (a :: i_aVX[sk:2]). | |
Ob p_aVZ[sk:2] a => | |
q_aW0[sk:2] (f_aW1[sk:2] a) (g_aW2[sk:2] a)) | |
-> Nat p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2] g_aW2[sk:2] | |
u_tys | |
tclvl 2 | |
* ~ * | |
arising from a kind equality arising from | |
i_aW5[tau:2] ~ i_aVX[sk:2] | |
u_tys | |
tclvl 2 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aW5[tau:2] ~ i_aVX[sk:2] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aW5[tau:2] := i_aVX[sk:2] | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
j_aW6[tau:2] ~ j_aVY[sk:2] | |
arising from a type equality (forall (a :: i_aW5[tau:2]). | |
Ob p_aW7[tau:2] a => | |
q_aW8[tau:2] (f_aW9[tau:2] a) (g_aWa[tau:2] a)) | |
-> Nat p_aW7[tau:2] q_aW8[tau:2] f_aW9[tau:2] g_aWa[tau:2] | |
~ | |
(forall (a :: i_aVX[sk:2]). | |
Ob p_aVZ[sk:2] a => | |
q_aW0[sk:2] (f_aW1[sk:2] a) (g_aW2[sk:2] a)) | |
-> Nat p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2] g_aW2[sk:2] | |
u_tys | |
tclvl 2 | |
* ~ * | |
arising from a kind equality arising from | |
j_aW6[tau:2] ~ j_aVY[sk:2] | |
u_tys | |
tclvl 2 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
j_aW6[tau:2] ~ j_aVY[sk:2] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar j_aW6[tau:2] := j_aVY[sk:2] | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
p_aW7[tau:2] ~ p_aVZ[sk:2] | |
arising from a type equality (forall (a :: i_aW5[tau:2]). | |
Ob p_aW7[tau:2] a => | |
q_aW8[tau:2] (f_aW9[tau:2] a) (g_aWa[tau:2] a)) | |
-> Nat p_aW7[tau:2] q_aW8[tau:2] f_aW9[tau:2] g_aWa[tau:2] | |
~ | |
(forall (a :: i_aVX[sk:2]). | |
Ob p_aVZ[sk:2] a => | |
q_aW0[sk:2] (f_aW1[sk:2] a) (g_aW2[sk:2] a)) | |
-> Nat p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2] g_aW2[sk:2] | |
u_tys | |
tclvl 2 | |
i_aVX[sk:2] -> i_aVX[sk:2] -> * ~ i_aW5[tau:2] -> i_aW5[tau:2] -> * | |
arising from a kind equality arising from | |
p_aW7[tau:2] ~ p_aVZ[sk:2] | |
u_tys | |
tclvl 2 | |
i_aVX[sk:2] ~ i_aW5[tau:2] | |
arising from a kind equality arising from | |
p_aW7[tau:2] ~ p_aVZ[sk:2] | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
i_aVX[sk:2] -> * ~ i_aW5[tau:2] -> * | |
arising from a kind equality arising from | |
p_aW7[tau:2] ~ p_aVZ[sk:2] | |
u_tys | |
tclvl 2 | |
i_aVX[sk:2] ~ i_aW5[tau:2] | |
arising from a kind equality arising from | |
p_aW7[tau:2] ~ p_aVZ[sk:2] | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
* ~ * | |
arising from a kind equality arising from | |
p_aW7[tau:2] ~ p_aVZ[sk:2] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar p_aW7[tau:2] := p_aVZ[sk:2] | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
q_aW8[tau:2] ~ q_aW0[sk:2] | |
arising from a type equality (forall (a :: i_aW5[tau:2]). | |
Ob p_aW7[tau:2] a => | |
q_aW8[tau:2] (f_aW9[tau:2] a) (g_aWa[tau:2] a)) | |
-> Nat p_aW7[tau:2] q_aW8[tau:2] f_aW9[tau:2] g_aWa[tau:2] | |
~ | |
(forall (a :: i_aVX[sk:2]). | |
Ob p_aVZ[sk:2] a => | |
q_aW0[sk:2] (f_aW1[sk:2] a) (g_aW2[sk:2] a)) | |
-> Nat p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2] g_aW2[sk:2] | |
u_tys | |
tclvl 2 | |
j_aVY[sk:2] -> j_aVY[sk:2] -> * ~ j_aW6[tau:2] -> j_aW6[tau:2] -> * | |
arising from a kind equality arising from | |
q_aW8[tau:2] ~ q_aW0[sk:2] | |
u_tys | |
tclvl 2 | |
j_aVY[sk:2] ~ j_aW6[tau:2] | |
arising from a kind equality arising from | |
q_aW8[tau:2] ~ q_aW0[sk:2] | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
j_aVY[sk:2] -> * ~ j_aW6[tau:2] -> * | |
arising from a kind equality arising from | |
q_aW8[tau:2] ~ q_aW0[sk:2] | |
u_tys | |
tclvl 2 | |
j_aVY[sk:2] ~ j_aW6[tau:2] | |
arising from a kind equality arising from | |
q_aW8[tau:2] ~ q_aW0[sk:2] | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
* ~ * | |
arising from a kind equality arising from | |
q_aW8[tau:2] ~ q_aW0[sk:2] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar q_aW8[tau:2] := q_aW0[sk:2] | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
f_aW9[tau:2] ~ f_aW1[sk:2] | |
arising from a type equality (forall (a :: i_aW5[tau:2]). | |
Ob p_aW7[tau:2] a => | |
q_aW8[tau:2] (f_aW9[tau:2] a) (g_aWa[tau:2] a)) | |
-> Nat p_aW7[tau:2] q_aW8[tau:2] f_aW9[tau:2] g_aWa[tau:2] | |
~ | |
(forall (a :: i_aVX[sk:2]). | |
Ob p_aVZ[sk:2] a => | |
q_aW0[sk:2] (f_aW1[sk:2] a) (g_aW2[sk:2] a)) | |
-> Nat p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2] g_aW2[sk:2] | |
u_tys | |
tclvl 2 | |
i_aVX[sk:2] -> j_aVY[sk:2] ~ i_aW5[tau:2] -> j_aW6[tau:2] | |
arising from a kind equality arising from | |
f_aW9[tau:2] ~ f_aW1[sk:2] | |
u_tys | |
tclvl 2 | |
i_aVX[sk:2] ~ i_aW5[tau:2] | |
arising from a kind equality arising from | |
f_aW9[tau:2] ~ f_aW1[sk:2] | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
j_aVY[sk:2] ~ j_aW6[tau:2] | |
arising from a kind equality arising from | |
f_aW9[tau:2] ~ f_aW1[sk:2] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar f_aW9[tau:2] := f_aW1[sk:2] | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
g_aWa[tau:2] ~ g_aW2[sk:2] | |
arising from a type equality (forall (a :: i_aW5[tau:2]). | |
Ob p_aW7[tau:2] a => | |
q_aW8[tau:2] (f_aW9[tau:2] a) (g_aWa[tau:2] a)) | |
-> Nat p_aW7[tau:2] q_aW8[tau:2] f_aW9[tau:2] g_aWa[tau:2] | |
~ | |
(forall (a :: i_aVX[sk:2]). | |
Ob p_aVZ[sk:2] a => | |
q_aW0[sk:2] (f_aW1[sk:2] a) (g_aW2[sk:2] a)) | |
-> Nat p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2] g_aW2[sk:2] | |
u_tys | |
tclvl 2 | |
i_aVX[sk:2] -> j_aVY[sk:2] ~ i_aW5[tau:2] -> j_aW6[tau:2] | |
arising from a kind equality arising from | |
g_aWa[tau:2] ~ g_aW2[sk:2] | |
u_tys | |
tclvl 2 | |
i_aVX[sk:2] ~ i_aW5[tau:2] | |
arising from a kind equality arising from | |
g_aWa[tau:2] ~ g_aW2[sk:2] | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
j_aVY[sk:2] ~ j_aW6[tau:2] | |
arising from a kind equality arising from | |
g_aWa[tau:2] ~ g_aW2[sk:2] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar g_aWa[tau:2] := g_aW2[sk:2] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
tc_sub_tc_type (general case) | |
ty_actual = forall (a :: i_aVX[sk:2]). | |
Ob p_aVZ[sk:2] a => | |
q_aW0[sk:2] (f_aW1[sk:2] a) (g_aW2[sk:2] a) | |
ty_expected = forall (a :: i_aW5[tau:2]). | |
Ob p_aW7[tau:2] a => | |
q_aW8[tau:2] (f_aW9[tau:2] a) (g_aWa[tau:2] a) | |
tcSkolemise | |
tcSkolemise | |
2 | |
expected_ty forall (a :: i_aW5[tau:2]). | |
Ob p_aW7[tau:2] a => | |
q_aW8[tau:2] (f_aW9[tau:2] a) (g_aWa[tau:2] a) | |
inst tyvars [a_aWe[sk:3]] | |
given [irred_aWf] | |
inst type q_aW8[tau:2] (f_aW9[tau:2] a_aWe[sk:3]) (g_aWa[tau:2] a_aWe[sk:3]) | |
tc_sub_type_ds | |
ty_actual = forall (a :: i_aVX[sk:2]). | |
Ob p_aVZ[sk:2] a => | |
q_aW0[sk:2] (f_aW1[sk:2] a) (g_aW2[sk:2] a) | |
ty_expected = q_aW8[tau:2] (f_aW9[tau:2] a_aWe[sk:3]) (g_aWa[tau:2] a_aWe[sk:3]) | |
instCallConstraints [irred_aWh] | |
Instantiating | |
all tyvars? True | |
origin arising from a type expected by the context: | |
forall (a :: i_aVX[sk:2]). | |
Ob p_aVZ[sk:2] a => | |
q_aW0[sk:2] (f_aW1[sk:2] a) (g_aW2[sk:2] a) | |
type forall (a :: i_aVX[sk:2]). | |
Ob p_aVZ[sk:2] a => | |
q_aW0[sk:2] (f_aW1[sk:2] a) (g_aW2[sk:2] a) | |
theta [Ob p_aVZ[sk:2] a] | |
leave_bndrs [] | |
with [a_aWg[tau:3]] | |
theta: [Ob p_aVZ[sk:2] a_aWg[tau:3]] | |
tc_sub_type_ds | |
ty_actual = q_aW0[sk:2] (f_aW1[sk:2] a_aWg[tau:3]) (g_aW2[sk:2] a_aWg[tau:3]) | |
ty_expected = q_aW8[tau:2] (f_aW9[tau:2] a_aWe[sk:3]) (g_aWa[tau:2] a_aWe[sk:3]) | |
deeply_instantiate final subst | |
origin: arising from a type expected by the context: | |
forall (a :: i_aVX[sk:2]). | |
Ob p_aVZ[sk:2] a => | |
q_aW0[sk:2] (f_aW1[sk:2] a) (g_aW2[sk:2] a) | |
type: q_aW0[sk:2] (f_aW1[sk:2] a_aWg[tau:3]) (g_aW2[sk:2] a_aWg[tau:3]) | |
new type: q_aW0[sk:2] (f_aW1[sk:2] a_aWg[tau:3]) (g_aW2[sk:2] a_aWg[tau:3]) | |
subst: [TCvSubst | |
In scope: InScope {i_aVX j_aVY q_aW0 f_aW1 g_aW2 a_aWg} | |
Type env: [] | |
Co env: []] | |
u_tys | |
tclvl 3 | |
q_aW0[sk:2] (f_aW1[sk:2] a_aWg[tau:3]) (g_aW2[sk:2] a_aWg[tau:3]) | |
~ | |
q_aW8[tau:2] (f_aW9[tau:2] a_aWe[sk:3]) (g_aWa[tau:2] a_aWe[sk:3]) | |
arising from a type equality q_aW0[sk:2] (f_aW1[sk:2] a_aWg[tau:3]) (g_aW2[sk:2] a_aWg[tau:3]) | |
~ | |
q_aW8[tau:2] (f_aW9[tau:2] a_aWe[sk:3]) (g_aWa[tau:2] a_aWe[sk:3]) | |
u_tys | |
tclvl 3 | |
q_aW0[sk:2] (f_aW1[sk:2] a_aWg[tau:3]) | |
~ | |
q_aW8[tau:2] (f_aW9[tau:2] a_aWe[sk:3]) | |
arising from a type equality q_aW0[sk:2] (f_aW1[sk:2] a_aWg[tau:3]) (g_aW2[sk:2] a_aWg[tau:3]) | |
~ | |
q_aW8[tau:2] (f_aW9[tau:2] a_aWe[sk:3]) (g_aWa[tau:2] a_aWe[sk:3]) | |
u_tys | |
tclvl 3 | |
q_aW0[sk:2] ~ q_aW8[tau:2] | |
arising from a type equality q_aW0[sk:2] (f_aW1[sk:2] a_aWg[tau:3]) (g_aW2[sk:2] a_aWg[tau:3]) | |
~ | |
q_aW8[tau:2] (f_aW9[tau:2] a_aWe[sk:3]) (g_aWa[tau:2] a_aWe[sk:3]) | |
u_tys yields no coercion | |
u_tys | |
tclvl 3 | |
f_aW1[sk:2] a_aWg[tau:3] ~ f_aW9[tau:2] a_aWe[sk:3] | |
arising from a type equality q_aW0[sk:2] (f_aW1[sk:2] a_aWg[tau:3]) (g_aW2[sk:2] a_aWg[tau:3]) | |
~ | |
q_aW8[tau:2] (f_aW9[tau:2] a_aWe[sk:3]) (g_aWa[tau:2] a_aWe[sk:3]) | |
u_tys | |
tclvl 3 | |
f_aW1[sk:2] ~ f_aW9[tau:2] | |
arising from a type equality q_aW0[sk:2] (f_aW1[sk:2] a_aWg[tau:3]) (g_aW2[sk:2] a_aWg[tau:3]) | |
~ | |
q_aW8[tau:2] (f_aW9[tau:2] a_aWe[sk:3]) (g_aWa[tau:2] a_aWe[sk:3]) | |
u_tys yields no coercion | |
u_tys | |
tclvl 3 | |
a_aWg[tau:3] ~ a_aWe[sk:3] | |
arising from a type equality q_aW0[sk:2] (f_aW1[sk:2] a_aWg[tau:3]) (g_aW2[sk:2] a_aWg[tau:3]) | |
~ | |
q_aW8[tau:2] (f_aW9[tau:2] a_aWe[sk:3]) (g_aWa[tau:2] a_aWe[sk:3]) | |
u_tys | |
tclvl 3 | |
i_aVX[sk:2] ~ i_aVX[sk:2] | |
arising from a kind equality arising from | |
a_aWg[tau:3] ~ a_aWe[sk:3] | |
u_tys yields no coercion | |
writeMetaTyVar a_aWg[tau:3] := a_aWe[sk:3] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys | |
tclvl 3 | |
g_aW2[sk:2] a_aWg[tau:3] ~ g_aWa[tau:2] a_aWe[sk:3] | |
arising from a type equality q_aW0[sk:2] (f_aW1[sk:2] a_aWg[tau:3]) (g_aW2[sk:2] a_aWg[tau:3]) | |
~ | |
q_aW8[tau:2] (f_aW9[tau:2] a_aWe[sk:3]) (g_aWa[tau:2] a_aWe[sk:3]) | |
u_tys | |
tclvl 3 | |
g_aW2[sk:2] ~ g_aWa[tau:2] | |
arising from a type equality q_aW0[sk:2] (f_aW1[sk:2] a_aWg[tau:3]) (g_aW2[sk:2] a_aWg[tau:3]) | |
~ | |
q_aW8[tau:2] (f_aW9[tau:2] a_aWe[sk:3]) (g_aWa[tau:2] a_aWe[sk:3]) | |
u_tys yields no coercion | |
u_tys | |
tclvl 3 | |
a_aWg[tau:3] ~ a_aWe[sk:3] | |
arising from a type equality q_aW0[sk:2] (f_aW1[sk:2] a_aWg[tau:3]) (g_aW2[sk:2] a_aWg[tau:3]) | |
~ | |
q_aW8[tau:2] (f_aW9[tau:2] a_aWe[sk:3]) (g_aWa[tau:2] a_aWe[sk:3]) | |
found filled tyvar a_aWg[tau:3] :-> a_aWe[sk:3] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
newTcEvBinds unique = aWi | |
newTcEvBinds unique = aWj | |
simplifyAmbiguityCheck { | |
type = forall i j (p :: i -> i -> *) (q :: j -> j -> *) (f :: i | |
-> j) (g :: i -> j). | |
(Functor p q f, Functor p q g) => | |
(forall (a :: i). Ob p a => q (f a) (g a)) -> Nat p q f g | |
wanted = WC {wc_impl = | |
Implic { | |
TcLevel = 2 | |
Skolems = i_aVX[sk:2] | |
j_aVY[sk:2] | |
(p_aVZ[sk:2] :: i_aVX[sk:2] -> i_aVX[sk:2] -> *) | |
(q_aW0[sk:2] :: j_aVY[sk:2] -> j_aVY[sk:2] -> *) | |
(f_aW1[sk:2] :: i_aVX[sk:2] -> j_aVY[sk:2]) | |
(g_aW2[sk:2] :: i_aVX[sk:2] -> j_aVY[sk:2]) | |
No-eqs = False | |
Status = Unsolved | |
Given = | |
$dFunctor_aW3 :: Functor p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2] | |
$dFunctor_aW4 :: Functor p_aVZ[sk:2] q_aW0[sk:2] g_aW2[sk:2] | |
Wanted = | |
WC {wc_simple = | |
[WD] $dFunctor_aWb {0}:: Functor | |
p_aW7[tau:2] | |
q_aW8[tau:2] | |
f_aW9[tau:2] (CNonCanonical) | |
[WD] $dFunctor_aWc {0}:: Functor | |
p_aW7[tau:2] | |
q_aW8[tau:2] | |
g_aWa[tau:2] (CNonCanonical) | |
wc_impl = | |
Implic { | |
TcLevel = 3 | |
Skolems = (a_aWe[sk:3] :: i_aW5[tau:2]) | |
No-eqs = False | |
Status = Unsolved | |
Given = irred_aWf :: Ob p_aW7[tau:2] a_aWe[sk:3] | |
Wanted = | |
WC {wc_simple = | |
[WD] irred_aWh {0}:: Ob | |
p_aVZ[sk:2] | |
a_aWg[tau:3] (CNonCanonical)} | |
Binds = EvBindsVar<aWi> | |
Needed = [] | |
the type of the constructor ‘Nat’: | |
Ob p_aW7[tau:2] a_aWe[sk:3] => | |
q_aW8[tau:2] (f_aW9[tau:2] a_aWe[sk:3]) (g_aWa[tau:2] a_aWe[sk:3]) }} | |
Binds = EvBindsVar<aWj> | |
Needed = [] | |
the type of the constructor ‘Nat’: | |
(Functor p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2], | |
Functor p_aVZ[sk:2] q_aW0[sk:2] g_aW2[sk:2]) => | |
(forall (a :: i_aVX[sk:2]). | |
Ob p_aVZ[sk:2] a => | |
q_aW0[sk:2] (f_aW1[sk:2] a) (g_aW2[sk:2] a)) | |
-> Nat p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2] g_aW2[sk:2] }} | |
newTcEvBinds unique = aWk | |
solveWanteds { | |
WC {wc_impl = | |
Implic { | |
TcLevel = 2 | |
Skolems = i_aVX[sk:2] | |
j_aVY[sk:2] | |
(p_aVZ[sk:2] :: i_aVX[sk:2] -> i_aVX[sk:2] -> *) | |
(q_aW0[sk:2] :: j_aVY[sk:2] -> j_aVY[sk:2] -> *) | |
(f_aW1[sk:2] :: i_aVX[sk:2] -> j_aVY[sk:2]) | |
(g_aW2[sk:2] :: i_aVX[sk:2] -> j_aVY[sk:2]) | |
No-eqs = False | |
Status = Unsolved | |
Given = | |
$dFunctor_aW3 :: Functor p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2] | |
$dFunctor_aW4 :: Functor p_aVZ[sk:2] q_aW0[sk:2] g_aW2[sk:2] | |
Wanted = | |
WC {wc_simple = | |
[WD] $dFunctor_aWb {0}:: Functor | |
p_aW7[tau:2] q_aW8[tau:2] f_aW9[tau:2] (CNonCanonical) | |
[WD] $dFunctor_aWc {0}:: Functor | |
p_aW7[tau:2] q_aW8[tau:2] g_aWa[tau:2] (CNonCanonical) | |
wc_impl = | |
Implic { | |
TcLevel = 3 | |
Skolems = (a_aWe[sk:3] :: i_aW5[tau:2]) | |
No-eqs = False | |
Status = Unsolved | |
Given = irred_aWf :: Ob p_aW7[tau:2] a_aWe[sk:3] | |
Wanted = | |
WC {wc_simple = | |
[WD] irred_aWh {0}:: Ob p_aVZ[sk:2] a_aWg[tau:3] (CNonCanonical)} | |
Binds = EvBindsVar<aWi> | |
Needed = [] | |
the type of the constructor ‘Nat’: | |
Ob p_aW7[tau:2] a_aWe[sk:3] => | |
q_aW8[tau:2] (f_aW9[tau:2] a_aWe[sk:3]) (g_aWa[tau:2] a_aWe[sk:3]) }} | |
Binds = EvBindsVar<aWj> | |
Needed = [] | |
the type of the constructor ‘Nat’: | |
(Functor p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2], | |
Functor p_aVZ[sk:2] q_aW0[sk:2] g_aW2[sk:2]) => | |
(forall (a :: i_aVX[sk:2]). | |
Ob p_aVZ[sk:2] a => | |
q_aW0[sk:2] (f_aW1[sk:2] a) (g_aW2[sk:2] a)) | |
-> Nat p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2] g_aW2[sk:2] }} | |
solveSimpleWanteds { {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveNestedImplications starting { | |
solveImplication { | |
Implic { | |
TcLevel = 2 | |
Skolems = i_aVX[sk:2] | |
j_aVY[sk:2] | |
(p_aVZ[sk:2] :: i_aVX[sk:2] -> i_aVX[sk:2] -> *) | |
(q_aW0[sk:2] :: j_aVY[sk:2] -> j_aVY[sk:2] -> *) | |
(f_aW1[sk:2] :: i_aVX[sk:2] -> j_aVY[sk:2]) | |
(g_aW2[sk:2] :: i_aVX[sk:2] -> j_aVY[sk:2]) | |
No-eqs = False | |
Status = Unsolved | |
Given = | |
$dFunctor_aW3 :: Functor p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2] | |
$dFunctor_aW4 :: Functor p_aVZ[sk:2] q_aW0[sk:2] g_aW2[sk:2] | |
Wanted = | |
WC {wc_simple = | |
[WD] $dFunctor_aWb {0}:: Functor | |
p_aW7[tau:2] q_aW8[tau:2] f_aW9[tau:2] (CNonCanonical) | |
[WD] $dFunctor_aWc {0}:: Functor | |
p_aW7[tau:2] q_aW8[tau:2] g_aWa[tau:2] (CNonCanonical) | |
wc_impl = | |
Implic { | |
TcLevel = 3 | |
Skolems = (a_aWe[sk:3] :: i_aW5[tau:2]) | |
No-eqs = False | |
Status = Unsolved | |
Given = irred_aWf :: Ob p_aW7[tau:2] a_aWe[sk:3] | |
Wanted = | |
WC {wc_simple = | |
[WD] irred_aWh {0}:: Ob p_aVZ[sk:2] a_aWg[tau:3] (CNonCanonical)} | |
Binds = EvBindsVar<aWi> | |
Needed = [] | |
the type of the constructor ‘Nat’: | |
Ob p_aW7[tau:2] a_aWe[sk:3] => | |
q_aW8[tau:2] (f_aW9[tau:2] a_aWe[sk:3]) (g_aWa[tau:2] a_aWe[sk:3]) }} | |
Binds = EvBindsVar<aWj> | |
Needed = [] | |
the type of the constructor ‘Nat’: | |
(Functor p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2], | |
Functor p_aVZ[sk:2] q_aW0[sk:2] g_aW2[sk:2]) => | |
(forall (a :: i_aVX[sk:2]). | |
Ob p_aVZ[sk:2] a => | |
q_aW0[sk:2] (f_aW1[sk:2] a) (g_aW2[sk:2] a)) | |
-> Nat p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2] g_aW2[sk:2] } | |
Inerts {Unsolved goals = 0} | |
solveSimpleGivens { | |
[[G] $dFunctor_aW3 {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2] (CNonCanonical), | |
[G] $dFunctor_aW4 {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] g_aW2[sk:2] (CNonCanonical)] | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] $dFunctor_aW3 {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2] (CNonCanonical) | |
inerts = {Unsolved goals = 0} | |
rest of worklist = WL {Non-eqs = [G] $dFunctor_aW4 {0}:: Functor | |
p_aVZ[sk:2] | |
q_aW0[sk:2] | |
g_aW2[sk:2] (CNonCanonical)} | |
runStage canonicalization { | |
workitem = [G] $dFunctor_aW3 {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2] (CNonCanonical) | |
canonicalize (non-canonical) | |
[G] $dFunctor_aW3 {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2] (CNonCanonical) | |
canEvNC:cls | |
Functor [i_aVX[sk:2], j_aVY[sk:2], p_aVZ[sk:2], q_aW0[sk:2], | |
f_aW1[sk:2]] | |
addTcEvBind | |
aWj | |
[G] $dCategory_aWl = sc(($dFunctor_aW3, 0)) | |
addTcEvBind | |
aWj | |
[G] $dCategory_aWm = sc(($dFunctor_aW3, 1)) | |
mk_superclasses_of | |
Category [i_aVX[sk:2], p_aVZ[sk:2]] | |
False | |
[rKn :-> Functor] | |
addTcEvBind | |
aWj | |
[G] $dFunctor_aWn = sc(($dCategory_aWl, 0)) | |
mk_superclasses_of: loop | |
Functor [i_aVX[sk:2], i_aVX[sk:2] -> *, Op p_aVZ[sk:2], | |
Nat p_aVZ[sk:2] (->), p_aVZ[sk:2]] | |
mk_superclasses_of | |
Category [j_aVY[sk:2], q_aW0[sk:2]] | |
False | |
[rKn :-> Functor] | |
addTcEvBind | |
aWj | |
[G] $dFunctor_aWo = sc(($dCategory_aWm, 0)) | |
mk_superclasses_of: loop | |
Functor [j_aVY[sk:2], j_aVY[sk:2] -> *, Op q_aW0[sk:2], | |
Nat q_aW0[sk:2] (->), q_aW0[sk:2]] | |
Emitting fresh work | |
[G] $dCategory_aWl {0}:: Category p_aVZ[sk:2] (CDictCan) | |
[G] $dFunctor_aWn {0}:: Functor | |
(Op p_aVZ[sk:2]) (Nat p_aVZ[sk:2] (->)) p_aVZ[sk:2] (CDictCan(psc)) | |
[G] $dCategory_aWm {0}:: Category q_aW0[sk:2] (CDictCan) | |
[G] $dFunctor_aWo {0}:: Functor | |
(Op q_aW0[sk:2]) (Nat q_aW0[sk:2] (->)) q_aW0[sk:2] (CDictCan(psc)) | |
flatten_many { | |
i_aVX[sk:2] | |
j_aVY[sk:2] | |
p_aVZ[sk:2] | |
q_aW0[sk:2] | |
f_aW1[sk:2] | |
Unfilled tyvar i_aVX[sk:2] | |
Unfilled tyvar j_aVY[sk:2] | |
Unfilled tyvar p_aVZ[sk:2] | |
Unfilled tyvar i_aVX[sk:2] | |
Unfilled tyvar i_aVX[sk:2] | |
Unfilled tyvar q_aW0[sk:2] | |
Unfilled tyvar j_aVY[sk:2] | |
Unfilled tyvar j_aVY[sk:2] | |
Unfilled tyvar f_aW1[sk:2] | |
Unfilled tyvar i_aVX[sk:2] | |
Unfilled tyvar j_aVY[sk:2] | |
flatten } | |
i_aVX[sk:2] | |
j_aVY[sk:2] | |
p_aVZ[sk:2] | |
q_aW0[sk:2] | |
f_aW1[sk:2] | |
canClass | |
[G] $dFunctor_aW3 {0}:: Functor p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2] | |
Functor p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2] | |
ContinueWith [G] $dFunctor_aW3 {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] $dFunctor_aW3 {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2] (CDictCan) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] $dFunctor_aW3 {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2] (CDictCan) | |
doTopReact | |
[G] $dFunctor_aW3 {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2] (CDictCan) | |
try_fundeps | |
[G] $dFunctor_aW3 {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2] (CDictCan) | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] $dFunctor_aW3 {0}:: Functor | |
p_aVZ[sk:2] | |
q_aW0[sk:2] | |
f_aW1[sk:2] (CDictCan) | |
addInertCan } | |
Step 1[l:2,d:0] Kept as inert: | |
[G] $dFunctor_aW3 {0}:: Functor p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2] | |
End solver pipeline (kept as inert) } | |
final_item = [G] $dFunctor_aW3 {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2] (CDictCan) | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] $dCategory_aWl {0}:: Category | |
p_aVZ[sk:2] (CDictCan) | |
inerts = {Dictionaries = [G] $dFunctor_aW3 {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2] (CDictCan) | |
Unsolved goals = 0} | |
rest of worklist = WL {Non-eqs = [G] $dFunctor_aWn {0}:: Functor | |
(Op p_aVZ[sk:2]) | |
(Nat p_aVZ[sk:2] (->)) | |
p_aVZ[sk:2] (CDictCan(psc)) | |
[G] $dCategory_aWm {0}:: Category q_aW0[sk:2] (CDictCan) | |
[G] $dFunctor_aWo {0}:: Functor | |
(Op q_aW0[sk:2]) | |
(Nat q_aW0[sk:2] (->)) | |
q_aW0[sk:2] (CDictCan(psc)) | |
[G] $dFunctor_aW4 {0}:: Functor | |
p_aVZ[sk:2] | |
q_aW0[sk:2] | |
g_aW2[sk:2] (CNonCanonical)} | |
runStage canonicalization { | |
workitem = [G] $dCategory_aWl {0}:: Category | |
p_aVZ[sk:2] (CDictCan) | |
flatten_many { | |
i_aVX[sk:2] | |
p_aVZ[sk:2] | |
Unfilled tyvar i_aVX[sk:2] | |
Unfilled tyvar p_aVZ[sk:2] | |
Unfilled tyvar i_aVX[sk:2] | |
Unfilled tyvar i_aVX[sk:2] | |
flatten } | |
i_aVX[sk:2] | |
p_aVZ[sk:2] | |
canClass | |
[G] $dCategory_aWl {0}:: Category p_aVZ[sk:2] | |
Category p_aVZ[sk:2] | |
ContinueWith [G] $dCategory_aWl {0}:: Category p_aVZ[sk:2] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] $dCategory_aWl {0}:: Category | |
p_aVZ[sk:2] (CDictCan) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] $dCategory_aWl {0}:: Category | |
p_aVZ[sk:2] (CDictCan) | |
doTopReact [G] $dCategory_aWl {0}:: Category p_aVZ[sk:2] (CDictCan) | |
try_fundeps | |
[G] $dCategory_aWl {0}:: Category p_aVZ[sk:2] (CDictCan) | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] $dCategory_aWl {0}:: Category | |
p_aVZ[sk:2] (CDictCan) | |
addInertCan } | |
Step 2[l:2,d:0] Kept as inert: | |
[G] $dCategory_aWl {0}:: Category p_aVZ[sk:2] | |
End solver pipeline (kept as inert) } | |
final_item = [G] $dCategory_aWl {0}:: Category | |
p_aVZ[sk:2] (CDictCan) | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] $dFunctor_aWn {0}:: Functor | |
(Op p_aVZ[sk:2]) | |
(Nat p_aVZ[sk:2] (->)) | |
p_aVZ[sk:2] (CDictCan(psc)) | |
inerts = {Dictionaries = [G] $dFunctor_aW3 {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2] (CDictCan) | |
[G] $dCategory_aWl {0}:: Category p_aVZ[sk:2] (CDictCan) | |
Unsolved goals = 0} | |
rest of worklist = WL {Non-eqs = [G] $dCategory_aWm {0}:: Category | |
q_aW0[sk:2] (CDictCan) | |
[G] $dFunctor_aWo {0}:: Functor | |
(Op q_aW0[sk:2]) | |
(Nat q_aW0[sk:2] (->)) | |
q_aW0[sk:2] (CDictCan(psc)) | |
[G] $dFunctor_aW4 {0}:: Functor | |
p_aVZ[sk:2] | |
q_aW0[sk:2] | |
g_aW2[sk:2] (CNonCanonical)} | |
runStage canonicalization { | |
workitem = [G] $dFunctor_aWn {0}:: Functor | |
(Op p_aVZ[sk:2]) | |
(Nat p_aVZ[sk:2] (->)) | |
p_aVZ[sk:2] (CDictCan(psc)) | |
flatten_many { | |
i_aVX[sk:2] | |
i_aVX[sk:2] -> * | |
Op p_aVZ[sk:2] | |
Nat p_aVZ[sk:2] (->) | |
p_aVZ[sk:2] | |
Unfilled tyvar i_aVX[sk:2] | |
Unfilled tyvar i_aVX[sk:2] | |
matchFamTcM | |
Matching: Op p_aVZ[sk:2] | |
Match failed | |
Unfilled tyvar i_aVX[sk:2] | |
Unfilled tyvar i_aVX[sk:2] | |
Unfilled tyvar p_aVZ[sk:2] | |
Unfilled tyvar i_aVX[sk:2] | |
Unfilled tyvar i_aVX[sk:2] | |
matchFamTcM | |
Matching: Op p_aVZ[sk:2] | |
Match failed | |
addTcEvBind | |
aWj | |
[G] cobox_aWq = CO <Op p_aVZ[sk:2]>_N | |
extendFlatCache | |
Op [i_aVX[sk:2], i_aVX[sk:2], p_aVZ[sk:2]] | |
[G] | |
fsk_aWp[fsk] | |
flatten/flat-cache miss | |
Op [i_aVX[sk:2], i_aVX[sk:2], p_aVZ[sk:2]] | |
fsk_aWp[fsk] | |
[G] cobox_aWq {0}:: (Op p_aVZ[sk:2] :: (i_aVX[sk:2] | |
-> i_aVX[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aWp[fsk] :: (i_aVX[sk:2] -> i_aVX[sk:2] -> *)) | |
Unfilled tyvar i_aVX[sk:2] | |
Unfilled tyvar p_aVZ[sk:2] | |
Unfilled tyvar i_aVX[sk:2] | |
Unfilled tyvar i_aVX[sk:2] | |
Unfilled tyvar p_aVZ[sk:2] | |
Unfilled tyvar i_aVX[sk:2] | |
Unfilled tyvar i_aVX[sk:2] | |
flatten } | |
i_aVX[sk:2] | |
i_aVX[sk:2] -> * | |
fsk_aWp[fsk] | |
Nat p_aVZ[sk:2] (->) | |
p_aVZ[sk:2] | |
canClass | |
[G] $dFunctor_aWn {0}:: Functor | |
(Op p_aVZ[sk:2]) (Nat p_aVZ[sk:2] (->)) p_aVZ[sk:2] | |
Functor fsk_aWp[fsk] (Nat p_aVZ[sk:2] (->)) p_aVZ[sk:2] | |
ContinueWith [G] $dFunctor_aWn {0}:: Functor | |
fsk_aWp[fsk] (Nat p_aVZ[sk:2] (->)) p_aVZ[sk:2] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] $dFunctor_aWn {0}:: Functor | |
fsk_aWp[fsk] | |
(Nat p_aVZ[sk:2] (->)) | |
p_aVZ[sk:2] (CDictCan(psc)) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] $dFunctor_aWn {0}:: Functor | |
fsk_aWp[fsk] | |
(Nat p_aVZ[sk:2] (->)) | |
p_aVZ[sk:2] (CDictCan(psc)) | |
doTopReact | |
[G] $dFunctor_aWn {0}:: Functor | |
fsk_aWp[fsk] (Nat p_aVZ[sk:2] (->)) p_aVZ[sk:2] (CDictCan(psc)) | |
try_fundeps | |
[G] $dFunctor_aWn {0}:: Functor | |
fsk_aWp[fsk] (Nat p_aVZ[sk:2] (->)) p_aVZ[sk:2] (CDictCan(psc)) | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] $dFunctor_aWn {0}:: Functor | |
fsk_aWp[fsk] | |
(Nat p_aVZ[sk:2] (->)) | |
p_aVZ[sk:2] (CDictCan(psc)) | |
addInertCan } | |
Step 3[l:2,d:0] Kept as inert: | |
[G] $dFunctor_aWn {0}:: Functor | |
fsk_aWp[fsk] (Nat p_aVZ[sk:2] (->)) p_aVZ[sk:2] | |
End solver pipeline (kept as inert) } | |
final_item = [G] $dFunctor_aWn {0}:: Functor | |
fsk_aWp[fsk] | |
(Nat p_aVZ[sk:2] (->)) | |
p_aVZ[sk:2] (CDictCan(psc)) | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] cobox_aWq {0}:: (Op p_aVZ[sk:2] :: (i_aVX[sk:2] | |
-> i_aVX[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aWp[fsk] :: (i_aVX[sk:2] -> i_aVX[sk:2] -> *)) (CFunEqCan) | |
inerts = {Dictionaries = [G] $dCategory_aWl {0}:: Category | |
p_aVZ[sk:2] (CDictCan) | |
[G] $dFunctor_aW3 {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2] (CDictCan) | |
[G] $dFunctor_aWn {0}:: Functor | |
fsk_aWp[fsk] | |
(Nat p_aVZ[sk:2] (->)) | |
p_aVZ[sk:2] (CDictCan(psc)) | |
Unsolved goals = 0} | |
rest of worklist = WL {Non-eqs = [G] $dCategory_aWm {0}:: Category | |
q_aW0[sk:2] (CDictCan) | |
[G] $dFunctor_aWo {0}:: Functor | |
(Op q_aW0[sk:2]) | |
(Nat q_aW0[sk:2] (->)) | |
q_aW0[sk:2] (CDictCan(psc)) | |
[G] $dFunctor_aW4 {0}:: Functor | |
p_aVZ[sk:2] | |
q_aW0[sk:2] | |
g_aW2[sk:2] (CNonCanonical)} | |
runStage canonicalization { | |
workitem = [G] cobox_aWq {0}:: (Op p_aVZ[sk:2] :: (i_aVX[sk:2] | |
-> i_aVX[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aWp[fsk] :: (i_aVX[sk:2] -> i_aVX[sk:2] -> *)) (CFunEqCan) | |
flatten_many { | |
i_aVX[sk:2] | |
i_aVX[sk:2] | |
p_aVZ[sk:2] | |
Unfilled tyvar i_aVX[sk:2] | |
Unfilled tyvar i_aVX[sk:2] | |
Unfilled tyvar p_aVZ[sk:2] | |
Unfilled tyvar i_aVX[sk:2] | |
Unfilled tyvar i_aVX[sk:2] | |
flatten } | |
i_aVX[sk:2] | |
i_aVX[sk:2] | |
p_aVZ[sk:2] | |
extendFlatCache | |
Op [i_aVX[sk:2], i_aVX[sk:2], p_aVZ[sk:2]] | |
[G] | |
fsk_aWp[fsk] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] cobox_aWq {0}:: (Op p_aVZ[sk:2] :: (i_aVX[sk:2] | |
-> i_aVX[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aWp[fsk] :: (i_aVX[sk:2] -> i_aVX[sk:2] -> *)) (CFunEqCan) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] cobox_aWq {0}:: (Op p_aVZ[sk:2] :: (i_aVX[sk:2] | |
-> i_aVX[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aWp[fsk] :: (i_aVX[sk:2] -> i_aVX[sk:2] -> *)) (CFunEqCan) | |
doTopReact | |
[G] cobox_aWq {0}:: (Op p_aVZ[sk:2] :: (i_aVX[sk:2] | |
-> i_aVX[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aWp[fsk] :: (i_aVX[sk:2] -> i_aVX[sk:2] -> *)) (CFunEqCan) | |
matchFamTcM | |
Matching: Op p_aVZ[sk:2] | |
Match failed | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] cobox_aWq {0}:: (Op | |
p_aVZ[sk:2] :: (i_aVX[sk:2] | |
-> i_aVX[sk:2] | |
-> *)) | |
GHC.Prim.~# | |
(fsk_aWp[fsk] :: (i_aVX[sk:2] | |
-> i_aVX[sk:2] | |
-> *)) (CFunEqCan) | |
addInertCan } | |
Step 4[l:2,d:0] Kept as inert: | |
[G] cobox_aWq {0}:: (Op p_aVZ[sk:2] :: (i_aVX[sk:2] | |
-> i_aVX[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aWp[fsk] :: (i_aVX[sk:2] -> i_aVX[sk:2] -> *)) | |
End solver pipeline (kept as inert) } | |
final_item = [G] cobox_aWq {0}:: (Op p_aVZ[sk:2] :: (i_aVX[sk:2] | |
-> i_aVX[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aWp[fsk] :: (i_aVX[sk:2] -> i_aVX[sk:2] -> *)) (CFunEqCan) | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] $dCategory_aWm {0}:: Category | |
q_aW0[sk:2] (CDictCan) | |
inerts = {Type-function equalities = [G] cobox_aWq {0}:: (Op | |
p_aVZ[sk:2] :: (i_aVX[sk:2] | |
-> i_aVX[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aWp[fsk] :: (i_aVX[sk:2] | |
-> i_aVX[sk:2] | |
-> *)) (CFunEqCan) | |
Dictionaries = [G] $dCategory_aWl {0}:: Category | |
p_aVZ[sk:2] (CDictCan) | |
[G] $dFunctor_aW3 {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2] (CDictCan) | |
[G] $dFunctor_aWn {0}:: Functor | |
fsk_aWp[fsk] | |
(Nat p_aVZ[sk:2] (->)) | |
p_aVZ[sk:2] (CDictCan(psc)) | |
Unsolved goals = 0} | |
rest of worklist = WL {Non-eqs = [G] $dFunctor_aWo {0}:: Functor | |
(Op q_aW0[sk:2]) | |
(Nat q_aW0[sk:2] (->)) | |
q_aW0[sk:2] (CDictCan(psc)) | |
[G] $dFunctor_aW4 {0}:: Functor | |
p_aVZ[sk:2] | |
q_aW0[sk:2] | |
g_aW2[sk:2] (CNonCanonical)} | |
runStage canonicalization { | |
workitem = [G] $dCategory_aWm {0}:: Category | |
q_aW0[sk:2] (CDictCan) | |
flatten_many { | |
j_aVY[sk:2] | |
q_aW0[sk:2] | |
Unfilled tyvar j_aVY[sk:2] | |
Unfilled tyvar q_aW0[sk:2] | |
Unfilled tyvar j_aVY[sk:2] | |
Unfilled tyvar j_aVY[sk:2] | |
flatten } | |
j_aVY[sk:2] | |
q_aW0[sk:2] | |
canClass | |
[G] $dCategory_aWm {0}:: Category q_aW0[sk:2] | |
Category q_aW0[sk:2] | |
ContinueWith [G] $dCategory_aWm {0}:: Category q_aW0[sk:2] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] $dCategory_aWm {0}:: Category | |
q_aW0[sk:2] (CDictCan) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] $dCategory_aWm {0}:: Category | |
q_aW0[sk:2] (CDictCan) | |
doTopReact [G] $dCategory_aWm {0}:: Category q_aW0[sk:2] (CDictCan) | |
try_fundeps | |
[G] $dCategory_aWm {0}:: Category q_aW0[sk:2] (CDictCan) | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] $dCategory_aWm {0}:: Category | |
q_aW0[sk:2] (CDictCan) | |
addInertCan } | |
Step 5[l:2,d:0] Kept as inert: | |
[G] $dCategory_aWm {0}:: Category q_aW0[sk:2] | |
End solver pipeline (kept as inert) } | |
final_item = [G] $dCategory_aWm {0}:: Category | |
q_aW0[sk:2] (CDictCan) | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] $dFunctor_aWo {0}:: Functor | |
(Op q_aW0[sk:2]) | |
(Nat q_aW0[sk:2] (->)) | |
q_aW0[sk:2] (CDictCan(psc)) | |
inerts = {Type-function equalities = [G] cobox_aWq {0}:: (Op | |
p_aVZ[sk:2] :: (i_aVX[sk:2] | |
-> i_aVX[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aWp[fsk] :: (i_aVX[sk:2] | |
-> i_aVX[sk:2] | |
-> *)) (CFunEqCan) | |
Dictionaries = [G] $dFunctor_aW3 {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2] (CDictCan) | |
[G] $dFunctor_aWn {0}:: Functor | |
fsk_aWp[fsk] | |
(Nat p_aVZ[sk:2] (->)) | |
p_aVZ[sk:2] (CDictCan(psc)) | |
[G] $dCategory_aWl {0}:: Category p_aVZ[sk:2] (CDictCan) | |
[G] $dCategory_aWm {0}:: Category q_aW0[sk:2] (CDictCan) | |
Unsolved goals = 0} | |
rest of worklist = WL {Non-eqs = [G] $dFunctor_aW4 {0}:: Functor | |
p_aVZ[sk:2] | |
q_aW0[sk:2] | |
g_aW2[sk:2] (CNonCanonical)} | |
runStage canonicalization { | |
workitem = [G] $dFunctor_aWo {0}:: Functor | |
(Op q_aW0[sk:2]) | |
(Nat q_aW0[sk:2] (->)) | |
q_aW0[sk:2] (CDictCan(psc)) | |
flatten_many { | |
j_aVY[sk:2] | |
j_aVY[sk:2] -> * | |
Op q_aW0[sk:2] | |
Nat q_aW0[sk:2] (->) | |
q_aW0[sk:2] | |
Unfilled tyvar j_aVY[sk:2] | |
Unfilled tyvar j_aVY[sk:2] | |
matchFamTcM | |
Matching: Op q_aW0[sk:2] | |
Match failed | |
Unfilled tyvar j_aVY[sk:2] | |
Unfilled tyvar j_aVY[sk:2] | |
Unfilled tyvar q_aW0[sk:2] | |
Unfilled tyvar j_aVY[sk:2] | |
Unfilled tyvar j_aVY[sk:2] | |
matchFamTcM | |
Matching: Op q_aW0[sk:2] | |
Match failed | |
addTcEvBind | |
aWj | |
[G] cobox_aWs = CO <Op q_aW0[sk:2]>_N | |
extendFlatCache | |
Op [j_aVY[sk:2], j_aVY[sk:2], q_aW0[sk:2]] | |
[G] | |
fsk_aWr[fsk] | |
flatten/flat-cache miss | |
Op [j_aVY[sk:2], j_aVY[sk:2], q_aW0[sk:2]] | |
fsk_aWr[fsk] | |
[G] cobox_aWs {0}:: (Op q_aW0[sk:2] :: (j_aVY[sk:2] | |
-> j_aVY[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aWr[fsk] :: (j_aVY[sk:2] -> j_aVY[sk:2] -> *)) | |
Unfilled tyvar j_aVY[sk:2] | |
Unfilled tyvar q_aW0[sk:2] | |
Unfilled tyvar j_aVY[sk:2] | |
Unfilled tyvar j_aVY[sk:2] | |
Unfilled tyvar q_aW0[sk:2] | |
Unfilled tyvar j_aVY[sk:2] | |
Unfilled tyvar j_aVY[sk:2] | |
flatten } | |
j_aVY[sk:2] | |
j_aVY[sk:2] -> * | |
fsk_aWr[fsk] | |
Nat q_aW0[sk:2] (->) | |
q_aW0[sk:2] | |
canClass | |
[G] $dFunctor_aWo {0}:: Functor | |
(Op q_aW0[sk:2]) (Nat q_aW0[sk:2] (->)) q_aW0[sk:2] | |
Functor fsk_aWr[fsk] (Nat q_aW0[sk:2] (->)) q_aW0[sk:2] | |
ContinueWith [G] $dFunctor_aWo {0}:: Functor | |
fsk_aWr[fsk] (Nat q_aW0[sk:2] (->)) q_aW0[sk:2] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] $dFunctor_aWo {0}:: Functor | |
fsk_aWr[fsk] | |
(Nat q_aW0[sk:2] (->)) | |
q_aW0[sk:2] (CDictCan(psc)) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] $dFunctor_aWo {0}:: Functor | |
fsk_aWr[fsk] | |
(Nat q_aW0[sk:2] (->)) | |
q_aW0[sk:2] (CDictCan(psc)) | |
doTopReact | |
[G] $dFunctor_aWo {0}:: Functor | |
fsk_aWr[fsk] (Nat q_aW0[sk:2] (->)) q_aW0[sk:2] (CDictCan(psc)) | |
try_fundeps | |
[G] $dFunctor_aWo {0}:: Functor | |
fsk_aWr[fsk] (Nat q_aW0[sk:2] (->)) q_aW0[sk:2] (CDictCan(psc)) | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] $dFunctor_aWo {0}:: Functor | |
fsk_aWr[fsk] | |
(Nat q_aW0[sk:2] (->)) | |
q_aW0[sk:2] (CDictCan(psc)) | |
addInertCan } | |
Step 6[l:2,d:0] Kept as inert: | |
[G] $dFunctor_aWo {0}:: Functor | |
fsk_aWr[fsk] (Nat q_aW0[sk:2] (->)) q_aW0[sk:2] | |
End solver pipeline (kept as inert) } | |
final_item = [G] $dFunctor_aWo {0}:: Functor | |
fsk_aWr[fsk] | |
(Nat q_aW0[sk:2] (->)) | |
q_aW0[sk:2] (CDictCan(psc)) | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] cobox_aWs {0}:: (Op q_aW0[sk:2] :: (j_aVY[sk:2] | |
-> j_aVY[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aWr[fsk] :: (j_aVY[sk:2] -> j_aVY[sk:2] -> *)) (CFunEqCan) | |
inerts = {Type-function equalities = [G] cobox_aWq {0}:: (Op | |
p_aVZ[sk:2] :: (i_aVX[sk:2] | |
-> i_aVX[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aWp[fsk] :: (i_aVX[sk:2] | |
-> i_aVX[sk:2] | |
-> *)) (CFunEqCan) | |
Dictionaries = [G] $dCategory_aWl {0}:: Category | |
p_aVZ[sk:2] (CDictCan) | |
[G] $dCategory_aWm {0}:: Category q_aW0[sk:2] (CDictCan) | |
[G] $dFunctor_aW3 {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2] (CDictCan) | |
[G] $dFunctor_aWn {0}:: Functor | |
fsk_aWp[fsk] | |
(Nat p_aVZ[sk:2] (->)) | |
p_aVZ[sk:2] (CDictCan(psc)) | |
[G] $dFunctor_aWo {0}:: Functor | |
fsk_aWr[fsk] | |
(Nat q_aW0[sk:2] (->)) | |
q_aW0[sk:2] (CDictCan(psc)) | |
Unsolved goals = 0} | |
rest of worklist = WL {Non-eqs = [G] $dFunctor_aW4 {0}:: Functor | |
p_aVZ[sk:2] | |
q_aW0[sk:2] | |
g_aW2[sk:2] (CNonCanonical)} | |
runStage canonicalization { | |
workitem = [G] cobox_aWs {0}:: (Op q_aW0[sk:2] :: (j_aVY[sk:2] | |
-> j_aVY[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aWr[fsk] :: (j_aVY[sk:2] -> j_aVY[sk:2] -> *)) (CFunEqCan) | |
flatten_many { | |
j_aVY[sk:2] | |
j_aVY[sk:2] | |
q_aW0[sk:2] | |
Unfilled tyvar j_aVY[sk:2] | |
Unfilled tyvar j_aVY[sk:2] | |
Unfilled tyvar q_aW0[sk:2] | |
Unfilled tyvar j_aVY[sk:2] | |
Unfilled tyvar j_aVY[sk:2] | |
flatten } | |
j_aVY[sk:2] | |
j_aVY[sk:2] | |
q_aW0[sk:2] | |
extendFlatCache | |
Op [j_aVY[sk:2], j_aVY[sk:2], q_aW0[sk:2]] | |
[G] | |
fsk_aWr[fsk] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] cobox_aWs {0}:: (Op q_aW0[sk:2] :: (j_aVY[sk:2] | |
-> j_aVY[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aWr[fsk] :: (j_aVY[sk:2] -> j_aVY[sk:2] -> *)) (CFunEqCan) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] cobox_aWs {0}:: (Op q_aW0[sk:2] :: (j_aVY[sk:2] | |
-> j_aVY[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aWr[fsk] :: (j_aVY[sk:2] -> j_aVY[sk:2] -> *)) (CFunEqCan) | |
doTopReact | |
[G] cobox_aWs {0}:: (Op q_aW0[sk:2] :: (j_aVY[sk:2] | |
-> j_aVY[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aWr[fsk] :: (j_aVY[sk:2] -> j_aVY[sk:2] -> *)) (CFunEqCan) | |
matchFamTcM | |
Matching: Op q_aW0[sk:2] | |
Match failed | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] cobox_aWs {0}:: (Op | |
q_aW0[sk:2] :: (j_aVY[sk:2] | |
-> j_aVY[sk:2] | |
-> *)) | |
GHC.Prim.~# | |
(fsk_aWr[fsk] :: (j_aVY[sk:2] | |
-> j_aVY[sk:2] | |
-> *)) (CFunEqCan) | |
addInertCan } | |
Step 7[l:2,d:0] Kept as inert: | |
[G] cobox_aWs {0}:: (Op q_aW0[sk:2] :: (j_aVY[sk:2] | |
-> j_aVY[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aWr[fsk] :: (j_aVY[sk:2] -> j_aVY[sk:2] -> *)) | |
End solver pipeline (kept as inert) } | |
final_item = [G] cobox_aWs {0}:: (Op q_aW0[sk:2] :: (j_aVY[sk:2] | |
-> j_aVY[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aWr[fsk] :: (j_aVY[sk:2] -> j_aVY[sk:2] -> *)) (CFunEqCan) | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] $dFunctor_aW4 {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] g_aW2[sk:2] (CNonCanonical) | |
inerts = {Type-function equalities = [G] cobox_aWq {0}:: (Op | |
p_aVZ[sk:2] :: (i_aVX[sk:2] | |
-> i_aVX[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aWp[fsk] :: (i_aVX[sk:2] | |
-> i_aVX[sk:2] | |
-> *)) (CFunEqCan) | |
[G] cobox_aWs {0}:: (Op q_aW0[sk:2] :: (j_aVY[sk:2] | |
-> j_aVY[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aWr[fsk] :: (j_aVY[sk:2] | |
-> j_aVY[sk:2] | |
-> *)) (CFunEqCan) | |
Dictionaries = [G] $dCategory_aWl {0}:: Category | |
p_aVZ[sk:2] (CDictCan) | |
[G] $dCategory_aWm {0}:: Category q_aW0[sk:2] (CDictCan) | |
[G] $dFunctor_aW3 {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2] (CDictCan) | |
[G] $dFunctor_aWn {0}:: Functor | |
fsk_aWp[fsk] | |
(Nat p_aVZ[sk:2] (->)) | |
p_aVZ[sk:2] (CDictCan(psc)) | |
[G] $dFunctor_aWo {0}:: Functor | |
fsk_aWr[fsk] | |
(Nat q_aW0[sk:2] (->)) | |
q_aW0[sk:2] (CDictCan(psc)) | |
Unsolved goals = 0} | |
rest of worklist = WL {} | |
runStage canonicalization { | |
workitem = [G] $dFunctor_aW4 {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] g_aW2[sk:2] (CNonCanonical) | |
canonicalize (non-canonical) | |
[G] $dFunctor_aW4 {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] g_aW2[sk:2] (CNonCanonical) | |
canEvNC:cls | |
Functor [i_aVX[sk:2], j_aVY[sk:2], p_aVZ[sk:2], q_aW0[sk:2], | |
g_aW2[sk:2]] | |
addTcEvBind | |
aWj | |
[G] $dCategory_aWt = sc(($dFunctor_aW4, 0)) | |
addTcEvBind | |
aWj | |
[G] $dCategory_aWu = sc(($dFunctor_aW4, 1)) | |
mk_superclasses_of | |
Category [i_aVX[sk:2], p_aVZ[sk:2]] | |
False | |
[rKn :-> Functor] | |
addTcEvBind | |
aWj | |
[G] $dFunctor_aWv = sc(($dCategory_aWt, 0)) | |
mk_superclasses_of: loop | |
Functor [i_aVX[sk:2], i_aVX[sk:2] -> *, Op p_aVZ[sk:2], | |
Nat p_aVZ[sk:2] (->), p_aVZ[sk:2]] | |
mk_superclasses_of | |
Category [j_aVY[sk:2], q_aW0[sk:2]] | |
False | |
[rKn :-> Functor] | |
addTcEvBind | |
aWj | |
[G] $dFunctor_aWw = sc(($dCategory_aWu, 0)) | |
mk_superclasses_of: loop | |
Functor [j_aVY[sk:2], j_aVY[sk:2] -> *, Op q_aW0[sk:2], | |
Nat q_aW0[sk:2] (->), q_aW0[sk:2]] | |
Emitting fresh work | |
[G] $dCategory_aWt {0}:: Category p_aVZ[sk:2] (CDictCan) | |
[G] $dFunctor_aWv {0}:: Functor | |
(Op p_aVZ[sk:2]) (Nat p_aVZ[sk:2] (->)) p_aVZ[sk:2] (CDictCan(psc)) | |
[G] $dCategory_aWu {0}:: Category q_aW0[sk:2] (CDictCan) | |
[G] $dFunctor_aWw {0}:: Functor | |
(Op q_aW0[sk:2]) (Nat q_aW0[sk:2] (->)) q_aW0[sk:2] (CDictCan(psc)) | |
flatten_many { | |
i_aVX[sk:2] | |
j_aVY[sk:2] | |
p_aVZ[sk:2] | |
q_aW0[sk:2] | |
g_aW2[sk:2] | |
Unfilled tyvar i_aVX[sk:2] | |
Unfilled tyvar j_aVY[sk:2] | |
Unfilled tyvar p_aVZ[sk:2] | |
Unfilled tyvar i_aVX[sk:2] | |
Unfilled tyvar i_aVX[sk:2] | |
Unfilled tyvar q_aW0[sk:2] | |
Unfilled tyvar j_aVY[sk:2] | |
Unfilled tyvar j_aVY[sk:2] | |
Unfilled tyvar g_aW2[sk:2] | |
Unfilled tyvar i_aVX[sk:2] | |
Unfilled tyvar j_aVY[sk:2] | |
flatten } | |
i_aVX[sk:2] | |
j_aVY[sk:2] | |
p_aVZ[sk:2] | |
q_aW0[sk:2] | |
g_aW2[sk:2] | |
canClass | |
[G] $dFunctor_aW4 {0}:: Functor p_aVZ[sk:2] q_aW0[sk:2] g_aW2[sk:2] | |
Functor p_aVZ[sk:2] q_aW0[sk:2] g_aW2[sk:2] | |
ContinueWith [G] $dFunctor_aW4 {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] g_aW2[sk:2] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] $dFunctor_aW4 {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] g_aW2[sk:2] (CDictCan) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] $dFunctor_aW4 {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] g_aW2[sk:2] (CDictCan) | |
doTopReact | |
[G] $dFunctor_aW4 {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] g_aW2[sk:2] (CDictCan) | |
try_fundeps | |
[G] $dFunctor_aW4 {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] g_aW2[sk:2] (CDictCan) | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] $dFunctor_aW4 {0}:: Functor | |
p_aVZ[sk:2] | |
q_aW0[sk:2] | |
g_aW2[sk:2] (CDictCan) | |
addInertCan } | |
Step 8[l:2,d:0] Kept as inert: | |
[G] $dFunctor_aW4 {0}:: Functor p_aVZ[sk:2] q_aW0[sk:2] g_aW2[sk:2] | |
End solver pipeline (kept as inert) } | |
final_item = [G] $dFunctor_aW4 {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] g_aW2[sk:2] (CDictCan) | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] $dCategory_aWt {0}:: Category | |
p_aVZ[sk:2] (CDictCan) | |
inerts = {Type-function equalities = [G] cobox_aWq {0}:: (Op | |
p_aVZ[sk:2] :: (i_aVX[sk:2] | |
-> i_aVX[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aWp[fsk] :: (i_aVX[sk:2] | |
-> i_aVX[sk:2] | |
-> *)) (CFunEqCan) | |
[G] cobox_aWs {0}:: (Op q_aW0[sk:2] :: (j_aVY[sk:2] | |
-> j_aVY[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aWr[fsk] :: (j_aVY[sk:2] | |
-> j_aVY[sk:2] | |
-> *)) (CFunEqCan) | |
Dictionaries = [G] $dCategory_aWl {0}:: Category | |
p_aVZ[sk:2] (CDictCan) | |
[G] $dCategory_aWm {0}:: Category q_aW0[sk:2] (CDictCan) | |
[G] $dFunctor_aWo {0}:: Functor | |
fsk_aWr[fsk] | |
(Nat q_aW0[sk:2] (->)) | |
q_aW0[sk:2] (CDictCan(psc)) | |
[G] $dFunctor_aW3 {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2] (CDictCan) | |
[G] $dFunctor_aW4 {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] g_aW2[sk:2] (CDictCan) | |
[G] $dFunctor_aWn {0}:: Functor | |
fsk_aWp[fsk] | |
(Nat p_aVZ[sk:2] (->)) | |
p_aVZ[sk:2] (CDictCan(psc)) | |
Unsolved goals = 0} | |
rest of worklist = WL {Non-eqs = [G] $dFunctor_aWv {0}:: Functor | |
(Op p_aVZ[sk:2]) | |
(Nat p_aVZ[sk:2] (->)) | |
p_aVZ[sk:2] (CDictCan(psc)) | |
[G] $dCategory_aWu {0}:: Category q_aW0[sk:2] (CDictCan) | |
[G] $dFunctor_aWw {0}:: Functor | |
(Op q_aW0[sk:2]) | |
(Nat q_aW0[sk:2] (->)) | |
q_aW0[sk:2] (CDictCan(psc))} | |
runStage canonicalization { | |
workitem = [G] $dCategory_aWt {0}:: Category | |
p_aVZ[sk:2] (CDictCan) | |
flatten_many { | |
i_aVX[sk:2] | |
p_aVZ[sk:2] | |
Unfilled tyvar i_aVX[sk:2] | |
Unfilled tyvar p_aVZ[sk:2] | |
Unfilled tyvar i_aVX[sk:2] | |
Unfilled tyvar i_aVX[sk:2] | |
flatten } | |
i_aVX[sk:2] | |
p_aVZ[sk:2] | |
canClass | |
[G] $dCategory_aWt {0}:: Category p_aVZ[sk:2] | |
Category p_aVZ[sk:2] | |
ContinueWith [G] $dCategory_aWt {0}:: Category p_aVZ[sk:2] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] $dCategory_aWt {0}:: Category | |
p_aVZ[sk:2] (CDictCan) | |
end stage interact with inerts } | |
Step 9[l:2,d:0] Dict equal (keep): | |
[G] $dCategory_aWt {0}:: Category p_aVZ[sk:2] | |
End solver pipeline (discharged) } | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] $dFunctor_aWv {0}:: Functor | |
(Op p_aVZ[sk:2]) | |
(Nat p_aVZ[sk:2] (->)) | |
p_aVZ[sk:2] (CDictCan(psc)) | |
inerts = {Type-function equalities = [G] cobox_aWq {0}:: (Op | |
p_aVZ[sk:2] :: (i_aVX[sk:2] | |
-> i_aVX[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aWp[fsk] :: (i_aVX[sk:2] | |
-> i_aVX[sk:2] | |
-> *)) (CFunEqCan) | |
[G] cobox_aWs {0}:: (Op q_aW0[sk:2] :: (j_aVY[sk:2] | |
-> j_aVY[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aWr[fsk] :: (j_aVY[sk:2] | |
-> j_aVY[sk:2] | |
-> *)) (CFunEqCan) | |
Dictionaries = [G] $dCategory_aWl {0}:: Category | |
p_aVZ[sk:2] (CDictCan) | |
[G] $dCategory_aWm {0}:: Category q_aW0[sk:2] (CDictCan) | |
[G] $dFunctor_aWo {0}:: Functor | |
fsk_aWr[fsk] | |
(Nat q_aW0[sk:2] (->)) | |
q_aW0[sk:2] (CDictCan(psc)) | |
[G] $dFunctor_aW3 {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2] (CDictCan) | |
[G] $dFunctor_aW4 {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] g_aW2[sk:2] (CDictCan) | |
[G] $dFunctor_aWn {0}:: Functor | |
fsk_aWp[fsk] | |
(Nat p_aVZ[sk:2] (->)) | |
p_aVZ[sk:2] (CDictCan(psc)) | |
Unsolved goals = 0} | |
rest of worklist = WL {Non-eqs = [G] $dCategory_aWu {0}:: Category | |
q_aW0[sk:2] (CDictCan) | |
[G] $dFunctor_aWw {0}:: Functor | |
(Op q_aW0[sk:2]) | |
(Nat q_aW0[sk:2] (->)) | |
q_aW0[sk:2] (CDictCan(psc))} | |
runStage canonicalization { | |
workitem = [G] $dFunctor_aWv {0}:: Functor | |
(Op p_aVZ[sk:2]) | |
(Nat p_aVZ[sk:2] (->)) | |
p_aVZ[sk:2] (CDictCan(psc)) | |
flatten_many { | |
i_aVX[sk:2] | |
i_aVX[sk:2] -> * | |
Op p_aVZ[sk:2] | |
Nat p_aVZ[sk:2] (->) | |
p_aVZ[sk:2] | |
Unfilled tyvar i_aVX[sk:2] | |
Unfilled tyvar i_aVX[sk:2] | |
matchFamTcM | |
Matching: Op p_aVZ[sk:2] | |
Match failed | |
Unfilled tyvar i_aVX[sk:2] | |
Unfilled tyvar i_aVX[sk:2] | |
Unfilled tyvar p_aVZ[sk:2] | |
Unfilled tyvar i_aVX[sk:2] | |
Unfilled tyvar i_aVX[sk:2] | |
flatten/flat-cache hit | |
Op [i_aVX[sk:2], i_aVX[sk:2], p_aVZ[sk:2]] | |
fsk_aWp[fsk] | |
Unfilled tyvar fsk_aWp[fsk] | |
Unfilled tyvar i_aVX[sk:2] | |
Unfilled tyvar i_aVX[sk:2] | |
Unfilled tyvar i_aVX[sk:2] | |
Unfilled tyvar p_aVZ[sk:2] | |
Unfilled tyvar i_aVX[sk:2] | |
Unfilled tyvar i_aVX[sk:2] | |
Unfilled tyvar p_aVZ[sk:2] | |
Unfilled tyvar i_aVX[sk:2] | |
Unfilled tyvar i_aVX[sk:2] | |
flatten } | |
i_aVX[sk:2] | |
i_aVX[sk:2] -> * | |
fsk_aWp[fsk] | |
Nat p_aVZ[sk:2] (->) | |
p_aVZ[sk:2] | |
addTcEvBind | |
aWj | |
[G] $dFunctor_aWx | |
= $dFunctor_aWv `cast` (Sub | |
(Sym | |
(Functor | |
<i_aVX[sk:2]>_N | |
<i_aVX[sk:2] -> *>_N | |
(Sym cobox) | |
<Nat p_aVZ[sk:2] (->)>_N | |
<p_aVZ[sk:2]>_N)_N)) | |
canClass | |
[G] $dFunctor_aWv {0}:: Functor | |
(Op p_aVZ[sk:2]) (Nat p_aVZ[sk:2] (->)) p_aVZ[sk:2] | |
Functor fsk_aWp[fsk] (Nat p_aVZ[sk:2] (->)) p_aVZ[sk:2] | |
ContinueWith [G] $dFunctor_aWx {0}:: Functor | |
fsk_aWp[fsk] (Nat p_aVZ[sk:2] (->)) p_aVZ[sk:2] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] $dFunctor_aWx {0}:: Functor | |
fsk_aWp[fsk] | |
(Nat p_aVZ[sk:2] (->)) | |
p_aVZ[sk:2] (CDictCan(psc)) | |
end stage interact with inerts } | |
Step 10[l:2,d:0] Dict equal (keep): | |
[G] $dFunctor_aWx {0}:: Functor | |
fsk_aWp[fsk] (Nat p_aVZ[sk:2] (->)) p_aVZ[sk:2] | |
End solver pipeline (discharged) } | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] $dCategory_aWu {0}:: Category | |
q_aW0[sk:2] (CDictCan) | |
inerts = {Type-function equalities = [G] cobox_aWq {0}:: (Op | |
p_aVZ[sk:2] :: (i_aVX[sk:2] | |
-> i_aVX[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aWp[fsk] :: (i_aVX[sk:2] | |
-> i_aVX[sk:2] | |
-> *)) (CFunEqCan) | |
[G] cobox_aWs {0}:: (Op q_aW0[sk:2] :: (j_aVY[sk:2] | |
-> j_aVY[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aWr[fsk] :: (j_aVY[sk:2] | |
-> j_aVY[sk:2] | |
-> *)) (CFunEqCan) | |
Dictionaries = [G] $dCategory_aWl {0}:: Category | |
p_aVZ[sk:2] (CDictCan) | |
[G] $dCategory_aWm {0}:: Category q_aW0[sk:2] (CDictCan) | |
[G] $dFunctor_aWo {0}:: Functor | |
fsk_aWr[fsk] | |
(Nat q_aW0[sk:2] (->)) | |
q_aW0[sk:2] (CDictCan(psc)) | |
[G] $dFunctor_aW3 {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2] (CDictCan) | |
[G] $dFunctor_aW4 {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] g_aW2[sk:2] (CDictCan) | |
[G] $dFunctor_aWn {0}:: Functor | |
fsk_aWp[fsk] | |
(Nat p_aVZ[sk:2] (->)) | |
p_aVZ[sk:2] (CDictCan(psc)) | |
Unsolved goals = 0} | |
rest of worklist = WL {Non-eqs = [G] $dFunctor_aWw {0}:: Functor | |
(Op q_aW0[sk:2]) | |
(Nat q_aW0[sk:2] (->)) | |
q_aW0[sk:2] (CDictCan(psc))} | |
runStage canonicalization { | |
workitem = [G] $dCategory_aWu {0}:: Category | |
q_aW0[sk:2] (CDictCan) | |
flatten_many { | |
j_aVY[sk:2] | |
q_aW0[sk:2] | |
Unfilled tyvar j_aVY[sk:2] | |
Unfilled tyvar q_aW0[sk:2] | |
Unfilled tyvar j_aVY[sk:2] | |
Unfilled tyvar j_aVY[sk:2] | |
flatten } | |
j_aVY[sk:2] | |
q_aW0[sk:2] | |
canClass | |
[G] $dCategory_aWu {0}:: Category q_aW0[sk:2] | |
Category q_aW0[sk:2] | |
ContinueWith [G] $dCategory_aWu {0}:: Category q_aW0[sk:2] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] $dCategory_aWu {0}:: Category | |
q_aW0[sk:2] (CDictCan) | |
end stage interact with inerts } | |
Step 11[l:2,d:0] Dict equal (keep): | |
[G] $dCategory_aWu {0}:: Category q_aW0[sk:2] | |
End solver pipeline (discharged) } | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] $dFunctor_aWw {0}:: Functor | |
(Op q_aW0[sk:2]) | |
(Nat q_aW0[sk:2] (->)) | |
q_aW0[sk:2] (CDictCan(psc)) | |
inerts = {Type-function equalities = [G] cobox_aWq {0}:: (Op | |
p_aVZ[sk:2] :: (i_aVX[sk:2] | |
-> i_aVX[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aWp[fsk] :: (i_aVX[sk:2] | |
-> i_aVX[sk:2] | |
-> *)) (CFunEqCan) | |
[G] cobox_aWs {0}:: (Op q_aW0[sk:2] :: (j_aVY[sk:2] | |
-> j_aVY[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aWr[fsk] :: (j_aVY[sk:2] | |
-> j_aVY[sk:2] | |
-> *)) (CFunEqCan) | |
Dictionaries = [G] $dCategory_aWl {0}:: Category | |
p_aVZ[sk:2] (CDictCan) | |
[G] $dCategory_aWm {0}:: Category q_aW0[sk:2] (CDictCan) | |
[G] $dFunctor_aWo {0}:: Functor | |
fsk_aWr[fsk] | |
(Nat q_aW0[sk:2] (->)) | |
q_aW0[sk:2] (CDictCan(psc)) | |
[G] $dFunctor_aW3 {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2] (CDictCan) | |
[G] $dFunctor_aW4 {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] g_aW2[sk:2] (CDictCan) | |
[G] $dFunctor_aWn {0}:: Functor | |
fsk_aWp[fsk] | |
(Nat p_aVZ[sk:2] (->)) | |
p_aVZ[sk:2] (CDictCan(psc)) | |
Unsolved goals = 0} | |
rest of worklist = WL {} | |
runStage canonicalization { | |
workitem = [G] $dFunctor_aWw {0}:: Functor | |
(Op q_aW0[sk:2]) | |
(Nat q_aW0[sk:2] (->)) | |
q_aW0[sk:2] (CDictCan(psc)) | |
flatten_many { | |
j_aVY[sk:2] | |
j_aVY[sk:2] -> * | |
Op q_aW0[sk:2] | |
Nat q_aW0[sk:2] (->) | |
q_aW0[sk:2] | |
Unfilled tyvar j_aVY[sk:2] | |
Unfilled tyvar j_aVY[sk:2] | |
matchFamTcM | |
Matching: Op q_aW0[sk:2] | |
Match failed | |
Unfilled tyvar j_aVY[sk:2] | |
Unfilled tyvar j_aVY[sk:2] | |
Unfilled tyvar q_aW0[sk:2] | |
Unfilled tyvar j_aVY[sk:2] | |
Unfilled tyvar j_aVY[sk:2] | |
flatten/flat-cache hit | |
Op [j_aVY[sk:2], j_aVY[sk:2], q_aW0[sk:2]] | |
fsk_aWr[fsk] | |
Unfilled tyvar fsk_aWr[fsk] | |
Unfilled tyvar j_aVY[sk:2] | |
Unfilled tyvar j_aVY[sk:2] | |
Unfilled tyvar j_aVY[sk:2] | |
Unfilled tyvar q_aW0[sk:2] | |
Unfilled tyvar j_aVY[sk:2] | |
Unfilled tyvar j_aVY[sk:2] | |
Unfilled tyvar q_aW0[sk:2] | |
Unfilled tyvar j_aVY[sk:2] | |
Unfilled tyvar j_aVY[sk:2] | |
flatten } | |
j_aVY[sk:2] | |
j_aVY[sk:2] -> * | |
fsk_aWr[fsk] | |
Nat q_aW0[sk:2] (->) | |
q_aW0[sk:2] | |
addTcEvBind | |
aWj | |
[G] $dFunctor_aWy | |
= $dFunctor_aWw `cast` (Sub | |
(Sym | |
(Functor | |
<j_aVY[sk:2]>_N | |
<j_aVY[sk:2] -> *>_N | |
(Sym cobox) | |
<Nat q_aW0[sk:2] (->)>_N | |
<q_aW0[sk:2]>_N)_N)) | |
canClass | |
[G] $dFunctor_aWw {0}:: Functor | |
(Op q_aW0[sk:2]) (Nat q_aW0[sk:2] (->)) q_aW0[sk:2] | |
Functor fsk_aWr[fsk] (Nat q_aW0[sk:2] (->)) q_aW0[sk:2] | |
ContinueWith [G] $dFunctor_aWy {0}:: Functor | |
fsk_aWr[fsk] (Nat q_aW0[sk:2] (->)) q_aW0[sk:2] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] $dFunctor_aWy {0}:: Functor | |
fsk_aWr[fsk] | |
(Nat q_aW0[sk:2] (->)) | |
q_aW0[sk:2] (CDictCan(psc)) | |
end stage interact with inerts } | |
Step 12[l:2,d:0] Dict equal (keep): | |
[G] $dFunctor_aWy {0}:: Functor | |
fsk_aWr[fsk] (Nat q_aW0[sk:2] (->)) q_aW0[sk:2] | |
End solver pipeline (discharged) } | |
End solveSimpleGivens } | |
solveWanteds { | |
WC {wc_simple = | |
[WD] $dFunctor_aWb {0}:: Functor | |
p_aW7[tau:2] q_aW8[tau:2] f_aW9[tau:2] (CNonCanonical) | |
[WD] $dFunctor_aWc {0}:: Functor | |
p_aW7[tau:2] q_aW8[tau:2] g_aWa[tau:2] (CNonCanonical) | |
wc_impl = | |
Implic { | |
TcLevel = 3 | |
Skolems = (a_aWe[sk:3] :: i_aW5[tau:2]) | |
No-eqs = False | |
Status = Unsolved | |
Given = irred_aWf :: Ob p_aW7[tau:2] a_aWe[sk:3] | |
Wanted = | |
WC {wc_simple = | |
[WD] irred_aWh {0}:: Ob p_aVZ[sk:2] a_aWg[tau:3] (CNonCanonical)} | |
Binds = EvBindsVar<aWi> | |
Needed = [] | |
the type of the constructor ‘Nat’: | |
Ob p_aW7[tau:2] a_aWe[sk:3] => | |
q_aW8[tau:2] (f_aW9[tau:2] a_aWe[sk:3]) (g_aWa[tau:2] a_aWe[sk:3]) }} | |
solveSimpleWanteds { | |
{[WD] $dFunctor_aWb {0}:: Functor | |
p_aW7[tau:2] q_aW8[tau:2] f_aW9[tau:2] (CNonCanonical), | |
[WD] $dFunctor_aWc {0}:: Functor | |
p_aW7[tau:2] q_aW8[tau:2] g_aWa[tau:2] (CNonCanonical)} | |
----------------------------- | |
Start solver pipeline { | |
work item = [WD] $dFunctor_aWb {0}:: Functor | |
p_aW7[tau:2] q_aW8[tau:2] f_aW9[tau:2] (CNonCanonical) | |
inerts = {Type-function equalities = [G] cobox_aWq {0}:: (Op | |
p_aVZ[sk:2] :: (i_aVX[sk:2] | |
-> i_aVX[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aWp[fsk] :: (i_aVX[sk:2] | |
-> i_aVX[sk:2] | |
-> *)) (CFunEqCan) | |
[G] cobox_aWs {0}:: (Op q_aW0[sk:2] :: (j_aVY[sk:2] | |
-> j_aVY[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aWr[fsk] :: (j_aVY[sk:2] | |
-> j_aVY[sk:2] | |
-> *)) (CFunEqCan) | |
Dictionaries = [G] $dCategory_aWl {0}:: Category | |
p_aVZ[sk:2] (CDictCan) | |
[G] $dCategory_aWm {0}:: Category q_aW0[sk:2] (CDictCan) | |
[G] $dFunctor_aWo {0}:: Functor | |
fsk_aWr[fsk] | |
(Nat q_aW0[sk:2] (->)) | |
q_aW0[sk:2] (CDictCan(psc)) | |
[G] $dFunctor_aW3 {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2] (CDictCan) | |
[G] $dFunctor_aW4 {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] g_aW2[sk:2] (CDictCan) | |
[G] $dFunctor_aWn {0}:: Functor | |
fsk_aWp[fsk] | |
(Nat p_aVZ[sk:2] (->)) | |
p_aVZ[sk:2] (CDictCan(psc)) | |
Unsolved goals = 0} | |
rest of worklist = WL {Non-eqs = [WD] $dFunctor_aWc {0}:: Functor | |
p_aW7[tau:2] | |
q_aW8[tau:2] | |
g_aWa[tau:2] (CNonCanonical)} | |
runStage canonicalization { | |
workitem = [WD] $dFunctor_aWb {0}:: Functor | |
p_aW7[tau:2] q_aW8[tau:2] f_aW9[tau:2] (CNonCanonical) | |
canonicalize (non-canonical) | |
[WD] $dFunctor_aWb {0}:: Functor | |
p_aW7[tau:2] q_aW8[tau:2] f_aW9[tau:2] (CNonCanonical) | |
canEvNC:cls | |
Functor [i_aW5[tau:2], j_aW6[tau:2], p_aW7[tau:2], q_aW8[tau:2], | |
f_aW9[tau:2]] | |
flatten_many { | |
i_aW5[tau:2] | |
j_aW6[tau:2] | |
p_aW7[tau:2] | |
q_aW8[tau:2] | |
f_aW9[tau:2] | |
Following filled tyvar i_aW5[tau:2] = i_aVX[sk:2] | |
Unfilled tyvar i_aVX[sk:2] | |
Following filled tyvar j_aW6[tau:2] = j_aVY[sk:2] | |
Unfilled tyvar j_aVY[sk:2] | |
Following filled tyvar p_aW7[tau:2] = p_aVZ[sk:2] | |
Unfilled tyvar p_aVZ[sk:2] | |
Unfilled tyvar i_aVX[sk:2] | |
Unfilled tyvar i_aVX[sk:2] | |
Following filled tyvar q_aW8[tau:2] = q_aW0[sk:2] | |
Unfilled tyvar q_aW0[sk:2] | |
Unfilled tyvar j_aVY[sk:2] | |
Unfilled tyvar j_aVY[sk:2] | |
Following filled tyvar f_aW9[tau:2] = f_aW1[sk:2] | |
Unfilled tyvar f_aW1[sk:2] | |
Unfilled tyvar i_aVX[sk:2] | |
Unfilled tyvar j_aVY[sk:2] | |
flatten } | |
i_aVX[sk:2] | |
j_aVY[sk:2] | |
p_aVZ[sk:2] | |
q_aW0[sk:2] | |
f_aW1[sk:2] | |
canClass | |
[WD] $dFunctor_aWb {0}:: Functor | |
p_aW7[tau:2] q_aW8[tau:2] f_aW9[tau:2] | |
Functor p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2] | |
ContinueWith [WD] $dFunctor_aWb {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [WD] $dFunctor_aWb {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2] (CDictCan(psc)) | |
addTcEvBind | |
aWj | |
[W] $dFunctor_aWb = $dFunctor_aW3 | |
end stage interact with inerts } | |
Step 13[l:2,d:0] Dict equal (keep): | |
[WD] $dFunctor_aWb {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2] | |
End solver pipeline (discharged) } | |
----------------------------- | |
Start solver pipeline { | |
work item = [WD] $dFunctor_aWc {0}:: Functor | |
p_aW7[tau:2] q_aW8[tau:2] g_aWa[tau:2] (CNonCanonical) | |
inerts = {Type-function equalities = [G] cobox_aWq {0}:: (Op | |
p_aVZ[sk:2] :: (i_aVX[sk:2] | |
-> i_aVX[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aWp[fsk] :: (i_aVX[sk:2] | |
-> i_aVX[sk:2] | |
-> *)) (CFunEqCan) | |
[G] cobox_aWs {0}:: (Op q_aW0[sk:2] :: (j_aVY[sk:2] | |
-> j_aVY[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aWr[fsk] :: (j_aVY[sk:2] | |
-> j_aVY[sk:2] | |
-> *)) (CFunEqCan) | |
Dictionaries = [G] $dCategory_aWl {0}:: Category | |
p_aVZ[sk:2] (CDictCan) | |
[G] $dCategory_aWm {0}:: Category q_aW0[sk:2] (CDictCan) | |
[G] $dFunctor_aWo {0}:: Functor | |
fsk_aWr[fsk] | |
(Nat q_aW0[sk:2] (->)) | |
q_aW0[sk:2] (CDictCan(psc)) | |
[G] $dFunctor_aW3 {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2] (CDictCan) | |
[G] $dFunctor_aW4 {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] g_aW2[sk:2] (CDictCan) | |
[G] $dFunctor_aWn {0}:: Functor | |
fsk_aWp[fsk] | |
(Nat p_aVZ[sk:2] (->)) | |
p_aVZ[sk:2] (CDictCan(psc)) | |
Unsolved goals = 0} | |
rest of worklist = WL {} | |
runStage canonicalization { | |
workitem = [WD] $dFunctor_aWc {0}:: Functor | |
p_aW7[tau:2] q_aW8[tau:2] g_aWa[tau:2] (CNonCanonical) | |
canonicalize (non-canonical) | |
[WD] $dFunctor_aWc {0}:: Functor | |
p_aW7[tau:2] q_aW8[tau:2] g_aWa[tau:2] (CNonCanonical) | |
canEvNC:cls | |
Functor [i_aW5[tau:2], j_aW6[tau:2], p_aW7[tau:2], q_aW8[tau:2], | |
g_aWa[tau:2]] | |
flatten_many { | |
i_aW5[tau:2] | |
j_aW6[tau:2] | |
p_aW7[tau:2] | |
q_aW8[tau:2] | |
g_aWa[tau:2] | |
Following filled tyvar i_aW5[tau:2] = i_aVX[sk:2] | |
Unfilled tyvar i_aVX[sk:2] | |
Following filled tyvar j_aW6[tau:2] = j_aVY[sk:2] | |
Unfilled tyvar j_aVY[sk:2] | |
Following filled tyvar p_aW7[tau:2] = p_aVZ[sk:2] | |
Unfilled tyvar p_aVZ[sk:2] | |
Unfilled tyvar i_aVX[sk:2] | |
Unfilled tyvar i_aVX[sk:2] | |
Following filled tyvar q_aW8[tau:2] = q_aW0[sk:2] | |
Unfilled tyvar q_aW0[sk:2] | |
Unfilled tyvar j_aVY[sk:2] | |
Unfilled tyvar j_aVY[sk:2] | |
Following filled tyvar g_aWa[tau:2] = g_aW2[sk:2] | |
Unfilled tyvar g_aW2[sk:2] | |
Unfilled tyvar i_aVX[sk:2] | |
Unfilled tyvar j_aVY[sk:2] | |
flatten } | |
i_aVX[sk:2] | |
j_aVY[sk:2] | |
p_aVZ[sk:2] | |
q_aW0[sk:2] | |
g_aW2[sk:2] | |
canClass | |
[WD] $dFunctor_aWc {0}:: Functor | |
p_aW7[tau:2] q_aW8[tau:2] g_aWa[tau:2] | |
Functor p_aVZ[sk:2] q_aW0[sk:2] g_aW2[sk:2] | |
ContinueWith [WD] $dFunctor_aWc {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] g_aW2[sk:2] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [WD] $dFunctor_aWc {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] g_aW2[sk:2] (CDictCan(psc)) | |
addTcEvBind | |
aWj | |
[W] $dFunctor_aWc = $dFunctor_aW4 | |
end stage interact with inerts } | |
Step 14[l:2,d:0] Dict equal (keep): | |
[WD] $dFunctor_aWc {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] g_aW2[sk:2] | |
End solver pipeline (discharged) } | |
getUnsolvedInerts | |
tv eqs = {} | |
fun eqs = {} | |
insols = {} | |
others = {} | |
implics = {} | |
Unflattening | |
{Funeqs = | |
Tv eqs =} | |
Unflattening 1 {} | |
Unflattening 2 {} | |
Unflattening 3 {} | |
Unflattening done {} | |
zonkSimples done: {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveNestedImplications starting { | |
solveImplication { | |
Implic { | |
TcLevel = 3 | |
Skolems = (a_aWe[sk:3] :: i_aW5[tau:2]) | |
No-eqs = False | |
Status = Unsolved | |
Given = irred_aWf :: Ob p_aW7[tau:2] a_aWe[sk:3] | |
Wanted = | |
WC {wc_simple = | |
[WD] irred_aWh {0}:: Ob p_aVZ[sk:2] a_aWg[tau:3] (CNonCanonical)} | |
Binds = EvBindsVar<aWi> | |
Needed = [] | |
the type of the constructor ‘Nat’: | |
Ob p_aW7[tau:2] a_aWe[sk:3] => | |
q_aW8[tau:2] (f_aW9[tau:2] a_aWe[sk:3]) (g_aWa[tau:2] a_aWe[sk:3]) } | |
Inerts {Type-function equalities = [G] cobox_aWq {0}:: (Op | |
p_aVZ[sk:2] :: (i_aVX[sk:2] | |
-> i_aVX[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aWp[fsk] :: (i_aVX[sk:2] | |
-> i_aVX[sk:2] | |
-> *)) (CFunEqCan) | |
[G] cobox_aWs {0}:: (Op q_aW0[sk:2] :: (j_aVY[sk:2] | |
-> j_aVY[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aWr[fsk] :: (j_aVY[sk:2] | |
-> j_aVY[sk:2] | |
-> *)) (CFunEqCan) | |
Dictionaries = [G] $dCategory_aWl {0}:: Category | |
p_aVZ[sk:2] (CDictCan) | |
[G] $dCategory_aWm {0}:: Category q_aW0[sk:2] (CDictCan) | |
[G] $dFunctor_aWo {0}:: Functor | |
fsk_aWr[fsk] | |
(Nat q_aW0[sk:2] (->)) | |
q_aW0[sk:2] (CDictCan(psc)) | |
[G] $dFunctor_aW3 {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2] (CDictCan) | |
[G] $dFunctor_aW4 {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] g_aW2[sk:2] (CDictCan) | |
[G] $dFunctor_aWn {0}:: Functor | |
fsk_aWp[fsk] | |
(Nat p_aVZ[sk:2] (->)) | |
p_aVZ[sk:2] (CDictCan(psc)) | |
Unsolved goals = 0} | |
solveSimpleGivens { | |
[[G] irred_aWf {0}:: Ob p_aW7[tau:2] a_aWe[sk:3] (CNonCanonical)] | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] irred_aWf {0}:: Ob | |
p_aW7[tau:2] a_aWe[sk:3] (CNonCanonical) | |
inerts = {Type-function equalities = [G] cobox_aWq {0}:: (Op | |
p_aVZ[sk:2] :: (i_aVX[sk:2] | |
-> i_aVX[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aWp[fsk] :: (i_aVX[sk:2] | |
-> i_aVX[sk:2] | |
-> *)) (CFunEqCan) | |
[G] cobox_aWs {0}:: (Op q_aW0[sk:2] :: (j_aVY[sk:2] | |
-> j_aVY[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aWr[fsk] :: (j_aVY[sk:2] | |
-> j_aVY[sk:2] | |
-> *)) (CFunEqCan) | |
Dictionaries = [G] $dCategory_aWl {0}:: Category | |
p_aVZ[sk:2] (CDictCan) | |
[G] $dCategory_aWm {0}:: Category q_aW0[sk:2] (CDictCan) | |
[G] $dFunctor_aWo {0}:: Functor | |
fsk_aWr[fsk] | |
(Nat q_aW0[sk:2] (->)) | |
q_aW0[sk:2] (CDictCan(psc)) | |
[G] $dFunctor_aW3 {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2] (CDictCan) | |
[G] $dFunctor_aW4 {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] g_aW2[sk:2] (CDictCan) | |
[G] $dFunctor_aWn {0}:: Functor | |
fsk_aWp[fsk] | |
(Nat p_aVZ[sk:2] (->)) | |
p_aVZ[sk:2] (CDictCan(psc)) | |
Unsolved goals = 0} | |
rest of worklist = WL {} | |
runStage canonicalization { | |
workitem = [G] irred_aWf {0}:: Ob | |
p_aW7[tau:2] a_aWe[sk:3] (CNonCanonical) | |
canonicalize (non-canonical) | |
[G] irred_aWf {0}:: Ob p_aW7[tau:2] a_aWe[sk:3] (CNonCanonical) | |
canEvNC:irred Ob p_aW7[tau:2] a_aWe[sk:3] | |
can_pred IrredPred = Ob p_aW7[tau:2] a_aWe[sk:3] | |
flatten { Ob p_aW7[tau:2] a_aWe[sk:3] | |
matchFamTcM | |
Matching: Ob p_aW7[tau:2] | |
Match failed | |
Following filled tyvar i_aW5[tau:2] = i_aVX[sk:2] | |
Unfilled tyvar i_aVX[sk:2] | |
Following filled tyvar p_aW7[tau:2] = p_aVZ[sk:2] | |
Unfilled tyvar p_aVZ[sk:2] | |
Unfilled tyvar i_aVX[sk:2] | |
Unfilled tyvar i_aVX[sk:2] | |
matchFamTcM | |
Matching: Ob p_aVZ[sk:2] | |
Match failed | |
addTcEvBind | |
aWi | |
[G] cobox_aWA = CO <Ob p_aVZ[sk:2]>_N | |
extendFlatCache | |
Ob [i_aVX[sk:2], p_aVZ[sk:2]] | |
[G] | |
fsk_aWz[fsk] | |
flatten/flat-cache miss | |
Ob [i_aVX[sk:2], p_aVZ[sk:2]] | |
fsk_aWz[fsk] | |
[G] cobox_aWA {0}:: (Ob p_aVZ[sk:2] :: (i_aVX[sk:2] -> Constraint)) | |
GHC.Prim.~# | |
(fsk_aWz[fsk] :: (i_aVX[sk:2] -> Constraint)) | |
Unfilled tyvar a_aWe[sk:3] | |
Following filled tyvar i_aW5[tau:2] = i_aVX[sk:2] | |
Unfilled tyvar i_aVX[sk:2] | |
flatten } fsk_aWz[fsk] a_aWe[sk:3] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] irred_aWf {0}:: fsk_aWz[fsk] a_aWe[sk:3] (CIrredEvCan) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] irred_aWf {0}:: fsk_aWz[fsk] a_aWe[sk:3] (CIrredEvCan) | |
doTopReact | |
[G] irred_aWf {0}:: fsk_aWz[fsk] a_aWe[sk:3] (CIrredEvCan) | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] irred_aWf {0}:: fsk_aWz[fsk] a_aWe[sk:3] (CIrredEvCan) | |
addInertCan } | |
Step 15[l:3,d:0] Kept as inert: | |
[G] irred_aWf {0}:: fsk_aWz[fsk] a_aWe[sk:3] | |
End solver pipeline (kept as inert) } | |
final_item = [G] irred_aWf {0}:: fsk_aWz[fsk] a_aWe[sk:3] (CIrredEvCan) | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] cobox_aWA {0}:: (Ob p_aVZ[sk:2] :: (i_aVX[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aWz[fsk] :: (i_aVX[sk:2] -> Constraint)) (CFunEqCan) | |
inerts = {Type-function equalities = [G] cobox_aWq {0}:: (Op | |
p_aVZ[sk:2] :: (i_aVX[sk:2] | |
-> i_aVX[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aWp[fsk] :: (i_aVX[sk:2] | |
-> i_aVX[sk:2] | |
-> *)) (CFunEqCan) | |
[G] cobox_aWs {0}:: (Op q_aW0[sk:2] :: (j_aVY[sk:2] | |
-> j_aVY[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aWr[fsk] :: (j_aVY[sk:2] | |
-> j_aVY[sk:2] | |
-> *)) (CFunEqCan) | |
Dictionaries = [G] $dCategory_aWl {0}:: Category | |
p_aVZ[sk:2] (CDictCan) | |
[G] $dCategory_aWm {0}:: Category q_aW0[sk:2] (CDictCan) | |
[G] $dFunctor_aWo {0}:: Functor | |
fsk_aWr[fsk] | |
(Nat q_aW0[sk:2] (->)) | |
q_aW0[sk:2] (CDictCan(psc)) | |
[G] $dFunctor_aW3 {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2] (CDictCan) | |
[G] $dFunctor_aW4 {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] g_aW2[sk:2] (CDictCan) | |
[G] $dFunctor_aWn {0}:: Functor | |
fsk_aWp[fsk] | |
(Nat p_aVZ[sk:2] (->)) | |
p_aVZ[sk:2] (CDictCan(psc)) | |
Irreds = [G] irred_aWf {0}:: fsk_aWz[fsk] a_aWe[sk:3] (CIrredEvCan) | |
Unsolved goals = 0} | |
rest of worklist = WL {} | |
runStage canonicalization { | |
workitem = [G] cobox_aWA {0}:: (Ob p_aVZ[sk:2] :: (i_aVX[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aWz[fsk] :: (i_aVX[sk:2] -> Constraint)) (CFunEqCan) | |
flatten_many { | |
i_aVX[sk:2] | |
p_aVZ[sk:2] | |
Unfilled tyvar i_aVX[sk:2] | |
Unfilled tyvar p_aVZ[sk:2] | |
Unfilled tyvar i_aVX[sk:2] | |
Unfilled tyvar i_aVX[sk:2] | |
flatten } | |
i_aVX[sk:2] | |
p_aVZ[sk:2] | |
extendFlatCache | |
Ob [i_aVX[sk:2], p_aVZ[sk:2]] | |
[G] | |
fsk_aWz[fsk] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] cobox_aWA {0}:: (Ob p_aVZ[sk:2] :: (i_aVX[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aWz[fsk] :: (i_aVX[sk:2] -> Constraint)) (CFunEqCan) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] cobox_aWA {0}:: (Ob p_aVZ[sk:2] :: (i_aVX[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aWz[fsk] :: (i_aVX[sk:2] -> Constraint)) (CFunEqCan) | |
doTopReact | |
[G] cobox_aWA {0}:: (Ob p_aVZ[sk:2] :: (i_aVX[sk:2] -> Constraint)) | |
GHC.Prim.~# | |
(fsk_aWz[fsk] :: (i_aVX[sk:2] -> Constraint)) (CFunEqCan) | |
matchFamTcM | |
Matching: Ob p_aVZ[sk:2] | |
Match failed | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] cobox_aWA {0}:: (Ob | |
p_aVZ[sk:2] :: (i_aVX[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aWz[fsk] :: (i_aVX[sk:2] | |
-> Constraint)) (CFunEqCan) | |
addInertCan } | |
Step 16[l:3,d:0] Kept as inert: | |
[G] cobox_aWA {0}:: (Ob p_aVZ[sk:2] :: (i_aVX[sk:2] -> Constraint)) | |
GHC.Prim.~# | |
(fsk_aWz[fsk] :: (i_aVX[sk:2] -> Constraint)) | |
End solver pipeline (kept as inert) } | |
final_item = [G] cobox_aWA {0}:: (Ob p_aVZ[sk:2] :: (i_aVX[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aWz[fsk] :: (i_aVX[sk:2] -> Constraint)) (CFunEqCan) | |
End solveSimpleGivens } | |
solveWanteds { | |
WC {wc_simple = | |
[WD] irred_aWh {0}:: Ob p_aVZ[sk:2] a_aWg[tau:3] (CNonCanonical)} | |
solveSimpleWanteds { | |
{[WD] irred_aWh {0}:: Ob p_aVZ[sk:2] a_aWg[tau:3] (CNonCanonical)} | |
----------------------------- | |
Start solver pipeline { | |
work item = [WD] irred_aWh {0}:: Ob | |
p_aVZ[sk:2] a_aWg[tau:3] (CNonCanonical) | |
inerts = {Type-function equalities = [G] cobox_aWq {0}:: (Op | |
p_aVZ[sk:2] :: (i_aVX[sk:2] | |
-> i_aVX[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aWp[fsk] :: (i_aVX[sk:2] | |
-> i_aVX[sk:2] | |
-> *)) (CFunEqCan) | |
[G] cobox_aWs {0}:: (Op q_aW0[sk:2] :: (j_aVY[sk:2] | |
-> j_aVY[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aWr[fsk] :: (j_aVY[sk:2] | |
-> j_aVY[sk:2] | |
-> *)) (CFunEqCan) | |
[G] cobox_aWA {0}:: (Ob p_aVZ[sk:2] :: (i_aVX[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aWz[fsk] :: (i_aVX[sk:2] | |
-> Constraint)) (CFunEqCan) | |
Dictionaries = [G] $dCategory_aWl {0}:: Category | |
p_aVZ[sk:2] (CDictCan) | |
[G] $dCategory_aWm {0}:: Category q_aW0[sk:2] (CDictCan) | |
[G] $dFunctor_aWo {0}:: Functor | |
fsk_aWr[fsk] | |
(Nat q_aW0[sk:2] (->)) | |
q_aW0[sk:2] (CDictCan(psc)) | |
[G] $dFunctor_aW3 {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2] (CDictCan) | |
[G] $dFunctor_aW4 {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] g_aW2[sk:2] (CDictCan) | |
[G] $dFunctor_aWn {0}:: Functor | |
fsk_aWp[fsk] | |
(Nat p_aVZ[sk:2] (->)) | |
p_aVZ[sk:2] (CDictCan(psc)) | |
Irreds = [G] irred_aWf {0}:: fsk_aWz[fsk] a_aWe[sk:3] (CIrredEvCan) | |
Unsolved goals = 0} | |
rest of worklist = WL {} | |
runStage canonicalization { | |
workitem = [WD] irred_aWh {0}:: Ob | |
p_aVZ[sk:2] a_aWg[tau:3] (CNonCanonical) | |
canonicalize (non-canonical) | |
[WD] irred_aWh {0}:: Ob p_aVZ[sk:2] a_aWg[tau:3] (CNonCanonical) | |
canEvNC:irred Ob p_aVZ[sk:2] a_aWg[tau:3] | |
can_pred IrredPred = Ob p_aVZ[sk:2] a_aWg[tau:3] | |
flatten { Ob p_aVZ[sk:2] a_aWg[tau:3] | |
matchFamTcM | |
Matching: Ob p_aVZ[sk:2] | |
Match failed | |
Unfilled tyvar i_aVX[sk:2] | |
Unfilled tyvar p_aVZ[sk:2] | |
Unfilled tyvar i_aVX[sk:2] | |
Unfilled tyvar i_aVX[sk:2] | |
flatten/flat-cache hit | |
Ob [i_aVX[sk:2], p_aVZ[sk:2]] | |
fsk_aWz[fsk] | |
Unfilled tyvar fsk_aWz[fsk] | |
Unfilled tyvar i_aVX[sk:2] | |
Following filled tyvar a_aWg[tau:3] = a_aWe[sk:3] | |
Unfilled tyvar a_aWe[sk:3] | |
Unfilled tyvar i_aVX[sk:2] | |
flatten } fsk_aWz[fsk] a_aWe[sk:3] | |
Emitting new wanted | |
irred_aWB :: fsk_aWz[fsk] a_aWe[sk:3] | |
arising from a type expected by the context: | |
forall (a :: i_aVX[sk:2]). | |
Ob p_aVZ[sk:2] a => | |
q_aW0[sk:2] (f_aW1[sk:2] a) (g_aW2[sk:2] a) | |
at T11480b.hs:69:3 | |
addTcEvBind | |
aWi | |
[W] irred_aWh | |
= irred_aWB `cast` (Sub (Sym cobox_aWA <a_aWe[sk:3]>_N)) | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [WD] irred_aWB {0}:: fsk_aWz[fsk] a_aWe[sk:3] (CIrredEvCan) | |
addTcEvBind | |
aWi | |
[W] irred_aWB = irred_aWf | |
end stage interact with inerts } | |
Step 17[l:3,d:0] Irred equal (keep): | |
[WD] irred_aWB {0}:: fsk_aWz[fsk] a_aWe[sk:3] | |
End solver pipeline (discharged) } | |
getUnsolvedInerts | |
tv eqs = {} | |
fun eqs = {} | |
insols = {} | |
others = {} | |
implics = {} | |
Unflattening | |
{Funeqs = | |
Tv eqs =} | |
Unflattening 1 {} | |
Unflattening 2 {} | |
Unflattening 3 {} | |
Unflattening done {} | |
zonkSimples done: {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {[G] cobox_aWA = CO <Ob p_aVZ[sk:2]>_N, | |
[W] irred_aWh | |
= irred_aWB `cast` (Sub (Sym cobox_aWA <a_aWe[sk:3]>_N)), | |
[W] irred_aWB = irred_aWf} | |
getNoGivenEqs | |
True | |
{Type-function equalities = [G] cobox_aWq {0}:: (Op | |
p_aVZ[sk:2] :: (i_aVX[sk:2] | |
-> i_aVX[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aWp[fsk] :: (i_aVX[sk:2] | |
-> i_aVX[sk:2] | |
-> *)) (CFunEqCan) | |
[G] cobox_aWs {0}:: (Op q_aW0[sk:2] :: (j_aVY[sk:2] | |
-> j_aVY[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aWr[fsk] :: (j_aVY[sk:2] | |
-> j_aVY[sk:2] | |
-> *)) (CFunEqCan) | |
[G] cobox_aWA {0}:: (Ob p_aVZ[sk:2] :: (i_aVX[sk:2] -> Constraint)) | |
GHC.Prim.~# | |
(fsk_aWz[fsk] :: (i_aVX[sk:2] | |
-> Constraint)) (CFunEqCan) | |
Dictionaries = [G] $dCategory_aWl {0}:: Category | |
p_aVZ[sk:2] (CDictCan) | |
[G] $dCategory_aWm {0}:: Category q_aW0[sk:2] (CDictCan) | |
[G] $dFunctor_aWo {0}:: Functor | |
fsk_aWr[fsk] | |
(Nat q_aW0[sk:2] (->)) | |
q_aW0[sk:2] (CDictCan(psc)) | |
[G] $dFunctor_aW3 {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2] (CDictCan) | |
[G] $dFunctor_aW4 {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] g_aW2[sk:2] (CDictCan) | |
[G] $dFunctor_aWn {0}:: Functor | |
fsk_aWp[fsk] | |
(Nat p_aVZ[sk:2] (->)) | |
p_aVZ[sk:2] (CDictCan(psc)) | |
Irreds = [G] irred_aWf {0}:: fsk_aWz[fsk] a_aWe[sk:3] (CIrredEvCan) | |
Unsolved goals = 0} | |
{} | |
solveImplication 2 | |
{} | |
WC {} | |
setImplicationStatus 2 | |
[irred_aWf] | |
([aWA :-> [G] cobox_aWA = CO <Ob p_aVZ[sk:2]>_N, | |
aWh :-> [W] irred_aWh | |
= irred_aWB `cast` (Sub (Sym cobox_aWA <a_aWe[sk:3]>_N)), | |
aWB :-> [W] irred_aWB = irred_aWf], | |
[]) | |
[aWf :-> irred_aWf] | |
solveImplication end } | |
no_given_eqs = False | |
floated_eqs = {} | |
res_implic = Nothing | |
implication evbinds = {[G] cobox_aWA = CO <Ob p_aVZ[sk:2]>_N, | |
[W] irred_aWh | |
= irred_aWB `cast` (Sub (Sym cobox_aWA <a_aWe[sk:3]>_N)), | |
[W] irred_aWB = irred_aWf} | |
implication tvcs = [] | |
solveNestedImplications end } | |
all floated_eqs = {} | |
unsolved_implics = {Nothing} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {[G] $dCategory_aWl = sc(($dFunctor_aW3, 0)), | |
[G] $dCategory_aWm = sc(($dFunctor_aW3, 1)), | |
[G] $dFunctor_aWn = sc(($dCategory_aWl, 0)), | |
[G] $dFunctor_aWo = sc(($dCategory_aWm, 0)), | |
[G] cobox_aWq = CO <Op p_aVZ[sk:2]>_N, | |
[G] cobox_aWs = CO <Op q_aW0[sk:2]>_N, | |
[G] $dCategory_aWt = sc(($dFunctor_aW4, 0)), | |
[G] $dCategory_aWu = sc(($dFunctor_aW4, 1)), | |
[G] $dFunctor_aWv = sc(($dCategory_aWt, 0)), | |
[G] $dFunctor_aWw = sc(($dCategory_aWu, 0)), | |
[G] $dFunctor_aWx | |
= $dFunctor_aWv `cast` (Sub | |
(Sym | |
(Functor | |
<i_aVX[sk:2]>_N | |
<i_aVX[sk:2] -> *>_N | |
(Sym cobox) | |
<Nat p_aVZ[sk:2] (->)>_N | |
<p_aVZ[sk:2]>_N)_N)), | |
[G] $dFunctor_aWy | |
= $dFunctor_aWw `cast` (Sub | |
(Sym | |
(Functor | |
<j_aVY[sk:2]>_N | |
<j_aVY[sk:2] -> *>_N | |
(Sym cobox) | |
<Nat q_aW0[sk:2] (->)>_N | |
<q_aW0[sk:2]>_N)_N)), | |
[W] $dFunctor_aWb = $dFunctor_aW3, | |
[W] $dFunctor_aWc = $dFunctor_aW4} | |
getNoGivenEqs | |
False | |
{Type-function equalities = [G] cobox_aWq {0}:: (Op | |
p_aVZ[sk:2] :: (i_aVX[sk:2] | |
-> i_aVX[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aWp[fsk] :: (i_aVX[sk:2] | |
-> i_aVX[sk:2] | |
-> *)) (CFunEqCan) | |
[G] cobox_aWs {0}:: (Op q_aW0[sk:2] :: (j_aVY[sk:2] | |
-> j_aVY[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aWr[fsk] :: (j_aVY[sk:2] | |
-> j_aVY[sk:2] | |
-> *)) (CFunEqCan) | |
Dictionaries = [G] $dCategory_aWl {0}:: Category | |
p_aVZ[sk:2] (CDictCan) | |
[G] $dCategory_aWm {0}:: Category q_aW0[sk:2] (CDictCan) | |
[G] $dFunctor_aWo {0}:: Functor | |
fsk_aWr[fsk] | |
(Nat q_aW0[sk:2] (->)) | |
q_aW0[sk:2] (CDictCan(psc)) | |
[G] $dFunctor_aW3 {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] f_aW1[sk:2] (CDictCan) | |
[G] $dFunctor_aW4 {0}:: Functor | |
p_aVZ[sk:2] q_aW0[sk:2] g_aW2[sk:2] (CDictCan) | |
[G] $dFunctor_aWn {0}:: Functor | |
fsk_aWp[fsk] | |
(Nat p_aVZ[sk:2] (->)) | |
p_aVZ[sk:2] (CDictCan(psc)) | |
Unsolved goals = 0} | |
{} | |
floatEqualities | |
Skols = [i_aVX[sk:2], j_aVY[sk:2], p_aVZ[sk:2], q_aW0[sk:2], | |
f_aW1[sk:2], g_aW2[sk:2]] | |
Simples = {} | |
Floated eqs = {} | |
solveImplication 2 | |
{} | |
WC {} | |
setImplicationStatus 2 | |
[$dFunctor_aW3, $dFunctor_aW4] | |
([aWl :-> [G] $dCategory_aWl = sc(($dFunctor_aW3, 0)), | |
aWm :-> [G] $dCategory_aWm = sc(($dFunctor_aW3, 1)), | |
aWn :-> [G] $dFunctor_aWn = sc(($dCategory_aWl, 0)), | |
aWo :-> [G] $dFunctor_aWo = sc(($dCategory_aWm, 0)), | |
aWq :-> [G] cobox_aWq = CO <Op p_aVZ[sk:2]>_N, | |
aWs :-> [G] cobox_aWs = CO <Op q_aW0[sk:2]>_N, | |
aWt :-> [G] $dCategory_aWt = sc(($dFunctor_aW4, 0)), | |
aWu :-> [G] $dCategory_aWu = sc(($dFunctor_aW4, 1)), | |
aWv :-> [G] $dFunctor_aWv = sc(($dCategory_aWt, 0)), | |
aWw :-> [G] $dFunctor_aWw = sc(($dCategory_aWu, 0)), | |
aWx :-> [G] $dFunctor_aWx | |
= $dFunctor_aWv `cast` (Sub | |
(Sym | |
(Functor | |
<i_aVX[sk:2]>_N | |
<i_aVX[sk:2] -> *>_N | |
(Sym cobox) | |
<Nat p_aVZ[sk:2] (->)>_N | |
<p_aVZ[sk:2]>_N)_N)), | |
aWy :-> [G] $dFunctor_aWy | |
= $dFunctor_aWw `cast` (Sub | |
(Sym | |
(Functor | |
<j_aVY[sk:2]>_N | |
<j_aVY[sk:2] -> *>_N | |
(Sym cobox) | |
<Nat q_aW0[sk:2] (->)>_N | |
<q_aW0[sk:2]>_N)_N)), | |
aWb :-> [W] $dFunctor_aWb = $dFunctor_aW3, | |
aWc :-> [W] $dFunctor_aWc = $dFunctor_aW4], | |
[]) | |
[aW3 :-> $dFunctor_aW3, aW4 :-> $dFunctor_aW4] | |
solveImplication end } | |
no_given_eqs = True | |
floated_eqs = {} | |
res_implic = Nothing | |
implication evbinds = {[G] $dCategory_aWl = sc(($dFunctor_aW3, 0)), | |
[G] $dCategory_aWm = sc(($dFunctor_aW3, 1)), | |
[G] $dFunctor_aWn = sc(($dCategory_aWl, 0)), | |
[G] $dFunctor_aWo = sc(($dCategory_aWm, 0)), | |
[G] cobox_aWq = CO <Op p_aVZ[sk:2]>_N, | |
[G] cobox_aWs = CO <Op q_aW0[sk:2]>_N, | |
[G] $dCategory_aWt = sc(($dFunctor_aW4, 0)), | |
[G] $dCategory_aWu = sc(($dFunctor_aW4, 1)), | |
[G] $dFunctor_aWv = sc(($dCategory_aWt, 0)), | |
[G] $dFunctor_aWw = sc(($dCategory_aWu, 0)), | |
[G] $dFunctor_aWx | |
= $dFunctor_aWv `cast` (Sub | |
(Sym | |
(Functor | |
<i_aVX[sk:2]>_N | |
<i_aVX[sk:2] -> *>_N | |
(Sym cobox) | |
<Nat p_aVZ[sk:2] (->)>_N | |
<p_aVZ[sk:2]>_N)_N)), | |
[G] $dFunctor_aWy | |
= $dFunctor_aWw `cast` (Sub | |
(Sym | |
(Functor | |
<j_aVY[sk:2]>_N | |
<j_aVY[sk:2] -> *>_N | |
(Sym cobox) | |
<Nat q_aW0[sk:2] (->)>_N | |
<q_aW0[sk:2]>_N)_N)), | |
[W] $dFunctor_aWb = $dFunctor_aW3, | |
[W] $dFunctor_aWc = $dFunctor_aW4} | |
implication tvcs = [] | |
solveNestedImplications end } | |
all floated_eqs = {} | |
unsolved_implics = {Nothing} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {} | |
Constraint solver steps = 17 | |
End simplifyAmbiguityCheck } | |
reportUnsolved(ambig) { | |
newTcEvBinds unique = aWC | |
reportUnsolved(ambig) } | |
Done ambiguity check for | |
forall i j (p :: i -> i -> *) (q :: j -> j -> *) (f :: i | |
-> j) (g :: i -> j). | |
(Functor p q f, Functor p q g) => | |
(forall (a :: i). Ob p a => q (f a) (g a)) -> Nat p q f g | |
checkValidType done | |
forall i j (p :: i -> i -> *) (q :: j -> j -> *) (f :: i | |
-> j) (g :: i -> j). | |
(Functor p q f, Functor p q g) => | |
(forall (a :: i). Ob p a => q (f a) (g a)) -> Nat p q f g :: * | |
Done validity of data con | |
Nat forall i j (p :: i -> i -> *) (q :: j -> j -> *) (f :: i | |
-> j) (g :: i -> j). | |
(Functor p q f, Functor p q g) => | |
(forall (a :: i). Ob p a => q (f a) (g a)) -> Nat p q f g | |
Done validity for tycon Nat | |
Starting validity for tycon Functor | |
checkValidTyCon | |
Functor | |
Just Functor | |
check_valid_theta [Category p_aKW[sk:1], Category q_aKY[sk:1]] | |
class op type | |
forall i j (p :: i -> i -> *) (q :: j -> j -> *) (f :: i -> j). | |
Functor p q f => | |
forall (a :: i) (b :: i). p a b -> q (f a) (f b) | |
checkValidType | |
forall i j (p :: i -> i -> *) (q :: j -> j -> *) (f :: i -> j). | |
Functor p q f => | |
forall (a :: i) (b :: i). p a b -> q (f a) (f b) :: * | |
check_type | |
forall i j (p :: i -> i -> *) (q :: j -> j -> *) (f :: i -> j). | |
Functor p q f => | |
forall (a :: i) (b :: i). p a b -> q (f a) (f b) | |
True | |
check_valid_theta [Functor p q f] | |
check_type | |
forall (a :: i_aKV[sk:1]) (b :: i_aKV[sk:1]). | |
p_aKW[sk:1] a b -> q_aKY[sk:1] (f_aKZ[sk:1] a) (f_aKZ[sk:1] b) | |
True | |
Ambiguity check for | |
forall i j (p :: i -> i -> *) (q :: j -> j -> *) (f :: i -> j). | |
Functor p q f => | |
forall (a :: i) (b :: i). p a b -> q (f a) (f b) | |
tcSubType_NC | |
the type signature for ‘fmap’ | |
forall i j (p :: i -> i -> *) (q :: j -> j -> *) (f :: i -> j). | |
Functor p q f => | |
forall (a :: i) (b :: i). p a b -> q (f a) (f b) | |
forall i j (p :: i -> i -> *) (q :: j -> j -> *) (f :: i -> j). | |
Functor p q f => | |
forall (a :: i) (b :: i). p a b -> q (f a) (f b) | |
tc_sub_tc_type (general case) | |
ty_actual = forall i j (p :: i -> i -> *) (q :: j | |
-> j -> *) (f :: i -> j). | |
Functor p q f => | |
forall (a :: i) (b :: i). p a b -> q (f a) (f b) | |
ty_expected = forall i j (p :: i -> i -> *) (q :: j | |
-> j -> *) (f :: i -> j). | |
Functor p q f => | |
forall (a :: i) (b :: i). p a b -> q (f a) (f b) | |
tcSkolemise | |
tcSkolemise | |
1 | |
expected_ty forall i j (p :: i -> i -> *) (q :: j | |
-> j -> *) (f :: i -> j). | |
Functor p q f => | |
forall (a :: i) (b :: i). p a b -> q (f a) (f b) | |
inst tyvars [i_aWE[sk:2], j_aWF[sk:2], p_aWG[sk:2], q_aWH[sk:2], | |
f_aWI[sk:2], a_aWL[sk:2], b_aWM[sk:2]] | |
given [$dFunctor_aWJ] | |
inst type p_aWG[sk:2] a_aWL[sk:2] b_aWM[sk:2] | |
-> q_aWH[sk:2] (f_aWI[sk:2] a_aWL[sk:2]) (f_aWI[sk:2] b_aWM[sk:2]) | |
tc_sub_type_ds | |
ty_actual = forall i j (p :: i -> i -> *) (q :: j | |
-> j -> *) (f :: i -> j). | |
Functor p q f => | |
forall (a :: i) (b :: i). p a b -> q (f a) (f b) | |
ty_expected = p_aWG[sk:2] a_aWL[sk:2] b_aWM[sk:2] | |
-> q_aWH[sk:2] (f_aWI[sk:2] a_aWL[sk:2]) (f_aWI[sk:2] b_aWM[sk:2]) | |
instCallConstraints [$dFunctor_aWS] | |
Instantiating | |
all tyvars? True | |
origin arising from a type equality forall i j (p :: i | |
-> i -> *) (q :: j -> j -> *) (f :: i -> j). | |
Functor p q f => | |
forall (a :: i) (b :: i). p a b -> q (f a) (f b) | |
~ | |
forall i j (p :: i -> i -> *) (q :: j -> j -> *) (f :: i | |
-> j). | |
Functor p q f => | |
forall (a :: i) (b :: i). p a b -> q (f a) (f b) | |
type forall i j (p :: i -> i -> *) (q :: j -> j -> *) (f :: i | |
-> j). | |
Functor p q f => | |
forall (a :: i) (b :: i). p a b -> q (f a) (f b) | |
theta [Functor p q f] | |
leave_bndrs [] | |
with [i_aWN[tau:2], j_aWO[tau:2], p_aWP[tau:2], q_aWQ[tau:2], | |
f_aWR[tau:2]] | |
theta: [Functor p_aWP[tau:2] q_aWQ[tau:2] f_aWR[tau:2]] | |
Instantiating | |
all tyvars? True | |
origin arising from a type equality forall i j (p :: i | |
-> i -> *) (q :: j -> j -> *) (f :: i -> j). | |
Functor p q f => | |
forall (a :: i) (b :: i). p a b -> q (f a) (f b) | |
~ | |
forall i j (p :: i -> i -> *) (q :: j -> j -> *) (f :: i | |
-> j). | |
Functor p q f => | |
forall (a :: i) (b :: i). p a b -> q (f a) (f b) | |
type forall (a :: i_aWN[tau:2]) (b :: i_aWN[tau:2]). | |
p_aWP[tau:2] a b -> q_aWQ[tau:2] (f_aWR[tau:2] a) (f_aWR[tau:2] b) | |
theta [] | |
leave_bndrs [] | |
with [a_aWT[tau:2], b_aWU[tau:2]] | |
theta: [] | |
tc_sub_type_ds | |
ty_actual = p_aWP[tau:2] a_aWT[tau:2] b_aWU[tau:2] | |
-> q_aWQ[tau:2] (f_aWR[tau:2] a_aWT[tau:2]) (f_aWR[tau:2] b_aWU[tau:2]) | |
ty_expected = p_aWG[sk:2] a_aWL[sk:2] b_aWM[sk:2] | |
-> q_aWH[sk:2] (f_aWI[sk:2] a_aWL[sk:2]) (f_aWI[sk:2] b_aWM[sk:2]) | |
tc_sub_type_ds | |
ty_actual = q_aWQ[tau:2] (f_aWR[tau:2] a_aWT[tau:2]) (f_aWR[tau:2] b_aWU[tau:2]) | |
ty_expected = q_aWH[sk:2] (f_aWI[sk:2] a_aWL[sk:2]) (f_aWI[sk:2] b_aWM[sk:2]) | |
deeply_instantiate final subst | |
origin: arising from a type equality forall i j (p :: i | |
-> i -> *) (q :: j -> j -> *) (f :: i -> j). | |
Functor p q f => | |
forall (a :: i) (b :: i). p a b -> q (f a) (f b) | |
~ | |
forall i j (p :: i -> i -> *) (q :: j -> j -> *) (f :: i | |
-> j). | |
Functor p q f => | |
forall (a :: i) (b :: i). p a b -> q (f a) (f b) | |
type: q_aWQ[tau:2] (f_aWR[tau:2] a_aWT[tau:2]) (f_aWR[tau:2] b_aWU[tau:2]) | |
new type: q_aWQ[tau:2] (f_aWR[tau:2] a_aWT[tau:2]) (f_aWR[tau:2] b_aWU[tau:2]) | |
subst: [TCvSubst | |
In scope: InScope {i_aWN j_aWO q_aWQ f_aWR a_aWT b_aWU} | |
Type env: [] | |
Co env: []] | |
u_tys | |
tclvl 2 | |
q_aWQ[tau:2] (f_aWR[tau:2] a_aWT[tau:2]) (f_aWR[tau:2] b_aWU[tau:2]) | |
~ | |
q_aWH[sk:2] (f_aWI[sk:2] a_aWL[sk:2]) (f_aWI[sk:2] b_aWM[sk:2]) | |
arising from a type equality p_aWP[tau:2] a_aWT[tau:2] b_aWU[tau:2] | |
-> q_aWQ[tau:2] (f_aWR[tau:2] a_aWT[tau:2]) (f_aWR[tau:2] b_aWU[tau:2]) | |
~ | |
p_aWG[sk:2] a_aWL[sk:2] b_aWM[sk:2] | |
-> q_aWH[sk:2] (f_aWI[sk:2] a_aWL[sk:2]) (f_aWI[sk:2] b_aWM[sk:2]) | |
u_tys | |
tclvl 2 | |
q_aWQ[tau:2] (f_aWR[tau:2] a_aWT[tau:2]) | |
~ | |
q_aWH[sk:2] (f_aWI[sk:2] a_aWL[sk:2]) | |
arising from a type equality p_aWP[tau:2] a_aWT[tau:2] b_aWU[tau:2] | |
-> q_aWQ[tau:2] (f_aWR[tau:2] a_aWT[tau:2]) (f_aWR[tau:2] b_aWU[tau:2]) | |
~ | |
p_aWG[sk:2] a_aWL[sk:2] b_aWM[sk:2] | |
-> q_aWH[sk:2] (f_aWI[sk:2] a_aWL[sk:2]) (f_aWI[sk:2] b_aWM[sk:2]) | |
u_tys | |
tclvl 2 | |
q_aWQ[tau:2] ~ q_aWH[sk:2] | |
arising from a type equality p_aWP[tau:2] a_aWT[tau:2] b_aWU[tau:2] | |
-> q_aWQ[tau:2] (f_aWR[tau:2] a_aWT[tau:2]) (f_aWR[tau:2] b_aWU[tau:2]) | |
~ | |
p_aWG[sk:2] a_aWL[sk:2] b_aWM[sk:2] | |
-> q_aWH[sk:2] (f_aWI[sk:2] a_aWL[sk:2]) (f_aWI[sk:2] b_aWM[sk:2]) | |
u_tys | |
tclvl 2 | |
j_aWF[sk:2] -> j_aWF[sk:2] -> * ~ j_aWO[tau:2] -> j_aWO[tau:2] -> * | |
arising from a kind equality arising from | |
q_aWQ[tau:2] ~ q_aWH[sk:2] | |
u_tys | |
tclvl 2 | |
j_aWF[sk:2] ~ j_aWO[tau:2] | |
arising from a kind equality arising from | |
q_aWQ[tau:2] ~ q_aWH[sk:2] | |
u_tys | |
tclvl 2 | |
* ~ * | |
arising from a kind equality arising from | |
j_aWO[tau:2] ~ j_aWF[sk:2] | |
u_tys | |
tclvl 2 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
j_aWO[tau:2] ~ j_aWF[sk:2] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar j_aWO[tau:2] := j_aWF[sk:2] | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
j_aWF[sk:2] -> * ~ j_aWO[tau:2] -> * | |
arising from a kind equality arising from | |
q_aWQ[tau:2] ~ q_aWH[sk:2] | |
u_tys | |
tclvl 2 | |
j_aWF[sk:2] ~ j_aWO[tau:2] | |
arising from a kind equality arising from | |
q_aWQ[tau:2] ~ q_aWH[sk:2] | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
* ~ * | |
arising from a kind equality arising from | |
q_aWQ[tau:2] ~ q_aWH[sk:2] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar q_aWQ[tau:2] := q_aWH[sk:2] | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
f_aWR[tau:2] a_aWT[tau:2] ~ f_aWI[sk:2] a_aWL[sk:2] | |
arising from a type equality p_aWP[tau:2] a_aWT[tau:2] b_aWU[tau:2] | |
-> q_aWQ[tau:2] (f_aWR[tau:2] a_aWT[tau:2]) (f_aWR[tau:2] b_aWU[tau:2]) | |
~ | |
p_aWG[sk:2] a_aWL[sk:2] b_aWM[sk:2] | |
-> q_aWH[sk:2] (f_aWI[sk:2] a_aWL[sk:2]) (f_aWI[sk:2] b_aWM[sk:2]) | |
u_tys | |
tclvl 2 | |
f_aWR[tau:2] ~ f_aWI[sk:2] | |
arising from a type equality p_aWP[tau:2] a_aWT[tau:2] b_aWU[tau:2] | |
-> q_aWQ[tau:2] (f_aWR[tau:2] a_aWT[tau:2]) (f_aWR[tau:2] b_aWU[tau:2]) | |
~ | |
p_aWG[sk:2] a_aWL[sk:2] b_aWM[sk:2] | |
-> q_aWH[sk:2] (f_aWI[sk:2] a_aWL[sk:2]) (f_aWI[sk:2] b_aWM[sk:2]) | |
u_tys | |
tclvl 2 | |
i_aWE[sk:2] -> j_aWF[sk:2] ~ i_aWN[tau:2] -> j_aWO[tau:2] | |
arising from a kind equality arising from | |
f_aWR[tau:2] ~ f_aWI[sk:2] | |
u_tys | |
tclvl 2 | |
i_aWE[sk:2] ~ i_aWN[tau:2] | |
arising from a kind equality arising from | |
f_aWR[tau:2] ~ f_aWI[sk:2] | |
u_tys | |
tclvl 2 | |
* ~ * | |
arising from a kind equality arising from | |
i_aWN[tau:2] ~ i_aWE[sk:2] | |
u_tys | |
tclvl 2 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aWN[tau:2] ~ i_aWE[sk:2] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aWN[tau:2] := i_aWE[sk:2] | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
j_aWF[sk:2] ~ j_aWO[tau:2] | |
arising from a kind equality arising from | |
f_aWR[tau:2] ~ f_aWI[sk:2] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar f_aWR[tau:2] := f_aWI[sk:2] | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
a_aWT[tau:2] ~ a_aWL[sk:2] | |
arising from a type equality p_aWP[tau:2] a_aWT[tau:2] b_aWU[tau:2] | |
-> q_aWQ[tau:2] (f_aWR[tau:2] a_aWT[tau:2]) (f_aWR[tau:2] b_aWU[tau:2]) | |
~ | |
p_aWG[sk:2] a_aWL[sk:2] b_aWM[sk:2] | |
-> q_aWH[sk:2] (f_aWI[sk:2] a_aWL[sk:2]) (f_aWI[sk:2] b_aWM[sk:2]) | |
u_tys | |
tclvl 2 | |
i_aWE[sk:2] ~ i_aWN[tau:2] | |
arising from a kind equality arising from | |
a_aWT[tau:2] ~ a_aWL[sk:2] | |
u_tys yields no coercion | |
writeMetaTyVar a_aWT[tau:2] := a_aWL[sk:2] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
f_aWR[tau:2] b_aWU[tau:2] ~ f_aWI[sk:2] b_aWM[sk:2] | |
arising from a type equality p_aWP[tau:2] a_aWT[tau:2] b_aWU[tau:2] | |
-> q_aWQ[tau:2] (f_aWR[tau:2] a_aWT[tau:2]) (f_aWR[tau:2] b_aWU[tau:2]) | |
~ | |
p_aWG[sk:2] a_aWL[sk:2] b_aWM[sk:2] | |
-> q_aWH[sk:2] (f_aWI[sk:2] a_aWL[sk:2]) (f_aWI[sk:2] b_aWM[sk:2]) | |
u_tys | |
tclvl 2 | |
f_aWR[tau:2] ~ f_aWI[sk:2] | |
arising from a type equality p_aWP[tau:2] a_aWT[tau:2] b_aWU[tau:2] | |
-> q_aWQ[tau:2] (f_aWR[tau:2] a_aWT[tau:2]) (f_aWR[tau:2] b_aWU[tau:2]) | |
~ | |
p_aWG[sk:2] a_aWL[sk:2] b_aWM[sk:2] | |
-> q_aWH[sk:2] (f_aWI[sk:2] a_aWL[sk:2]) (f_aWI[sk:2] b_aWM[sk:2]) | |
found filled tyvar f_aWR[tau:2] :-> f_aWI[sk:2] | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
b_aWU[tau:2] ~ b_aWM[sk:2] | |
arising from a type equality p_aWP[tau:2] a_aWT[tau:2] b_aWU[tau:2] | |
-> q_aWQ[tau:2] (f_aWR[tau:2] a_aWT[tau:2]) (f_aWR[tau:2] b_aWU[tau:2]) | |
~ | |
p_aWG[sk:2] a_aWL[sk:2] b_aWM[sk:2] | |
-> q_aWH[sk:2] (f_aWI[sk:2] a_aWL[sk:2]) (f_aWI[sk:2] b_aWM[sk:2]) | |
u_tys | |
tclvl 2 | |
i_aWE[sk:2] ~ i_aWN[tau:2] | |
arising from a kind equality arising from | |
b_aWU[tau:2] ~ b_aWM[sk:2] | |
u_tys yields no coercion | |
writeMetaTyVar b_aWU[tau:2] := b_aWM[sk:2] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
tc_sub_tc_type (general case) | |
ty_actual = p_aWG[sk:2] a_aWL[sk:2] b_aWM[sk:2] | |
ty_expected = p_aWP[tau:2] a_aWT[tau:2] b_aWU[tau:2] | |
tcSkolemise | |
tcSkolemise | |
2 | |
expected_ty p_aWP[tau:2] a_aWT[tau:2] b_aWU[tau:2] | |
inst tyvars [] | |
given [] | |
inst type p_aWP[tau:2] a_aWT[tau:2] b_aWU[tau:2] | |
tc_sub_type_ds | |
ty_actual = p_aWG[sk:2] a_aWL[sk:2] b_aWM[sk:2] | |
ty_expected = p_aWP[tau:2] a_aWT[tau:2] b_aWU[tau:2] | |
deeply_instantiate final subst | |
origin: arising from a type expected by the context: | |
p_aWG[sk:2] a_aWL[sk:2] b_aWM[sk:2] | |
type: p_aWG[sk:2] a_aWL[sk:2] b_aWM[sk:2] | |
new type: p_aWG[sk:2] a_aWL[sk:2] b_aWM[sk:2] | |
subst: [TCvSubst | |
In scope: InScope {i_aWE p_aWG a_aWL b_aWM} | |
Type env: [] | |
Co env: []] | |
u_tys | |
tclvl 2 | |
p_aWG[sk:2] a_aWL[sk:2] b_aWM[sk:2] | |
~ | |
p_aWP[tau:2] a_aWT[tau:2] b_aWU[tau:2] | |
arising from a type equality p_aWP[tau:2] a_aWT[tau:2] b_aWU[tau:2] | |
-> q_aWQ[tau:2] (f_aWR[tau:2] a_aWT[tau:2]) (f_aWR[tau:2] b_aWU[tau:2]) | |
~ | |
p_aWG[sk:2] a_aWL[sk:2] b_aWM[sk:2] | |
-> q_aWH[sk:2] (f_aWI[sk:2] a_aWL[sk:2]) (f_aWI[sk:2] b_aWM[sk:2]) | |
u_tys | |
tclvl 2 | |
p_aWG[sk:2] a_aWL[sk:2] ~ p_aWP[tau:2] a_aWT[tau:2] | |
arising from a type equality p_aWP[tau:2] a_aWT[tau:2] b_aWU[tau:2] | |
-> q_aWQ[tau:2] (f_aWR[tau:2] a_aWT[tau:2]) (f_aWR[tau:2] b_aWU[tau:2]) | |
~ | |
p_aWG[sk:2] a_aWL[sk:2] b_aWM[sk:2] | |
-> q_aWH[sk:2] (f_aWI[sk:2] a_aWL[sk:2]) (f_aWI[sk:2] b_aWM[sk:2]) | |
u_tys | |
tclvl 2 | |
p_aWG[sk:2] ~ p_aWP[tau:2] | |
arising from a type equality p_aWP[tau:2] a_aWT[tau:2] b_aWU[tau:2] | |
-> q_aWQ[tau:2] (f_aWR[tau:2] a_aWT[tau:2]) (f_aWR[tau:2] b_aWU[tau:2]) | |
~ | |
p_aWG[sk:2] a_aWL[sk:2] b_aWM[sk:2] | |
-> q_aWH[sk:2] (f_aWI[sk:2] a_aWL[sk:2]) (f_aWI[sk:2] b_aWM[sk:2]) | |
u_tys | |
tclvl 2 | |
i_aWE[sk:2] -> i_aWE[sk:2] -> * ~ i_aWE[sk:2] -> i_aWE[sk:2] -> * | |
arising from a kind equality arising from | |
p_aWP[tau:2] ~ p_aWG[sk:2] | |
u_tys | |
tclvl 2 | |
i_aWE[sk:2] ~ i_aWE[sk:2] | |
arising from a kind equality arising from | |
p_aWP[tau:2] ~ p_aWG[sk:2] | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
i_aWE[sk:2] -> * ~ i_aWE[sk:2] -> * | |
arising from a kind equality arising from | |
p_aWP[tau:2] ~ p_aWG[sk:2] | |
u_tys | |
tclvl 2 | |
i_aWE[sk:2] ~ i_aWE[sk:2] | |
arising from a kind equality arising from | |
p_aWP[tau:2] ~ p_aWG[sk:2] | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
* ~ * | |
arising from a kind equality arising from | |
p_aWP[tau:2] ~ p_aWG[sk:2] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar p_aWP[tau:2] := p_aWG[sk:2] | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
a_aWL[sk:2] ~ a_aWT[tau:2] | |
arising from a type equality p_aWP[tau:2] a_aWT[tau:2] b_aWU[tau:2] | |
-> q_aWQ[tau:2] (f_aWR[tau:2] a_aWT[tau:2]) (f_aWR[tau:2] b_aWU[tau:2]) | |
~ | |
p_aWG[sk:2] a_aWL[sk:2] b_aWM[sk:2] | |
-> q_aWH[sk:2] (f_aWI[sk:2] a_aWL[sk:2]) (f_aWI[sk:2] b_aWM[sk:2]) | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
b_aWM[sk:2] ~ b_aWU[tau:2] | |
arising from a type equality p_aWP[tau:2] a_aWT[tau:2] b_aWU[tau:2] | |
-> q_aWQ[tau:2] (f_aWR[tau:2] a_aWT[tau:2]) (f_aWR[tau:2] b_aWU[tau:2]) | |
~ | |
p_aWG[sk:2] a_aWL[sk:2] b_aWM[sk:2] | |
-> q_aWH[sk:2] (f_aWI[sk:2] a_aWL[sk:2]) (f_aWI[sk:2] b_aWM[sk:2]) | |
u_tys yields no coercion | |
u_tys yields no coercion | |
newTcEvBinds unique = aWV | |
simplifyAmbiguityCheck { | |
type = forall i j (p :: i -> i -> *) (q :: j -> j -> *) (f :: i | |
-> j). | |
Functor p q f => | |
forall (a :: i) (b :: i). p a b -> q (f a) (f b) | |
wanted = WC {wc_impl = | |
Implic { | |
TcLevel = 2 | |
Skolems = i_aWE[sk:2] | |
j_aWF[sk:2] | |
(p_aWG[sk:2] :: i_aWE[sk:2] -> i_aWE[sk:2] -> *) | |
(q_aWH[sk:2] :: j_aWF[sk:2] -> j_aWF[sk:2] -> *) | |
(f_aWI[sk:2] :: i_aWE[sk:2] -> j_aWF[sk:2]) | |
(a_aWL[sk:2] :: i_aWE[sk:2]) | |
(b_aWM[sk:2] :: i_aWE[sk:2]) | |
No-eqs = False | |
Status = Unsolved | |
Given = | |
$dFunctor_aWJ :: Functor p_aWG[sk:2] q_aWH[sk:2] f_aWI[sk:2] | |
Wanted = | |
WC {wc_simple = | |
[WD] $dFunctor_aWS {0}:: Functor | |
p_aWP[tau:2] | |
q_aWQ[tau:2] | |
f_aWR[tau:2] (CNonCanonical)} | |
Binds = EvBindsVar<aWV> | |
Needed = [] | |
the type signature for: | |
fmap :: Functor p_aWG[sk:2] q_aWH[sk:2] f_aWI[sk:2] => | |
p_aWG[sk:2] a_aWL[sk:2] b_aWM[sk:2] | |
-> q_aWH[sk:2] (f_aWI[sk:2] a_aWL[sk:2]) (f_aWI[sk:2] b_aWM[sk:2]) }} | |
newTcEvBinds unique = aWW | |
solveWanteds { | |
WC {wc_impl = | |
Implic { | |
TcLevel = 2 | |
Skolems = i_aWE[sk:2] | |
j_aWF[sk:2] | |
(p_aWG[sk:2] :: i_aWE[sk:2] -> i_aWE[sk:2] -> *) | |
(q_aWH[sk:2] :: j_aWF[sk:2] -> j_aWF[sk:2] -> *) | |
(f_aWI[sk:2] :: i_aWE[sk:2] -> j_aWF[sk:2]) | |
(a_aWL[sk:2] :: i_aWE[sk:2]) | |
(b_aWM[sk:2] :: i_aWE[sk:2]) | |
No-eqs = False | |
Status = Unsolved | |
Given = | |
$dFunctor_aWJ :: Functor p_aWG[sk:2] q_aWH[sk:2] f_aWI[sk:2] | |
Wanted = | |
WC {wc_simple = | |
[WD] $dFunctor_aWS {0}:: Functor | |
p_aWP[tau:2] q_aWQ[tau:2] f_aWR[tau:2] (CNonCanonical)} | |
Binds = EvBindsVar<aWV> | |
Needed = [] | |
the type signature for: | |
fmap :: Functor p_aWG[sk:2] q_aWH[sk:2] f_aWI[sk:2] => | |
p_aWG[sk:2] a_aWL[sk:2] b_aWM[sk:2] | |
-> q_aWH[sk:2] (f_aWI[sk:2] a_aWL[sk:2]) (f_aWI[sk:2] b_aWM[sk:2]) }} | |
solveSimpleWanteds { {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveNestedImplications starting { | |
solveImplication { | |
Implic { | |
TcLevel = 2 | |
Skolems = i_aWE[sk:2] | |
j_aWF[sk:2] | |
(p_aWG[sk:2] :: i_aWE[sk:2] -> i_aWE[sk:2] -> *) | |
(q_aWH[sk:2] :: j_aWF[sk:2] -> j_aWF[sk:2] -> *) | |
(f_aWI[sk:2] :: i_aWE[sk:2] -> j_aWF[sk:2]) | |
(a_aWL[sk:2] :: i_aWE[sk:2]) | |
(b_aWM[sk:2] :: i_aWE[sk:2]) | |
No-eqs = False | |
Status = Unsolved | |
Given = | |
$dFunctor_aWJ :: Functor p_aWG[sk:2] q_aWH[sk:2] f_aWI[sk:2] | |
Wanted = | |
WC {wc_simple = | |
[WD] $dFunctor_aWS {0}:: Functor | |
p_aWP[tau:2] q_aWQ[tau:2] f_aWR[tau:2] (CNonCanonical)} | |
Binds = EvBindsVar<aWV> | |
Needed = [] | |
the type signature for: | |
fmap :: Functor p_aWG[sk:2] q_aWH[sk:2] f_aWI[sk:2] => | |
p_aWG[sk:2] a_aWL[sk:2] b_aWM[sk:2] | |
-> q_aWH[sk:2] (f_aWI[sk:2] a_aWL[sk:2]) (f_aWI[sk:2] b_aWM[sk:2]) } | |
Inerts {Unsolved goals = 0} | |
solveSimpleGivens { | |
[[G] $dFunctor_aWJ {0}:: Functor | |
p_aWG[sk:2] q_aWH[sk:2] f_aWI[sk:2] (CNonCanonical)] | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] $dFunctor_aWJ {0}:: Functor | |
p_aWG[sk:2] q_aWH[sk:2] f_aWI[sk:2] (CNonCanonical) | |
inerts = {Unsolved goals = 0} | |
rest of worklist = WL {} | |
runStage canonicalization { | |
workitem = [G] $dFunctor_aWJ {0}:: Functor | |
p_aWG[sk:2] q_aWH[sk:2] f_aWI[sk:2] (CNonCanonical) | |
canonicalize (non-canonical) | |
[G] $dFunctor_aWJ {0}:: Functor | |
p_aWG[sk:2] q_aWH[sk:2] f_aWI[sk:2] (CNonCanonical) | |
canEvNC:cls | |
Functor [i_aWE[sk:2], j_aWF[sk:2], p_aWG[sk:2], q_aWH[sk:2], | |
f_aWI[sk:2]] | |
addTcEvBind | |
aWV | |
[G] $dCategory_aWX = sc(($dFunctor_aWJ, 0)) | |
addTcEvBind | |
aWV | |
[G] $dCategory_aWY = sc(($dFunctor_aWJ, 1)) | |
mk_superclasses_of | |
Category [i_aWE[sk:2], p_aWG[sk:2]] | |
False | |
[rKn :-> Functor] | |
addTcEvBind | |
aWV | |
[G] $dFunctor_aWZ = sc(($dCategory_aWX, 0)) | |
mk_superclasses_of: loop | |
Functor [i_aWE[sk:2], i_aWE[sk:2] -> *, Op p_aWG[sk:2], | |
Nat p_aWG[sk:2] (->), p_aWG[sk:2]] | |
mk_superclasses_of | |
Category [j_aWF[sk:2], q_aWH[sk:2]] | |
False | |
[rKn :-> Functor] | |
addTcEvBind | |
aWV | |
[G] $dFunctor_aX0 = sc(($dCategory_aWY, 0)) | |
mk_superclasses_of: loop | |
Functor [j_aWF[sk:2], j_aWF[sk:2] -> *, Op q_aWH[sk:2], | |
Nat q_aWH[sk:2] (->), q_aWH[sk:2]] | |
Emitting fresh work | |
[G] $dCategory_aWX {0}:: Category p_aWG[sk:2] (CDictCan) | |
[G] $dFunctor_aWZ {0}:: Functor | |
(Op p_aWG[sk:2]) (Nat p_aWG[sk:2] (->)) p_aWG[sk:2] (CDictCan(psc)) | |
[G] $dCategory_aWY {0}:: Category q_aWH[sk:2] (CDictCan) | |
[G] $dFunctor_aX0 {0}:: Functor | |
(Op q_aWH[sk:2]) (Nat q_aWH[sk:2] (->)) q_aWH[sk:2] (CDictCan(psc)) | |
flatten_many { | |
i_aWE[sk:2] | |
j_aWF[sk:2] | |
p_aWG[sk:2] | |
q_aWH[sk:2] | |
f_aWI[sk:2] | |
Unfilled tyvar i_aWE[sk:2] | |
Unfilled tyvar j_aWF[sk:2] | |
Unfilled tyvar p_aWG[sk:2] | |
Unfilled tyvar i_aWE[sk:2] | |
Unfilled tyvar i_aWE[sk:2] | |
Unfilled tyvar q_aWH[sk:2] | |
Unfilled tyvar j_aWF[sk:2] | |
Unfilled tyvar j_aWF[sk:2] | |
Unfilled tyvar f_aWI[sk:2] | |
Unfilled tyvar i_aWE[sk:2] | |
Unfilled tyvar j_aWF[sk:2] | |
flatten } | |
i_aWE[sk:2] | |
j_aWF[sk:2] | |
p_aWG[sk:2] | |
q_aWH[sk:2] | |
f_aWI[sk:2] | |
canClass | |
[G] $dFunctor_aWJ {0}:: Functor p_aWG[sk:2] q_aWH[sk:2] f_aWI[sk:2] | |
Functor p_aWG[sk:2] q_aWH[sk:2] f_aWI[sk:2] | |
ContinueWith [G] $dFunctor_aWJ {0}:: Functor | |
p_aWG[sk:2] q_aWH[sk:2] f_aWI[sk:2] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] $dFunctor_aWJ {0}:: Functor | |
p_aWG[sk:2] q_aWH[sk:2] f_aWI[sk:2] (CDictCan) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] $dFunctor_aWJ {0}:: Functor | |
p_aWG[sk:2] q_aWH[sk:2] f_aWI[sk:2] (CDictCan) | |
doTopReact | |
[G] $dFunctor_aWJ {0}:: Functor | |
p_aWG[sk:2] q_aWH[sk:2] f_aWI[sk:2] (CDictCan) | |
try_fundeps | |
[G] $dFunctor_aWJ {0}:: Functor | |
p_aWG[sk:2] q_aWH[sk:2] f_aWI[sk:2] (CDictCan) | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] $dFunctor_aWJ {0}:: Functor | |
p_aWG[sk:2] | |
q_aWH[sk:2] | |
f_aWI[sk:2] (CDictCan) | |
addInertCan } | |
Step 1[l:2,d:0] Kept as inert: | |
[G] $dFunctor_aWJ {0}:: Functor p_aWG[sk:2] q_aWH[sk:2] f_aWI[sk:2] | |
End solver pipeline (kept as inert) } | |
final_item = [G] $dFunctor_aWJ {0}:: Functor | |
p_aWG[sk:2] q_aWH[sk:2] f_aWI[sk:2] (CDictCan) | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] $dCategory_aWX {0}:: Category | |
p_aWG[sk:2] (CDictCan) | |
inerts = {Dictionaries = [G] $dFunctor_aWJ {0}:: Functor | |
p_aWG[sk:2] q_aWH[sk:2] f_aWI[sk:2] (CDictCan) | |
Unsolved goals = 0} | |
rest of worklist = WL {Non-eqs = [G] $dFunctor_aWZ {0}:: Functor | |
(Op p_aWG[sk:2]) | |
(Nat p_aWG[sk:2] (->)) | |
p_aWG[sk:2] (CDictCan(psc)) | |
[G] $dCategory_aWY {0}:: Category q_aWH[sk:2] (CDictCan) | |
[G] $dFunctor_aX0 {0}:: Functor | |
(Op q_aWH[sk:2]) | |
(Nat q_aWH[sk:2] (->)) | |
q_aWH[sk:2] (CDictCan(psc))} | |
runStage canonicalization { | |
workitem = [G] $dCategory_aWX {0}:: Category | |
p_aWG[sk:2] (CDictCan) | |
flatten_many { | |
i_aWE[sk:2] | |
p_aWG[sk:2] | |
Unfilled tyvar i_aWE[sk:2] | |
Unfilled tyvar p_aWG[sk:2] | |
Unfilled tyvar i_aWE[sk:2] | |
Unfilled tyvar i_aWE[sk:2] | |
flatten } | |
i_aWE[sk:2] | |
p_aWG[sk:2] | |
canClass | |
[G] $dCategory_aWX {0}:: Category p_aWG[sk:2] | |
Category p_aWG[sk:2] | |
ContinueWith [G] $dCategory_aWX {0}:: Category p_aWG[sk:2] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] $dCategory_aWX {0}:: Category | |
p_aWG[sk:2] (CDictCan) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] $dCategory_aWX {0}:: Category | |
p_aWG[sk:2] (CDictCan) | |
doTopReact [G] $dCategory_aWX {0}:: Category p_aWG[sk:2] (CDictCan) | |
try_fundeps | |
[G] $dCategory_aWX {0}:: Category p_aWG[sk:2] (CDictCan) | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] $dCategory_aWX {0}:: Category | |
p_aWG[sk:2] (CDictCan) | |
addInertCan } | |
Step 2[l:2,d:0] Kept as inert: | |
[G] $dCategory_aWX {0}:: Category p_aWG[sk:2] | |
End solver pipeline (kept as inert) } | |
final_item = [G] $dCategory_aWX {0}:: Category | |
p_aWG[sk:2] (CDictCan) | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] $dFunctor_aWZ {0}:: Functor | |
(Op p_aWG[sk:2]) | |
(Nat p_aWG[sk:2] (->)) | |
p_aWG[sk:2] (CDictCan(psc)) | |
inerts = {Dictionaries = [G] $dFunctor_aWJ {0}:: Functor | |
p_aWG[sk:2] q_aWH[sk:2] f_aWI[sk:2] (CDictCan) | |
[G] $dCategory_aWX {0}:: Category p_aWG[sk:2] (CDictCan) | |
Unsolved goals = 0} | |
rest of worklist = WL {Non-eqs = [G] $dCategory_aWY {0}:: Category | |
q_aWH[sk:2] (CDictCan) | |
[G] $dFunctor_aX0 {0}:: Functor | |
(Op q_aWH[sk:2]) | |
(Nat q_aWH[sk:2] (->)) | |
q_aWH[sk:2] (CDictCan(psc))} | |
runStage canonicalization { | |
workitem = [G] $dFunctor_aWZ {0}:: Functor | |
(Op p_aWG[sk:2]) | |
(Nat p_aWG[sk:2] (->)) | |
p_aWG[sk:2] (CDictCan(psc)) | |
flatten_many { | |
i_aWE[sk:2] | |
i_aWE[sk:2] -> * | |
Op p_aWG[sk:2] | |
Nat p_aWG[sk:2] (->) | |
p_aWG[sk:2] | |
Unfilled tyvar i_aWE[sk:2] | |
Unfilled tyvar i_aWE[sk:2] | |
matchFamTcM | |
Matching: Op p_aWG[sk:2] | |
Match failed | |
Unfilled tyvar i_aWE[sk:2] | |
Unfilled tyvar i_aWE[sk:2] | |
Unfilled tyvar p_aWG[sk:2] | |
Unfilled tyvar i_aWE[sk:2] | |
Unfilled tyvar i_aWE[sk:2] | |
matchFamTcM | |
Matching: Op p_aWG[sk:2] | |
Match failed | |
addTcEvBind | |
aWV | |
[G] cobox_aX2 = CO <Op p_aWG[sk:2]>_N | |
extendFlatCache | |
Op [i_aWE[sk:2], i_aWE[sk:2], p_aWG[sk:2]] | |
[G] | |
fsk_aX1[fsk] | |
flatten/flat-cache miss | |
Op [i_aWE[sk:2], i_aWE[sk:2], p_aWG[sk:2]] | |
fsk_aX1[fsk] | |
[G] cobox_aX2 {0}:: (Op p_aWG[sk:2] :: (i_aWE[sk:2] | |
-> i_aWE[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aX1[fsk] :: (i_aWE[sk:2] -> i_aWE[sk:2] -> *)) | |
Unfilled tyvar i_aWE[sk:2] | |
Unfilled tyvar p_aWG[sk:2] | |
Unfilled tyvar i_aWE[sk:2] | |
Unfilled tyvar i_aWE[sk:2] | |
Unfilled tyvar p_aWG[sk:2] | |
Unfilled tyvar i_aWE[sk:2] | |
Unfilled tyvar i_aWE[sk:2] | |
flatten } | |
i_aWE[sk:2] | |
i_aWE[sk:2] -> * | |
fsk_aX1[fsk] | |
Nat p_aWG[sk:2] (->) | |
p_aWG[sk:2] | |
canClass | |
[G] $dFunctor_aWZ {0}:: Functor | |
(Op p_aWG[sk:2]) (Nat p_aWG[sk:2] (->)) p_aWG[sk:2] | |
Functor fsk_aX1[fsk] (Nat p_aWG[sk:2] (->)) p_aWG[sk:2] | |
ContinueWith [G] $dFunctor_aWZ {0}:: Functor | |
fsk_aX1[fsk] (Nat p_aWG[sk:2] (->)) p_aWG[sk:2] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] $dFunctor_aWZ {0}:: Functor | |
fsk_aX1[fsk] | |
(Nat p_aWG[sk:2] (->)) | |
p_aWG[sk:2] (CDictCan(psc)) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] $dFunctor_aWZ {0}:: Functor | |
fsk_aX1[fsk] | |
(Nat p_aWG[sk:2] (->)) | |
p_aWG[sk:2] (CDictCan(psc)) | |
doTopReact | |
[G] $dFunctor_aWZ {0}:: Functor | |
fsk_aX1[fsk] (Nat p_aWG[sk:2] (->)) p_aWG[sk:2] (CDictCan(psc)) | |
try_fundeps | |
[G] $dFunctor_aWZ {0}:: Functor | |
fsk_aX1[fsk] (Nat p_aWG[sk:2] (->)) p_aWG[sk:2] (CDictCan(psc)) | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] $dFunctor_aWZ {0}:: Functor | |
fsk_aX1[fsk] | |
(Nat p_aWG[sk:2] (->)) | |
p_aWG[sk:2] (CDictCan(psc)) | |
addInertCan } | |
Step 3[l:2,d:0] Kept as inert: | |
[G] $dFunctor_aWZ {0}:: Functor | |
fsk_aX1[fsk] (Nat p_aWG[sk:2] (->)) p_aWG[sk:2] | |
End solver pipeline (kept as inert) } | |
final_item = [G] $dFunctor_aWZ {0}:: Functor | |
fsk_aX1[fsk] | |
(Nat p_aWG[sk:2] (->)) | |
p_aWG[sk:2] (CDictCan(psc)) | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] cobox_aX2 {0}:: (Op p_aWG[sk:2] :: (i_aWE[sk:2] | |
-> i_aWE[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aX1[fsk] :: (i_aWE[sk:2] -> i_aWE[sk:2] -> *)) (CFunEqCan) | |
inerts = {Dictionaries = [G] $dCategory_aWX {0}:: Category | |
p_aWG[sk:2] (CDictCan) | |
[G] $dFunctor_aWJ {0}:: Functor | |
p_aWG[sk:2] q_aWH[sk:2] f_aWI[sk:2] (CDictCan) | |
[G] $dFunctor_aWZ {0}:: Functor | |
fsk_aX1[fsk] | |
(Nat p_aWG[sk:2] (->)) | |
p_aWG[sk:2] (CDictCan(psc)) | |
Unsolved goals = 0} | |
rest of worklist = WL {Non-eqs = [G] $dCategory_aWY {0}:: Category | |
q_aWH[sk:2] (CDictCan) | |
[G] $dFunctor_aX0 {0}:: Functor | |
(Op q_aWH[sk:2]) | |
(Nat q_aWH[sk:2] (->)) | |
q_aWH[sk:2] (CDictCan(psc))} | |
runStage canonicalization { | |
workitem = [G] cobox_aX2 {0}:: (Op p_aWG[sk:2] :: (i_aWE[sk:2] | |
-> i_aWE[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aX1[fsk] :: (i_aWE[sk:2] -> i_aWE[sk:2] -> *)) (CFunEqCan) | |
flatten_many { | |
i_aWE[sk:2] | |
i_aWE[sk:2] | |
p_aWG[sk:2] | |
Unfilled tyvar i_aWE[sk:2] | |
Unfilled tyvar i_aWE[sk:2] | |
Unfilled tyvar p_aWG[sk:2] | |
Unfilled tyvar i_aWE[sk:2] | |
Unfilled tyvar i_aWE[sk:2] | |
flatten } | |
i_aWE[sk:2] | |
i_aWE[sk:2] | |
p_aWG[sk:2] | |
extendFlatCache | |
Op [i_aWE[sk:2], i_aWE[sk:2], p_aWG[sk:2]] | |
[G] | |
fsk_aX1[fsk] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] cobox_aX2 {0}:: (Op p_aWG[sk:2] :: (i_aWE[sk:2] | |
-> i_aWE[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aX1[fsk] :: (i_aWE[sk:2] -> i_aWE[sk:2] -> *)) (CFunEqCan) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] cobox_aX2 {0}:: (Op p_aWG[sk:2] :: (i_aWE[sk:2] | |
-> i_aWE[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aX1[fsk] :: (i_aWE[sk:2] -> i_aWE[sk:2] -> *)) (CFunEqCan) | |
doTopReact | |
[G] cobox_aX2 {0}:: (Op p_aWG[sk:2] :: (i_aWE[sk:2] | |
-> i_aWE[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aX1[fsk] :: (i_aWE[sk:2] -> i_aWE[sk:2] -> *)) (CFunEqCan) | |
matchFamTcM | |
Matching: Op p_aWG[sk:2] | |
Match failed | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] cobox_aX2 {0}:: (Op | |
p_aWG[sk:2] :: (i_aWE[sk:2] | |
-> i_aWE[sk:2] | |
-> *)) | |
GHC.Prim.~# | |
(fsk_aX1[fsk] :: (i_aWE[sk:2] | |
-> i_aWE[sk:2] | |
-> *)) (CFunEqCan) | |
addInertCan } | |
Step 4[l:2,d:0] Kept as inert: | |
[G] cobox_aX2 {0}:: (Op p_aWG[sk:2] :: (i_aWE[sk:2] | |
-> i_aWE[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aX1[fsk] :: (i_aWE[sk:2] -> i_aWE[sk:2] -> *)) | |
End solver pipeline (kept as inert) } | |
final_item = [G] cobox_aX2 {0}:: (Op p_aWG[sk:2] :: (i_aWE[sk:2] | |
-> i_aWE[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aX1[fsk] :: (i_aWE[sk:2] -> i_aWE[sk:2] -> *)) (CFunEqCan) | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] $dCategory_aWY {0}:: Category | |
q_aWH[sk:2] (CDictCan) | |
inerts = {Type-function equalities = [G] cobox_aX2 {0}:: (Op | |
p_aWG[sk:2] :: (i_aWE[sk:2] | |
-> i_aWE[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aX1[fsk] :: (i_aWE[sk:2] | |
-> i_aWE[sk:2] | |
-> *)) (CFunEqCan) | |
Dictionaries = [G] $dCategory_aWX {0}:: Category | |
p_aWG[sk:2] (CDictCan) | |
[G] $dFunctor_aWJ {0}:: Functor | |
p_aWG[sk:2] q_aWH[sk:2] f_aWI[sk:2] (CDictCan) | |
[G] $dFunctor_aWZ {0}:: Functor | |
fsk_aX1[fsk] | |
(Nat p_aWG[sk:2] (->)) | |
p_aWG[sk:2] (CDictCan(psc)) | |
Unsolved goals = 0} | |
rest of worklist = WL {Non-eqs = [G] $dFunctor_aX0 {0}:: Functor | |
(Op q_aWH[sk:2]) | |
(Nat q_aWH[sk:2] (->)) | |
q_aWH[sk:2] (CDictCan(psc))} | |
runStage canonicalization { | |
workitem = [G] $dCategory_aWY {0}:: Category | |
q_aWH[sk:2] (CDictCan) | |
flatten_many { | |
j_aWF[sk:2] | |
q_aWH[sk:2] | |
Unfilled tyvar j_aWF[sk:2] | |
Unfilled tyvar q_aWH[sk:2] | |
Unfilled tyvar j_aWF[sk:2] | |
Unfilled tyvar j_aWF[sk:2] | |
flatten } | |
j_aWF[sk:2] | |
q_aWH[sk:2] | |
canClass | |
[G] $dCategory_aWY {0}:: Category q_aWH[sk:2] | |
Category q_aWH[sk:2] | |
ContinueWith [G] $dCategory_aWY {0}:: Category q_aWH[sk:2] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] $dCategory_aWY {0}:: Category | |
q_aWH[sk:2] (CDictCan) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] $dCategory_aWY {0}:: Category | |
q_aWH[sk:2] (CDictCan) | |
doTopReact [G] $dCategory_aWY {0}:: Category q_aWH[sk:2] (CDictCan) | |
try_fundeps | |
[G] $dCategory_aWY {0}:: Category q_aWH[sk:2] (CDictCan) | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] $dCategory_aWY {0}:: Category | |
q_aWH[sk:2] (CDictCan) | |
addInertCan } | |
Step 5[l:2,d:0] Kept as inert: | |
[G] $dCategory_aWY {0}:: Category q_aWH[sk:2] | |
End solver pipeline (kept as inert) } | |
final_item = [G] $dCategory_aWY {0}:: Category | |
q_aWH[sk:2] (CDictCan) | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] $dFunctor_aX0 {0}:: Functor | |
(Op q_aWH[sk:2]) | |
(Nat q_aWH[sk:2] (->)) | |
q_aWH[sk:2] (CDictCan(psc)) | |
inerts = {Type-function equalities = [G] cobox_aX2 {0}:: (Op | |
p_aWG[sk:2] :: (i_aWE[sk:2] | |
-> i_aWE[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aX1[fsk] :: (i_aWE[sk:2] | |
-> i_aWE[sk:2] | |
-> *)) (CFunEqCan) | |
Dictionaries = [G] $dFunctor_aWJ {0}:: Functor | |
p_aWG[sk:2] q_aWH[sk:2] f_aWI[sk:2] (CDictCan) | |
[G] $dFunctor_aWZ {0}:: Functor | |
fsk_aX1[fsk] | |
(Nat p_aWG[sk:2] (->)) | |
p_aWG[sk:2] (CDictCan(psc)) | |
[G] $dCategory_aWX {0}:: Category p_aWG[sk:2] (CDictCan) | |
[G] $dCategory_aWY {0}:: Category q_aWH[sk:2] (CDictCan) | |
Unsolved goals = 0} | |
rest of worklist = WL {} | |
runStage canonicalization { | |
workitem = [G] $dFunctor_aX0 {0}:: Functor | |
(Op q_aWH[sk:2]) | |
(Nat q_aWH[sk:2] (->)) | |
q_aWH[sk:2] (CDictCan(psc)) | |
flatten_many { | |
j_aWF[sk:2] | |
j_aWF[sk:2] -> * | |
Op q_aWH[sk:2] | |
Nat q_aWH[sk:2] (->) | |
q_aWH[sk:2] | |
Unfilled tyvar j_aWF[sk:2] | |
Unfilled tyvar j_aWF[sk:2] | |
matchFamTcM | |
Matching: Op q_aWH[sk:2] | |
Match failed | |
Unfilled tyvar j_aWF[sk:2] | |
Unfilled tyvar j_aWF[sk:2] | |
Unfilled tyvar q_aWH[sk:2] | |
Unfilled tyvar j_aWF[sk:2] | |
Unfilled tyvar j_aWF[sk:2] | |
matchFamTcM | |
Matching: Op q_aWH[sk:2] | |
Match failed | |
addTcEvBind | |
aWV | |
[G] cobox_aX4 = CO <Op q_aWH[sk:2]>_N | |
extendFlatCache | |
Op [j_aWF[sk:2], j_aWF[sk:2], q_aWH[sk:2]] | |
[G] | |
fsk_aX3[fsk] | |
flatten/flat-cache miss | |
Op [j_aWF[sk:2], j_aWF[sk:2], q_aWH[sk:2]] | |
fsk_aX3[fsk] | |
[G] cobox_aX4 {0}:: (Op q_aWH[sk:2] :: (j_aWF[sk:2] | |
-> j_aWF[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aX3[fsk] :: (j_aWF[sk:2] -> j_aWF[sk:2] -> *)) | |
Unfilled tyvar j_aWF[sk:2] | |
Unfilled tyvar q_aWH[sk:2] | |
Unfilled tyvar j_aWF[sk:2] | |
Unfilled tyvar j_aWF[sk:2] | |
Unfilled tyvar q_aWH[sk:2] | |
Unfilled tyvar j_aWF[sk:2] | |
Unfilled tyvar j_aWF[sk:2] | |
flatten } | |
j_aWF[sk:2] | |
j_aWF[sk:2] -> * | |
fsk_aX3[fsk] | |
Nat q_aWH[sk:2] (->) | |
q_aWH[sk:2] | |
canClass | |
[G] $dFunctor_aX0 {0}:: Functor | |
(Op q_aWH[sk:2]) (Nat q_aWH[sk:2] (->)) q_aWH[sk:2] | |
Functor fsk_aX3[fsk] (Nat q_aWH[sk:2] (->)) q_aWH[sk:2] | |
ContinueWith [G] $dFunctor_aX0 {0}:: Functor | |
fsk_aX3[fsk] (Nat q_aWH[sk:2] (->)) q_aWH[sk:2] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] $dFunctor_aX0 {0}:: Functor | |
fsk_aX3[fsk] | |
(Nat q_aWH[sk:2] (->)) | |
q_aWH[sk:2] (CDictCan(psc)) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] $dFunctor_aX0 {0}:: Functor | |
fsk_aX3[fsk] | |
(Nat q_aWH[sk:2] (->)) | |
q_aWH[sk:2] (CDictCan(psc)) | |
doTopReact | |
[G] $dFunctor_aX0 {0}:: Functor | |
fsk_aX3[fsk] (Nat q_aWH[sk:2] (->)) q_aWH[sk:2] (CDictCan(psc)) | |
try_fundeps | |
[G] $dFunctor_aX0 {0}:: Functor | |
fsk_aX3[fsk] (Nat q_aWH[sk:2] (->)) q_aWH[sk:2] (CDictCan(psc)) | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] $dFunctor_aX0 {0}:: Functor | |
fsk_aX3[fsk] | |
(Nat q_aWH[sk:2] (->)) | |
q_aWH[sk:2] (CDictCan(psc)) | |
addInertCan } | |
Step 6[l:2,d:0] Kept as inert: | |
[G] $dFunctor_aX0 {0}:: Functor | |
fsk_aX3[fsk] (Nat q_aWH[sk:2] (->)) q_aWH[sk:2] | |
End solver pipeline (kept as inert) } | |
final_item = [G] $dFunctor_aX0 {0}:: Functor | |
fsk_aX3[fsk] | |
(Nat q_aWH[sk:2] (->)) | |
q_aWH[sk:2] (CDictCan(psc)) | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] cobox_aX4 {0}:: (Op q_aWH[sk:2] :: (j_aWF[sk:2] | |
-> j_aWF[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aX3[fsk] :: (j_aWF[sk:2] -> j_aWF[sk:2] -> *)) (CFunEqCan) | |
inerts = {Type-function equalities = [G] cobox_aX2 {0}:: (Op | |
p_aWG[sk:2] :: (i_aWE[sk:2] | |
-> i_aWE[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aX1[fsk] :: (i_aWE[sk:2] | |
-> i_aWE[sk:2] | |
-> *)) (CFunEqCan) | |
Dictionaries = [G] $dCategory_aWX {0}:: Category | |
p_aWG[sk:2] (CDictCan) | |
[G] $dCategory_aWY {0}:: Category q_aWH[sk:2] (CDictCan) | |
[G] $dFunctor_aWJ {0}:: Functor | |
p_aWG[sk:2] q_aWH[sk:2] f_aWI[sk:2] (CDictCan) | |
[G] $dFunctor_aWZ {0}:: Functor | |
fsk_aX1[fsk] | |
(Nat p_aWG[sk:2] (->)) | |
p_aWG[sk:2] (CDictCan(psc)) | |
[G] $dFunctor_aX0 {0}:: Functor | |
fsk_aX3[fsk] | |
(Nat q_aWH[sk:2] (->)) | |
q_aWH[sk:2] (CDictCan(psc)) | |
Unsolved goals = 0} | |
rest of worklist = WL {} | |
runStage canonicalization { | |
workitem = [G] cobox_aX4 {0}:: (Op q_aWH[sk:2] :: (j_aWF[sk:2] | |
-> j_aWF[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aX3[fsk] :: (j_aWF[sk:2] -> j_aWF[sk:2] -> *)) (CFunEqCan) | |
flatten_many { | |
j_aWF[sk:2] | |
j_aWF[sk:2] | |
q_aWH[sk:2] | |
Unfilled tyvar j_aWF[sk:2] | |
Unfilled tyvar j_aWF[sk:2] | |
Unfilled tyvar q_aWH[sk:2] | |
Unfilled tyvar j_aWF[sk:2] | |
Unfilled tyvar j_aWF[sk:2] | |
flatten } | |
j_aWF[sk:2] | |
j_aWF[sk:2] | |
q_aWH[sk:2] | |
extendFlatCache | |
Op [j_aWF[sk:2], j_aWF[sk:2], q_aWH[sk:2]] | |
[G] | |
fsk_aX3[fsk] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] cobox_aX4 {0}:: (Op q_aWH[sk:2] :: (j_aWF[sk:2] | |
-> j_aWF[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aX3[fsk] :: (j_aWF[sk:2] -> j_aWF[sk:2] -> *)) (CFunEqCan) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] cobox_aX4 {0}:: (Op q_aWH[sk:2] :: (j_aWF[sk:2] | |
-> j_aWF[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aX3[fsk] :: (j_aWF[sk:2] -> j_aWF[sk:2] -> *)) (CFunEqCan) | |
doTopReact | |
[G] cobox_aX4 {0}:: (Op q_aWH[sk:2] :: (j_aWF[sk:2] | |
-> j_aWF[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aX3[fsk] :: (j_aWF[sk:2] -> j_aWF[sk:2] -> *)) (CFunEqCan) | |
matchFamTcM | |
Matching: Op q_aWH[sk:2] | |
Match failed | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] cobox_aX4 {0}:: (Op | |
q_aWH[sk:2] :: (j_aWF[sk:2] | |
-> j_aWF[sk:2] | |
-> *)) | |
GHC.Prim.~# | |
(fsk_aX3[fsk] :: (j_aWF[sk:2] | |
-> j_aWF[sk:2] | |
-> *)) (CFunEqCan) | |
addInertCan } | |
Step 7[l:2,d:0] Kept as inert: | |
[G] cobox_aX4 {0}:: (Op q_aWH[sk:2] :: (j_aWF[sk:2] | |
-> j_aWF[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aX3[fsk] :: (j_aWF[sk:2] -> j_aWF[sk:2] -> *)) | |
End solver pipeline (kept as inert) } | |
final_item = [G] cobox_aX4 {0}:: (Op q_aWH[sk:2] :: (j_aWF[sk:2] | |
-> j_aWF[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aX3[fsk] :: (j_aWF[sk:2] -> j_aWF[sk:2] -> *)) (CFunEqCan) | |
End solveSimpleGivens } | |
solveWanteds { | |
WC {wc_simple = | |
[WD] $dFunctor_aWS {0}:: Functor | |
p_aWP[tau:2] q_aWQ[tau:2] f_aWR[tau:2] (CNonCanonical)} | |
solveSimpleWanteds { | |
{[WD] $dFunctor_aWS {0}:: Functor | |
p_aWP[tau:2] q_aWQ[tau:2] f_aWR[tau:2] (CNonCanonical)} | |
----------------------------- | |
Start solver pipeline { | |
work item = [WD] $dFunctor_aWS {0}:: Functor | |
p_aWP[tau:2] q_aWQ[tau:2] f_aWR[tau:2] (CNonCanonical) | |
inerts = {Type-function equalities = [G] cobox_aX2 {0}:: (Op | |
p_aWG[sk:2] :: (i_aWE[sk:2] | |
-> i_aWE[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aX1[fsk] :: (i_aWE[sk:2] | |
-> i_aWE[sk:2] | |
-> *)) (CFunEqCan) | |
[G] cobox_aX4 {0}:: (Op q_aWH[sk:2] :: (j_aWF[sk:2] | |
-> j_aWF[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aX3[fsk] :: (j_aWF[sk:2] | |
-> j_aWF[sk:2] | |
-> *)) (CFunEqCan) | |
Dictionaries = [G] $dCategory_aWX {0}:: Category | |
p_aWG[sk:2] (CDictCan) | |
[G] $dCategory_aWY {0}:: Category q_aWH[sk:2] (CDictCan) | |
[G] $dFunctor_aWJ {0}:: Functor | |
p_aWG[sk:2] q_aWH[sk:2] f_aWI[sk:2] (CDictCan) | |
[G] $dFunctor_aWZ {0}:: Functor | |
fsk_aX1[fsk] | |
(Nat p_aWG[sk:2] (->)) | |
p_aWG[sk:2] (CDictCan(psc)) | |
[G] $dFunctor_aX0 {0}:: Functor | |
fsk_aX3[fsk] | |
(Nat q_aWH[sk:2] (->)) | |
q_aWH[sk:2] (CDictCan(psc)) | |
Unsolved goals = 0} | |
rest of worklist = WL {} | |
runStage canonicalization { | |
workitem = [WD] $dFunctor_aWS {0}:: Functor | |
p_aWP[tau:2] q_aWQ[tau:2] f_aWR[tau:2] (CNonCanonical) | |
canonicalize (non-canonical) | |
[WD] $dFunctor_aWS {0}:: Functor | |
p_aWP[tau:2] q_aWQ[tau:2] f_aWR[tau:2] (CNonCanonical) | |
canEvNC:cls | |
Functor [i_aWN[tau:2], j_aWO[tau:2], p_aWP[tau:2], q_aWQ[tau:2], | |
f_aWR[tau:2]] | |
flatten_many { | |
i_aWN[tau:2] | |
j_aWO[tau:2] | |
p_aWP[tau:2] | |
q_aWQ[tau:2] | |
f_aWR[tau:2] | |
Following filled tyvar i_aWN[tau:2] = i_aWE[sk:2] | |
Unfilled tyvar i_aWE[sk:2] | |
Following filled tyvar j_aWO[tau:2] = j_aWF[sk:2] | |
Unfilled tyvar j_aWF[sk:2] | |
Following filled tyvar p_aWP[tau:2] = p_aWG[sk:2] | |
Unfilled tyvar p_aWG[sk:2] | |
Unfilled tyvar i_aWE[sk:2] | |
Unfilled tyvar i_aWE[sk:2] | |
Following filled tyvar q_aWQ[tau:2] = q_aWH[sk:2] | |
Unfilled tyvar q_aWH[sk:2] | |
Unfilled tyvar j_aWF[sk:2] | |
Unfilled tyvar j_aWF[sk:2] | |
Following filled tyvar f_aWR[tau:2] = f_aWI[sk:2] | |
Unfilled tyvar f_aWI[sk:2] | |
Unfilled tyvar i_aWE[sk:2] | |
Unfilled tyvar j_aWF[sk:2] | |
flatten } | |
i_aWE[sk:2] | |
j_aWF[sk:2] | |
p_aWG[sk:2] | |
q_aWH[sk:2] | |
f_aWI[sk:2] | |
canClass | |
[WD] $dFunctor_aWS {0}:: Functor | |
p_aWP[tau:2] q_aWQ[tau:2] f_aWR[tau:2] | |
Functor p_aWG[sk:2] q_aWH[sk:2] f_aWI[sk:2] | |
ContinueWith [WD] $dFunctor_aWS {0}:: Functor | |
p_aWG[sk:2] q_aWH[sk:2] f_aWI[sk:2] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [WD] $dFunctor_aWS {0}:: Functor | |
p_aWG[sk:2] q_aWH[sk:2] f_aWI[sk:2] (CDictCan(psc)) | |
addTcEvBind | |
aWV | |
[W] $dFunctor_aWS = $dFunctor_aWJ | |
end stage interact with inerts } | |
Step 8[l:2,d:0] Dict equal (keep): | |
[WD] $dFunctor_aWS {0}:: Functor | |
p_aWG[sk:2] q_aWH[sk:2] f_aWI[sk:2] | |
End solver pipeline (discharged) } | |
getUnsolvedInerts | |
tv eqs = {} | |
fun eqs = {} | |
insols = {} | |
others = {} | |
implics = {} | |
Unflattening | |
{Funeqs = | |
Tv eqs =} | |
Unflattening 1 {} | |
Unflattening 2 {} | |
Unflattening 3 {} | |
Unflattening done {} | |
zonkSimples done: {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {[G] $dCategory_aWX = sc(($dFunctor_aWJ, 0)), | |
[G] $dCategory_aWY = sc(($dFunctor_aWJ, 1)), | |
[G] $dFunctor_aWZ = sc(($dCategory_aWX, 0)), | |
[G] $dFunctor_aX0 = sc(($dCategory_aWY, 0)), | |
[G] cobox_aX2 = CO <Op p_aWG[sk:2]>_N, | |
[G] cobox_aX4 = CO <Op q_aWH[sk:2]>_N, | |
[W] $dFunctor_aWS = $dFunctor_aWJ} | |
getNoGivenEqs | |
False | |
{Type-function equalities = [G] cobox_aX2 {0}:: (Op | |
p_aWG[sk:2] :: (i_aWE[sk:2] | |
-> i_aWE[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aX1[fsk] :: (i_aWE[sk:2] | |
-> i_aWE[sk:2] | |
-> *)) (CFunEqCan) | |
[G] cobox_aX4 {0}:: (Op q_aWH[sk:2] :: (j_aWF[sk:2] | |
-> j_aWF[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aX3[fsk] :: (j_aWF[sk:2] | |
-> j_aWF[sk:2] | |
-> *)) (CFunEqCan) | |
Dictionaries = [G] $dCategory_aWX {0}:: Category | |
p_aWG[sk:2] (CDictCan) | |
[G] $dCategory_aWY {0}:: Category q_aWH[sk:2] (CDictCan) | |
[G] $dFunctor_aWJ {0}:: Functor | |
p_aWG[sk:2] q_aWH[sk:2] f_aWI[sk:2] (CDictCan) | |
[G] $dFunctor_aWZ {0}:: Functor | |
fsk_aX1[fsk] | |
(Nat p_aWG[sk:2] (->)) | |
p_aWG[sk:2] (CDictCan(psc)) | |
[G] $dFunctor_aX0 {0}:: Functor | |
fsk_aX3[fsk] | |
(Nat q_aWH[sk:2] (->)) | |
q_aWH[sk:2] (CDictCan(psc)) | |
Unsolved goals = 0} | |
{} | |
floatEqualities | |
Skols = [i_aWE[sk:2], j_aWF[sk:2], p_aWG[sk:2], q_aWH[sk:2], | |
f_aWI[sk:2], a_aWL[sk:2], b_aWM[sk:2]] | |
Simples = {} | |
Floated eqs = {} | |
solveImplication 2 | |
{} | |
WC {} | |
setImplicationStatus 2 | |
[$dFunctor_aWJ] | |
([aWX :-> [G] $dCategory_aWX = sc(($dFunctor_aWJ, 0)), | |
aWY :-> [G] $dCategory_aWY = sc(($dFunctor_aWJ, 1)), | |
aWZ :-> [G] $dFunctor_aWZ = sc(($dCategory_aWX, 0)), | |
aX0 :-> [G] $dFunctor_aX0 = sc(($dCategory_aWY, 0)), | |
aX2 :-> [G] cobox_aX2 = CO <Op p_aWG[sk:2]>_N, | |
aX4 :-> [G] cobox_aX4 = CO <Op q_aWH[sk:2]>_N, | |
aWS :-> [W] $dFunctor_aWS = $dFunctor_aWJ], | |
[]) | |
[aWJ :-> $dFunctor_aWJ] | |
solveImplication end } | |
no_given_eqs = True | |
floated_eqs = {} | |
res_implic = Nothing | |
implication evbinds = {[G] $dCategory_aWX = sc(($dFunctor_aWJ, 0)), | |
[G] $dCategory_aWY = sc(($dFunctor_aWJ, 1)), | |
[G] $dFunctor_aWZ = sc(($dCategory_aWX, 0)), | |
[G] $dFunctor_aX0 = sc(($dCategory_aWY, 0)), | |
[G] cobox_aX2 = CO <Op p_aWG[sk:2]>_N, | |
[G] cobox_aX4 = CO <Op q_aWH[sk:2]>_N, | |
[W] $dFunctor_aWS = $dFunctor_aWJ} | |
implication tvcs = [] | |
solveNestedImplications end } | |
all floated_eqs = {} | |
unsolved_implics = {Nothing} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {} | |
Constraint solver steps = 8 | |
End simplifyAmbiguityCheck } | |
reportUnsolved(ambig) { | |
newTcEvBinds unique = aX5 | |
reportUnsolved(ambig) } | |
Done ambiguity check for | |
forall i j (p :: i -> i -> *) (q :: j -> j -> *) (f :: i -> j). | |
Functor p q f => | |
forall (a :: i) (b :: i). p a b -> q (f a) (f b) | |
checkValidType done | |
forall i j (p :: i -> i -> *) (q :: j -> j -> *) (f :: i -> j). | |
Functor p q f => | |
forall (a :: i) (b :: i). p a b -> q (f a) (f b) :: * | |
Done validity for tycon Functor | |
Starting validity for tycon Category | |
checkValidTyCon | |
Category | |
Just Category | |
check_valid_theta | |
[Functor (Op p_aL3[sk:1]) (Nat p_aL3[sk:1] (->)) p_aL3[sk:1]] | |
class op type | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i). Ob p a => p a a | |
checkValidType | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i). Ob p a => p a a :: * | |
check_type | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i). Ob p a => p a a | |
True | |
check_valid_theta [Category p] | |
check_type | |
forall (a :: i_aL2[sk:1]). Ob p_aL3[sk:1] a => p_aL3[sk:1] a a | |
True | |
check_valid_theta [Ob p_aL3[sk:1] a] | |
Ambiguity check for | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i). Ob p a => p a a | |
tcSubType_NC | |
the type signature for ‘id’ | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i). Ob p a => p a a | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i). Ob p a => p a a | |
tc_sub_tc_type (general case) | |
ty_actual = forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i). Ob p a => p a a | |
ty_expected = forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i). Ob p a => p a a | |
tcSkolemise | |
tcSkolemise | |
1 | |
expected_ty forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i). Ob p a => p a a | |
inst tyvars [i_aX7[sk:2], p_aX8[sk:2], a_aXb[sk:2]] | |
given [$dCategory_aX9, irred_aXc] | |
inst type p_aX8[sk:2] a_aXb[sk:2] a_aXb[sk:2] | |
tc_sub_type_ds | |
ty_actual = forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i). Ob p a => p a a | |
ty_expected = p_aX8[sk:2] a_aXb[sk:2] a_aXb[sk:2] | |
instCallConstraints [$dCategory_aXf] | |
Instantiating | |
all tyvars? True | |
origin arising from a type equality forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i). Ob p a => p a a | |
~ | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i). Ob p a => p a a | |
type forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i). Ob p a => p a a | |
theta [Category p] | |
leave_bndrs [] | |
with [i_aXd[tau:2], p_aXe[tau:2]] | |
theta: [Category p_aXe[tau:2]] | |
instCallConstraints [irred_aXh] | |
Instantiating | |
all tyvars? True | |
origin arising from a type equality forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i). Ob p a => p a a | |
~ | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i). Ob p a => p a a | |
type forall (a :: i_aXd[tau:2]). | |
Ob p_aXe[tau:2] a => | |
p_aXe[tau:2] a a | |
theta [Ob p_aXe[tau:2] a] | |
leave_bndrs [] | |
with [a_aXg[tau:2]] | |
theta: [Ob p_aXe[tau:2] a_aXg[tau:2]] | |
tc_sub_type_ds | |
ty_actual = p_aXe[tau:2] a_aXg[tau:2] a_aXg[tau:2] | |
ty_expected = p_aX8[sk:2] a_aXb[sk:2] a_aXb[sk:2] | |
deeply_instantiate final subst | |
origin: arising from a type equality forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i). Ob p a => p a a | |
~ | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i). Ob p a => p a a | |
type: p_aXe[tau:2] a_aXg[tau:2] a_aXg[tau:2] | |
new type: p_aXe[tau:2] a_aXg[tau:2] a_aXg[tau:2] | |
subst: [TCvSubst | |
In scope: InScope {i_aXd p_aXe a_aXg} | |
Type env: [] | |
Co env: []] | |
u_tys | |
tclvl 2 | |
p_aXe[tau:2] a_aXg[tau:2] a_aXg[tau:2] | |
~ | |
p_aX8[sk:2] a_aXb[sk:2] a_aXb[sk:2] | |
arising from a type equality p_aXe[tau:2] a_aXg[tau:2] a_aXg[tau:2] | |
~ | |
p_aX8[sk:2] a_aXb[sk:2] a_aXb[sk:2] | |
u_tys | |
tclvl 2 | |
p_aXe[tau:2] a_aXg[tau:2] ~ p_aX8[sk:2] a_aXb[sk:2] | |
arising from a type equality p_aXe[tau:2] a_aXg[tau:2] a_aXg[tau:2] | |
~ | |
p_aX8[sk:2] a_aXb[sk:2] a_aXb[sk:2] | |
u_tys | |
tclvl 2 | |
p_aXe[tau:2] ~ p_aX8[sk:2] | |
arising from a type equality p_aXe[tau:2] a_aXg[tau:2] a_aXg[tau:2] | |
~ | |
p_aX8[sk:2] a_aXb[sk:2] a_aXb[sk:2] | |
u_tys | |
tclvl 2 | |
i_aX7[sk:2] -> i_aX7[sk:2] -> * ~ i_aXd[tau:2] -> i_aXd[tau:2] -> * | |
arising from a kind equality arising from | |
p_aXe[tau:2] ~ p_aX8[sk:2] | |
u_tys | |
tclvl 2 | |
i_aX7[sk:2] ~ i_aXd[tau:2] | |
arising from a kind equality arising from | |
p_aXe[tau:2] ~ p_aX8[sk:2] | |
u_tys | |
tclvl 2 | |
* ~ * | |
arising from a kind equality arising from | |
i_aXd[tau:2] ~ i_aX7[sk:2] | |
u_tys | |
tclvl 2 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aXd[tau:2] ~ i_aX7[sk:2] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aXd[tau:2] := i_aX7[sk:2] | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
i_aX7[sk:2] -> * ~ i_aXd[tau:2] -> * | |
arising from a kind equality arising from | |
p_aXe[tau:2] ~ p_aX8[sk:2] | |
u_tys | |
tclvl 2 | |
i_aX7[sk:2] ~ i_aXd[tau:2] | |
arising from a kind equality arising from | |
p_aXe[tau:2] ~ p_aX8[sk:2] | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
* ~ * | |
arising from a kind equality arising from | |
p_aXe[tau:2] ~ p_aX8[sk:2] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar p_aXe[tau:2] := p_aX8[sk:2] | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
a_aXg[tau:2] ~ a_aXb[sk:2] | |
arising from a type equality p_aXe[tau:2] a_aXg[tau:2] a_aXg[tau:2] | |
~ | |
p_aX8[sk:2] a_aXb[sk:2] a_aXb[sk:2] | |
u_tys | |
tclvl 2 | |
i_aX7[sk:2] ~ i_aXd[tau:2] | |
arising from a kind equality arising from | |
a_aXg[tau:2] ~ a_aXb[sk:2] | |
u_tys yields no coercion | |
writeMetaTyVar a_aXg[tau:2] := a_aXb[sk:2] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
a_aXg[tau:2] ~ a_aXb[sk:2] | |
arising from a type equality p_aXe[tau:2] a_aXg[tau:2] a_aXg[tau:2] | |
~ | |
p_aX8[sk:2] a_aXb[sk:2] a_aXb[sk:2] | |
found filled tyvar a_aXg[tau:2] :-> a_aXb[sk:2] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
newTcEvBinds unique = aXi | |
simplifyAmbiguityCheck { | |
type = forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i). Ob p a => p a a | |
wanted = WC {wc_impl = | |
Implic { | |
TcLevel = 2 | |
Skolems = i_aX7[sk:2] | |
(p_aX8[sk:2] :: i_aX7[sk:2] -> i_aX7[sk:2] -> *) | |
(a_aXb[sk:2] :: i_aX7[sk:2]) | |
No-eqs = False | |
Status = Unsolved | |
Given = | |
$dCategory_aX9 :: Category p_aX8[sk:2] | |
irred_aXc :: Ob p_aX8[sk:2] a_aXb[sk:2] | |
Wanted = | |
WC {wc_simple = | |
[WD] $dCategory_aXf {0}:: Category p_aXe[tau:2] (CNonCanonical) | |
[WD] irred_aXh {0}:: Ob p_aXe[tau:2] a_aXg[tau:2] (CNonCanonical)} | |
Binds = EvBindsVar<aXi> | |
Needed = [] | |
the type signature for: | |
id :: (Category p_aX8[sk:2], Ob p_aX8[sk:2] a_aXb[sk:2]) => | |
p_aX8[sk:2] a_aXb[sk:2] a_aXb[sk:2] }} | |
newTcEvBinds unique = aXj | |
solveWanteds { | |
WC {wc_impl = | |
Implic { | |
TcLevel = 2 | |
Skolems = i_aX7[sk:2] | |
(p_aX8[sk:2] :: i_aX7[sk:2] -> i_aX7[sk:2] -> *) | |
(a_aXb[sk:2] :: i_aX7[sk:2]) | |
No-eqs = False | |
Status = Unsolved | |
Given = | |
$dCategory_aX9 :: Category p_aX8[sk:2] | |
irred_aXc :: Ob p_aX8[sk:2] a_aXb[sk:2] | |
Wanted = | |
WC {wc_simple = | |
[WD] $dCategory_aXf {0}:: Category p_aXe[tau:2] (CNonCanonical) | |
[WD] irred_aXh {0}:: Ob p_aXe[tau:2] a_aXg[tau:2] (CNonCanonical)} | |
Binds = EvBindsVar<aXi> | |
Needed = [] | |
the type signature for: | |
id :: (Category p_aX8[sk:2], Ob p_aX8[sk:2] a_aXb[sk:2]) => | |
p_aX8[sk:2] a_aXb[sk:2] a_aXb[sk:2] }} | |
solveSimpleWanteds { {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveNestedImplications starting { | |
solveImplication { | |
Implic { | |
TcLevel = 2 | |
Skolems = i_aX7[sk:2] | |
(p_aX8[sk:2] :: i_aX7[sk:2] -> i_aX7[sk:2] -> *) | |
(a_aXb[sk:2] :: i_aX7[sk:2]) | |
No-eqs = False | |
Status = Unsolved | |
Given = | |
$dCategory_aX9 :: Category p_aX8[sk:2] | |
irred_aXc :: Ob p_aX8[sk:2] a_aXb[sk:2] | |
Wanted = | |
WC {wc_simple = | |
[WD] $dCategory_aXf {0}:: Category p_aXe[tau:2] (CNonCanonical) | |
[WD] irred_aXh {0}:: Ob p_aXe[tau:2] a_aXg[tau:2] (CNonCanonical)} | |
Binds = EvBindsVar<aXi> | |
Needed = [] | |
the type signature for: | |
id :: (Category p_aX8[sk:2], Ob p_aX8[sk:2] a_aXb[sk:2]) => | |
p_aX8[sk:2] a_aXb[sk:2] a_aXb[sk:2] } | |
Inerts {Unsolved goals = 0} | |
solveSimpleGivens { | |
[[G] $dCategory_aX9 {0}:: Category p_aX8[sk:2] (CNonCanonical), | |
[G] irred_aXc {0}:: Ob p_aX8[sk:2] a_aXb[sk:2] (CNonCanonical)] | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] $dCategory_aX9 {0}:: Category | |
p_aX8[sk:2] (CNonCanonical) | |
inerts = {Unsolved goals = 0} | |
rest of worklist = WL {Non-eqs = [G] irred_aXc {0}:: Ob | |
p_aX8[sk:2] a_aXb[sk:2] (CNonCanonical)} | |
runStage canonicalization { | |
workitem = [G] $dCategory_aX9 {0}:: Category | |
p_aX8[sk:2] (CNonCanonical) | |
canonicalize (non-canonical) | |
[G] $dCategory_aX9 {0}:: Category p_aX8[sk:2] (CNonCanonical) | |
canEvNC:cls Category [i_aX7[sk:2], p_aX8[sk:2]] | |
addTcEvBind | |
aXi | |
[G] $dFunctor_aXk = sc(($dCategory_aX9, 0)) | |
mk_superclasses_of | |
Functor [i_aX7[sk:2], i_aX7[sk:2] -> *, Op p_aX8[sk:2], | |
Nat p_aX8[sk:2] (->), p_aX8[sk:2]] | |
False | |
[rKp :-> Category] | |
addTcEvBind | |
aXi | |
[G] $dCategory_aXl = sc(($dFunctor_aXk, 0)) | |
addTcEvBind | |
aXi | |
[G] $dCategory_aXm = sc(($dFunctor_aXk, 1)) | |
mk_superclasses_of: loop Category [i_aX7[sk:2], Op p_aX8[sk:2]] | |
mk_superclasses_of: loop | |
Category [i_aX7[sk:2] -> *, Nat p_aX8[sk:2] (->)] | |
Emitting fresh work | |
[G] $dFunctor_aXk {0}:: Functor | |
(Op p_aX8[sk:2]) (Nat p_aX8[sk:2] (->)) p_aX8[sk:2] (CDictCan) | |
[G] $dCategory_aXl {0}:: Category (Op p_aX8[sk:2]) (CDictCan(psc)) | |
[G] $dCategory_aXm {0}:: Category | |
(Nat p_aX8[sk:2] (->)) (CDictCan(psc)) | |
flatten_many { | |
i_aX7[sk:2] | |
p_aX8[sk:2] | |
Unfilled tyvar i_aX7[sk:2] | |
Unfilled tyvar p_aX8[sk:2] | |
Unfilled tyvar i_aX7[sk:2] | |
Unfilled tyvar i_aX7[sk:2] | |
flatten } | |
i_aX7[sk:2] | |
p_aX8[sk:2] | |
canClass | |
[G] $dCategory_aX9 {0}:: Category p_aX8[sk:2] | |
Category p_aX8[sk:2] | |
ContinueWith [G] $dCategory_aX9 {0}:: Category p_aX8[sk:2] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] $dCategory_aX9 {0}:: Category | |
p_aX8[sk:2] (CDictCan) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] $dCategory_aX9 {0}:: Category | |
p_aX8[sk:2] (CDictCan) | |
doTopReact [G] $dCategory_aX9 {0}:: Category p_aX8[sk:2] (CDictCan) | |
try_fundeps | |
[G] $dCategory_aX9 {0}:: Category p_aX8[sk:2] (CDictCan) | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] $dCategory_aX9 {0}:: Category | |
p_aX8[sk:2] (CDictCan) | |
addInertCan } | |
Step 1[l:2,d:0] Kept as inert: | |
[G] $dCategory_aX9 {0}:: Category p_aX8[sk:2] | |
End solver pipeline (kept as inert) } | |
final_item = [G] $dCategory_aX9 {0}:: Category | |
p_aX8[sk:2] (CDictCan) | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] $dFunctor_aXk {0}:: Functor | |
(Op p_aX8[sk:2]) | |
(Nat p_aX8[sk:2] (->)) | |
p_aX8[sk:2] (CDictCan) | |
inerts = {Dictionaries = [G] $dCategory_aX9 {0}:: Category | |
p_aX8[sk:2] (CDictCan) | |
Unsolved goals = 0} | |
rest of worklist = WL {Non-eqs = [G] $dCategory_aXl {0}:: Category | |
(Op p_aX8[sk:2]) (CDictCan(psc)) | |
[G] $dCategory_aXm {0}:: Category | |
(Nat p_aX8[sk:2] (->)) (CDictCan(psc)) | |
[G] irred_aXc {0}:: Ob p_aX8[sk:2] a_aXb[sk:2] (CNonCanonical)} | |
runStage canonicalization { | |
workitem = [G] $dFunctor_aXk {0}:: Functor | |
(Op p_aX8[sk:2]) | |
(Nat p_aX8[sk:2] (->)) | |
p_aX8[sk:2] (CDictCan) | |
flatten_many { | |
i_aX7[sk:2] | |
i_aX7[sk:2] -> * | |
Op p_aX8[sk:2] | |
Nat p_aX8[sk:2] (->) | |
p_aX8[sk:2] | |
Unfilled tyvar i_aX7[sk:2] | |
Unfilled tyvar i_aX7[sk:2] | |
matchFamTcM | |
Matching: Op p_aX8[sk:2] | |
Match failed | |
Unfilled tyvar i_aX7[sk:2] | |
Unfilled tyvar i_aX7[sk:2] | |
Unfilled tyvar p_aX8[sk:2] | |
Unfilled tyvar i_aX7[sk:2] | |
Unfilled tyvar i_aX7[sk:2] | |
matchFamTcM | |
Matching: Op p_aX8[sk:2] | |
Match failed | |
addTcEvBind | |
aXi | |
[G] cobox_aXo = CO <Op p_aX8[sk:2]>_N | |
extendFlatCache | |
Op [i_aX7[sk:2], i_aX7[sk:2], p_aX8[sk:2]] | |
[G] | |
fsk_aXn[fsk] | |
flatten/flat-cache miss | |
Op [i_aX7[sk:2], i_aX7[sk:2], p_aX8[sk:2]] | |
fsk_aXn[fsk] | |
[G] cobox_aXo {0}:: (Op p_aX8[sk:2] :: (i_aX7[sk:2] | |
-> i_aX7[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aXn[fsk] :: (i_aX7[sk:2] -> i_aX7[sk:2] -> *)) | |
Unfilled tyvar i_aX7[sk:2] | |
Unfilled tyvar p_aX8[sk:2] | |
Unfilled tyvar i_aX7[sk:2] | |
Unfilled tyvar i_aX7[sk:2] | |
Unfilled tyvar p_aX8[sk:2] | |
Unfilled tyvar i_aX7[sk:2] | |
Unfilled tyvar i_aX7[sk:2] | |
flatten } | |
i_aX7[sk:2] | |
i_aX7[sk:2] -> * | |
fsk_aXn[fsk] | |
Nat p_aX8[sk:2] (->) | |
p_aX8[sk:2] | |
canClass | |
[G] $dFunctor_aXk {0}:: Functor | |
(Op p_aX8[sk:2]) (Nat p_aX8[sk:2] (->)) p_aX8[sk:2] | |
Functor fsk_aXn[fsk] (Nat p_aX8[sk:2] (->)) p_aX8[sk:2] | |
ContinueWith [G] $dFunctor_aXk {0}:: Functor | |
fsk_aXn[fsk] (Nat p_aX8[sk:2] (->)) p_aX8[sk:2] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] $dFunctor_aXk {0}:: Functor | |
fsk_aXn[fsk] (Nat p_aX8[sk:2] (->)) p_aX8[sk:2] (CDictCan) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] $dFunctor_aXk {0}:: Functor | |
fsk_aXn[fsk] (Nat p_aX8[sk:2] (->)) p_aX8[sk:2] (CDictCan) | |
doTopReact | |
[G] $dFunctor_aXk {0}:: Functor | |
fsk_aXn[fsk] (Nat p_aX8[sk:2] (->)) p_aX8[sk:2] (CDictCan) | |
try_fundeps | |
[G] $dFunctor_aXk {0}:: Functor | |
fsk_aXn[fsk] (Nat p_aX8[sk:2] (->)) p_aX8[sk:2] (CDictCan) | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] $dFunctor_aXk {0}:: Functor | |
fsk_aXn[fsk] | |
(Nat p_aX8[sk:2] (->)) | |
p_aX8[sk:2] (CDictCan) | |
addInertCan } | |
Step 2[l:2,d:0] Kept as inert: | |
[G] $dFunctor_aXk {0}:: Functor | |
fsk_aXn[fsk] (Nat p_aX8[sk:2] (->)) p_aX8[sk:2] | |
End solver pipeline (kept as inert) } | |
final_item = [G] $dFunctor_aXk {0}:: Functor | |
fsk_aXn[fsk] (Nat p_aX8[sk:2] (->)) p_aX8[sk:2] (CDictCan) | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] cobox_aXo {0}:: (Op p_aX8[sk:2] :: (i_aX7[sk:2] | |
-> i_aX7[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aXn[fsk] :: (i_aX7[sk:2] -> i_aX7[sk:2] -> *)) (CFunEqCan) | |
inerts = {Dictionaries = [G] $dCategory_aX9 {0}:: Category | |
p_aX8[sk:2] (CDictCan) | |
[G] $dFunctor_aXk {0}:: Functor | |
fsk_aXn[fsk] | |
(Nat p_aX8[sk:2] (->)) | |
p_aX8[sk:2] (CDictCan) | |
Unsolved goals = 0} | |
rest of worklist = WL {Non-eqs = [G] $dCategory_aXl {0}:: Category | |
(Op p_aX8[sk:2]) (CDictCan(psc)) | |
[G] $dCategory_aXm {0}:: Category | |
(Nat p_aX8[sk:2] (->)) (CDictCan(psc)) | |
[G] irred_aXc {0}:: Ob p_aX8[sk:2] a_aXb[sk:2] (CNonCanonical)} | |
runStage canonicalization { | |
workitem = [G] cobox_aXo {0}:: (Op p_aX8[sk:2] :: (i_aX7[sk:2] | |
-> i_aX7[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aXn[fsk] :: (i_aX7[sk:2] -> i_aX7[sk:2] -> *)) (CFunEqCan) | |
flatten_many { | |
i_aX7[sk:2] | |
i_aX7[sk:2] | |
p_aX8[sk:2] | |
Unfilled tyvar i_aX7[sk:2] | |
Unfilled tyvar i_aX7[sk:2] | |
Unfilled tyvar p_aX8[sk:2] | |
Unfilled tyvar i_aX7[sk:2] | |
Unfilled tyvar i_aX7[sk:2] | |
flatten } | |
i_aX7[sk:2] | |
i_aX7[sk:2] | |
p_aX8[sk:2] | |
extendFlatCache | |
Op [i_aX7[sk:2], i_aX7[sk:2], p_aX8[sk:2]] | |
[G] | |
fsk_aXn[fsk] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] cobox_aXo {0}:: (Op p_aX8[sk:2] :: (i_aX7[sk:2] | |
-> i_aX7[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aXn[fsk] :: (i_aX7[sk:2] -> i_aX7[sk:2] -> *)) (CFunEqCan) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] cobox_aXo {0}:: (Op p_aX8[sk:2] :: (i_aX7[sk:2] | |
-> i_aX7[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aXn[fsk] :: (i_aX7[sk:2] -> i_aX7[sk:2] -> *)) (CFunEqCan) | |
doTopReact | |
[G] cobox_aXo {0}:: (Op p_aX8[sk:2] :: (i_aX7[sk:2] | |
-> i_aX7[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aXn[fsk] :: (i_aX7[sk:2] -> i_aX7[sk:2] -> *)) (CFunEqCan) | |
matchFamTcM | |
Matching: Op p_aX8[sk:2] | |
Match failed | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] cobox_aXo {0}:: (Op | |
p_aX8[sk:2] :: (i_aX7[sk:2] | |
-> i_aX7[sk:2] | |
-> *)) | |
GHC.Prim.~# | |
(fsk_aXn[fsk] :: (i_aX7[sk:2] | |
-> i_aX7[sk:2] | |
-> *)) (CFunEqCan) | |
addInertCan } | |
Step 3[l:2,d:0] Kept as inert: | |
[G] cobox_aXo {0}:: (Op p_aX8[sk:2] :: (i_aX7[sk:2] | |
-> i_aX7[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aXn[fsk] :: (i_aX7[sk:2] -> i_aX7[sk:2] -> *)) | |
End solver pipeline (kept as inert) } | |
final_item = [G] cobox_aXo {0}:: (Op p_aX8[sk:2] :: (i_aX7[sk:2] | |
-> i_aX7[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aXn[fsk] :: (i_aX7[sk:2] -> i_aX7[sk:2] -> *)) (CFunEqCan) | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] $dCategory_aXl {0}:: Category | |
(Op p_aX8[sk:2]) (CDictCan(psc)) | |
inerts = {Type-function equalities = [G] cobox_aXo {0}:: (Op | |
p_aX8[sk:2] :: (i_aX7[sk:2] | |
-> i_aX7[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aXn[fsk] :: (i_aX7[sk:2] | |
-> i_aX7[sk:2] | |
-> *)) (CFunEqCan) | |
Dictionaries = [G] $dCategory_aX9 {0}:: Category | |
p_aX8[sk:2] (CDictCan) | |
[G] $dFunctor_aXk {0}:: Functor | |
fsk_aXn[fsk] | |
(Nat p_aX8[sk:2] (->)) | |
p_aX8[sk:2] (CDictCan) | |
Unsolved goals = 0} | |
rest of worklist = WL {Non-eqs = [G] $dCategory_aXm {0}:: Category | |
(Nat p_aX8[sk:2] (->)) (CDictCan(psc)) | |
[G] irred_aXc {0}:: Ob p_aX8[sk:2] a_aXb[sk:2] (CNonCanonical)} | |
runStage canonicalization { | |
workitem = [G] $dCategory_aXl {0}:: Category | |
(Op p_aX8[sk:2]) (CDictCan(psc)) | |
flatten_many { | |
i_aX7[sk:2] | |
Op p_aX8[sk:2] | |
Unfilled tyvar i_aX7[sk:2] | |
matchFamTcM | |
Matching: Op p_aX8[sk:2] | |
Match failed | |
Unfilled tyvar i_aX7[sk:2] | |
Unfilled tyvar i_aX7[sk:2] | |
Unfilled tyvar p_aX8[sk:2] | |
Unfilled tyvar i_aX7[sk:2] | |
Unfilled tyvar i_aX7[sk:2] | |
flatten/flat-cache hit | |
Op [i_aX7[sk:2], i_aX7[sk:2], p_aX8[sk:2]] | |
fsk_aXn[fsk] | |
Unfilled tyvar fsk_aXn[fsk] | |
Unfilled tyvar i_aX7[sk:2] | |
Unfilled tyvar i_aX7[sk:2] | |
flatten } | |
i_aX7[sk:2] | |
fsk_aXn[fsk] | |
addTcEvBind | |
aXi | |
[G] $dCategory_aXp | |
= $dCategory_aXl `cast` (Sub | |
(Sym (Category <i_aX7[sk:2]>_N (Sym cobox))_N)) | |
canClass | |
[G] $dCategory_aXl {0}:: Category (Op p_aX8[sk:2]) | |
Category fsk_aXn[fsk] | |
ContinueWith [G] $dCategory_aXp {0}:: Category fsk_aXn[fsk] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] $dCategory_aXp {0}:: Category | |
fsk_aXn[fsk] (CDictCan(psc)) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] $dCategory_aXp {0}:: Category | |
fsk_aXn[fsk] (CDictCan(psc)) | |
doTopReact | |
[G] $dCategory_aXp {0}:: Category fsk_aXn[fsk] (CDictCan(psc)) | |
try_fundeps | |
[G] $dCategory_aXp {0}:: Category fsk_aXn[fsk] (CDictCan(psc)) | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] $dCategory_aXp {0}:: Category | |
fsk_aXn[fsk] (CDictCan(psc)) | |
addInertCan } | |
Step 4[l:2,d:0] Kept as inert: | |
[G] $dCategory_aXp {0}:: Category fsk_aXn[fsk] | |
End solver pipeline (kept as inert) } | |
final_item = [G] $dCategory_aXp {0}:: Category | |
fsk_aXn[fsk] (CDictCan(psc)) | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] $dCategory_aXm {0}:: Category | |
(Nat p_aX8[sk:2] (->)) (CDictCan(psc)) | |
inerts = {Type-function equalities = [G] cobox_aXo {0}:: (Op | |
p_aX8[sk:2] :: (i_aX7[sk:2] | |
-> i_aX7[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aXn[fsk] :: (i_aX7[sk:2] | |
-> i_aX7[sk:2] | |
-> *)) (CFunEqCan) | |
Dictionaries = [G] $dFunctor_aXk {0}:: Functor | |
fsk_aXn[fsk] | |
(Nat p_aX8[sk:2] (->)) | |
p_aX8[sk:2] (CDictCan) | |
[G] $dCategory_aX9 {0}:: Category p_aX8[sk:2] (CDictCan) | |
[G] $dCategory_aXp {0}:: Category fsk_aXn[fsk] (CDictCan(psc)) | |
Unsolved goals = 0} | |
rest of worklist = WL {Non-eqs = [G] irred_aXc {0}:: Ob | |
p_aX8[sk:2] a_aXb[sk:2] (CNonCanonical)} | |
runStage canonicalization { | |
workitem = [G] $dCategory_aXm {0}:: Category | |
(Nat p_aX8[sk:2] (->)) (CDictCan(psc)) | |
flatten_many { | |
i_aX7[sk:2] -> * | |
Nat p_aX8[sk:2] (->) | |
Unfilled tyvar i_aX7[sk:2] | |
Unfilled tyvar i_aX7[sk:2] | |
Unfilled tyvar p_aX8[sk:2] | |
Unfilled tyvar i_aX7[sk:2] | |
Unfilled tyvar i_aX7[sk:2] | |
flatten } | |
i_aX7[sk:2] -> * | |
Nat p_aX8[sk:2] (->) | |
canClass | |
[G] $dCategory_aXm {0}:: Category (Nat p_aX8[sk:2] (->)) | |
Category (Nat p_aX8[sk:2] (->)) | |
ContinueWith [G] $dCategory_aXm {0}:: Category | |
(Nat p_aX8[sk:2] (->)) | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] $dCategory_aXm {0}:: Category | |
(Nat p_aX8[sk:2] (->)) (CDictCan(psc)) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] $dCategory_aXm {0}:: Category | |
(Nat p_aX8[sk:2] (->)) (CDictCan(psc)) | |
doTopReact | |
[G] $dCategory_aXm {0}:: Category | |
(Nat p_aX8[sk:2] (->)) (CDictCan(psc)) | |
try_fundeps | |
[G] $dCategory_aXm {0}:: Category | |
(Nat p_aX8[sk:2] (->)) (CDictCan(psc)) | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] $dCategory_aXm {0}:: Category | |
(Nat | |
p_aX8[sk:2] | |
(->)) (CDictCan(psc)) | |
addInertCan } | |
Step 5[l:2,d:0] Kept as inert: | |
[G] $dCategory_aXm {0}:: Category (Nat p_aX8[sk:2] (->)) | |
End solver pipeline (kept as inert) } | |
final_item = [G] $dCategory_aXm {0}:: Category | |
(Nat p_aX8[sk:2] (->)) (CDictCan(psc)) | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] irred_aXc {0}:: Ob | |
p_aX8[sk:2] a_aXb[sk:2] (CNonCanonical) | |
inerts = {Type-function equalities = [G] cobox_aXo {0}:: (Op | |
p_aX8[sk:2] :: (i_aX7[sk:2] | |
-> i_aX7[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aXn[fsk] :: (i_aX7[sk:2] | |
-> i_aX7[sk:2] | |
-> *)) (CFunEqCan) | |
Dictionaries = [G] $dFunctor_aXk {0}:: Functor | |
fsk_aXn[fsk] | |
(Nat p_aX8[sk:2] (->)) | |
p_aX8[sk:2] (CDictCan) | |
[G] $dCategory_aX9 {0}:: Category p_aX8[sk:2] (CDictCan) | |
[G] $dCategory_aXp {0}:: Category fsk_aXn[fsk] (CDictCan(psc)) | |
[G] $dCategory_aXm {0}:: Category | |
(Nat p_aX8[sk:2] (->)) (CDictCan(psc)) | |
Unsolved goals = 0} | |
rest of worklist = WL {} | |
runStage canonicalization { | |
workitem = [G] irred_aXc {0}:: Ob | |
p_aX8[sk:2] a_aXb[sk:2] (CNonCanonical) | |
canonicalize (non-canonical) | |
[G] irred_aXc {0}:: Ob p_aX8[sk:2] a_aXb[sk:2] (CNonCanonical) | |
canEvNC:irred Ob p_aX8[sk:2] a_aXb[sk:2] | |
can_pred IrredPred = Ob p_aX8[sk:2] a_aXb[sk:2] | |
flatten { Ob p_aX8[sk:2] a_aXb[sk:2] | |
matchFamTcM | |
Matching: Ob p_aX8[sk:2] | |
Match failed | |
Unfilled tyvar i_aX7[sk:2] | |
Unfilled tyvar p_aX8[sk:2] | |
Unfilled tyvar i_aX7[sk:2] | |
Unfilled tyvar i_aX7[sk:2] | |
matchFamTcM | |
Matching: Ob p_aX8[sk:2] | |
Match failed | |
addTcEvBind | |
aXi | |
[G] cobox_aXr = CO <Ob p_aX8[sk:2]>_N | |
extendFlatCache | |
Ob [i_aX7[sk:2], p_aX8[sk:2]] | |
[G] | |
fsk_aXq[fsk] | |
flatten/flat-cache miss | |
Ob [i_aX7[sk:2], p_aX8[sk:2]] | |
fsk_aXq[fsk] | |
[G] cobox_aXr {0}:: (Ob p_aX8[sk:2] :: (i_aX7[sk:2] -> Constraint)) | |
GHC.Prim.~# | |
(fsk_aXq[fsk] :: (i_aX7[sk:2] -> Constraint)) | |
Unfilled tyvar a_aXb[sk:2] | |
Unfilled tyvar i_aX7[sk:2] | |
flatten } fsk_aXq[fsk] a_aXb[sk:2] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] irred_aXc {0}:: fsk_aXq[fsk] a_aXb[sk:2] (CIrredEvCan) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] irred_aXc {0}:: fsk_aXq[fsk] a_aXb[sk:2] (CIrredEvCan) | |
doTopReact | |
[G] irred_aXc {0}:: fsk_aXq[fsk] a_aXb[sk:2] (CIrredEvCan) | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] irred_aXc {0}:: fsk_aXq[fsk] a_aXb[sk:2] (CIrredEvCan) | |
addInertCan } | |
Step 6[l:2,d:0] Kept as inert: | |
[G] irred_aXc {0}:: fsk_aXq[fsk] a_aXb[sk:2] | |
End solver pipeline (kept as inert) } | |
final_item = [G] irred_aXc {0}:: fsk_aXq[fsk] a_aXb[sk:2] (CIrredEvCan) | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] cobox_aXr {0}:: (Ob p_aX8[sk:2] :: (i_aX7[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aXq[fsk] :: (i_aX7[sk:2] -> Constraint)) (CFunEqCan) | |
inerts = {Type-function equalities = [G] cobox_aXo {0}:: (Op | |
p_aX8[sk:2] :: (i_aX7[sk:2] | |
-> i_aX7[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aXn[fsk] :: (i_aX7[sk:2] | |
-> i_aX7[sk:2] | |
-> *)) (CFunEqCan) | |
Dictionaries = [G] $dFunctor_aXk {0}:: Functor | |
fsk_aXn[fsk] | |
(Nat p_aX8[sk:2] (->)) | |
p_aX8[sk:2] (CDictCan) | |
[G] $dCategory_aX9 {0}:: Category p_aX8[sk:2] (CDictCan) | |
[G] $dCategory_aXp {0}:: Category fsk_aXn[fsk] (CDictCan(psc)) | |
[G] $dCategory_aXm {0}:: Category | |
(Nat p_aX8[sk:2] (->)) (CDictCan(psc)) | |
Irreds = [G] irred_aXc {0}:: fsk_aXq[fsk] a_aXb[sk:2] (CIrredEvCan) | |
Unsolved goals = 0} | |
rest of worklist = WL {} | |
runStage canonicalization { | |
workitem = [G] cobox_aXr {0}:: (Ob p_aX8[sk:2] :: (i_aX7[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aXq[fsk] :: (i_aX7[sk:2] -> Constraint)) (CFunEqCan) | |
flatten_many { | |
i_aX7[sk:2] | |
p_aX8[sk:2] | |
Unfilled tyvar i_aX7[sk:2] | |
Unfilled tyvar p_aX8[sk:2] | |
Unfilled tyvar i_aX7[sk:2] | |
Unfilled tyvar i_aX7[sk:2] | |
flatten } | |
i_aX7[sk:2] | |
p_aX8[sk:2] | |
extendFlatCache | |
Ob [i_aX7[sk:2], p_aX8[sk:2]] | |
[G] | |
fsk_aXq[fsk] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] cobox_aXr {0}:: (Ob p_aX8[sk:2] :: (i_aX7[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aXq[fsk] :: (i_aX7[sk:2] -> Constraint)) (CFunEqCan) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] cobox_aXr {0}:: (Ob p_aX8[sk:2] :: (i_aX7[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aXq[fsk] :: (i_aX7[sk:2] -> Constraint)) (CFunEqCan) | |
doTopReact | |
[G] cobox_aXr {0}:: (Ob p_aX8[sk:2] :: (i_aX7[sk:2] -> Constraint)) | |
GHC.Prim.~# | |
(fsk_aXq[fsk] :: (i_aX7[sk:2] -> Constraint)) (CFunEqCan) | |
matchFamTcM | |
Matching: Ob p_aX8[sk:2] | |
Match failed | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] cobox_aXr {0}:: (Ob | |
p_aX8[sk:2] :: (i_aX7[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aXq[fsk] :: (i_aX7[sk:2] | |
-> Constraint)) (CFunEqCan) | |
addInertCan } | |
Step 7[l:2,d:0] Kept as inert: | |
[G] cobox_aXr {0}:: (Ob p_aX8[sk:2] :: (i_aX7[sk:2] -> Constraint)) | |
GHC.Prim.~# | |
(fsk_aXq[fsk] :: (i_aX7[sk:2] -> Constraint)) | |
End solver pipeline (kept as inert) } | |
final_item = [G] cobox_aXr {0}:: (Ob p_aX8[sk:2] :: (i_aX7[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aXq[fsk] :: (i_aX7[sk:2] -> Constraint)) (CFunEqCan) | |
End solveSimpleGivens } | |
solveWanteds { | |
WC {wc_simple = | |
[WD] $dCategory_aXf {0}:: Category p_aXe[tau:2] (CNonCanonical) | |
[WD] irred_aXh {0}:: Ob p_aXe[tau:2] a_aXg[tau:2] (CNonCanonical)} | |
solveSimpleWanteds { | |
{[WD] $dCategory_aXf {0}:: Category p_aXe[tau:2] (CNonCanonical), | |
[WD] irred_aXh {0}:: Ob p_aXe[tau:2] a_aXg[tau:2] (CNonCanonical)} | |
----------------------------- | |
Start solver pipeline { | |
work item = [WD] $dCategory_aXf {0}:: Category | |
p_aXe[tau:2] (CNonCanonical) | |
inerts = {Type-function equalities = [G] cobox_aXo {0}:: (Op | |
p_aX8[sk:2] :: (i_aX7[sk:2] | |
-> i_aX7[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aXn[fsk] :: (i_aX7[sk:2] | |
-> i_aX7[sk:2] | |
-> *)) (CFunEqCan) | |
[G] cobox_aXr {0}:: (Ob p_aX8[sk:2] :: (i_aX7[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aXq[fsk] :: (i_aX7[sk:2] | |
-> Constraint)) (CFunEqCan) | |
Dictionaries = [G] $dFunctor_aXk {0}:: Functor | |
fsk_aXn[fsk] | |
(Nat p_aX8[sk:2] (->)) | |
p_aX8[sk:2] (CDictCan) | |
[G] $dCategory_aX9 {0}:: Category p_aX8[sk:2] (CDictCan) | |
[G] $dCategory_aXp {0}:: Category fsk_aXn[fsk] (CDictCan(psc)) | |
[G] $dCategory_aXm {0}:: Category | |
(Nat p_aX8[sk:2] (->)) (CDictCan(psc)) | |
Irreds = [G] irred_aXc {0}:: fsk_aXq[fsk] a_aXb[sk:2] (CIrredEvCan) | |
Unsolved goals = 0} | |
rest of worklist = WL {Non-eqs = [WD] irred_aXh {0}:: Ob | |
p_aXe[tau:2] a_aXg[tau:2] (CNonCanonical)} | |
runStage canonicalization { | |
workitem = [WD] $dCategory_aXf {0}:: Category | |
p_aXe[tau:2] (CNonCanonical) | |
canonicalize (non-canonical) | |
[WD] $dCategory_aXf {0}:: Category p_aXe[tau:2] (CNonCanonical) | |
canEvNC:cls Category [i_aXd[tau:2], p_aXe[tau:2]] | |
flatten_many { | |
i_aXd[tau:2] | |
p_aXe[tau:2] | |
Following filled tyvar i_aXd[tau:2] = i_aX7[sk:2] | |
Unfilled tyvar i_aX7[sk:2] | |
Following filled tyvar p_aXe[tau:2] = p_aX8[sk:2] | |
Unfilled tyvar p_aX8[sk:2] | |
Unfilled tyvar i_aX7[sk:2] | |
Unfilled tyvar i_aX7[sk:2] | |
flatten } | |
i_aX7[sk:2] | |
p_aX8[sk:2] | |
canClass | |
[WD] $dCategory_aXf {0}:: Category p_aXe[tau:2] | |
Category p_aX8[sk:2] | |
ContinueWith [WD] $dCategory_aXf {0}:: Category p_aX8[sk:2] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [WD] $dCategory_aXf {0}:: Category | |
p_aX8[sk:2] (CDictCan(psc)) | |
addTcEvBind | |
aXi | |
[W] $dCategory_aXf = $dCategory_aX9 | |
end stage interact with inerts } | |
Step 8[l:2,d:0] Dict equal (keep): | |
[WD] $dCategory_aXf {0}:: Category p_aX8[sk:2] | |
End solver pipeline (discharged) } | |
----------------------------- | |
Start solver pipeline { | |
work item = [WD] irred_aXh {0}:: Ob | |
p_aXe[tau:2] a_aXg[tau:2] (CNonCanonical) | |
inerts = {Type-function equalities = [G] cobox_aXo {0}:: (Op | |
p_aX8[sk:2] :: (i_aX7[sk:2] | |
-> i_aX7[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aXn[fsk] :: (i_aX7[sk:2] | |
-> i_aX7[sk:2] | |
-> *)) (CFunEqCan) | |
[G] cobox_aXr {0}:: (Ob p_aX8[sk:2] :: (i_aX7[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aXq[fsk] :: (i_aX7[sk:2] | |
-> Constraint)) (CFunEqCan) | |
Dictionaries = [G] $dFunctor_aXk {0}:: Functor | |
fsk_aXn[fsk] | |
(Nat p_aX8[sk:2] (->)) | |
p_aX8[sk:2] (CDictCan) | |
[G] $dCategory_aX9 {0}:: Category p_aX8[sk:2] (CDictCan) | |
[G] $dCategory_aXp {0}:: Category fsk_aXn[fsk] (CDictCan(psc)) | |
[G] $dCategory_aXm {0}:: Category | |
(Nat p_aX8[sk:2] (->)) (CDictCan(psc)) | |
Irreds = [G] irred_aXc {0}:: fsk_aXq[fsk] a_aXb[sk:2] (CIrredEvCan) | |
Unsolved goals = 0} | |
rest of worklist = WL {} | |
runStage canonicalization { | |
workitem = [WD] irred_aXh {0}:: Ob | |
p_aXe[tau:2] a_aXg[tau:2] (CNonCanonical) | |
canonicalize (non-canonical) | |
[WD] irred_aXh {0}:: Ob p_aXe[tau:2] a_aXg[tau:2] (CNonCanonical) | |
canEvNC:irred Ob p_aXe[tau:2] a_aXg[tau:2] | |
can_pred IrredPred = Ob p_aXe[tau:2] a_aXg[tau:2] | |
flatten { Ob p_aXe[tau:2] a_aXg[tau:2] | |
matchFamTcM | |
Matching: Ob p_aXe[tau:2] | |
Match failed | |
Following filled tyvar i_aXd[tau:2] = i_aX7[sk:2] | |
Unfilled tyvar i_aX7[sk:2] | |
Following filled tyvar p_aXe[tau:2] = p_aX8[sk:2] | |
Unfilled tyvar p_aX8[sk:2] | |
Unfilled tyvar i_aX7[sk:2] | |
Unfilled tyvar i_aX7[sk:2] | |
flatten/flat-cache hit | |
Ob [i_aX7[sk:2], p_aX8[sk:2]] | |
fsk_aXq[fsk] | |
Unfilled tyvar fsk_aXq[fsk] | |
Unfilled tyvar i_aX7[sk:2] | |
Following filled tyvar a_aXg[tau:2] = a_aXb[sk:2] | |
Unfilled tyvar a_aXb[sk:2] | |
Unfilled tyvar i_aX7[sk:2] | |
flatten } fsk_aXq[fsk] a_aXb[sk:2] | |
Emitting new wanted | |
irred_aXs :: fsk_aXq[fsk] a_aXb[sk:2] | |
arising from a type equality forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i). Ob p a => p a a | |
~ | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i). Ob p a => p a a | |
at T11480b.hs:46:3-23 | |
addTcEvBind | |
aXi | |
[W] irred_aXh | |
= irred_aXs `cast` (Sub (Sym cobox_aXr <a_aXb[sk:2]>_N)) | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [WD] irred_aXs {0}:: fsk_aXq[fsk] a_aXb[sk:2] (CIrredEvCan) | |
addTcEvBind | |
aXi | |
[W] irred_aXs = irred_aXc | |
end stage interact with inerts } | |
Step 9[l:2,d:0] Irred equal (keep): | |
[WD] irred_aXs {0}:: fsk_aXq[fsk] a_aXb[sk:2] | |
End solver pipeline (discharged) } | |
getUnsolvedInerts | |
tv eqs = {} | |
fun eqs = {} | |
insols = {} | |
others = {} | |
implics = {} | |
Unflattening | |
{Funeqs = | |
Tv eqs =} | |
Unflattening 1 {} | |
Unflattening 2 {} | |
Unflattening 3 {} | |
Unflattening done {} | |
zonkSimples done: {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {[G] $dFunctor_aXk = sc(($dCategory_aX9, 0)), | |
[G] $dCategory_aXl = sc(($dFunctor_aXk, 0)), | |
[G] $dCategory_aXm = sc(($dFunctor_aXk, 1)), | |
[G] cobox_aXo = CO <Op p_aX8[sk:2]>_N, | |
[G] $dCategory_aXp | |
= $dCategory_aXl `cast` (Sub | |
(Sym (Category <i_aX7[sk:2]>_N (Sym cobox))_N)), | |
[G] cobox_aXr = CO <Ob p_aX8[sk:2]>_N, | |
[W] $dCategory_aXf = $dCategory_aX9, | |
[W] irred_aXh | |
= irred_aXs `cast` (Sub (Sym cobox_aXr <a_aXb[sk:2]>_N)), | |
[W] irred_aXs = irred_aXc} | |
getNoGivenEqs | |
True | |
{Type-function equalities = [G] cobox_aXo {0}:: (Op | |
p_aX8[sk:2] :: (i_aX7[sk:2] | |
-> i_aX7[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aXn[fsk] :: (i_aX7[sk:2] | |
-> i_aX7[sk:2] | |
-> *)) (CFunEqCan) | |
[G] cobox_aXr {0}:: (Ob p_aX8[sk:2] :: (i_aX7[sk:2] -> Constraint)) | |
GHC.Prim.~# | |
(fsk_aXq[fsk] :: (i_aX7[sk:2] | |
-> Constraint)) (CFunEqCan) | |
Dictionaries = [G] $dFunctor_aXk {0}:: Functor | |
fsk_aXn[fsk] | |
(Nat p_aX8[sk:2] (->)) | |
p_aX8[sk:2] (CDictCan) | |
[G] $dCategory_aX9 {0}:: Category p_aX8[sk:2] (CDictCan) | |
[G] $dCategory_aXp {0}:: Category fsk_aXn[fsk] (CDictCan(psc)) | |
[G] $dCategory_aXm {0}:: Category | |
(Nat p_aX8[sk:2] (->)) (CDictCan(psc)) | |
Irreds = [G] irred_aXc {0}:: fsk_aXq[fsk] a_aXb[sk:2] (CIrredEvCan) | |
Unsolved goals = 0} | |
{} | |
solveImplication 2 | |
{} | |
WC {} | |
setImplicationStatus 2 | |
[$dCategory_aX9, irred_aXc] | |
([aXk :-> [G] $dFunctor_aXk = sc(($dCategory_aX9, 0)), | |
aXl :-> [G] $dCategory_aXl = sc(($dFunctor_aXk, 0)), | |
aXm :-> [G] $dCategory_aXm = sc(($dFunctor_aXk, 1)), | |
aXo :-> [G] cobox_aXo = CO <Op p_aX8[sk:2]>_N, | |
aXp :-> [G] $dCategory_aXp | |
= $dCategory_aXl `cast` (Sub | |
(Sym (Category <i_aX7[sk:2]>_N (Sym cobox))_N)), | |
aXr :-> [G] cobox_aXr = CO <Ob p_aX8[sk:2]>_N, | |
aXf :-> [W] $dCategory_aXf = $dCategory_aX9, | |
aXh :-> [W] irred_aXh | |
= irred_aXs `cast` (Sub (Sym cobox_aXr <a_aXb[sk:2]>_N)), | |
aXs :-> [W] irred_aXs = irred_aXc], | |
[]) | |
[aX9 :-> $dCategory_aX9, aXc :-> irred_aXc] | |
solveImplication end } | |
no_given_eqs = False | |
floated_eqs = {} | |
res_implic = Nothing | |
implication evbinds = {[G] $dFunctor_aXk = sc(($dCategory_aX9, 0)), | |
[G] $dCategory_aXl = sc(($dFunctor_aXk, 0)), | |
[G] $dCategory_aXm = sc(($dFunctor_aXk, 1)), | |
[G] cobox_aXo = CO <Op p_aX8[sk:2]>_N, | |
[G] $dCategory_aXp | |
= $dCategory_aXl `cast` (Sub | |
(Sym | |
(Category <i_aX7[sk:2]>_N (Sym cobox))_N)), | |
[G] cobox_aXr = CO <Ob p_aX8[sk:2]>_N, | |
[W] $dCategory_aXf = $dCategory_aX9, | |
[W] irred_aXh | |
= irred_aXs `cast` (Sub (Sym cobox_aXr <a_aXb[sk:2]>_N)), | |
[W] irred_aXs = irred_aXc} | |
implication tvcs = [] | |
solveNestedImplications end } | |
all floated_eqs = {} | |
unsolved_implics = {Nothing} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {} | |
Constraint solver steps = 9 | |
End simplifyAmbiguityCheck } | |
reportUnsolved(ambig) { | |
newTcEvBinds unique = aXt | |
reportUnsolved(ambig) } | |
Done ambiguity check for | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i). Ob p a => p a a | |
checkValidType done | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i). Ob p a => p a a :: * | |
class op type | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (b :: i) (c :: i) (a :: i). p b c -> p a b -> p a c | |
checkValidType | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (b :: i) (c :: i) (a :: i). p b c -> p a b -> p a c :: * | |
check_type | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (b :: i) (c :: i) (a :: i). p b c -> p a b -> p a c | |
True | |
check_valid_theta [Category p] | |
check_type | |
forall (b :: i_aL2[sk:1]) (c :: i_aL2[sk:1]) (a :: i_aL2[sk:1]). | |
p_aL3[sk:1] b c -> p_aL3[sk:1] a b -> p_aL3[sk:1] a c | |
True | |
Ambiguity check for | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (b :: i) (c :: i) (a :: i). p b c -> p a b -> p a c | |
tcSubType_NC | |
the type signature for ‘.’ | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (b :: i) (c :: i) (a :: i). p b c -> p a b -> p a c | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (b :: i) (c :: i) (a :: i). p b c -> p a b -> p a c | |
tc_sub_tc_type (general case) | |
ty_actual = forall i (p :: i -> i -> *). | |
Category p => | |
forall (b :: i) (c :: i) (a :: i). p b c -> p a b -> p a c | |
ty_expected = forall i (p :: i -> i -> *). | |
Category p => | |
forall (b :: i) (c :: i) (a :: i). p b c -> p a b -> p a c | |
tcSkolemise | |
tcSkolemise | |
1 | |
expected_ty forall i (p :: i -> i -> *). | |
Category p => | |
forall (b :: i) (c :: i) (a :: i). p b c -> p a b -> p a c | |
inst tyvars [i_aXv[sk:2], p_aXw[sk:2], b_aXz[sk:2], c_aXA[sk:2], | |
a_aXB[sk:2]] | |
given [$dCategory_aXx] | |
inst type p_aXw[sk:2] b_aXz[sk:2] c_aXA[sk:2] | |
-> p_aXw[sk:2] a_aXB[sk:2] b_aXz[sk:2] | |
-> p_aXw[sk:2] a_aXB[sk:2] c_aXA[sk:2] | |
tc_sub_type_ds | |
ty_actual = forall i (p :: i -> i -> *). | |
Category p => | |
forall (b :: i) (c :: i) (a :: i). p b c -> p a b -> p a c | |
ty_expected = p_aXw[sk:2] b_aXz[sk:2] c_aXA[sk:2] | |
-> p_aXw[sk:2] a_aXB[sk:2] b_aXz[sk:2] | |
-> p_aXw[sk:2] a_aXB[sk:2] c_aXA[sk:2] | |
instCallConstraints [$dCategory_aXE] | |
Instantiating | |
all tyvars? True | |
origin arising from a type equality forall i (p :: i -> i -> *). | |
Category p => | |
forall (b :: i) (c :: i) (a :: i). p b c -> p a b -> p a c | |
~ | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (b :: i) (c :: i) (a :: i). p b c -> p a b -> p a c | |
type forall i (p :: i -> i -> *). | |
Category p => | |
forall (b :: i) (c :: i) (a :: i). p b c -> p a b -> p a c | |
theta [Category p] | |
leave_bndrs [] | |
with [i_aXC[tau:2], p_aXD[tau:2]] | |
theta: [Category p_aXD[tau:2]] | |
Instantiating | |
all tyvars? True | |
origin arising from a type equality forall i (p :: i -> i -> *). | |
Category p => | |
forall (b :: i) (c :: i) (a :: i). p b c -> p a b -> p a c | |
~ | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (b :: i) (c :: i) (a :: i). p b c -> p a b -> p a c | |
type forall (b :: i_aXC[tau:2]) (c :: i_aXC[tau:2]) (a :: i_aXC[tau:2]). | |
p_aXD[tau:2] b c -> p_aXD[tau:2] a b -> p_aXD[tau:2] a c | |
theta [] | |
leave_bndrs [] | |
with [b_aXF[tau:2], c_aXG[tau:2], a_aXH[tau:2]] | |
theta: [] | |
tc_sub_type_ds | |
ty_actual = p_aXD[tau:2] b_aXF[tau:2] c_aXG[tau:2] | |
-> p_aXD[tau:2] a_aXH[tau:2] b_aXF[tau:2] | |
-> p_aXD[tau:2] a_aXH[tau:2] c_aXG[tau:2] | |
ty_expected = p_aXw[sk:2] b_aXz[sk:2] c_aXA[sk:2] | |
-> p_aXw[sk:2] a_aXB[sk:2] b_aXz[sk:2] | |
-> p_aXw[sk:2] a_aXB[sk:2] c_aXA[sk:2] | |
tc_sub_type_ds | |
ty_actual = p_aXD[tau:2] a_aXH[tau:2] b_aXF[tau:2] | |
-> p_aXD[tau:2] a_aXH[tau:2] c_aXG[tau:2] | |
ty_expected = p_aXw[sk:2] a_aXB[sk:2] b_aXz[sk:2] | |
-> p_aXw[sk:2] a_aXB[sk:2] c_aXA[sk:2] | |
tc_sub_type_ds | |
ty_actual = p_aXD[tau:2] a_aXH[tau:2] c_aXG[tau:2] | |
ty_expected = p_aXw[sk:2] a_aXB[sk:2] c_aXA[sk:2] | |
deeply_instantiate final subst | |
origin: arising from a type equality forall i (p :: i -> i -> *). | |
Category p => | |
forall (b :: i) (c :: i) (a :: i). p b c -> p a b -> p a c | |
~ | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (b :: i) (c :: i) (a :: i). p b c -> p a b -> p a c | |
type: p_aXD[tau:2] a_aXH[tau:2] c_aXG[tau:2] | |
new type: p_aXD[tau:2] a_aXH[tau:2] c_aXG[tau:2] | |
subst: [TCvSubst | |
In scope: InScope {i_aXC p_aXD c_aXG a_aXH} | |
Type env: [] | |
Co env: []] | |
u_tys | |
tclvl 2 | |
p_aXD[tau:2] a_aXH[tau:2] c_aXG[tau:2] | |
~ | |
p_aXw[sk:2] a_aXB[sk:2] c_aXA[sk:2] | |
arising from a type equality p_aXD[tau:2] b_aXF[tau:2] c_aXG[tau:2] | |
-> p_aXD[tau:2] a_aXH[tau:2] b_aXF[tau:2] | |
-> p_aXD[tau:2] a_aXH[tau:2] c_aXG[tau:2] | |
~ | |
p_aXw[sk:2] b_aXz[sk:2] c_aXA[sk:2] | |
-> p_aXw[sk:2] a_aXB[sk:2] b_aXz[sk:2] | |
-> p_aXw[sk:2] a_aXB[sk:2] c_aXA[sk:2] | |
u_tys | |
tclvl 2 | |
p_aXD[tau:2] a_aXH[tau:2] ~ p_aXw[sk:2] a_aXB[sk:2] | |
arising from a type equality p_aXD[tau:2] b_aXF[tau:2] c_aXG[tau:2] | |
-> p_aXD[tau:2] a_aXH[tau:2] b_aXF[tau:2] | |
-> p_aXD[tau:2] a_aXH[tau:2] c_aXG[tau:2] | |
~ | |
p_aXw[sk:2] b_aXz[sk:2] c_aXA[sk:2] | |
-> p_aXw[sk:2] a_aXB[sk:2] b_aXz[sk:2] | |
-> p_aXw[sk:2] a_aXB[sk:2] c_aXA[sk:2] | |
u_tys | |
tclvl 2 | |
p_aXD[tau:2] ~ p_aXw[sk:2] | |
arising from a type equality p_aXD[tau:2] b_aXF[tau:2] c_aXG[tau:2] | |
-> p_aXD[tau:2] a_aXH[tau:2] b_aXF[tau:2] | |
-> p_aXD[tau:2] a_aXH[tau:2] c_aXG[tau:2] | |
~ | |
p_aXw[sk:2] b_aXz[sk:2] c_aXA[sk:2] | |
-> p_aXw[sk:2] a_aXB[sk:2] b_aXz[sk:2] | |
-> p_aXw[sk:2] a_aXB[sk:2] c_aXA[sk:2] | |
u_tys | |
tclvl 2 | |
i_aXv[sk:2] -> i_aXv[sk:2] -> * ~ i_aXC[tau:2] -> i_aXC[tau:2] -> * | |
arising from a kind equality arising from | |
p_aXD[tau:2] ~ p_aXw[sk:2] | |
u_tys | |
tclvl 2 | |
i_aXv[sk:2] ~ i_aXC[tau:2] | |
arising from a kind equality arising from | |
p_aXD[tau:2] ~ p_aXw[sk:2] | |
u_tys | |
tclvl 2 | |
* ~ * | |
arising from a kind equality arising from | |
i_aXC[tau:2] ~ i_aXv[sk:2] | |
u_tys | |
tclvl 2 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aXC[tau:2] ~ i_aXv[sk:2] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aXC[tau:2] := i_aXv[sk:2] | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
i_aXv[sk:2] -> * ~ i_aXC[tau:2] -> * | |
arising from a kind equality arising from | |
p_aXD[tau:2] ~ p_aXw[sk:2] | |
u_tys | |
tclvl 2 | |
i_aXv[sk:2] ~ i_aXC[tau:2] | |
arising from a kind equality arising from | |
p_aXD[tau:2] ~ p_aXw[sk:2] | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
* ~ * | |
arising from a kind equality arising from | |
p_aXD[tau:2] ~ p_aXw[sk:2] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar p_aXD[tau:2] := p_aXw[sk:2] | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
a_aXH[tau:2] ~ a_aXB[sk:2] | |
arising from a type equality p_aXD[tau:2] b_aXF[tau:2] c_aXG[tau:2] | |
-> p_aXD[tau:2] a_aXH[tau:2] b_aXF[tau:2] | |
-> p_aXD[tau:2] a_aXH[tau:2] c_aXG[tau:2] | |
~ | |
p_aXw[sk:2] b_aXz[sk:2] c_aXA[sk:2] | |
-> p_aXw[sk:2] a_aXB[sk:2] b_aXz[sk:2] | |
-> p_aXw[sk:2] a_aXB[sk:2] c_aXA[sk:2] | |
u_tys | |
tclvl 2 | |
i_aXv[sk:2] ~ i_aXC[tau:2] | |
arising from a kind equality arising from | |
a_aXH[tau:2] ~ a_aXB[sk:2] | |
u_tys yields no coercion | |
writeMetaTyVar a_aXH[tau:2] := a_aXB[sk:2] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
c_aXG[tau:2] ~ c_aXA[sk:2] | |
arising from a type equality p_aXD[tau:2] b_aXF[tau:2] c_aXG[tau:2] | |
-> p_aXD[tau:2] a_aXH[tau:2] b_aXF[tau:2] | |
-> p_aXD[tau:2] a_aXH[tau:2] c_aXG[tau:2] | |
~ | |
p_aXw[sk:2] b_aXz[sk:2] c_aXA[sk:2] | |
-> p_aXw[sk:2] a_aXB[sk:2] b_aXz[sk:2] | |
-> p_aXw[sk:2] a_aXB[sk:2] c_aXA[sk:2] | |
u_tys | |
tclvl 2 | |
i_aXv[sk:2] ~ i_aXC[tau:2] | |
arising from a kind equality arising from | |
c_aXG[tau:2] ~ c_aXA[sk:2] | |
u_tys yields no coercion | |
writeMetaTyVar c_aXG[tau:2] := c_aXA[sk:2] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
tc_sub_tc_type (general case) | |
ty_actual = p_aXw[sk:2] a_aXB[sk:2] b_aXz[sk:2] | |
ty_expected = p_aXD[tau:2] a_aXH[tau:2] b_aXF[tau:2] | |
tcSkolemise | |
tcSkolemise | |
2 | |
expected_ty p_aXD[tau:2] a_aXH[tau:2] b_aXF[tau:2] | |
inst tyvars [] | |
given [] | |
inst type p_aXD[tau:2] a_aXH[tau:2] b_aXF[tau:2] | |
tc_sub_type_ds | |
ty_actual = p_aXw[sk:2] a_aXB[sk:2] b_aXz[sk:2] | |
ty_expected = p_aXD[tau:2] a_aXH[tau:2] b_aXF[tau:2] | |
deeply_instantiate final subst | |
origin: arising from a type expected by the context: | |
p_aXw[sk:2] a_aXB[sk:2] b_aXz[sk:2] | |
type: p_aXw[sk:2] a_aXB[sk:2] b_aXz[sk:2] | |
new type: p_aXw[sk:2] a_aXB[sk:2] b_aXz[sk:2] | |
subst: [TCvSubst | |
In scope: InScope {i_aXv p_aXw b_aXz a_aXB} | |
Type env: [] | |
Co env: []] | |
u_tys | |
tclvl 2 | |
p_aXw[sk:2] a_aXB[sk:2] b_aXz[sk:2] | |
~ | |
p_aXD[tau:2] a_aXH[tau:2] b_aXF[tau:2] | |
arising from a type equality p_aXD[tau:2] b_aXF[tau:2] c_aXG[tau:2] | |
-> p_aXD[tau:2] a_aXH[tau:2] b_aXF[tau:2] | |
-> p_aXD[tau:2] a_aXH[tau:2] c_aXG[tau:2] | |
~ | |
p_aXw[sk:2] b_aXz[sk:2] c_aXA[sk:2] | |
-> p_aXw[sk:2] a_aXB[sk:2] b_aXz[sk:2] | |
-> p_aXw[sk:2] a_aXB[sk:2] c_aXA[sk:2] | |
u_tys | |
tclvl 2 | |
p_aXw[sk:2] a_aXB[sk:2] ~ p_aXD[tau:2] a_aXH[tau:2] | |
arising from a type equality p_aXD[tau:2] b_aXF[tau:2] c_aXG[tau:2] | |
-> p_aXD[tau:2] a_aXH[tau:2] b_aXF[tau:2] | |
-> p_aXD[tau:2] a_aXH[tau:2] c_aXG[tau:2] | |
~ | |
p_aXw[sk:2] b_aXz[sk:2] c_aXA[sk:2] | |
-> p_aXw[sk:2] a_aXB[sk:2] b_aXz[sk:2] | |
-> p_aXw[sk:2] a_aXB[sk:2] c_aXA[sk:2] | |
u_tys | |
tclvl 2 | |
p_aXw[sk:2] ~ p_aXD[tau:2] | |
arising from a type equality p_aXD[tau:2] b_aXF[tau:2] c_aXG[tau:2] | |
-> p_aXD[tau:2] a_aXH[tau:2] b_aXF[tau:2] | |
-> p_aXD[tau:2] a_aXH[tau:2] c_aXG[tau:2] | |
~ | |
p_aXw[sk:2] b_aXz[sk:2] c_aXA[sk:2] | |
-> p_aXw[sk:2] a_aXB[sk:2] b_aXz[sk:2] | |
-> p_aXw[sk:2] a_aXB[sk:2] c_aXA[sk:2] | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
a_aXB[sk:2] ~ a_aXH[tau:2] | |
arising from a type equality p_aXD[tau:2] b_aXF[tau:2] c_aXG[tau:2] | |
-> p_aXD[tau:2] a_aXH[tau:2] b_aXF[tau:2] | |
-> p_aXD[tau:2] a_aXH[tau:2] c_aXG[tau:2] | |
~ | |
p_aXw[sk:2] b_aXz[sk:2] c_aXA[sk:2] | |
-> p_aXw[sk:2] a_aXB[sk:2] b_aXz[sk:2] | |
-> p_aXw[sk:2] a_aXB[sk:2] c_aXA[sk:2] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
b_aXz[sk:2] ~ b_aXF[tau:2] | |
arising from a type equality p_aXD[tau:2] b_aXF[tau:2] c_aXG[tau:2] | |
-> p_aXD[tau:2] a_aXH[tau:2] b_aXF[tau:2] | |
-> p_aXD[tau:2] a_aXH[tau:2] c_aXG[tau:2] | |
~ | |
p_aXw[sk:2] b_aXz[sk:2] c_aXA[sk:2] | |
-> p_aXw[sk:2] a_aXB[sk:2] b_aXz[sk:2] | |
-> p_aXw[sk:2] a_aXB[sk:2] c_aXA[sk:2] | |
u_tys | |
tclvl 2 | |
i_aXv[sk:2] ~ i_aXv[sk:2] | |
arising from a kind equality arising from | |
b_aXF[tau:2] ~ b_aXz[sk:2] | |
u_tys yields no coercion | |
writeMetaTyVar b_aXF[tau:2] := b_aXz[sk:2] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
tc_sub_tc_type (general case) | |
ty_actual = p_aXw[sk:2] b_aXz[sk:2] c_aXA[sk:2] | |
ty_expected = p_aXD[tau:2] b_aXF[tau:2] c_aXG[tau:2] | |
tcSkolemise | |
tcSkolemise | |
2 | |
expected_ty p_aXD[tau:2] b_aXF[tau:2] c_aXG[tau:2] | |
inst tyvars [] | |
given [] | |
inst type p_aXD[tau:2] b_aXF[tau:2] c_aXG[tau:2] | |
tc_sub_type_ds | |
ty_actual = p_aXw[sk:2] b_aXz[sk:2] c_aXA[sk:2] | |
ty_expected = p_aXD[tau:2] b_aXF[tau:2] c_aXG[tau:2] | |
deeply_instantiate final subst | |
origin: arising from a type expected by the context: | |
p_aXw[sk:2] b_aXz[sk:2] c_aXA[sk:2] | |
type: p_aXw[sk:2] b_aXz[sk:2] c_aXA[sk:2] | |
new type: p_aXw[sk:2] b_aXz[sk:2] c_aXA[sk:2] | |
subst: [TCvSubst | |
In scope: InScope {i_aXv p_aXw b_aXz c_aXA} | |
Type env: [] | |
Co env: []] | |
u_tys | |
tclvl 2 | |
p_aXw[sk:2] b_aXz[sk:2] c_aXA[sk:2] | |
~ | |
p_aXD[tau:2] b_aXF[tau:2] c_aXG[tau:2] | |
arising from a type equality p_aXD[tau:2] b_aXF[tau:2] c_aXG[tau:2] | |
-> p_aXD[tau:2] a_aXH[tau:2] b_aXF[tau:2] | |
-> p_aXD[tau:2] a_aXH[tau:2] c_aXG[tau:2] | |
~ | |
p_aXw[sk:2] b_aXz[sk:2] c_aXA[sk:2] | |
-> p_aXw[sk:2] a_aXB[sk:2] b_aXz[sk:2] | |
-> p_aXw[sk:2] a_aXB[sk:2] c_aXA[sk:2] | |
u_tys | |
tclvl 2 | |
p_aXw[sk:2] b_aXz[sk:2] ~ p_aXD[tau:2] b_aXF[tau:2] | |
arising from a type equality p_aXD[tau:2] b_aXF[tau:2] c_aXG[tau:2] | |
-> p_aXD[tau:2] a_aXH[tau:2] b_aXF[tau:2] | |
-> p_aXD[tau:2] a_aXH[tau:2] c_aXG[tau:2] | |
~ | |
p_aXw[sk:2] b_aXz[sk:2] c_aXA[sk:2] | |
-> p_aXw[sk:2] a_aXB[sk:2] b_aXz[sk:2] | |
-> p_aXw[sk:2] a_aXB[sk:2] c_aXA[sk:2] | |
u_tys | |
tclvl 2 | |
p_aXw[sk:2] ~ p_aXD[tau:2] | |
arising from a type equality p_aXD[tau:2] b_aXF[tau:2] c_aXG[tau:2] | |
-> p_aXD[tau:2] a_aXH[tau:2] b_aXF[tau:2] | |
-> p_aXD[tau:2] a_aXH[tau:2] c_aXG[tau:2] | |
~ | |
p_aXw[sk:2] b_aXz[sk:2] c_aXA[sk:2] | |
-> p_aXw[sk:2] a_aXB[sk:2] b_aXz[sk:2] | |
-> p_aXw[sk:2] a_aXB[sk:2] c_aXA[sk:2] | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
b_aXz[sk:2] ~ b_aXF[tau:2] | |
arising from a type equality p_aXD[tau:2] b_aXF[tau:2] c_aXG[tau:2] | |
-> p_aXD[tau:2] a_aXH[tau:2] b_aXF[tau:2] | |
-> p_aXD[tau:2] a_aXH[tau:2] c_aXG[tau:2] | |
~ | |
p_aXw[sk:2] b_aXz[sk:2] c_aXA[sk:2] | |
-> p_aXw[sk:2] a_aXB[sk:2] b_aXz[sk:2] | |
-> p_aXw[sk:2] a_aXB[sk:2] c_aXA[sk:2] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
c_aXA[sk:2] ~ c_aXG[tau:2] | |
arising from a type equality p_aXD[tau:2] b_aXF[tau:2] c_aXG[tau:2] | |
-> p_aXD[tau:2] a_aXH[tau:2] b_aXF[tau:2] | |
-> p_aXD[tau:2] a_aXH[tau:2] c_aXG[tau:2] | |
~ | |
p_aXw[sk:2] b_aXz[sk:2] c_aXA[sk:2] | |
-> p_aXw[sk:2] a_aXB[sk:2] b_aXz[sk:2] | |
-> p_aXw[sk:2] a_aXB[sk:2] c_aXA[sk:2] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
newTcEvBinds unique = aXI | |
simplifyAmbiguityCheck { | |
type = forall i (p :: i -> i -> *). | |
Category p => | |
forall (b :: i) (c :: i) (a :: i). p b c -> p a b -> p a c | |
wanted = WC {wc_impl = | |
Implic { | |
TcLevel = 2 | |
Skolems = i_aXv[sk:2] | |
(p_aXw[sk:2] :: i_aXv[sk:2] -> i_aXv[sk:2] -> *) | |
(b_aXz[sk:2] :: i_aXv[sk:2]) | |
(c_aXA[sk:2] :: i_aXv[sk:2]) | |
(a_aXB[sk:2] :: i_aXv[sk:2]) | |
No-eqs = False | |
Status = Unsolved | |
Given = $dCategory_aXx :: Category p_aXw[sk:2] | |
Wanted = | |
WC {wc_simple = | |
[WD] $dCategory_aXE {0}:: Category p_aXD[tau:2] (CNonCanonical)} | |
Binds = EvBindsVar<aXI> | |
Needed = [] | |
the type signature for: | |
(.) :: Category p_aXw[sk:2] => | |
p_aXw[sk:2] b_aXz[sk:2] c_aXA[sk:2] | |
-> p_aXw[sk:2] a_aXB[sk:2] b_aXz[sk:2] | |
-> p_aXw[sk:2] a_aXB[sk:2] c_aXA[sk:2] }} | |
newTcEvBinds unique = aXJ | |
solveWanteds { | |
WC {wc_impl = | |
Implic { | |
TcLevel = 2 | |
Skolems = i_aXv[sk:2] | |
(p_aXw[sk:2] :: i_aXv[sk:2] -> i_aXv[sk:2] -> *) | |
(b_aXz[sk:2] :: i_aXv[sk:2]) | |
(c_aXA[sk:2] :: i_aXv[sk:2]) | |
(a_aXB[sk:2] :: i_aXv[sk:2]) | |
No-eqs = False | |
Status = Unsolved | |
Given = $dCategory_aXx :: Category p_aXw[sk:2] | |
Wanted = | |
WC {wc_simple = | |
[WD] $dCategory_aXE {0}:: Category p_aXD[tau:2] (CNonCanonical)} | |
Binds = EvBindsVar<aXI> | |
Needed = [] | |
the type signature for: | |
(.) :: Category p_aXw[sk:2] => | |
p_aXw[sk:2] b_aXz[sk:2] c_aXA[sk:2] | |
-> p_aXw[sk:2] a_aXB[sk:2] b_aXz[sk:2] | |
-> p_aXw[sk:2] a_aXB[sk:2] c_aXA[sk:2] }} | |
solveSimpleWanteds { {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveNestedImplications starting { | |
solveImplication { | |
Implic { | |
TcLevel = 2 | |
Skolems = i_aXv[sk:2] | |
(p_aXw[sk:2] :: i_aXv[sk:2] -> i_aXv[sk:2] -> *) | |
(b_aXz[sk:2] :: i_aXv[sk:2]) | |
(c_aXA[sk:2] :: i_aXv[sk:2]) | |
(a_aXB[sk:2] :: i_aXv[sk:2]) | |
No-eqs = False | |
Status = Unsolved | |
Given = $dCategory_aXx :: Category p_aXw[sk:2] | |
Wanted = | |
WC {wc_simple = | |
[WD] $dCategory_aXE {0}:: Category p_aXD[tau:2] (CNonCanonical)} | |
Binds = EvBindsVar<aXI> | |
Needed = [] | |
the type signature for: | |
(.) :: Category p_aXw[sk:2] => | |
p_aXw[sk:2] b_aXz[sk:2] c_aXA[sk:2] | |
-> p_aXw[sk:2] a_aXB[sk:2] b_aXz[sk:2] | |
-> p_aXw[sk:2] a_aXB[sk:2] c_aXA[sk:2] } | |
Inerts {Unsolved goals = 0} | |
solveSimpleGivens { | |
[[G] $dCategory_aXx {0}:: Category p_aXw[sk:2] (CNonCanonical)] | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] $dCategory_aXx {0}:: Category | |
p_aXw[sk:2] (CNonCanonical) | |
inerts = {Unsolved goals = 0} | |
rest of worklist = WL {} | |
runStage canonicalization { | |
workitem = [G] $dCategory_aXx {0}:: Category | |
p_aXw[sk:2] (CNonCanonical) | |
canonicalize (non-canonical) | |
[G] $dCategory_aXx {0}:: Category p_aXw[sk:2] (CNonCanonical) | |
canEvNC:cls Category [i_aXv[sk:2], p_aXw[sk:2]] | |
addTcEvBind | |
aXI | |
[G] $dFunctor_aXK = sc(($dCategory_aXx, 0)) | |
mk_superclasses_of | |
Functor [i_aXv[sk:2], i_aXv[sk:2] -> *, Op p_aXw[sk:2], | |
Nat p_aXw[sk:2] (->), p_aXw[sk:2]] | |
False | |
[rKp :-> Category] | |
addTcEvBind | |
aXI | |
[G] $dCategory_aXL = sc(($dFunctor_aXK, 0)) | |
addTcEvBind | |
aXI | |
[G] $dCategory_aXM = sc(($dFunctor_aXK, 1)) | |
mk_superclasses_of: loop Category [i_aXv[sk:2], Op p_aXw[sk:2]] | |
mk_superclasses_of: loop | |
Category [i_aXv[sk:2] -> *, Nat p_aXw[sk:2] (->)] | |
Emitting fresh work | |
[G] $dFunctor_aXK {0}:: Functor | |
(Op p_aXw[sk:2]) (Nat p_aXw[sk:2] (->)) p_aXw[sk:2] (CDictCan) | |
[G] $dCategory_aXL {0}:: Category (Op p_aXw[sk:2]) (CDictCan(psc)) | |
[G] $dCategory_aXM {0}:: Category | |
(Nat p_aXw[sk:2] (->)) (CDictCan(psc)) | |
flatten_many { | |
i_aXv[sk:2] | |
p_aXw[sk:2] | |
Unfilled tyvar i_aXv[sk:2] | |
Unfilled tyvar p_aXw[sk:2] | |
Unfilled tyvar i_aXv[sk:2] | |
Unfilled tyvar i_aXv[sk:2] | |
flatten } | |
i_aXv[sk:2] | |
p_aXw[sk:2] | |
canClass | |
[G] $dCategory_aXx {0}:: Category p_aXw[sk:2] | |
Category p_aXw[sk:2] | |
ContinueWith [G] $dCategory_aXx {0}:: Category p_aXw[sk:2] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] $dCategory_aXx {0}:: Category | |
p_aXw[sk:2] (CDictCan) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] $dCategory_aXx {0}:: Category | |
p_aXw[sk:2] (CDictCan) | |
doTopReact [G] $dCategory_aXx {0}:: Category p_aXw[sk:2] (CDictCan) | |
try_fundeps | |
[G] $dCategory_aXx {0}:: Category p_aXw[sk:2] (CDictCan) | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] $dCategory_aXx {0}:: Category | |
p_aXw[sk:2] (CDictCan) | |
addInertCan } | |
Step 1[l:2,d:0] Kept as inert: | |
[G] $dCategory_aXx {0}:: Category p_aXw[sk:2] | |
End solver pipeline (kept as inert) } | |
final_item = [G] $dCategory_aXx {0}:: Category | |
p_aXw[sk:2] (CDictCan) | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] $dFunctor_aXK {0}:: Functor | |
(Op p_aXw[sk:2]) | |
(Nat p_aXw[sk:2] (->)) | |
p_aXw[sk:2] (CDictCan) | |
inerts = {Dictionaries = [G] $dCategory_aXx {0}:: Category | |
p_aXw[sk:2] (CDictCan) | |
Unsolved goals = 0} | |
rest of worklist = WL {Non-eqs = [G] $dCategory_aXL {0}:: Category | |
(Op p_aXw[sk:2]) (CDictCan(psc)) | |
[G] $dCategory_aXM {0}:: Category | |
(Nat | |
p_aXw[sk:2] (->)) (CDictCan(psc))} | |
runStage canonicalization { | |
workitem = [G] $dFunctor_aXK {0}:: Functor | |
(Op p_aXw[sk:2]) | |
(Nat p_aXw[sk:2] (->)) | |
p_aXw[sk:2] (CDictCan) | |
flatten_many { | |
i_aXv[sk:2] | |
i_aXv[sk:2] -> * | |
Op p_aXw[sk:2] | |
Nat p_aXw[sk:2] (->) | |
p_aXw[sk:2] | |
Unfilled tyvar i_aXv[sk:2] | |
Unfilled tyvar i_aXv[sk:2] | |
matchFamTcM | |
Matching: Op p_aXw[sk:2] | |
Match failed | |
Unfilled tyvar i_aXv[sk:2] | |
Unfilled tyvar i_aXv[sk:2] | |
Unfilled tyvar p_aXw[sk:2] | |
Unfilled tyvar i_aXv[sk:2] | |
Unfilled tyvar i_aXv[sk:2] | |
matchFamTcM | |
Matching: Op p_aXw[sk:2] | |
Match failed | |
addTcEvBind | |
aXI | |
[G] cobox_aXO = CO <Op p_aXw[sk:2]>_N | |
extendFlatCache | |
Op [i_aXv[sk:2], i_aXv[sk:2], p_aXw[sk:2]] | |
[G] | |
fsk_aXN[fsk] | |
flatten/flat-cache miss | |
Op [i_aXv[sk:2], i_aXv[sk:2], p_aXw[sk:2]] | |
fsk_aXN[fsk] | |
[G] cobox_aXO {0}:: (Op p_aXw[sk:2] :: (i_aXv[sk:2] | |
-> i_aXv[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aXN[fsk] :: (i_aXv[sk:2] -> i_aXv[sk:2] -> *)) | |
Unfilled tyvar i_aXv[sk:2] | |
Unfilled tyvar p_aXw[sk:2] | |
Unfilled tyvar i_aXv[sk:2] | |
Unfilled tyvar i_aXv[sk:2] | |
Unfilled tyvar p_aXw[sk:2] | |
Unfilled tyvar i_aXv[sk:2] | |
Unfilled tyvar i_aXv[sk:2] | |
flatten } | |
i_aXv[sk:2] | |
i_aXv[sk:2] -> * | |
fsk_aXN[fsk] | |
Nat p_aXw[sk:2] (->) | |
p_aXw[sk:2] | |
canClass | |
[G] $dFunctor_aXK {0}:: Functor | |
(Op p_aXw[sk:2]) (Nat p_aXw[sk:2] (->)) p_aXw[sk:2] | |
Functor fsk_aXN[fsk] (Nat p_aXw[sk:2] (->)) p_aXw[sk:2] | |
ContinueWith [G] $dFunctor_aXK {0}:: Functor | |
fsk_aXN[fsk] (Nat p_aXw[sk:2] (->)) p_aXw[sk:2] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] $dFunctor_aXK {0}:: Functor | |
fsk_aXN[fsk] (Nat p_aXw[sk:2] (->)) p_aXw[sk:2] (CDictCan) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] $dFunctor_aXK {0}:: Functor | |
fsk_aXN[fsk] (Nat p_aXw[sk:2] (->)) p_aXw[sk:2] (CDictCan) | |
doTopReact | |
[G] $dFunctor_aXK {0}:: Functor | |
fsk_aXN[fsk] (Nat p_aXw[sk:2] (->)) p_aXw[sk:2] (CDictCan) | |
try_fundeps | |
[G] $dFunctor_aXK {0}:: Functor | |
fsk_aXN[fsk] (Nat p_aXw[sk:2] (->)) p_aXw[sk:2] (CDictCan) | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] $dFunctor_aXK {0}:: Functor | |
fsk_aXN[fsk] | |
(Nat p_aXw[sk:2] (->)) | |
p_aXw[sk:2] (CDictCan) | |
addInertCan } | |
Step 2[l:2,d:0] Kept as inert: | |
[G] $dFunctor_aXK {0}:: Functor | |
fsk_aXN[fsk] (Nat p_aXw[sk:2] (->)) p_aXw[sk:2] | |
End solver pipeline (kept as inert) } | |
final_item = [G] $dFunctor_aXK {0}:: Functor | |
fsk_aXN[fsk] (Nat p_aXw[sk:2] (->)) p_aXw[sk:2] (CDictCan) | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] cobox_aXO {0}:: (Op p_aXw[sk:2] :: (i_aXv[sk:2] | |
-> i_aXv[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aXN[fsk] :: (i_aXv[sk:2] -> i_aXv[sk:2] -> *)) (CFunEqCan) | |
inerts = {Dictionaries = [G] $dCategory_aXx {0}:: Category | |
p_aXw[sk:2] (CDictCan) | |
[G] $dFunctor_aXK {0}:: Functor | |
fsk_aXN[fsk] | |
(Nat p_aXw[sk:2] (->)) | |
p_aXw[sk:2] (CDictCan) | |
Unsolved goals = 0} | |
rest of worklist = WL {Non-eqs = [G] $dCategory_aXL {0}:: Category | |
(Op p_aXw[sk:2]) (CDictCan(psc)) | |
[G] $dCategory_aXM {0}:: Category | |
(Nat | |
p_aXw[sk:2] (->)) (CDictCan(psc))} | |
runStage canonicalization { | |
workitem = [G] cobox_aXO {0}:: (Op p_aXw[sk:2] :: (i_aXv[sk:2] | |
-> i_aXv[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aXN[fsk] :: (i_aXv[sk:2] -> i_aXv[sk:2] -> *)) (CFunEqCan) | |
flatten_many { | |
i_aXv[sk:2] | |
i_aXv[sk:2] | |
p_aXw[sk:2] | |
Unfilled tyvar i_aXv[sk:2] | |
Unfilled tyvar i_aXv[sk:2] | |
Unfilled tyvar p_aXw[sk:2] | |
Unfilled tyvar i_aXv[sk:2] | |
Unfilled tyvar i_aXv[sk:2] | |
flatten } | |
i_aXv[sk:2] | |
i_aXv[sk:2] | |
p_aXw[sk:2] | |
extendFlatCache | |
Op [i_aXv[sk:2], i_aXv[sk:2], p_aXw[sk:2]] | |
[G] | |
fsk_aXN[fsk] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] cobox_aXO {0}:: (Op p_aXw[sk:2] :: (i_aXv[sk:2] | |
-> i_aXv[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aXN[fsk] :: (i_aXv[sk:2] -> i_aXv[sk:2] -> *)) (CFunEqCan) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] cobox_aXO {0}:: (Op p_aXw[sk:2] :: (i_aXv[sk:2] | |
-> i_aXv[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aXN[fsk] :: (i_aXv[sk:2] -> i_aXv[sk:2] -> *)) (CFunEqCan) | |
doTopReact | |
[G] cobox_aXO {0}:: (Op p_aXw[sk:2] :: (i_aXv[sk:2] | |
-> i_aXv[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aXN[fsk] :: (i_aXv[sk:2] -> i_aXv[sk:2] -> *)) (CFunEqCan) | |
matchFamTcM | |
Matching: Op p_aXw[sk:2] | |
Match failed | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] cobox_aXO {0}:: (Op | |
p_aXw[sk:2] :: (i_aXv[sk:2] | |
-> i_aXv[sk:2] | |
-> *)) | |
GHC.Prim.~# | |
(fsk_aXN[fsk] :: (i_aXv[sk:2] | |
-> i_aXv[sk:2] | |
-> *)) (CFunEqCan) | |
addInertCan } | |
Step 3[l:2,d:0] Kept as inert: | |
[G] cobox_aXO {0}:: (Op p_aXw[sk:2] :: (i_aXv[sk:2] | |
-> i_aXv[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aXN[fsk] :: (i_aXv[sk:2] -> i_aXv[sk:2] -> *)) | |
End solver pipeline (kept as inert) } | |
final_item = [G] cobox_aXO {0}:: (Op p_aXw[sk:2] :: (i_aXv[sk:2] | |
-> i_aXv[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aXN[fsk] :: (i_aXv[sk:2] -> i_aXv[sk:2] -> *)) (CFunEqCan) | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] $dCategory_aXL {0}:: Category | |
(Op p_aXw[sk:2]) (CDictCan(psc)) | |
inerts = {Type-function equalities = [G] cobox_aXO {0}:: (Op | |
p_aXw[sk:2] :: (i_aXv[sk:2] | |
-> i_aXv[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aXN[fsk] :: (i_aXv[sk:2] | |
-> i_aXv[sk:2] | |
-> *)) (CFunEqCan) | |
Dictionaries = [G] $dCategory_aXx {0}:: Category | |
p_aXw[sk:2] (CDictCan) | |
[G] $dFunctor_aXK {0}:: Functor | |
fsk_aXN[fsk] | |
(Nat p_aXw[sk:2] (->)) | |
p_aXw[sk:2] (CDictCan) | |
Unsolved goals = 0} | |
rest of worklist = WL {Non-eqs = [G] $dCategory_aXM {0}:: Category | |
(Nat | |
p_aXw[sk:2] (->)) (CDictCan(psc))} | |
runStage canonicalization { | |
workitem = [G] $dCategory_aXL {0}:: Category | |
(Op p_aXw[sk:2]) (CDictCan(psc)) | |
flatten_many { | |
i_aXv[sk:2] | |
Op p_aXw[sk:2] | |
Unfilled tyvar i_aXv[sk:2] | |
matchFamTcM | |
Matching: Op p_aXw[sk:2] | |
Match failed | |
Unfilled tyvar i_aXv[sk:2] | |
Unfilled tyvar i_aXv[sk:2] | |
Unfilled tyvar p_aXw[sk:2] | |
Unfilled tyvar i_aXv[sk:2] | |
Unfilled tyvar i_aXv[sk:2] | |
flatten/flat-cache hit | |
Op [i_aXv[sk:2], i_aXv[sk:2], p_aXw[sk:2]] | |
fsk_aXN[fsk] | |
Unfilled tyvar fsk_aXN[fsk] | |
Unfilled tyvar i_aXv[sk:2] | |
Unfilled tyvar i_aXv[sk:2] | |
flatten } | |
i_aXv[sk:2] | |
fsk_aXN[fsk] | |
addTcEvBind | |
aXI | |
[G] $dCategory_aXP | |
= $dCategory_aXL `cast` (Sub | |
(Sym (Category <i_aXv[sk:2]>_N (Sym cobox))_N)) | |
canClass | |
[G] $dCategory_aXL {0}:: Category (Op p_aXw[sk:2]) | |
Category fsk_aXN[fsk] | |
ContinueWith [G] $dCategory_aXP {0}:: Category fsk_aXN[fsk] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] $dCategory_aXP {0}:: Category | |
fsk_aXN[fsk] (CDictCan(psc)) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] $dCategory_aXP {0}:: Category | |
fsk_aXN[fsk] (CDictCan(psc)) | |
doTopReact | |
[G] $dCategory_aXP {0}:: Category fsk_aXN[fsk] (CDictCan(psc)) | |
try_fundeps | |
[G] $dCategory_aXP {0}:: Category fsk_aXN[fsk] (CDictCan(psc)) | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] $dCategory_aXP {0}:: Category | |
fsk_aXN[fsk] (CDictCan(psc)) | |
addInertCan } | |
Step 4[l:2,d:0] Kept as inert: | |
[G] $dCategory_aXP {0}:: Category fsk_aXN[fsk] | |
End solver pipeline (kept as inert) } | |
final_item = [G] $dCategory_aXP {0}:: Category | |
fsk_aXN[fsk] (CDictCan(psc)) | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] $dCategory_aXM {0}:: Category | |
(Nat p_aXw[sk:2] (->)) (CDictCan(psc)) | |
inerts = {Type-function equalities = [G] cobox_aXO {0}:: (Op | |
p_aXw[sk:2] :: (i_aXv[sk:2] | |
-> i_aXv[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aXN[fsk] :: (i_aXv[sk:2] | |
-> i_aXv[sk:2] | |
-> *)) (CFunEqCan) | |
Dictionaries = [G] $dFunctor_aXK {0}:: Functor | |
fsk_aXN[fsk] | |
(Nat p_aXw[sk:2] (->)) | |
p_aXw[sk:2] (CDictCan) | |
[G] $dCategory_aXx {0}:: Category p_aXw[sk:2] (CDictCan) | |
[G] $dCategory_aXP {0}:: Category fsk_aXN[fsk] (CDictCan(psc)) | |
Unsolved goals = 0} | |
rest of worklist = WL {} | |
runStage canonicalization { | |
workitem = [G] $dCategory_aXM {0}:: Category | |
(Nat p_aXw[sk:2] (->)) (CDictCan(psc)) | |
flatten_many { | |
i_aXv[sk:2] -> * | |
Nat p_aXw[sk:2] (->) | |
Unfilled tyvar i_aXv[sk:2] | |
Unfilled tyvar i_aXv[sk:2] | |
Unfilled tyvar p_aXw[sk:2] | |
Unfilled tyvar i_aXv[sk:2] | |
Unfilled tyvar i_aXv[sk:2] | |
flatten } | |
i_aXv[sk:2] -> * | |
Nat p_aXw[sk:2] (->) | |
canClass | |
[G] $dCategory_aXM {0}:: Category (Nat p_aXw[sk:2] (->)) | |
Category (Nat p_aXw[sk:2] (->)) | |
ContinueWith [G] $dCategory_aXM {0}:: Category | |
(Nat p_aXw[sk:2] (->)) | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] $dCategory_aXM {0}:: Category | |
(Nat p_aXw[sk:2] (->)) (CDictCan(psc)) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] $dCategory_aXM {0}:: Category | |
(Nat p_aXw[sk:2] (->)) (CDictCan(psc)) | |
doTopReact | |
[G] $dCategory_aXM {0}:: Category | |
(Nat p_aXw[sk:2] (->)) (CDictCan(psc)) | |
try_fundeps | |
[G] $dCategory_aXM {0}:: Category | |
(Nat p_aXw[sk:2] (->)) (CDictCan(psc)) | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] $dCategory_aXM {0}:: Category | |
(Nat | |
p_aXw[sk:2] | |
(->)) (CDictCan(psc)) | |
addInertCan } | |
Step 5[l:2,d:0] Kept as inert: | |
[G] $dCategory_aXM {0}:: Category (Nat p_aXw[sk:2] (->)) | |
End solver pipeline (kept as inert) } | |
final_item = [G] $dCategory_aXM {0}:: Category | |
(Nat p_aXw[sk:2] (->)) (CDictCan(psc)) | |
End solveSimpleGivens } | |
solveWanteds { | |
WC {wc_simple = | |
[WD] $dCategory_aXE {0}:: Category p_aXD[tau:2] (CNonCanonical)} | |
solveSimpleWanteds { | |
{[WD] $dCategory_aXE {0}:: Category p_aXD[tau:2] (CNonCanonical)} | |
----------------------------- | |
Start solver pipeline { | |
work item = [WD] $dCategory_aXE {0}:: Category | |
p_aXD[tau:2] (CNonCanonical) | |
inerts = {Type-function equalities = [G] cobox_aXO {0}:: (Op | |
p_aXw[sk:2] :: (i_aXv[sk:2] | |
-> i_aXv[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aXN[fsk] :: (i_aXv[sk:2] | |
-> i_aXv[sk:2] | |
-> *)) (CFunEqCan) | |
Dictionaries = [G] $dFunctor_aXK {0}:: Functor | |
fsk_aXN[fsk] | |
(Nat p_aXw[sk:2] (->)) | |
p_aXw[sk:2] (CDictCan) | |
[G] $dCategory_aXx {0}:: Category p_aXw[sk:2] (CDictCan) | |
[G] $dCategory_aXP {0}:: Category fsk_aXN[fsk] (CDictCan(psc)) | |
[G] $dCategory_aXM {0}:: Category | |
(Nat p_aXw[sk:2] (->)) (CDictCan(psc)) | |
Unsolved goals = 0} | |
rest of worklist = WL {} | |
runStage canonicalization { | |
workitem = [WD] $dCategory_aXE {0}:: Category | |
p_aXD[tau:2] (CNonCanonical) | |
canonicalize (non-canonical) | |
[WD] $dCategory_aXE {0}:: Category p_aXD[tau:2] (CNonCanonical) | |
canEvNC:cls Category [i_aXC[tau:2], p_aXD[tau:2]] | |
flatten_many { | |
i_aXC[tau:2] | |
p_aXD[tau:2] | |
Following filled tyvar i_aXC[tau:2] = i_aXv[sk:2] | |
Unfilled tyvar i_aXv[sk:2] | |
Following filled tyvar p_aXD[tau:2] = p_aXw[sk:2] | |
Unfilled tyvar p_aXw[sk:2] | |
Unfilled tyvar i_aXv[sk:2] | |
Unfilled tyvar i_aXv[sk:2] | |
flatten } | |
i_aXv[sk:2] | |
p_aXw[sk:2] | |
canClass | |
[WD] $dCategory_aXE {0}:: Category p_aXD[tau:2] | |
Category p_aXw[sk:2] | |
ContinueWith [WD] $dCategory_aXE {0}:: Category p_aXw[sk:2] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [WD] $dCategory_aXE {0}:: Category | |
p_aXw[sk:2] (CDictCan(psc)) | |
addTcEvBind | |
aXI | |
[W] $dCategory_aXE = $dCategory_aXx | |
end stage interact with inerts } | |
Step 6[l:2,d:0] Dict equal (keep): | |
[WD] $dCategory_aXE {0}:: Category p_aXw[sk:2] | |
End solver pipeline (discharged) } | |
getUnsolvedInerts | |
tv eqs = {} | |
fun eqs = {} | |
insols = {} | |
others = {} | |
implics = {} | |
Unflattening | |
{Funeqs = | |
Tv eqs =} | |
Unflattening 1 {} | |
Unflattening 2 {} | |
Unflattening 3 {} | |
Unflattening done {} | |
zonkSimples done: {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {[G] $dFunctor_aXK = sc(($dCategory_aXx, 0)), | |
[G] $dCategory_aXL = sc(($dFunctor_aXK, 0)), | |
[G] $dCategory_aXM = sc(($dFunctor_aXK, 1)), | |
[G] cobox_aXO = CO <Op p_aXw[sk:2]>_N, | |
[G] $dCategory_aXP | |
= $dCategory_aXL `cast` (Sub | |
(Sym (Category <i_aXv[sk:2]>_N (Sym cobox))_N)), | |
[W] $dCategory_aXE = $dCategory_aXx} | |
getNoGivenEqs | |
False | |
{Type-function equalities = [G] cobox_aXO {0}:: (Op | |
p_aXw[sk:2] :: (i_aXv[sk:2] | |
-> i_aXv[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aXN[fsk] :: (i_aXv[sk:2] | |
-> i_aXv[sk:2] | |
-> *)) (CFunEqCan) | |
Dictionaries = [G] $dFunctor_aXK {0}:: Functor | |
fsk_aXN[fsk] | |
(Nat p_aXw[sk:2] (->)) | |
p_aXw[sk:2] (CDictCan) | |
[G] $dCategory_aXx {0}:: Category p_aXw[sk:2] (CDictCan) | |
[G] $dCategory_aXP {0}:: Category fsk_aXN[fsk] (CDictCan(psc)) | |
[G] $dCategory_aXM {0}:: Category | |
(Nat p_aXw[sk:2] (->)) (CDictCan(psc)) | |
Unsolved goals = 0} | |
{} | |
floatEqualities | |
Skols = [i_aXv[sk:2], p_aXw[sk:2], b_aXz[sk:2], c_aXA[sk:2], | |
a_aXB[sk:2]] | |
Simples = {} | |
Floated eqs = {} | |
solveImplication 2 | |
{} | |
WC {} | |
setImplicationStatus 2 | |
[$dCategory_aXx] | |
([aXK :-> [G] $dFunctor_aXK = sc(($dCategory_aXx, 0)), | |
aXL :-> [G] $dCategory_aXL = sc(($dFunctor_aXK, 0)), | |
aXM :-> [G] $dCategory_aXM = sc(($dFunctor_aXK, 1)), | |
aXO :-> [G] cobox_aXO = CO <Op p_aXw[sk:2]>_N, | |
aXP :-> [G] $dCategory_aXP | |
= $dCategory_aXL `cast` (Sub | |
(Sym (Category <i_aXv[sk:2]>_N (Sym cobox))_N)), | |
aXE :-> [W] $dCategory_aXE = $dCategory_aXx], | |
[]) | |
[aXx :-> $dCategory_aXx] | |
solveImplication end } | |
no_given_eqs = True | |
floated_eqs = {} | |
res_implic = Nothing | |
implication evbinds = {[G] $dFunctor_aXK = sc(($dCategory_aXx, 0)), | |
[G] $dCategory_aXL = sc(($dFunctor_aXK, 0)), | |
[G] $dCategory_aXM = sc(($dFunctor_aXK, 1)), | |
[G] cobox_aXO = CO <Op p_aXw[sk:2]>_N, | |
[G] $dCategory_aXP | |
= $dCategory_aXL `cast` (Sub | |
(Sym | |
(Category <i_aXv[sk:2]>_N (Sym cobox))_N)), | |
[W] $dCategory_aXE = $dCategory_aXx} | |
implication tvcs = [] | |
solveNestedImplications end } | |
all floated_eqs = {} | |
unsolved_implics = {Nothing} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {} | |
Constraint solver steps = 6 | |
End simplifyAmbiguityCheck } | |
reportUnsolved(ambig) { | |
newTcEvBinds unique = aXQ | |
reportUnsolved(ambig) } | |
Done ambiguity check for | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (b :: i) (c :: i) (a :: i). p b c -> p a b -> p a c | |
checkValidType done | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (b :: i) (c :: i) (a :: i). p b c -> p a b -> p a c :: * | |
class op type | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). p a b -> Dict (Ob p a) | |
checkValidType | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). p a b -> Dict (Ob p a) :: * | |
check_type | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). p a b -> Dict (Ob p a) | |
True | |
check_valid_theta [Category p] | |
check_type | |
forall (a :: i_aL2[sk:1]) (b :: i_aL2[sk:1]). | |
p_aL3[sk:1] a b -> Dict (Ob p_aL3[sk:1] a) | |
True | |
Ambiguity check for | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). p a b -> Dict (Ob p a) | |
tcSubType_NC | |
the type signature for ‘source’ | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). p a b -> Dict (Ob p a) | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). p a b -> Dict (Ob p a) | |
tc_sub_tc_type (general case) | |
ty_actual = forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). p a b -> Dict (Ob p a) | |
ty_expected = forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). p a b -> Dict (Ob p a) | |
tcSkolemise | |
tcSkolemise | |
1 | |
expected_ty forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). p a b -> Dict (Ob p a) | |
inst tyvars [i_aXS[sk:2], p_aXT[sk:2], a_aXW[sk:2], b_aXX[sk:2]] | |
given [$dCategory_aXU] | |
inst type p_aXT[sk:2] a_aXW[sk:2] b_aXX[sk:2] | |
-> Dict (Ob p_aXT[sk:2] a_aXW[sk:2]) | |
tc_sub_type_ds | |
ty_actual = forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). p a b -> Dict (Ob p a) | |
ty_expected = p_aXT[sk:2] a_aXW[sk:2] b_aXX[sk:2] | |
-> Dict (Ob p_aXT[sk:2] a_aXW[sk:2]) | |
instCallConstraints [$dCategory_aY0] | |
Instantiating | |
all tyvars? True | |
origin arising from a type equality forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). p a b -> Dict (Ob p a) | |
~ | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). p a b -> Dict (Ob p a) | |
type forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). p a b -> Dict (Ob p a) | |
theta [Category p] | |
leave_bndrs [] | |
with [i_aXY[tau:2], p_aXZ[tau:2]] | |
theta: [Category p_aXZ[tau:2]] | |
Instantiating | |
all tyvars? True | |
origin arising from a type equality forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). p a b -> Dict (Ob p a) | |
~ | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). p a b -> Dict (Ob p a) | |
type forall (a :: i_aXY[tau:2]) (b :: i_aXY[tau:2]). | |
p_aXZ[tau:2] a b -> Dict (Ob p_aXZ[tau:2] a) | |
theta [] | |
leave_bndrs [] | |
with [a_aY1[tau:2], b_aY2[tau:2]] | |
theta: [] | |
tc_sub_type_ds | |
ty_actual = p_aXZ[tau:2] a_aY1[tau:2] b_aY2[tau:2] | |
-> Dict (Ob p_aXZ[tau:2] a_aY1[tau:2]) | |
ty_expected = p_aXT[sk:2] a_aXW[sk:2] b_aXX[sk:2] | |
-> Dict (Ob p_aXT[sk:2] a_aXW[sk:2]) | |
tc_sub_type_ds | |
ty_actual = Dict (Ob p_aXZ[tau:2] a_aY1[tau:2]) | |
ty_expected = Dict (Ob p_aXT[sk:2] a_aXW[sk:2]) | |
deeply_instantiate final subst | |
origin: arising from a type equality forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). p a b -> Dict (Ob p a) | |
~ | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). p a b -> Dict (Ob p a) | |
type: Dict (Ob p_aXZ[tau:2] a_aY1[tau:2]) | |
new type: Dict (Ob p_aXZ[tau:2] a_aY1[tau:2]) | |
subst: [TCvSubst | |
In scope: InScope {i_aXY p_aXZ a_aY1} | |
Type env: [] | |
Co env: []] | |
u_tys | |
tclvl 2 | |
Dict (Ob p_aXZ[tau:2] a_aY1[tau:2]) | |
~ | |
Dict (Ob p_aXT[sk:2] a_aXW[sk:2]) | |
arising from a type equality p_aXZ[tau:2] a_aY1[tau:2] b_aY2[tau:2] | |
-> Dict (Ob p_aXZ[tau:2] a_aY1[tau:2]) | |
~ | |
p_aXT[sk:2] a_aXW[sk:2] b_aXX[sk:2] | |
-> Dict (Ob p_aXT[sk:2] a_aXW[sk:2]) | |
u_tys | |
tclvl 2 | |
Ob p_aXZ[tau:2] a_aY1[tau:2] ~ Ob p_aXT[sk:2] a_aXW[sk:2] | |
arising from a type equality p_aXZ[tau:2] a_aY1[tau:2] b_aY2[tau:2] | |
-> Dict (Ob p_aXZ[tau:2] a_aY1[tau:2]) | |
~ | |
p_aXT[sk:2] a_aXW[sk:2] b_aXX[sk:2] | |
-> Dict (Ob p_aXT[sk:2] a_aXW[sk:2]) | |
New coercion hole: aY3 | |
utype_defer | |
U(hole:{aY3}, Ob p_aXZ[tau:2] a_aY1[tau:2], Ob | |
p_aXT[sk:2] a_aXW[sk:2])_N | |
Ob p_aXZ[tau:2] a_aY1[tau:2] | |
Ob p_aXT[sk:2] a_aXW[sk:2] | |
arising from a type equality p_aXZ[tau:2] a_aY1[tau:2] b_aY2[tau:2] | |
-> Dict (Ob p_aXZ[tau:2] a_aY1[tau:2]) | |
~ | |
p_aXT[sk:2] a_aXW[sk:2] b_aXX[sk:2] | |
-> Dict (Ob p_aXT[sk:2] a_aXW[sk:2]) | |
In the ambiguity check for ‘source’ | |
To defer the ambiguity check to use sites, enable AllowAmbiguousTypes | |
When checking the class method: | |
source :: forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). p a b -> Dict (Ob p a) | |
In the class declaration for ‘Category’ | |
u_tys yields coercion: | |
U(hole:{aY3}, Ob p_aXZ[tau:2] a_aY1[tau:2], Ob | |
p_aXT[sk:2] a_aXW[sk:2])_N | |
u_tys yields coercion: (Dict {aY3})_N | |
tc_sub_tc_type (general case) | |
ty_actual = p_aXT[sk:2] a_aXW[sk:2] b_aXX[sk:2] | |
ty_expected = p_aXZ[tau:2] a_aY1[tau:2] b_aY2[tau:2] | |
tcSkolemise | |
tcSkolemise | |
2 | |
expected_ty p_aXZ[tau:2] a_aY1[tau:2] b_aY2[tau:2] | |
inst tyvars [] | |
given [] | |
inst type p_aXZ[tau:2] a_aY1[tau:2] b_aY2[tau:2] | |
tc_sub_type_ds | |
ty_actual = p_aXT[sk:2] a_aXW[sk:2] b_aXX[sk:2] | |
ty_expected = p_aXZ[tau:2] a_aY1[tau:2] b_aY2[tau:2] | |
deeply_instantiate final subst | |
origin: arising from a type expected by the context: | |
p_aXT[sk:2] a_aXW[sk:2] b_aXX[sk:2] | |
type: p_aXT[sk:2] a_aXW[sk:2] b_aXX[sk:2] | |
new type: p_aXT[sk:2] a_aXW[sk:2] b_aXX[sk:2] | |
subst: [TCvSubst | |
In scope: InScope {i_aXS p_aXT a_aXW b_aXX} | |
Type env: [] | |
Co env: []] | |
u_tys | |
tclvl 2 | |
p_aXT[sk:2] a_aXW[sk:2] b_aXX[sk:2] | |
~ | |
p_aXZ[tau:2] a_aY1[tau:2] b_aY2[tau:2] | |
arising from a type equality p_aXZ[tau:2] a_aY1[tau:2] b_aY2[tau:2] | |
-> Dict (Ob p_aXZ[tau:2] a_aY1[tau:2]) | |
~ | |
p_aXT[sk:2] a_aXW[sk:2] b_aXX[sk:2] | |
-> Dict (Ob p_aXT[sk:2] a_aXW[sk:2]) | |
u_tys | |
tclvl 2 | |
p_aXT[sk:2] a_aXW[sk:2] ~ p_aXZ[tau:2] a_aY1[tau:2] | |
arising from a type equality p_aXZ[tau:2] a_aY1[tau:2] b_aY2[tau:2] | |
-> Dict (Ob p_aXZ[tau:2] a_aY1[tau:2]) | |
~ | |
p_aXT[sk:2] a_aXW[sk:2] b_aXX[sk:2] | |
-> Dict (Ob p_aXT[sk:2] a_aXW[sk:2]) | |
u_tys | |
tclvl 2 | |
p_aXT[sk:2] ~ p_aXZ[tau:2] | |
arising from a type equality p_aXZ[tau:2] a_aY1[tau:2] b_aY2[tau:2] | |
-> Dict (Ob p_aXZ[tau:2] a_aY1[tau:2]) | |
~ | |
p_aXT[sk:2] a_aXW[sk:2] b_aXX[sk:2] | |
-> Dict (Ob p_aXT[sk:2] a_aXW[sk:2]) | |
u_tys | |
tclvl 2 | |
i_aXS[sk:2] -> i_aXS[sk:2] -> * ~ i_aXY[tau:2] -> i_aXY[tau:2] -> * | |
arising from a kind equality arising from | |
p_aXZ[tau:2] ~ p_aXT[sk:2] | |
u_tys | |
tclvl 2 | |
i_aXS[sk:2] ~ i_aXY[tau:2] | |
arising from a kind equality arising from | |
p_aXZ[tau:2] ~ p_aXT[sk:2] | |
u_tys | |
tclvl 2 | |
* ~ * | |
arising from a kind equality arising from | |
i_aXY[tau:2] ~ i_aXS[sk:2] | |
u_tys | |
tclvl 2 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aXY[tau:2] ~ i_aXS[sk:2] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aXY[tau:2] := i_aXS[sk:2] | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
i_aXS[sk:2] -> * ~ i_aXY[tau:2] -> * | |
arising from a kind equality arising from | |
p_aXZ[tau:2] ~ p_aXT[sk:2] | |
u_tys | |
tclvl 2 | |
i_aXS[sk:2] ~ i_aXY[tau:2] | |
arising from a kind equality arising from | |
p_aXZ[tau:2] ~ p_aXT[sk:2] | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
* ~ * | |
arising from a kind equality arising from | |
p_aXZ[tau:2] ~ p_aXT[sk:2] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar p_aXZ[tau:2] := p_aXT[sk:2] | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
a_aXW[sk:2] ~ a_aY1[tau:2] | |
arising from a type equality p_aXZ[tau:2] a_aY1[tau:2] b_aY2[tau:2] | |
-> Dict (Ob p_aXZ[tau:2] a_aY1[tau:2]) | |
~ | |
p_aXT[sk:2] a_aXW[sk:2] b_aXX[sk:2] | |
-> Dict (Ob p_aXT[sk:2] a_aXW[sk:2]) | |
u_tys | |
tclvl 2 | |
i_aXS[sk:2] ~ i_aXS[sk:2] | |
arising from a kind equality arising from | |
a_aY1[tau:2] ~ a_aXW[sk:2] | |
u_tys yields no coercion | |
writeMetaTyVar a_aY1[tau:2] := a_aXW[sk:2] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
b_aXX[sk:2] ~ b_aY2[tau:2] | |
arising from a type equality p_aXZ[tau:2] a_aY1[tau:2] b_aY2[tau:2] | |
-> Dict (Ob p_aXZ[tau:2] a_aY1[tau:2]) | |
~ | |
p_aXT[sk:2] a_aXW[sk:2] b_aXX[sk:2] | |
-> Dict (Ob p_aXT[sk:2] a_aXW[sk:2]) | |
u_tys | |
tclvl 2 | |
i_aXS[sk:2] ~ i_aXS[sk:2] | |
arising from a kind equality arising from | |
b_aY2[tau:2] ~ b_aXX[sk:2] | |
u_tys yields no coercion | |
writeMetaTyVar b_aY2[tau:2] := b_aXX[sk:2] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
newTcEvBinds unique = aY4 | |
simplifyAmbiguityCheck { | |
type = forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). p a b -> Dict (Ob p a) | |
wanted = WC {wc_impl = | |
Implic { | |
TcLevel = 2 | |
Skolems = i_aXS[sk:2] | |
(p_aXT[sk:2] :: i_aXS[sk:2] -> i_aXS[sk:2] -> *) | |
(a_aXW[sk:2] :: i_aXS[sk:2]) | |
(b_aXX[sk:2] :: i_aXS[sk:2]) | |
No-eqs = False | |
Status = Unsolved | |
Given = $dCategory_aXU :: Category p_aXT[sk:2] | |
Wanted = | |
WC {wc_simple = | |
[WD] $dCategory_aY0 {0}:: Category p_aXZ[tau:2] (CNonCanonical) | |
[WD] hole{aY3} {0}:: (Ob p_aXZ[tau:2] a_aY1[tau:2] :: Constraint) | |
GHC.Prim.~# | |
(Ob | |
p_aXT[sk:2] | |
a_aXW[sk:2] :: Constraint) (CNonCanonical)} | |
Binds = EvBindsVar<aY4> | |
Needed = [] | |
the type signature for: | |
source :: Category p_aXT[sk:2] => | |
p_aXT[sk:2] a_aXW[sk:2] b_aXX[sk:2] | |
-> Dict (Ob p_aXT[sk:2] a_aXW[sk:2]) }} | |
newTcEvBinds unique = aY5 | |
solveWanteds { | |
WC {wc_impl = | |
Implic { | |
TcLevel = 2 | |
Skolems = i_aXS[sk:2] | |
(p_aXT[sk:2] :: i_aXS[sk:2] -> i_aXS[sk:2] -> *) | |
(a_aXW[sk:2] :: i_aXS[sk:2]) | |
(b_aXX[sk:2] :: i_aXS[sk:2]) | |
No-eqs = False | |
Status = Unsolved | |
Given = $dCategory_aXU :: Category p_aXT[sk:2] | |
Wanted = | |
WC {wc_simple = | |
[WD] $dCategory_aY0 {0}:: Category p_aXZ[tau:2] (CNonCanonical) | |
[WD] hole{aY3} {0}:: (Ob p_aXZ[tau:2] a_aY1[tau:2] :: Constraint) | |
GHC.Prim.~# | |
(Ob p_aXT[sk:2] a_aXW[sk:2] :: Constraint) (CNonCanonical)} | |
Binds = EvBindsVar<aY4> | |
Needed = [] | |
the type signature for: | |
source :: Category p_aXT[sk:2] => | |
p_aXT[sk:2] a_aXW[sk:2] b_aXX[sk:2] | |
-> Dict (Ob p_aXT[sk:2] a_aXW[sk:2]) }} | |
solveSimpleWanteds { {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveNestedImplications starting { | |
solveImplication { | |
Implic { | |
TcLevel = 2 | |
Skolems = i_aXS[sk:2] | |
(p_aXT[sk:2] :: i_aXS[sk:2] -> i_aXS[sk:2] -> *) | |
(a_aXW[sk:2] :: i_aXS[sk:2]) | |
(b_aXX[sk:2] :: i_aXS[sk:2]) | |
No-eqs = False | |
Status = Unsolved | |
Given = $dCategory_aXU :: Category p_aXT[sk:2] | |
Wanted = | |
WC {wc_simple = | |
[WD] $dCategory_aY0 {0}:: Category p_aXZ[tau:2] (CNonCanonical) | |
[WD] hole{aY3} {0}:: (Ob p_aXZ[tau:2] a_aY1[tau:2] :: Constraint) | |
GHC.Prim.~# | |
(Ob p_aXT[sk:2] a_aXW[sk:2] :: Constraint) (CNonCanonical)} | |
Binds = EvBindsVar<aY4> | |
Needed = [] | |
the type signature for: | |
source :: Category p_aXT[sk:2] => | |
p_aXT[sk:2] a_aXW[sk:2] b_aXX[sk:2] | |
-> Dict (Ob p_aXT[sk:2] a_aXW[sk:2]) } | |
Inerts {Unsolved goals = 0} | |
solveSimpleGivens { | |
[[G] $dCategory_aXU {0}:: Category p_aXT[sk:2] (CNonCanonical)] | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] $dCategory_aXU {0}:: Category | |
p_aXT[sk:2] (CNonCanonical) | |
inerts = {Unsolved goals = 0} | |
rest of worklist = WL {} | |
runStage canonicalization { | |
workitem = [G] $dCategory_aXU {0}:: Category | |
p_aXT[sk:2] (CNonCanonical) | |
canonicalize (non-canonical) | |
[G] $dCategory_aXU {0}:: Category p_aXT[sk:2] (CNonCanonical) | |
canEvNC:cls Category [i_aXS[sk:2], p_aXT[sk:2]] | |
addTcEvBind | |
aY4 | |
[G] $dFunctor_aY6 = sc(($dCategory_aXU, 0)) | |
mk_superclasses_of | |
Functor [i_aXS[sk:2], i_aXS[sk:2] -> *, Op p_aXT[sk:2], | |
Nat p_aXT[sk:2] (->), p_aXT[sk:2]] | |
False | |
[rKp :-> Category] | |
addTcEvBind | |
aY4 | |
[G] $dCategory_aY7 = sc(($dFunctor_aY6, 0)) | |
addTcEvBind | |
aY4 | |
[G] $dCategory_aY8 = sc(($dFunctor_aY6, 1)) | |
mk_superclasses_of: loop Category [i_aXS[sk:2], Op p_aXT[sk:2]] | |
mk_superclasses_of: loop | |
Category [i_aXS[sk:2] -> *, Nat p_aXT[sk:2] (->)] | |
Emitting fresh work | |
[G] $dFunctor_aY6 {0}:: Functor | |
(Op p_aXT[sk:2]) (Nat p_aXT[sk:2] (->)) p_aXT[sk:2] (CDictCan) | |
[G] $dCategory_aY7 {0}:: Category (Op p_aXT[sk:2]) (CDictCan(psc)) | |
[G] $dCategory_aY8 {0}:: Category | |
(Nat p_aXT[sk:2] (->)) (CDictCan(psc)) | |
flatten_many { | |
i_aXS[sk:2] | |
p_aXT[sk:2] | |
Unfilled tyvar i_aXS[sk:2] | |
Unfilled tyvar p_aXT[sk:2] | |
Unfilled tyvar i_aXS[sk:2] | |
Unfilled tyvar i_aXS[sk:2] | |
flatten } | |
i_aXS[sk:2] | |
p_aXT[sk:2] | |
canClass | |
[G] $dCategory_aXU {0}:: Category p_aXT[sk:2] | |
Category p_aXT[sk:2] | |
ContinueWith [G] $dCategory_aXU {0}:: Category p_aXT[sk:2] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] $dCategory_aXU {0}:: Category | |
p_aXT[sk:2] (CDictCan) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] $dCategory_aXU {0}:: Category | |
p_aXT[sk:2] (CDictCan) | |
doTopReact [G] $dCategory_aXU {0}:: Category p_aXT[sk:2] (CDictCan) | |
try_fundeps | |
[G] $dCategory_aXU {0}:: Category p_aXT[sk:2] (CDictCan) | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] $dCategory_aXU {0}:: Category | |
p_aXT[sk:2] (CDictCan) | |
addInertCan } | |
Step 1[l:2,d:0] Kept as inert: | |
[G] $dCategory_aXU {0}:: Category p_aXT[sk:2] | |
End solver pipeline (kept as inert) } | |
final_item = [G] $dCategory_aXU {0}:: Category | |
p_aXT[sk:2] (CDictCan) | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] $dFunctor_aY6 {0}:: Functor | |
(Op p_aXT[sk:2]) | |
(Nat p_aXT[sk:2] (->)) | |
p_aXT[sk:2] (CDictCan) | |
inerts = {Dictionaries = [G] $dCategory_aXU {0}:: Category | |
p_aXT[sk:2] (CDictCan) | |
Unsolved goals = 0} | |
rest of worklist = WL {Non-eqs = [G] $dCategory_aY7 {0}:: Category | |
(Op p_aXT[sk:2]) (CDictCan(psc)) | |
[G] $dCategory_aY8 {0}:: Category | |
(Nat | |
p_aXT[sk:2] (->)) (CDictCan(psc))} | |
runStage canonicalization { | |
workitem = [G] $dFunctor_aY6 {0}:: Functor | |
(Op p_aXT[sk:2]) | |
(Nat p_aXT[sk:2] (->)) | |
p_aXT[sk:2] (CDictCan) | |
flatten_many { | |
i_aXS[sk:2] | |
i_aXS[sk:2] -> * | |
Op p_aXT[sk:2] | |
Nat p_aXT[sk:2] (->) | |
p_aXT[sk:2] | |
Unfilled tyvar i_aXS[sk:2] | |
Unfilled tyvar i_aXS[sk:2] | |
matchFamTcM | |
Matching: Op p_aXT[sk:2] | |
Match failed | |
Unfilled tyvar i_aXS[sk:2] | |
Unfilled tyvar i_aXS[sk:2] | |
Unfilled tyvar p_aXT[sk:2] | |
Unfilled tyvar i_aXS[sk:2] | |
Unfilled tyvar i_aXS[sk:2] | |
matchFamTcM | |
Matching: Op p_aXT[sk:2] | |
Match failed | |
addTcEvBind | |
aY4 | |
[G] cobox_aYa = CO <Op p_aXT[sk:2]>_N | |
extendFlatCache | |
Op [i_aXS[sk:2], i_aXS[sk:2], p_aXT[sk:2]] | |
[G] | |
fsk_aY9[fsk] | |
flatten/flat-cache miss | |
Op [i_aXS[sk:2], i_aXS[sk:2], p_aXT[sk:2]] | |
fsk_aY9[fsk] | |
[G] cobox_aYa {0}:: (Op p_aXT[sk:2] :: (i_aXS[sk:2] | |
-> i_aXS[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aY9[fsk] :: (i_aXS[sk:2] -> i_aXS[sk:2] -> *)) | |
Unfilled tyvar i_aXS[sk:2] | |
Unfilled tyvar p_aXT[sk:2] | |
Unfilled tyvar i_aXS[sk:2] | |
Unfilled tyvar i_aXS[sk:2] | |
Unfilled tyvar p_aXT[sk:2] | |
Unfilled tyvar i_aXS[sk:2] | |
Unfilled tyvar i_aXS[sk:2] | |
flatten } | |
i_aXS[sk:2] | |
i_aXS[sk:2] -> * | |
fsk_aY9[fsk] | |
Nat p_aXT[sk:2] (->) | |
p_aXT[sk:2] | |
canClass | |
[G] $dFunctor_aY6 {0}:: Functor | |
(Op p_aXT[sk:2]) (Nat p_aXT[sk:2] (->)) p_aXT[sk:2] | |
Functor fsk_aY9[fsk] (Nat p_aXT[sk:2] (->)) p_aXT[sk:2] | |
ContinueWith [G] $dFunctor_aY6 {0}:: Functor | |
fsk_aY9[fsk] (Nat p_aXT[sk:2] (->)) p_aXT[sk:2] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] $dFunctor_aY6 {0}:: Functor | |
fsk_aY9[fsk] (Nat p_aXT[sk:2] (->)) p_aXT[sk:2] (CDictCan) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] $dFunctor_aY6 {0}:: Functor | |
fsk_aY9[fsk] (Nat p_aXT[sk:2] (->)) p_aXT[sk:2] (CDictCan) | |
doTopReact | |
[G] $dFunctor_aY6 {0}:: Functor | |
fsk_aY9[fsk] (Nat p_aXT[sk:2] (->)) p_aXT[sk:2] (CDictCan) | |
try_fundeps | |
[G] $dFunctor_aY6 {0}:: Functor | |
fsk_aY9[fsk] (Nat p_aXT[sk:2] (->)) p_aXT[sk:2] (CDictCan) | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] $dFunctor_aY6 {0}:: Functor | |
fsk_aY9[fsk] | |
(Nat p_aXT[sk:2] (->)) | |
p_aXT[sk:2] (CDictCan) | |
addInertCan } | |
Step 2[l:2,d:0] Kept as inert: | |
[G] $dFunctor_aY6 {0}:: Functor | |
fsk_aY9[fsk] (Nat p_aXT[sk:2] (->)) p_aXT[sk:2] | |
End solver pipeline (kept as inert) } | |
final_item = [G] $dFunctor_aY6 {0}:: Functor | |
fsk_aY9[fsk] (Nat p_aXT[sk:2] (->)) p_aXT[sk:2] (CDictCan) | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] cobox_aYa {0}:: (Op p_aXT[sk:2] :: (i_aXS[sk:2] | |
-> i_aXS[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aY9[fsk] :: (i_aXS[sk:2] -> i_aXS[sk:2] -> *)) (CFunEqCan) | |
inerts = {Dictionaries = [G] $dCategory_aXU {0}:: Category | |
p_aXT[sk:2] (CDictCan) | |
[G] $dFunctor_aY6 {0}:: Functor | |
fsk_aY9[fsk] | |
(Nat p_aXT[sk:2] (->)) | |
p_aXT[sk:2] (CDictCan) | |
Unsolved goals = 0} | |
rest of worklist = WL {Non-eqs = [G] $dCategory_aY7 {0}:: Category | |
(Op p_aXT[sk:2]) (CDictCan(psc)) | |
[G] $dCategory_aY8 {0}:: Category | |
(Nat | |
p_aXT[sk:2] (->)) (CDictCan(psc))} | |
runStage canonicalization { | |
workitem = [G] cobox_aYa {0}:: (Op p_aXT[sk:2] :: (i_aXS[sk:2] | |
-> i_aXS[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aY9[fsk] :: (i_aXS[sk:2] -> i_aXS[sk:2] -> *)) (CFunEqCan) | |
flatten_many { | |
i_aXS[sk:2] | |
i_aXS[sk:2] | |
p_aXT[sk:2] | |
Unfilled tyvar i_aXS[sk:2] | |
Unfilled tyvar i_aXS[sk:2] | |
Unfilled tyvar p_aXT[sk:2] | |
Unfilled tyvar i_aXS[sk:2] | |
Unfilled tyvar i_aXS[sk:2] | |
flatten } | |
i_aXS[sk:2] | |
i_aXS[sk:2] | |
p_aXT[sk:2] | |
extendFlatCache | |
Op [i_aXS[sk:2], i_aXS[sk:2], p_aXT[sk:2]] | |
[G] | |
fsk_aY9[fsk] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] cobox_aYa {0}:: (Op p_aXT[sk:2] :: (i_aXS[sk:2] | |
-> i_aXS[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aY9[fsk] :: (i_aXS[sk:2] -> i_aXS[sk:2] -> *)) (CFunEqCan) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] cobox_aYa {0}:: (Op p_aXT[sk:2] :: (i_aXS[sk:2] | |
-> i_aXS[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aY9[fsk] :: (i_aXS[sk:2] -> i_aXS[sk:2] -> *)) (CFunEqCan) | |
doTopReact | |
[G] cobox_aYa {0}:: (Op p_aXT[sk:2] :: (i_aXS[sk:2] | |
-> i_aXS[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aY9[fsk] :: (i_aXS[sk:2] -> i_aXS[sk:2] -> *)) (CFunEqCan) | |
matchFamTcM | |
Matching: Op p_aXT[sk:2] | |
Match failed | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] cobox_aYa {0}:: (Op | |
p_aXT[sk:2] :: (i_aXS[sk:2] | |
-> i_aXS[sk:2] | |
-> *)) | |
GHC.Prim.~# | |
(fsk_aY9[fsk] :: (i_aXS[sk:2] | |
-> i_aXS[sk:2] | |
-> *)) (CFunEqCan) | |
addInertCan } | |
Step 3[l:2,d:0] Kept as inert: | |
[G] cobox_aYa {0}:: (Op p_aXT[sk:2] :: (i_aXS[sk:2] | |
-> i_aXS[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aY9[fsk] :: (i_aXS[sk:2] -> i_aXS[sk:2] -> *)) | |
End solver pipeline (kept as inert) } | |
final_item = [G] cobox_aYa {0}:: (Op p_aXT[sk:2] :: (i_aXS[sk:2] | |
-> i_aXS[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aY9[fsk] :: (i_aXS[sk:2] -> i_aXS[sk:2] -> *)) (CFunEqCan) | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] $dCategory_aY7 {0}:: Category | |
(Op p_aXT[sk:2]) (CDictCan(psc)) | |
inerts = {Type-function equalities = [G] cobox_aYa {0}:: (Op | |
p_aXT[sk:2] :: (i_aXS[sk:2] | |
-> i_aXS[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aY9[fsk] :: (i_aXS[sk:2] | |
-> i_aXS[sk:2] | |
-> *)) (CFunEqCan) | |
Dictionaries = [G] $dCategory_aXU {0}:: Category | |
p_aXT[sk:2] (CDictCan) | |
[G] $dFunctor_aY6 {0}:: Functor | |
fsk_aY9[fsk] | |
(Nat p_aXT[sk:2] (->)) | |
p_aXT[sk:2] (CDictCan) | |
Unsolved goals = 0} | |
rest of worklist = WL {Non-eqs = [G] $dCategory_aY8 {0}:: Category | |
(Nat | |
p_aXT[sk:2] (->)) (CDictCan(psc))} | |
runStage canonicalization { | |
workitem = [G] $dCategory_aY7 {0}:: Category | |
(Op p_aXT[sk:2]) (CDictCan(psc)) | |
flatten_many { | |
i_aXS[sk:2] | |
Op p_aXT[sk:2] | |
Unfilled tyvar i_aXS[sk:2] | |
matchFamTcM | |
Matching: Op p_aXT[sk:2] | |
Match failed | |
Unfilled tyvar i_aXS[sk:2] | |
Unfilled tyvar i_aXS[sk:2] | |
Unfilled tyvar p_aXT[sk:2] | |
Unfilled tyvar i_aXS[sk:2] | |
Unfilled tyvar i_aXS[sk:2] | |
flatten/flat-cache hit | |
Op [i_aXS[sk:2], i_aXS[sk:2], p_aXT[sk:2]] | |
fsk_aY9[fsk] | |
Unfilled tyvar fsk_aY9[fsk] | |
Unfilled tyvar i_aXS[sk:2] | |
Unfilled tyvar i_aXS[sk:2] | |
flatten } | |
i_aXS[sk:2] | |
fsk_aY9[fsk] | |
addTcEvBind | |
aY4 | |
[G] $dCategory_aYb | |
= $dCategory_aY7 `cast` (Sub | |
(Sym (Category <i_aXS[sk:2]>_N (Sym cobox))_N)) | |
canClass | |
[G] $dCategory_aY7 {0}:: Category (Op p_aXT[sk:2]) | |
Category fsk_aY9[fsk] | |
ContinueWith [G] $dCategory_aYb {0}:: Category fsk_aY9[fsk] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] $dCategory_aYb {0}:: Category | |
fsk_aY9[fsk] (CDictCan(psc)) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] $dCategory_aYb {0}:: Category | |
fsk_aY9[fsk] (CDictCan(psc)) | |
doTopReact | |
[G] $dCategory_aYb {0}:: Category fsk_aY9[fsk] (CDictCan(psc)) | |
try_fundeps | |
[G] $dCategory_aYb {0}:: Category fsk_aY9[fsk] (CDictCan(psc)) | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] $dCategory_aYb {0}:: Category | |
fsk_aY9[fsk] (CDictCan(psc)) | |
addInertCan } | |
Step 4[l:2,d:0] Kept as inert: | |
[G] $dCategory_aYb {0}:: Category fsk_aY9[fsk] | |
End solver pipeline (kept as inert) } | |
final_item = [G] $dCategory_aYb {0}:: Category | |
fsk_aY9[fsk] (CDictCan(psc)) | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] $dCategory_aY8 {0}:: Category | |
(Nat p_aXT[sk:2] (->)) (CDictCan(psc)) | |
inerts = {Type-function equalities = [G] cobox_aYa {0}:: (Op | |
p_aXT[sk:2] :: (i_aXS[sk:2] | |
-> i_aXS[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aY9[fsk] :: (i_aXS[sk:2] | |
-> i_aXS[sk:2] | |
-> *)) (CFunEqCan) | |
Dictionaries = [G] $dFunctor_aY6 {0}:: Functor | |
fsk_aY9[fsk] | |
(Nat p_aXT[sk:2] (->)) | |
p_aXT[sk:2] (CDictCan) | |
[G] $dCategory_aXU {0}:: Category p_aXT[sk:2] (CDictCan) | |
[G] $dCategory_aYb {0}:: Category fsk_aY9[fsk] (CDictCan(psc)) | |
Unsolved goals = 0} | |
rest of worklist = WL {} | |
runStage canonicalization { | |
workitem = [G] $dCategory_aY8 {0}:: Category | |
(Nat p_aXT[sk:2] (->)) (CDictCan(psc)) | |
flatten_many { | |
i_aXS[sk:2] -> * | |
Nat p_aXT[sk:2] (->) | |
Unfilled tyvar i_aXS[sk:2] | |
Unfilled tyvar i_aXS[sk:2] | |
Unfilled tyvar p_aXT[sk:2] | |
Unfilled tyvar i_aXS[sk:2] | |
Unfilled tyvar i_aXS[sk:2] | |
flatten } | |
i_aXS[sk:2] -> * | |
Nat p_aXT[sk:2] (->) | |
canClass | |
[G] $dCategory_aY8 {0}:: Category (Nat p_aXT[sk:2] (->)) | |
Category (Nat p_aXT[sk:2] (->)) | |
ContinueWith [G] $dCategory_aY8 {0}:: Category | |
(Nat p_aXT[sk:2] (->)) | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] $dCategory_aY8 {0}:: Category | |
(Nat p_aXT[sk:2] (->)) (CDictCan(psc)) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] $dCategory_aY8 {0}:: Category | |
(Nat p_aXT[sk:2] (->)) (CDictCan(psc)) | |
doTopReact | |
[G] $dCategory_aY8 {0}:: Category | |
(Nat p_aXT[sk:2] (->)) (CDictCan(psc)) | |
try_fundeps | |
[G] $dCategory_aY8 {0}:: Category | |
(Nat p_aXT[sk:2] (->)) (CDictCan(psc)) | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] $dCategory_aY8 {0}:: Category | |
(Nat | |
p_aXT[sk:2] | |
(->)) (CDictCan(psc)) | |
addInertCan } | |
Step 5[l:2,d:0] Kept as inert: | |
[G] $dCategory_aY8 {0}:: Category (Nat p_aXT[sk:2] (->)) | |
End solver pipeline (kept as inert) } | |
final_item = [G] $dCategory_aY8 {0}:: Category | |
(Nat p_aXT[sk:2] (->)) (CDictCan(psc)) | |
End solveSimpleGivens } | |
solveWanteds { | |
WC {wc_simple = | |
[WD] $dCategory_aY0 {0}:: Category p_aXZ[tau:2] (CNonCanonical) | |
[WD] hole{aY3} {0}:: (Ob p_aXZ[tau:2] a_aY1[tau:2] :: Constraint) | |
GHC.Prim.~# | |
(Ob p_aXT[sk:2] a_aXW[sk:2] :: Constraint) (CNonCanonical)} | |
solveSimpleWanteds { | |
{[WD] $dCategory_aY0 {0}:: Category p_aXZ[tau:2] (CNonCanonical), | |
[WD] hole{aY3} {0}:: (Ob p_aXZ[tau:2] a_aY1[tau:2] :: Constraint) | |
GHC.Prim.~# | |
(Ob p_aXT[sk:2] a_aXW[sk:2] :: Constraint) (CNonCanonical)} | |
----------------------------- | |
Start solver pipeline { | |
work item = [WD] hole{aY3} {0}:: (Ob | |
p_aXZ[tau:2] a_aY1[tau:2] :: Constraint) | |
GHC.Prim.~# | |
(Ob p_aXT[sk:2] a_aXW[sk:2] :: Constraint) (CNonCanonical) | |
inerts = {Type-function equalities = [G] cobox_aYa {0}:: (Op | |
p_aXT[sk:2] :: (i_aXS[sk:2] | |
-> i_aXS[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aY9[fsk] :: (i_aXS[sk:2] | |
-> i_aXS[sk:2] | |
-> *)) (CFunEqCan) | |
Dictionaries = [G] $dFunctor_aY6 {0}:: Functor | |
fsk_aY9[fsk] | |
(Nat p_aXT[sk:2] (->)) | |
p_aXT[sk:2] (CDictCan) | |
[G] $dCategory_aXU {0}:: Category p_aXT[sk:2] (CDictCan) | |
[G] $dCategory_aYb {0}:: Category fsk_aY9[fsk] (CDictCan(psc)) | |
[G] $dCategory_aY8 {0}:: Category | |
(Nat p_aXT[sk:2] (->)) (CDictCan(psc)) | |
Unsolved goals = 0} | |
rest of worklist = WL {Non-eqs = [WD] $dCategory_aY0 {0}:: Category | |
p_aXZ[tau:2] (CNonCanonical)} | |
runStage canonicalization { | |
workitem = [WD] hole{aY3} {0}:: (Ob | |
p_aXZ[tau:2] a_aY1[tau:2] :: Constraint) | |
GHC.Prim.~# | |
(Ob p_aXT[sk:2] a_aXW[sk:2] :: Constraint) (CNonCanonical) | |
canonicalize (non-canonical) | |
[WD] hole{aY3} {0}:: (Ob p_aXZ[tau:2] a_aY1[tau:2] :: Constraint) | |
GHC.Prim.~# | |
(Ob p_aXT[sk:2] a_aXW[sk:2] :: Constraint) (CNonCanonical) | |
canEvNC:eq | |
Ob p_aXZ[tau:2] a_aY1[tau:2] | |
Ob p_aXT[sk:2] a_aXW[sk:2] | |
Filling coercion hole aY3 := <Ob p_aXT[sk:2] a_aXW[sk:2]>_N | |
end stage canonicalization } | |
Step 6[l:2,d:0] Solved by reflexivity: | |
[WD] hole{aY3} {0}:: (Ob p_aXZ[tau:2] a_aY1[tau:2] :: Constraint) | |
GHC.Prim.~# | |
(Ob p_aXT[sk:2] a_aXW[sk:2] :: Constraint) | |
End solver pipeline (discharged) } | |
----------------------------- | |
Start solver pipeline { | |
work item = [WD] $dCategory_aY0 {0}:: Category | |
p_aXZ[tau:2] (CNonCanonical) | |
inerts = {Type-function equalities = [G] cobox_aYa {0}:: (Op | |
p_aXT[sk:2] :: (i_aXS[sk:2] | |
-> i_aXS[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aY9[fsk] :: (i_aXS[sk:2] | |
-> i_aXS[sk:2] | |
-> *)) (CFunEqCan) | |
Dictionaries = [G] $dFunctor_aY6 {0}:: Functor | |
fsk_aY9[fsk] | |
(Nat p_aXT[sk:2] (->)) | |
p_aXT[sk:2] (CDictCan) | |
[G] $dCategory_aXU {0}:: Category p_aXT[sk:2] (CDictCan) | |
[G] $dCategory_aYb {0}:: Category fsk_aY9[fsk] (CDictCan(psc)) | |
[G] $dCategory_aY8 {0}:: Category | |
(Nat p_aXT[sk:2] (->)) (CDictCan(psc)) | |
Unsolved goals = 0} | |
rest of worklist = WL {} | |
runStage canonicalization { | |
workitem = [WD] $dCategory_aY0 {0}:: Category | |
p_aXZ[tau:2] (CNonCanonical) | |
canonicalize (non-canonical) | |
[WD] $dCategory_aY0 {0}:: Category p_aXZ[tau:2] (CNonCanonical) | |
canEvNC:cls Category [i_aXY[tau:2], p_aXZ[tau:2]] | |
flatten_many { | |
i_aXY[tau:2] | |
p_aXZ[tau:2] | |
Following filled tyvar i_aXY[tau:2] = i_aXS[sk:2] | |
Unfilled tyvar i_aXS[sk:2] | |
Following filled tyvar p_aXZ[tau:2] = p_aXT[sk:2] | |
Unfilled tyvar p_aXT[sk:2] | |
Unfilled tyvar i_aXS[sk:2] | |
Unfilled tyvar i_aXS[sk:2] | |
flatten } | |
i_aXS[sk:2] | |
p_aXT[sk:2] | |
canClass | |
[WD] $dCategory_aY0 {0}:: Category p_aXZ[tau:2] | |
Category p_aXT[sk:2] | |
ContinueWith [WD] $dCategory_aY0 {0}:: Category p_aXT[sk:2] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [WD] $dCategory_aY0 {0}:: Category | |
p_aXT[sk:2] (CDictCan(psc)) | |
addTcEvBind | |
aY4 | |
[W] $dCategory_aY0 = $dCategory_aXU | |
end stage interact with inerts } | |
Step 7[l:2,d:0] Dict equal (keep): | |
[WD] $dCategory_aY0 {0}:: Category p_aXT[sk:2] | |
End solver pipeline (discharged) } | |
getUnsolvedInerts | |
tv eqs = {} | |
fun eqs = {} | |
insols = {} | |
others = {} | |
implics = {} | |
Unflattening | |
{Funeqs = | |
Tv eqs =} | |
Unflattening 1 {} | |
Unflattening 2 {} | |
Unflattening 3 {} | |
Unflattening done {} | |
zonkSimples done: {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {[G] $dFunctor_aY6 = sc(($dCategory_aXU, 0)), | |
[G] $dCategory_aY7 = sc(($dFunctor_aY6, 0)), | |
[G] $dCategory_aY8 = sc(($dFunctor_aY6, 1)), | |
[G] cobox_aYa = CO <Op p_aXT[sk:2]>_N, | |
[G] $dCategory_aYb | |
= $dCategory_aY7 `cast` (Sub | |
(Sym (Category <i_aXS[sk:2]>_N (Sym cobox))_N)), | |
[W] $dCategory_aY0 = $dCategory_aXU} | |
getNoGivenEqs | |
False | |
{Type-function equalities = [G] cobox_aYa {0}:: (Op | |
p_aXT[sk:2] :: (i_aXS[sk:2] | |
-> i_aXS[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aY9[fsk] :: (i_aXS[sk:2] | |
-> i_aXS[sk:2] | |
-> *)) (CFunEqCan) | |
Dictionaries = [G] $dFunctor_aY6 {0}:: Functor | |
fsk_aY9[fsk] | |
(Nat p_aXT[sk:2] (->)) | |
p_aXT[sk:2] (CDictCan) | |
[G] $dCategory_aXU {0}:: Category p_aXT[sk:2] (CDictCan) | |
[G] $dCategory_aYb {0}:: Category fsk_aY9[fsk] (CDictCan(psc)) | |
[G] $dCategory_aY8 {0}:: Category | |
(Nat p_aXT[sk:2] (->)) (CDictCan(psc)) | |
Unsolved goals = 0} | |
{} | |
floatEqualities | |
Skols = [i_aXS[sk:2], p_aXT[sk:2], a_aXW[sk:2], b_aXX[sk:2]] | |
Simples = {} | |
Floated eqs = {} | |
solveImplication 2 | |
{} | |
WC {} | |
setImplicationStatus 2 | |
[$dCategory_aXU] | |
([aY6 :-> [G] $dFunctor_aY6 = sc(($dCategory_aXU, 0)), | |
aY7 :-> [G] $dCategory_aY7 = sc(($dFunctor_aY6, 0)), | |
aY8 :-> [G] $dCategory_aY8 = sc(($dFunctor_aY6, 1)), | |
aYa :-> [G] cobox_aYa = CO <Op p_aXT[sk:2]>_N, | |
aYb :-> [G] $dCategory_aYb | |
= $dCategory_aY7 `cast` (Sub | |
(Sym (Category <i_aXS[sk:2]>_N (Sym cobox))_N)), | |
aY0 :-> [W] $dCategory_aY0 = $dCategory_aXU], | |
[]) | |
[aXU :-> $dCategory_aXU] | |
solveImplication end } | |
no_given_eqs = True | |
floated_eqs = {} | |
res_implic = Nothing | |
implication evbinds = {[G] $dFunctor_aY6 = sc(($dCategory_aXU, 0)), | |
[G] $dCategory_aY7 = sc(($dFunctor_aY6, 0)), | |
[G] $dCategory_aY8 = sc(($dFunctor_aY6, 1)), | |
[G] cobox_aYa = CO <Op p_aXT[sk:2]>_N, | |
[G] $dCategory_aYb | |
= $dCategory_aY7 `cast` (Sub | |
(Sym | |
(Category <i_aXS[sk:2]>_N (Sym cobox))_N)), | |
[W] $dCategory_aY0 = $dCategory_aXU} | |
implication tvcs = [] | |
solveNestedImplications end } | |
all floated_eqs = {} | |
unsolved_implics = {Nothing} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {} | |
Constraint solver steps = 7 | |
End simplifyAmbiguityCheck } | |
reportUnsolved(ambig) { | |
newTcEvBinds unique = aYc | |
reportUnsolved(ambig) } | |
Done ambiguity check for | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). p a b -> Dict (Ob p a) | |
checkValidType done | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). p a b -> Dict (Ob p a) :: * | |
checkValidType | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). | |
(Ob p :: (i -> Constraint)) ~ (Vacuous p :: (i -> Constraint)) => | |
p a b -> Dict (Ob p a) :: * | |
check_type | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). | |
(Ob p :: (i -> Constraint)) ~ (Vacuous p :: (i -> Constraint)) => | |
p a b -> Dict (Ob p a) | |
True | |
check_valid_theta [Category p] | |
check_type | |
forall (a :: i_aL2[sk:1]) (b :: i_aL2[sk:1]). | |
(Ob p_aL3[sk:1] :: (i_aL2[sk:1] -> Constraint)) | |
~ | |
(Vacuous p_aL3[sk:1] :: (i_aL2[sk:1] -> Constraint)) => | |
p_aL3[sk:1] a b -> Dict (Ob p_aL3[sk:1] a) | |
True | |
check_valid_theta | |
[(Ob p_aL3[sk:1] :: (i_aL2[sk:1] -> Constraint)) | |
~ | |
(Vacuous p_aL3[sk:1] :: (i_aL2[sk:1] -> Constraint))] | |
Ambiguity check for | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). | |
(Ob p :: (i -> Constraint)) ~ (Vacuous p :: (i -> Constraint)) => | |
p a b -> Dict (Ob p a) | |
tcSubType_NC | |
the type signature for ‘source’ | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). | |
(Ob p :: (i -> Constraint)) ~ (Vacuous p :: (i -> Constraint)) => | |
p a b -> Dict (Ob p a) | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). | |
(Ob p :: (i -> Constraint)) ~ (Vacuous p :: (i -> Constraint)) => | |
p a b -> Dict (Ob p a) | |
tc_sub_tc_type (general case) | |
ty_actual = forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). | |
(Ob p :: (i -> Constraint)) ~ (Vacuous p :: (i -> Constraint)) => | |
p a b -> Dict (Ob p a) | |
ty_expected = forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). | |
(Ob p :: (i -> Constraint)) ~ (Vacuous p :: (i -> Constraint)) => | |
p a b -> Dict (Ob p a) | |
tcSkolemise | |
tcSkolemise | |
1 | |
expected_ty forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). | |
(Ob p :: (i -> Constraint)) ~ (Vacuous p :: (i -> Constraint)) => | |
p a b -> Dict (Ob p a) | |
inst tyvars [i_aYe[sk:2], p_aYf[sk:2], a_aYi[sk:2], b_aYj[sk:2]] | |
given [$dCategory_aYg, $d~_aYk] | |
inst type p_aYf[sk:2] a_aYi[sk:2] b_aYj[sk:2] | |
-> Dict (Ob p_aYf[sk:2] a_aYi[sk:2]) | |
tc_sub_type_ds | |
ty_actual = forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). | |
(Ob p :: (i -> Constraint)) ~ (Vacuous p :: (i -> Constraint)) => | |
p a b -> Dict (Ob p a) | |
ty_expected = p_aYf[sk:2] a_aYi[sk:2] b_aYj[sk:2] | |
-> Dict (Ob p_aYf[sk:2] a_aYi[sk:2]) | |
instCallConstraints [$dCategory_aYn] | |
Instantiating | |
all tyvars? True | |
origin arising from a type equality forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). | |
(Ob p :: (i -> Constraint)) | |
~ | |
(Vacuous p :: (i -> Constraint)) => | |
p a b -> Dict (Ob p a) | |
~ | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). | |
(Ob p :: (i -> Constraint)) | |
~ | |
(Vacuous p :: (i -> Constraint)) => | |
p a b -> Dict (Ob p a) | |
type forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). | |
(Ob p :: (i -> Constraint)) ~ (Vacuous p :: (i -> Constraint)) => | |
p a b -> Dict (Ob p a) | |
theta [Category p] | |
leave_bndrs [] | |
with [i_aYl[tau:2], p_aYm[tau:2]] | |
theta: [Category p_aYm[tau:2]] | |
instCallConstraints [$d~_aYq] | |
Instantiating | |
all tyvars? True | |
origin arising from a type equality forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). | |
(Ob p :: (i -> Constraint)) | |
~ | |
(Vacuous p :: (i -> Constraint)) => | |
p a b -> Dict (Ob p a) | |
~ | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). | |
(Ob p :: (i -> Constraint)) | |
~ | |
(Vacuous p :: (i -> Constraint)) => | |
p a b -> Dict (Ob p a) | |
type forall (a :: i_aYl[tau:2]) (b :: i_aYl[tau:2]). | |
(Ob p_aYm[tau:2] :: (i_aYl[tau:2] -> Constraint)) | |
~ | |
(Vacuous p_aYm[tau:2] :: (i_aYl[tau:2] -> Constraint)) => | |
p_aYm[tau:2] a b -> Dict (Ob p_aYm[tau:2] a) | |
theta [(Ob p_aYm[tau:2] :: (i_aYl[tau:2] -> Constraint)) | |
~ | |
(Vacuous p_aYm[tau:2] :: (i_aYl[tau:2] -> Constraint))] | |
leave_bndrs [] | |
with [a_aYo[tau:2], b_aYp[tau:2]] | |
theta: [(Ob p_aYm[tau:2] :: (i_aYl[tau:2] -> Constraint)) | |
~ | |
(Vacuous p_aYm[tau:2] :: (i_aYl[tau:2] -> Constraint))] | |
tc_sub_type_ds | |
ty_actual = p_aYm[tau:2] a_aYo[tau:2] b_aYp[tau:2] | |
-> Dict (Ob p_aYm[tau:2] a_aYo[tau:2]) | |
ty_expected = p_aYf[sk:2] a_aYi[sk:2] b_aYj[sk:2] | |
-> Dict (Ob p_aYf[sk:2] a_aYi[sk:2]) | |
tc_sub_type_ds | |
ty_actual = Dict (Ob p_aYm[tau:2] a_aYo[tau:2]) | |
ty_expected = Dict (Ob p_aYf[sk:2] a_aYi[sk:2]) | |
deeply_instantiate final subst | |
origin: arising from a type equality forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). | |
(Ob p :: (i -> Constraint)) | |
~ | |
(Vacuous p :: (i -> Constraint)) => | |
p a b -> Dict (Ob p a) | |
~ | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). | |
(Ob p :: (i -> Constraint)) | |
~ | |
(Vacuous p :: (i -> Constraint)) => | |
p a b -> Dict (Ob p a) | |
type: Dict (Ob p_aYm[tau:2] a_aYo[tau:2]) | |
new type: Dict (Ob p_aYm[tau:2] a_aYo[tau:2]) | |
subst: [TCvSubst | |
In scope: InScope {i_aYl p_aYm a_aYo} | |
Type env: [] | |
Co env: []] | |
u_tys | |
tclvl 2 | |
Dict (Ob p_aYm[tau:2] a_aYo[tau:2]) | |
~ | |
Dict (Ob p_aYf[sk:2] a_aYi[sk:2]) | |
arising from a type equality p_aYm[tau:2] a_aYo[tau:2] b_aYp[tau:2] | |
-> Dict (Ob p_aYm[tau:2] a_aYo[tau:2]) | |
~ | |
p_aYf[sk:2] a_aYi[sk:2] b_aYj[sk:2] | |
-> Dict (Ob p_aYf[sk:2] a_aYi[sk:2]) | |
u_tys | |
tclvl 2 | |
Ob p_aYm[tau:2] a_aYo[tau:2] ~ Ob p_aYf[sk:2] a_aYi[sk:2] | |
arising from a type equality p_aYm[tau:2] a_aYo[tau:2] b_aYp[tau:2] | |
-> Dict (Ob p_aYm[tau:2] a_aYo[tau:2]) | |
~ | |
p_aYf[sk:2] a_aYi[sk:2] b_aYj[sk:2] | |
-> Dict (Ob p_aYf[sk:2] a_aYi[sk:2]) | |
New coercion hole: aYr | |
utype_defer | |
U(hole:{aYr}, Ob p_aYm[tau:2] a_aYo[tau:2], Ob | |
p_aYf[sk:2] a_aYi[sk:2])_N | |
Ob p_aYm[tau:2] a_aYo[tau:2] | |
Ob p_aYf[sk:2] a_aYi[sk:2] | |
arising from a type equality p_aYm[tau:2] a_aYo[tau:2] b_aYp[tau:2] | |
-> Dict (Ob p_aYm[tau:2] a_aYo[tau:2]) | |
~ | |
p_aYf[sk:2] a_aYi[sk:2] b_aYj[sk:2] | |
-> Dict (Ob p_aYf[sk:2] a_aYi[sk:2]) | |
In the ambiguity check for ‘source’ | |
To defer the ambiguity check to use sites, enable AllowAmbiguousTypes | |
When checking the class method: | |
source :: forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). p a b -> Dict (Ob p a) | |
In the class declaration for ‘Category’ | |
u_tys yields coercion: | |
U(hole:{aYr}, Ob p_aYm[tau:2] a_aYo[tau:2], Ob | |
p_aYf[sk:2] a_aYi[sk:2])_N | |
u_tys yields coercion: (Dict {aYr})_N | |
tc_sub_tc_type (general case) | |
ty_actual = p_aYf[sk:2] a_aYi[sk:2] b_aYj[sk:2] | |
ty_expected = p_aYm[tau:2] a_aYo[tau:2] b_aYp[tau:2] | |
tcSkolemise | |
tcSkolemise | |
2 | |
expected_ty p_aYm[tau:2] a_aYo[tau:2] b_aYp[tau:2] | |
inst tyvars [] | |
given [] | |
inst type p_aYm[tau:2] a_aYo[tau:2] b_aYp[tau:2] | |
tc_sub_type_ds | |
ty_actual = p_aYf[sk:2] a_aYi[sk:2] b_aYj[sk:2] | |
ty_expected = p_aYm[tau:2] a_aYo[tau:2] b_aYp[tau:2] | |
deeply_instantiate final subst | |
origin: arising from a type expected by the context: | |
p_aYf[sk:2] a_aYi[sk:2] b_aYj[sk:2] | |
type: p_aYf[sk:2] a_aYi[sk:2] b_aYj[sk:2] | |
new type: p_aYf[sk:2] a_aYi[sk:2] b_aYj[sk:2] | |
subst: [TCvSubst | |
In scope: InScope {i_aYe p_aYf a_aYi b_aYj} | |
Type env: [] | |
Co env: []] | |
u_tys | |
tclvl 2 | |
p_aYf[sk:2] a_aYi[sk:2] b_aYj[sk:2] | |
~ | |
p_aYm[tau:2] a_aYo[tau:2] b_aYp[tau:2] | |
arising from a type equality p_aYm[tau:2] a_aYo[tau:2] b_aYp[tau:2] | |
-> Dict (Ob p_aYm[tau:2] a_aYo[tau:2]) | |
~ | |
p_aYf[sk:2] a_aYi[sk:2] b_aYj[sk:2] | |
-> Dict (Ob p_aYf[sk:2] a_aYi[sk:2]) | |
u_tys | |
tclvl 2 | |
p_aYf[sk:2] a_aYi[sk:2] ~ p_aYm[tau:2] a_aYo[tau:2] | |
arising from a type equality p_aYm[tau:2] a_aYo[tau:2] b_aYp[tau:2] | |
-> Dict (Ob p_aYm[tau:2] a_aYo[tau:2]) | |
~ | |
p_aYf[sk:2] a_aYi[sk:2] b_aYj[sk:2] | |
-> Dict (Ob p_aYf[sk:2] a_aYi[sk:2]) | |
u_tys | |
tclvl 2 | |
p_aYf[sk:2] ~ p_aYm[tau:2] | |
arising from a type equality p_aYm[tau:2] a_aYo[tau:2] b_aYp[tau:2] | |
-> Dict (Ob p_aYm[tau:2] a_aYo[tau:2]) | |
~ | |
p_aYf[sk:2] a_aYi[sk:2] b_aYj[sk:2] | |
-> Dict (Ob p_aYf[sk:2] a_aYi[sk:2]) | |
u_tys | |
tclvl 2 | |
i_aYe[sk:2] -> i_aYe[sk:2] -> * ~ i_aYl[tau:2] -> i_aYl[tau:2] -> * | |
arising from a kind equality arising from | |
p_aYm[tau:2] ~ p_aYf[sk:2] | |
u_tys | |
tclvl 2 | |
i_aYe[sk:2] ~ i_aYl[tau:2] | |
arising from a kind equality arising from | |
p_aYm[tau:2] ~ p_aYf[sk:2] | |
u_tys | |
tclvl 2 | |
* ~ * | |
arising from a kind equality arising from | |
i_aYl[tau:2] ~ i_aYe[sk:2] | |
u_tys | |
tclvl 2 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aYl[tau:2] ~ i_aYe[sk:2] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aYl[tau:2] := i_aYe[sk:2] | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
i_aYe[sk:2] -> * ~ i_aYl[tau:2] -> * | |
arising from a kind equality arising from | |
p_aYm[tau:2] ~ p_aYf[sk:2] | |
u_tys | |
tclvl 2 | |
i_aYe[sk:2] ~ i_aYl[tau:2] | |
arising from a kind equality arising from | |
p_aYm[tau:2] ~ p_aYf[sk:2] | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
* ~ * | |
arising from a kind equality arising from | |
p_aYm[tau:2] ~ p_aYf[sk:2] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar p_aYm[tau:2] := p_aYf[sk:2] | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
a_aYi[sk:2] ~ a_aYo[tau:2] | |
arising from a type equality p_aYm[tau:2] a_aYo[tau:2] b_aYp[tau:2] | |
-> Dict (Ob p_aYm[tau:2] a_aYo[tau:2]) | |
~ | |
p_aYf[sk:2] a_aYi[sk:2] b_aYj[sk:2] | |
-> Dict (Ob p_aYf[sk:2] a_aYi[sk:2]) | |
u_tys | |
tclvl 2 | |
i_aYe[sk:2] ~ i_aYe[sk:2] | |
arising from a kind equality arising from | |
a_aYo[tau:2] ~ a_aYi[sk:2] | |
u_tys yields no coercion | |
writeMetaTyVar a_aYo[tau:2] := a_aYi[sk:2] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
b_aYj[sk:2] ~ b_aYp[tau:2] | |
arising from a type equality p_aYm[tau:2] a_aYo[tau:2] b_aYp[tau:2] | |
-> Dict (Ob p_aYm[tau:2] a_aYo[tau:2]) | |
~ | |
p_aYf[sk:2] a_aYi[sk:2] b_aYj[sk:2] | |
-> Dict (Ob p_aYf[sk:2] a_aYi[sk:2]) | |
u_tys | |
tclvl 2 | |
i_aYe[sk:2] ~ i_aYe[sk:2] | |
arising from a kind equality arising from | |
b_aYp[tau:2] ~ b_aYj[sk:2] | |
u_tys yields no coercion | |
writeMetaTyVar b_aYp[tau:2] := b_aYj[sk:2] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
newTcEvBinds unique = aYs | |
simplifyAmbiguityCheck { | |
type = forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). | |
(Ob p :: (i -> Constraint)) ~ (Vacuous p :: (i -> Constraint)) => | |
p a b -> Dict (Ob p a) | |
wanted = WC {wc_impl = | |
Implic { | |
TcLevel = 2 | |
Skolems = i_aYe[sk:2] | |
(p_aYf[sk:2] :: i_aYe[sk:2] -> i_aYe[sk:2] -> *) | |
(a_aYi[sk:2] :: i_aYe[sk:2]) | |
(b_aYj[sk:2] :: i_aYe[sk:2]) | |
No-eqs = False | |
Status = Unsolved | |
Given = | |
$dCategory_aYg :: Category p_aYf[sk:2] | |
$d~_aYk :: (Ob p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
Wanted = | |
WC {wc_simple = | |
[WD] $dCategory_aYn {0}:: Category p_aYm[tau:2] (CNonCanonical) | |
[WD] $d~_aYq {0}:: (Ob p_aYm[tau:2] :: (i_aYl[tau:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aYm[tau:2] :: (i_aYl[tau:2] | |
-> Constraint)) (CNonCanonical) | |
[WD] hole{aYr} {0}:: (Ob p_aYm[tau:2] a_aYo[tau:2] :: Constraint) | |
GHC.Prim.~# | |
(Ob | |
p_aYf[sk:2] | |
a_aYi[sk:2] :: Constraint) (CNonCanonical)} | |
Binds = EvBindsVar<aYs> | |
Needed = [] | |
the type signature for: | |
source :: (Category p_aYf[sk:2], | |
(Ob p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint))) => | |
p_aYf[sk:2] a_aYi[sk:2] b_aYj[sk:2] | |
-> Dict (Ob p_aYf[sk:2] a_aYi[sk:2]) }} | |
newTcEvBinds unique = aYt | |
solveWanteds { | |
WC {wc_impl = | |
Implic { | |
TcLevel = 2 | |
Skolems = i_aYe[sk:2] | |
(p_aYf[sk:2] :: i_aYe[sk:2] -> i_aYe[sk:2] -> *) | |
(a_aYi[sk:2] :: i_aYe[sk:2]) | |
(b_aYj[sk:2] :: i_aYe[sk:2]) | |
No-eqs = False | |
Status = Unsolved | |
Given = | |
$dCategory_aYg :: Category p_aYf[sk:2] | |
$d~_aYk :: (Ob p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
Wanted = | |
WC {wc_simple = | |
[WD] $dCategory_aYn {0}:: Category p_aYm[tau:2] (CNonCanonical) | |
[WD] $d~_aYq {0}:: (Ob p_aYm[tau:2] :: (i_aYl[tau:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aYm[tau:2] :: (i_aYl[tau:2] | |
-> Constraint)) (CNonCanonical) | |
[WD] hole{aYr} {0}:: (Ob p_aYm[tau:2] a_aYo[tau:2] :: Constraint) | |
GHC.Prim.~# | |
(Ob p_aYf[sk:2] a_aYi[sk:2] :: Constraint) (CNonCanonical)} | |
Binds = EvBindsVar<aYs> | |
Needed = [] | |
the type signature for: | |
source :: (Category p_aYf[sk:2], | |
(Ob p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint))) => | |
p_aYf[sk:2] a_aYi[sk:2] b_aYj[sk:2] | |
-> Dict (Ob p_aYf[sk:2] a_aYi[sk:2]) }} | |
solveSimpleWanteds { {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveNestedImplications starting { | |
solveImplication { | |
Implic { | |
TcLevel = 2 | |
Skolems = i_aYe[sk:2] | |
(p_aYf[sk:2] :: i_aYe[sk:2] -> i_aYe[sk:2] -> *) | |
(a_aYi[sk:2] :: i_aYe[sk:2]) | |
(b_aYj[sk:2] :: i_aYe[sk:2]) | |
No-eqs = False | |
Status = Unsolved | |
Given = | |
$dCategory_aYg :: Category p_aYf[sk:2] | |
$d~_aYk :: (Ob p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
Wanted = | |
WC {wc_simple = | |
[WD] $dCategory_aYn {0}:: Category p_aYm[tau:2] (CNonCanonical) | |
[WD] $d~_aYq {0}:: (Ob p_aYm[tau:2] :: (i_aYl[tau:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aYm[tau:2] :: (i_aYl[tau:2] | |
-> Constraint)) (CNonCanonical) | |
[WD] hole{aYr} {0}:: (Ob p_aYm[tau:2] a_aYo[tau:2] :: Constraint) | |
GHC.Prim.~# | |
(Ob p_aYf[sk:2] a_aYi[sk:2] :: Constraint) (CNonCanonical)} | |
Binds = EvBindsVar<aYs> | |
Needed = [] | |
the type signature for: | |
source :: (Category p_aYf[sk:2], | |
(Ob p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint))) => | |
p_aYf[sk:2] a_aYi[sk:2] b_aYj[sk:2] | |
-> Dict (Ob p_aYf[sk:2] a_aYi[sk:2]) } | |
Inerts {Unsolved goals = 0} | |
solveSimpleGivens { | |
[[G] $dCategory_aYg {0}:: Category p_aYf[sk:2] (CNonCanonical), | |
[G] $d~_aYk {0}:: (Ob p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) (CNonCanonical)] | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] $d~_aYk {0}:: (Ob p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) (CNonCanonical) | |
inerts = {Unsolved goals = 0} | |
rest of worklist = WL {Non-eqs = [G] $dCategory_aYg {0}:: Category | |
p_aYf[sk:2] (CNonCanonical)} | |
runStage canonicalization { | |
workitem = [G] $d~_aYk {0}:: (Ob p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) (CNonCanonical) | |
canonicalize (non-canonical) | |
[G] $d~_aYk {0}:: (Ob p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) (CNonCanonical) | |
canEvNC:cls | |
~ [i_aYe[sk:2] -> Constraint, Ob p_aYf[sk:2], Vacuous p_aYf[sk:2]] | |
addTcEvBind | |
aYs | |
[G] $d~~_aYu = sc(($d~_aYk, 0)) | |
mk_superclasses_of | |
~~ [i_aYe[sk:2] -> Constraint, i_aYe[sk:2] -> Constraint, | |
Ob p_aYf[sk:2], Vacuous p_aYf[sk:2]] | |
False | |
[31e :-> ~] | |
addTcEvBind | |
aYs | |
[G] cobox_aYv = sc(($d~~_aYu, 0)) | |
Emitting fresh work | |
[G] $d~~_aYu {0}:: (Ob p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
~~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) (CDictCan) | |
[G] cobox_aYv {0}:: (Ob p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
GHC.Prim.~# | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) (CNonCanonical) | |
flatten_many { | |
i_aYe[sk:2] -> Constraint | |
Ob p_aYf[sk:2] | |
Vacuous p_aYf[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
matchFamTcM | |
Matching: Ob p_aYf[sk:2] | |
Match failed | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar p_aYf[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
matchFamTcM | |
Matching: Ob p_aYf[sk:2] | |
Match failed | |
addTcEvBind | |
aYs | |
[G] cobox_aYx = CO <Ob p_aYf[sk:2]>_N | |
extendFlatCache | |
Ob [i_aYe[sk:2], p_aYf[sk:2]] | |
[G] | |
fsk_aYw[fsk] | |
flatten/flat-cache miss | |
Ob [i_aYe[sk:2], p_aYf[sk:2]] | |
fsk_aYw[fsk] | |
[G] cobox_aYx {0}:: (Ob p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
GHC.Prim.~# | |
(fsk_aYw[fsk] :: (i_aYe[sk:2] -> Constraint)) | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar p_aYf[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
flatten } | |
i_aYe[sk:2] -> Constraint | |
fsk_aYw[fsk] | |
Vacuous p_aYf[sk:2] | |
canClass | |
[G] $d~_aYk {0}:: (Ob p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
(fsk_aYw[fsk] :: (i_aYe[sk:2] -> Constraint)) | |
~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
ContinueWith [G] $d~_aYk {0}:: (fsk_aYw[fsk] :: (i_aYe[sk:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] $d~_aYk {0}:: (fsk_aYw[fsk] :: (i_aYe[sk:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) (CDictCan) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] $d~_aYk {0}:: (fsk_aYw[fsk] :: (i_aYe[sk:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) (CDictCan) | |
doTopReact | |
[G] $d~_aYk {0}:: (fsk_aYw[fsk] :: (i_aYe[sk:2] -> Constraint)) | |
~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) (CDictCan) | |
try_fundeps | |
[G] $d~_aYk {0}:: (fsk_aYw[fsk] :: (i_aYe[sk:2] -> Constraint)) | |
~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) (CDictCan) | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] $d~_aYk {0}:: (fsk_aYw[fsk] :: (i_aYe[sk:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) (CDictCan) | |
addInertCan } | |
Step 1[l:2,d:0] Kept as inert: | |
[G] $d~_aYk {0}:: (fsk_aYw[fsk] :: (i_aYe[sk:2] -> Constraint)) | |
~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
End solver pipeline (kept as inert) } | |
final_item = [G] $d~_aYk {0}:: (fsk_aYw[fsk] :: (i_aYe[sk:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) (CDictCan) | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] $d~~_aYu {0}:: (Ob p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) | |
~~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) (CDictCan) | |
inerts = {Dictionaries = [G] $d~_aYk {0}:: (fsk_aYw[fsk] :: (i_aYe[sk:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) (CDictCan) | |
Unsolved goals = 0} | |
rest of worklist = WL {Funeqs = [G] cobox_aYx {0}:: (Ob | |
p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
GHC.Prim.~# | |
(fsk_aYw[fsk] :: (i_aYe[sk:2] | |
-> Constraint)) (CFunEqCan) | |
[G] cobox_aYv {0}:: (Ob p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) (CNonCanonical) | |
Non-eqs = [G] $dCategory_aYg {0}:: Category | |
p_aYf[sk:2] (CNonCanonical)} | |
runStage canonicalization { | |
workitem = [G] $d~~_aYu {0}:: (Ob p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) | |
~~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) (CDictCan) | |
flatten_many { | |
i_aYe[sk:2] -> Constraint | |
i_aYe[sk:2] -> Constraint | |
Ob p_aYf[sk:2] | |
Vacuous p_aYf[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
matchFamTcM | |
Matching: Ob p_aYf[sk:2] | |
Match failed | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar p_aYf[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
flatten/flat-cache hit | |
Ob [i_aYe[sk:2], p_aYf[sk:2]] | |
fsk_aYw[fsk] | |
Unfilled tyvar fsk_aYw[fsk] | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar p_aYf[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
flatten } | |
i_aYe[sk:2] -> Constraint | |
i_aYe[sk:2] -> Constraint | |
fsk_aYw[fsk] | |
Vacuous p_aYf[sk:2] | |
canClass | |
[G] $d~~_aYu {0}:: (Ob p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
~~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
(fsk_aYw[fsk] :: (i_aYe[sk:2] -> Constraint)) | |
~~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
ContinueWith [G] $d~~_aYu {0}:: (fsk_aYw[fsk] :: (i_aYe[sk:2] | |
-> Constraint)) | |
~~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] $d~~_aYu {0}:: (fsk_aYw[fsk] :: (i_aYe[sk:2] | |
-> Constraint)) | |
~~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) (CDictCan) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] $d~~_aYu {0}:: (fsk_aYw[fsk] :: (i_aYe[sk:2] | |
-> Constraint)) | |
~~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) (CDictCan) | |
doTopReact | |
[G] $d~~_aYu {0}:: (fsk_aYw[fsk] :: (i_aYe[sk:2] -> Constraint)) | |
~~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) (CDictCan) | |
try_fundeps | |
[G] $d~~_aYu {0}:: (fsk_aYw[fsk] :: (i_aYe[sk:2] -> Constraint)) | |
~~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) (CDictCan) | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] $d~~_aYu {0}:: (fsk_aYw[fsk] :: (i_aYe[sk:2] | |
-> Constraint)) | |
~~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) (CDictCan) | |
addInertCan } | |
Step 2[l:2,d:0] Kept as inert: | |
[G] $d~~_aYu {0}:: (fsk_aYw[fsk] :: (i_aYe[sk:2] -> Constraint)) | |
~~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
End solver pipeline (kept as inert) } | |
final_item = [G] $d~~_aYu {0}:: (fsk_aYw[fsk] :: (i_aYe[sk:2] | |
-> Constraint)) | |
~~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) (CDictCan) | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] cobox_aYx {0}:: (Ob p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aYw[fsk] :: (i_aYe[sk:2] -> Constraint)) (CFunEqCan) | |
inerts = {Dictionaries = [G] $d~_aYk {0}:: (fsk_aYw[fsk] :: (i_aYe[sk:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) (CDictCan) | |
[G] $d~~_aYu {0}:: (fsk_aYw[fsk] :: (i_aYe[sk:2] -> Constraint)) | |
~~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) (CDictCan) | |
Unsolved goals = 0} | |
rest of worklist = WL {Funeqs = [G] cobox_aYv {0}:: (Ob | |
p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
GHC.Prim.~# | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) (CNonCanonical) | |
Non-eqs = [G] $dCategory_aYg {0}:: Category | |
p_aYf[sk:2] (CNonCanonical)} | |
runStage canonicalization { | |
workitem = [G] cobox_aYx {0}:: (Ob p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aYw[fsk] :: (i_aYe[sk:2] -> Constraint)) (CFunEqCan) | |
flatten_many { | |
i_aYe[sk:2] | |
p_aYf[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar p_aYf[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
flatten } | |
i_aYe[sk:2] | |
p_aYf[sk:2] | |
extendFlatCache | |
Ob [i_aYe[sk:2], p_aYf[sk:2]] | |
[G] | |
fsk_aYw[fsk] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] cobox_aYx {0}:: (Ob p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aYw[fsk] :: (i_aYe[sk:2] -> Constraint)) (CFunEqCan) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] cobox_aYx {0}:: (Ob p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aYw[fsk] :: (i_aYe[sk:2] -> Constraint)) (CFunEqCan) | |
doTopReact | |
[G] cobox_aYx {0}:: (Ob p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
GHC.Prim.~# | |
(fsk_aYw[fsk] :: (i_aYe[sk:2] -> Constraint)) (CFunEqCan) | |
matchFamTcM | |
Matching: Ob p_aYf[sk:2] | |
Match failed | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] cobox_aYx {0}:: (Ob | |
p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aYw[fsk] :: (i_aYe[sk:2] | |
-> Constraint)) (CFunEqCan) | |
addInertCan } | |
Step 3[l:2,d:0] Kept as inert: | |
[G] cobox_aYx {0}:: (Ob p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
GHC.Prim.~# | |
(fsk_aYw[fsk] :: (i_aYe[sk:2] -> Constraint)) | |
End solver pipeline (kept as inert) } | |
final_item = [G] cobox_aYx {0}:: (Ob p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aYw[fsk] :: (i_aYe[sk:2] -> Constraint)) (CFunEqCan) | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] cobox_aYv {0}:: (Ob p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) (CNonCanonical) | |
inerts = {Type-function equalities = [G] cobox_aYx {0}:: (Ob | |
p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aYw[fsk] :: (i_aYe[sk:2] | |
-> Constraint)) (CFunEqCan) | |
Dictionaries = [G] $d~_aYk {0}:: (fsk_aYw[fsk] :: (i_aYe[sk:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) (CDictCan) | |
[G] $d~~_aYu {0}:: (fsk_aYw[fsk] :: (i_aYe[sk:2] -> Constraint)) | |
~~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) (CDictCan) | |
Unsolved goals = 0} | |
rest of worklist = WL {Non-eqs = [G] $dCategory_aYg {0}:: Category | |
p_aYf[sk:2] (CNonCanonical)} | |
runStage canonicalization { | |
workitem = [G] cobox_aYv {0}:: (Ob p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) (CNonCanonical) | |
canonicalize (non-canonical) | |
[G] cobox_aYv {0}:: (Ob p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
GHC.Prim.~# | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) (CNonCanonical) | |
canEvNC:eq | |
Ob p_aYf[sk:2] | |
Vacuous p_aYf[sk:2] | |
can_eq_nc | |
False | |
[G] cobox_aYv {0}:: (Ob p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
GHC.Prim.~# | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
nominal equality | |
Ob p_aYf[sk:2] | |
Ob p_aYf[sk:2] | |
Vacuous p_aYf[sk:2] | |
Vacuous p_aYf[sk:2] | |
flatten { Ob p_aYf[sk:2] | |
matchFamTcM | |
Matching: Ob p_aYf[sk:2] | |
Match failed | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar p_aYf[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
flatten/flat-cache hit | |
Ob [i_aYe[sk:2], p_aYf[sk:2]] | |
fsk_aYw[fsk] | |
Unfilled tyvar fsk_aYw[fsk] | |
Unfilled tyvar i_aYe[sk:2] | |
flatten } fsk_aYw[fsk] | |
flatten { Vacuous p_aYf[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar p_aYf[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
flatten } Vacuous p_aYf[sk:2] | |
addTcEvBind | |
aYs | |
[G] cobox_aYy = CO Sym cobox_aYx ; cobox_aYv | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] cobox_aYy {1}:: (fsk_aYw[fsk] :: (i_aYe[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) (CTyEqCan) | |
Can't solve tyvar equality | |
LHS: fsk_aYw[fsk] :: i_aYe[sk:2] -> Constraint | |
RHS: Vacuous p_aYf[sk:2] :: i_aYe[sk:2] -> Constraint | |
addInertEq { | |
Adding new inert equality: [G] cobox_aYy {1}:: (fsk_aYw[fsk] :: (i_aYe[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) (CTyEqCan) | |
Kick out, tv = fsk_aYw[fsk] | |
n-kicked = 3 | |
kicked_out = WL {Funeqs = [G] cobox_aYx {0}:: (Ob | |
p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
GHC.Prim.~# | |
(fsk_aYw[fsk] :: (i_aYe[sk:2] | |
-> Constraint)) (CFunEqCan) | |
Non-eqs = [G] $d~_aYk {0}:: (fsk_aYw[fsk] :: (i_aYe[sk:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) (CDictCan) | |
[G] $d~~_aYu {0}:: (fsk_aYw[fsk] :: (i_aYe[sk:2] -> Constraint)) | |
~~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) (CDictCan)} | |
Residual inerts = {Type-function equalities = | |
Unsolved goals = 0} | |
addInertEq } | |
end stage interact with inerts } | |
Step 4[l:2,d:1] Kept as inert: | |
[G] cobox_aYy {1}:: (fsk_aYw[fsk] :: (i_aYe[sk:2] -> Constraint)) | |
GHC.Prim.~# | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
End solver pipeline (discharged) } | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] cobox_aYx {0}:: (Ob p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aYw[fsk] :: (i_aYe[sk:2] -> Constraint)) (CFunEqCan) | |
inerts = {Equalities: [G] cobox_aYy {1}:: (fsk_aYw[fsk] :: (i_aYe[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) (CTyEqCan) | |
Type-function equalities = | |
Unsolved goals = 0} | |
rest of worklist = WL {Non-eqs = [G] $d~_aYk {0}:: (fsk_aYw[fsk] :: (i_aYe[sk:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) (CDictCan) | |
[G] $d~~_aYu {0}:: (fsk_aYw[fsk] :: (i_aYe[sk:2] -> Constraint)) | |
~~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) (CDictCan) | |
[G] $dCategory_aYg {0}:: Category p_aYf[sk:2] (CNonCanonical)} | |
runStage canonicalization { | |
workitem = [G] cobox_aYx {0}:: (Ob p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aYw[fsk] :: (i_aYe[sk:2] -> Constraint)) (CFunEqCan) | |
flatten_many { | |
i_aYe[sk:2] | |
p_aYf[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar p_aYf[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
flatten } | |
i_aYe[sk:2] | |
p_aYf[sk:2] | |
extendFlatCache | |
Ob [i_aYe[sk:2], p_aYf[sk:2]] | |
[G] | |
fsk_aYw[fsk] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] cobox_aYx {0}:: (Ob p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aYw[fsk] :: (i_aYe[sk:2] -> Constraint)) (CFunEqCan) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] cobox_aYx {0}:: (Ob p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aYw[fsk] :: (i_aYe[sk:2] -> Constraint)) (CFunEqCan) | |
doTopReact | |
[G] cobox_aYx {0}:: (Ob p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
GHC.Prim.~# | |
(fsk_aYw[fsk] :: (i_aYe[sk:2] -> Constraint)) (CFunEqCan) | |
matchFamTcM | |
Matching: Ob p_aYf[sk:2] | |
Match failed | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] cobox_aYx {0}:: (Ob | |
p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aYw[fsk] :: (i_aYe[sk:2] | |
-> Constraint)) (CFunEqCan) | |
addInertCan } | |
Step 5[l:2,d:0] Kept as inert: | |
[G] cobox_aYx {0}:: (Ob p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
GHC.Prim.~# | |
(fsk_aYw[fsk] :: (i_aYe[sk:2] -> Constraint)) | |
End solver pipeline (kept as inert) } | |
final_item = [G] cobox_aYx {0}:: (Ob p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aYw[fsk] :: (i_aYe[sk:2] -> Constraint)) (CFunEqCan) | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] $d~_aYk {0}:: (fsk_aYw[fsk] :: (i_aYe[sk:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) (CDictCan) | |
inerts = {Equalities: [G] cobox_aYy {1}:: (fsk_aYw[fsk] :: (i_aYe[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) (CTyEqCan) | |
Type-function equalities = [G] cobox_aYx {0}:: (Ob | |
p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aYw[fsk] :: (i_aYe[sk:2] | |
-> Constraint)) (CFunEqCan) | |
Unsolved goals = 0} | |
rest of worklist = WL {Non-eqs = [G] $d~~_aYu {0}:: (fsk_aYw[fsk] :: (i_aYe[sk:2] | |
-> Constraint)) | |
~~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) (CDictCan) | |
[G] $dCategory_aYg {0}:: Category p_aYf[sk:2] (CNonCanonical)} | |
runStage canonicalization { | |
workitem = [G] $d~_aYk {0}:: (fsk_aYw[fsk] :: (i_aYe[sk:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) (CDictCan) | |
flatten_many { | |
i_aYe[sk:2] -> Constraint | |
fsk_aYw[fsk] | |
Vacuous p_aYf[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar fsk_aYw[fsk] | |
Following inert tyvar | |
FM_FlattenAll fsk_aYw[fsk] = Vacuous p_aYf[sk:2] | |
[G] cobox_aYy {1}:: (fsk_aYw[fsk] :: (i_aYe[sk:2] -> Constraint)) | |
GHC.Prim.~# | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar p_aYf[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar p_aYf[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
flatten } | |
i_aYe[sk:2] -> Constraint | |
Vacuous p_aYf[sk:2] | |
Vacuous p_aYf[sk:2] | |
addTcEvBind | |
aYs | |
[G] $d~_aYz | |
= $d~_aYk `cast` (Sub | |
(Sym | |
((~) | |
<i_aYe[sk:2] -> Constraint>_N | |
(Sym cobox) | |
<Vacuous p_aYf[sk:2]>_N)_N)) | |
canClass | |
[G] $d~_aYk {0}:: (fsk_aYw[fsk] :: (i_aYe[sk:2] -> Constraint)) | |
~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
ContinueWith [G] $d~_aYz {0}:: (Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] $d~_aYz {0}:: (Vacuous | |
p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) (CDictCan) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] $d~_aYz {0}:: (Vacuous | |
p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) (CDictCan) | |
doTopReact | |
[G] $d~_aYz {0}:: (Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) (CDictCan) | |
try_fundeps | |
[G] $d~_aYz {0}:: (Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) (CDictCan) | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] $d~_aYz {0}:: (Vacuous | |
p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) (CDictCan) | |
addInertCan } | |
Step 6[l:2,d:0] Kept as inert: | |
[G] $d~_aYz {0}:: (Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
End solver pipeline (kept as inert) } | |
final_item = [G] $d~_aYz {0}:: (Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) (CDictCan) | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] $d~~_aYu {0}:: (fsk_aYw[fsk] :: (i_aYe[sk:2] | |
-> Constraint)) | |
~~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) (CDictCan) | |
inerts = {Equalities: [G] cobox_aYy {1}:: (fsk_aYw[fsk] :: (i_aYe[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) (CTyEqCan) | |
Type-function equalities = [G] cobox_aYx {0}:: (Ob | |
p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aYw[fsk] :: (i_aYe[sk:2] | |
-> Constraint)) (CFunEqCan) | |
Dictionaries = [G] $d~_aYz {0}:: (Vacuous | |
p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) (CDictCan) | |
Unsolved goals = 0} | |
rest of worklist = WL {Non-eqs = [G] $dCategory_aYg {0}:: Category | |
p_aYf[sk:2] (CNonCanonical)} | |
runStage canonicalization { | |
workitem = [G] $d~~_aYu {0}:: (fsk_aYw[fsk] :: (i_aYe[sk:2] | |
-> Constraint)) | |
~~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) (CDictCan) | |
flatten_many { | |
i_aYe[sk:2] -> Constraint | |
i_aYe[sk:2] -> Constraint | |
fsk_aYw[fsk] | |
Vacuous p_aYf[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar fsk_aYw[fsk] | |
Following inert tyvar | |
FM_FlattenAll fsk_aYw[fsk] = Vacuous p_aYf[sk:2] | |
[G] cobox_aYy {1}:: (fsk_aYw[fsk] :: (i_aYe[sk:2] -> Constraint)) | |
GHC.Prim.~# | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar p_aYf[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar p_aYf[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
flatten } | |
i_aYe[sk:2] -> Constraint | |
i_aYe[sk:2] -> Constraint | |
Vacuous p_aYf[sk:2] | |
Vacuous p_aYf[sk:2] | |
addTcEvBind | |
aYs | |
[G] $d~~_aYA | |
= $d~~_aYu `cast` (Sub | |
(Sym | |
((~~) | |
<i_aYe[sk:2] -> Constraint>_N | |
<i_aYe[sk:2] -> Constraint>_N | |
(Sym cobox) | |
<Vacuous p_aYf[sk:2]>_N)_N)) | |
canClass | |
[G] $d~~_aYu {0}:: (fsk_aYw[fsk] :: (i_aYe[sk:2] -> Constraint)) | |
~~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
~~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
ContinueWith [G] $d~~_aYA {0}:: (Vacuous | |
p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
~~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] $d~~_aYA {0}:: (Vacuous | |
p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
~~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) (CDictCan) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] $d~~_aYA {0}:: (Vacuous | |
p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
~~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) (CDictCan) | |
doTopReact | |
[G] $d~~_aYA {0}:: (Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) | |
~~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) (CDictCan) | |
try_fundeps | |
[G] $d~~_aYA {0}:: (Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) | |
~~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) (CDictCan) | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] $d~~_aYA {0}:: (Vacuous | |
p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) | |
~~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) (CDictCan) | |
addInertCan } | |
Step 7[l:2,d:0] Kept as inert: | |
[G] $d~~_aYA {0}:: (Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) | |
~~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
End solver pipeline (kept as inert) } | |
final_item = [G] $d~~_aYA {0}:: (Vacuous | |
p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
~~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) (CDictCan) | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] $dCategory_aYg {0}:: Category | |
p_aYf[sk:2] (CNonCanonical) | |
inerts = {Equalities: [G] cobox_aYy {1}:: (fsk_aYw[fsk] :: (i_aYe[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) (CTyEqCan) | |
Type-function equalities = [G] cobox_aYx {0}:: (Ob | |
p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aYw[fsk] :: (i_aYe[sk:2] | |
-> Constraint)) (CFunEqCan) | |
Dictionaries = [G] $d~_aYz {0}:: (Vacuous | |
p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) (CDictCan) | |
[G] $d~~_aYA {0}:: (Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) | |
~~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) (CDictCan) | |
Unsolved goals = 0} | |
rest of worklist = WL {} | |
runStage canonicalization { | |
workitem = [G] $dCategory_aYg {0}:: Category | |
p_aYf[sk:2] (CNonCanonical) | |
canonicalize (non-canonical) | |
[G] $dCategory_aYg {0}:: Category p_aYf[sk:2] (CNonCanonical) | |
canEvNC:cls Category [i_aYe[sk:2], p_aYf[sk:2]] | |
addTcEvBind | |
aYs | |
[G] $dFunctor_aYB = sc(($dCategory_aYg, 0)) | |
mk_superclasses_of | |
Functor [i_aYe[sk:2], i_aYe[sk:2] -> *, Op p_aYf[sk:2], | |
Nat p_aYf[sk:2] (->), p_aYf[sk:2]] | |
False | |
[rKp :-> Category] | |
addTcEvBind | |
aYs | |
[G] $dCategory_aYC = sc(($dFunctor_aYB, 0)) | |
addTcEvBind | |
aYs | |
[G] $dCategory_aYD = sc(($dFunctor_aYB, 1)) | |
mk_superclasses_of: loop Category [i_aYe[sk:2], Op p_aYf[sk:2]] | |
mk_superclasses_of: loop | |
Category [i_aYe[sk:2] -> *, Nat p_aYf[sk:2] (->)] | |
Emitting fresh work | |
[G] $dFunctor_aYB {0}:: Functor | |
(Op p_aYf[sk:2]) (Nat p_aYf[sk:2] (->)) p_aYf[sk:2] (CDictCan) | |
[G] $dCategory_aYC {0}:: Category (Op p_aYf[sk:2]) (CDictCan(psc)) | |
[G] $dCategory_aYD {0}:: Category | |
(Nat p_aYf[sk:2] (->)) (CDictCan(psc)) | |
flatten_many { | |
i_aYe[sk:2] | |
p_aYf[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar p_aYf[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
flatten } | |
i_aYe[sk:2] | |
p_aYf[sk:2] | |
canClass | |
[G] $dCategory_aYg {0}:: Category p_aYf[sk:2] | |
Category p_aYf[sk:2] | |
ContinueWith [G] $dCategory_aYg {0}:: Category p_aYf[sk:2] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] $dCategory_aYg {0}:: Category | |
p_aYf[sk:2] (CDictCan) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] $dCategory_aYg {0}:: Category | |
p_aYf[sk:2] (CDictCan) | |
doTopReact [G] $dCategory_aYg {0}:: Category p_aYf[sk:2] (CDictCan) | |
try_fundeps | |
[G] $dCategory_aYg {0}:: Category p_aYf[sk:2] (CDictCan) | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] $dCategory_aYg {0}:: Category | |
p_aYf[sk:2] (CDictCan) | |
addInertCan } | |
Step 8[l:2,d:0] Kept as inert: | |
[G] $dCategory_aYg {0}:: Category p_aYf[sk:2] | |
End solver pipeline (kept as inert) } | |
final_item = [G] $dCategory_aYg {0}:: Category | |
p_aYf[sk:2] (CDictCan) | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] $dFunctor_aYB {0}:: Functor | |
(Op p_aYf[sk:2]) | |
(Nat p_aYf[sk:2] (->)) | |
p_aYf[sk:2] (CDictCan) | |
inerts = {Equalities: [G] cobox_aYy {1}:: (fsk_aYw[fsk] :: (i_aYe[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) (CTyEqCan) | |
Type-function equalities = [G] cobox_aYx {0}:: (Ob | |
p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aYw[fsk] :: (i_aYe[sk:2] | |
-> Constraint)) (CFunEqCan) | |
Dictionaries = [G] $d~_aYz {0}:: (Vacuous | |
p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) (CDictCan) | |
[G] $d~~_aYA {0}:: (Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) | |
~~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) (CDictCan) | |
[G] $dCategory_aYg {0}:: Category p_aYf[sk:2] (CDictCan) | |
Unsolved goals = 0} | |
rest of worklist = WL {Non-eqs = [G] $dCategory_aYC {0}:: Category | |
(Op p_aYf[sk:2]) (CDictCan(psc)) | |
[G] $dCategory_aYD {0}:: Category | |
(Nat | |
p_aYf[sk:2] (->)) (CDictCan(psc))} | |
runStage canonicalization { | |
workitem = [G] $dFunctor_aYB {0}:: Functor | |
(Op p_aYf[sk:2]) | |
(Nat p_aYf[sk:2] (->)) | |
p_aYf[sk:2] (CDictCan) | |
flatten_many { | |
i_aYe[sk:2] | |
i_aYe[sk:2] -> * | |
Op p_aYf[sk:2] | |
Nat p_aYf[sk:2] (->) | |
p_aYf[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
matchFamTcM | |
Matching: Op p_aYf[sk:2] | |
Match failed | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar p_aYf[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
matchFamTcM | |
Matching: Op p_aYf[sk:2] | |
Match failed | |
addTcEvBind | |
aYs | |
[G] cobox_aYF = CO <Op p_aYf[sk:2]>_N | |
extendFlatCache | |
Op [i_aYe[sk:2], i_aYe[sk:2], p_aYf[sk:2]] | |
[G] | |
fsk_aYE[fsk] | |
flatten/flat-cache miss | |
Op [i_aYe[sk:2], i_aYe[sk:2], p_aYf[sk:2]] | |
fsk_aYE[fsk] | |
[G] cobox_aYF {0}:: (Op p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> i_aYe[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aYE[fsk] :: (i_aYe[sk:2] -> i_aYe[sk:2] -> *)) | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar p_aYf[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar p_aYf[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
flatten } | |
i_aYe[sk:2] | |
i_aYe[sk:2] -> * | |
fsk_aYE[fsk] | |
Nat p_aYf[sk:2] (->) | |
p_aYf[sk:2] | |
canClass | |
[G] $dFunctor_aYB {0}:: Functor | |
(Op p_aYf[sk:2]) (Nat p_aYf[sk:2] (->)) p_aYf[sk:2] | |
Functor fsk_aYE[fsk] (Nat p_aYf[sk:2] (->)) p_aYf[sk:2] | |
ContinueWith [G] $dFunctor_aYB {0}:: Functor | |
fsk_aYE[fsk] (Nat p_aYf[sk:2] (->)) p_aYf[sk:2] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] $dFunctor_aYB {0}:: Functor | |
fsk_aYE[fsk] (Nat p_aYf[sk:2] (->)) p_aYf[sk:2] (CDictCan) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] $dFunctor_aYB {0}:: Functor | |
fsk_aYE[fsk] (Nat p_aYf[sk:2] (->)) p_aYf[sk:2] (CDictCan) | |
doTopReact | |
[G] $dFunctor_aYB {0}:: Functor | |
fsk_aYE[fsk] (Nat p_aYf[sk:2] (->)) p_aYf[sk:2] (CDictCan) | |
try_fundeps | |
[G] $dFunctor_aYB {0}:: Functor | |
fsk_aYE[fsk] (Nat p_aYf[sk:2] (->)) p_aYf[sk:2] (CDictCan) | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] $dFunctor_aYB {0}:: Functor | |
fsk_aYE[fsk] | |
(Nat p_aYf[sk:2] (->)) | |
p_aYf[sk:2] (CDictCan) | |
addInertCan } | |
Step 9[l:2,d:0] Kept as inert: | |
[G] $dFunctor_aYB {0}:: Functor | |
fsk_aYE[fsk] (Nat p_aYf[sk:2] (->)) p_aYf[sk:2] | |
End solver pipeline (kept as inert) } | |
final_item = [G] $dFunctor_aYB {0}:: Functor | |
fsk_aYE[fsk] (Nat p_aYf[sk:2] (->)) p_aYf[sk:2] (CDictCan) | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] cobox_aYF {0}:: (Op p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> i_aYe[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aYE[fsk] :: (i_aYe[sk:2] -> i_aYe[sk:2] -> *)) (CFunEqCan) | |
inerts = {Equalities: [G] cobox_aYy {1}:: (fsk_aYw[fsk] :: (i_aYe[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) (CTyEqCan) | |
Type-function equalities = [G] cobox_aYx {0}:: (Ob | |
p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aYw[fsk] :: (i_aYe[sk:2] | |
-> Constraint)) (CFunEqCan) | |
Dictionaries = [G] $d~_aYz {0}:: (Vacuous | |
p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) (CDictCan) | |
[G] $d~~_aYA {0}:: (Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) | |
~~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) (CDictCan) | |
[G] $dCategory_aYg {0}:: Category p_aYf[sk:2] (CDictCan) | |
[G] $dFunctor_aYB {0}:: Functor | |
fsk_aYE[fsk] | |
(Nat p_aYf[sk:2] (->)) | |
p_aYf[sk:2] (CDictCan) | |
Unsolved goals = 0} | |
rest of worklist = WL {Non-eqs = [G] $dCategory_aYC {0}:: Category | |
(Op p_aYf[sk:2]) (CDictCan(psc)) | |
[G] $dCategory_aYD {0}:: Category | |
(Nat | |
p_aYf[sk:2] (->)) (CDictCan(psc))} | |
runStage canonicalization { | |
workitem = [G] cobox_aYF {0}:: (Op p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> i_aYe[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aYE[fsk] :: (i_aYe[sk:2] -> i_aYe[sk:2] -> *)) (CFunEqCan) | |
flatten_many { | |
i_aYe[sk:2] | |
i_aYe[sk:2] | |
p_aYf[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar p_aYf[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
flatten } | |
i_aYe[sk:2] | |
i_aYe[sk:2] | |
p_aYf[sk:2] | |
extendFlatCache | |
Op [i_aYe[sk:2], i_aYe[sk:2], p_aYf[sk:2]] | |
[G] | |
fsk_aYE[fsk] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] cobox_aYF {0}:: (Op p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> i_aYe[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aYE[fsk] :: (i_aYe[sk:2] -> i_aYe[sk:2] -> *)) (CFunEqCan) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] cobox_aYF {0}:: (Op p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> i_aYe[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aYE[fsk] :: (i_aYe[sk:2] -> i_aYe[sk:2] -> *)) (CFunEqCan) | |
doTopReact | |
[G] cobox_aYF {0}:: (Op p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> i_aYe[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aYE[fsk] :: (i_aYe[sk:2] -> i_aYe[sk:2] -> *)) (CFunEqCan) | |
matchFamTcM | |
Matching: Op p_aYf[sk:2] | |
Match failed | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] cobox_aYF {0}:: (Op | |
p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> i_aYe[sk:2] | |
-> *)) | |
GHC.Prim.~# | |
(fsk_aYE[fsk] :: (i_aYe[sk:2] | |
-> i_aYe[sk:2] | |
-> *)) (CFunEqCan) | |
addInertCan } | |
Step 10[l:2,d:0] Kept as inert: | |
[G] cobox_aYF {0}:: (Op p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> i_aYe[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aYE[fsk] :: (i_aYe[sk:2] -> i_aYe[sk:2] -> *)) | |
End solver pipeline (kept as inert) } | |
final_item = [G] cobox_aYF {0}:: (Op p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> i_aYe[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aYE[fsk] :: (i_aYe[sk:2] -> i_aYe[sk:2] -> *)) (CFunEqCan) | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] $dCategory_aYC {0}:: Category | |
(Op p_aYf[sk:2]) (CDictCan(psc)) | |
inerts = {Equalities: [G] cobox_aYy {1}:: (fsk_aYw[fsk] :: (i_aYe[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) (CTyEqCan) | |
Type-function equalities = [G] cobox_aYx {0}:: (Ob | |
p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aYw[fsk] :: (i_aYe[sk:2] | |
-> Constraint)) (CFunEqCan) | |
[G] cobox_aYF {0}:: (Op p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> i_aYe[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aYE[fsk] :: (i_aYe[sk:2] | |
-> i_aYe[sk:2] | |
-> *)) (CFunEqCan) | |
Dictionaries = [G] $d~_aYz {0}:: (Vacuous | |
p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) (CDictCan) | |
[G] $d~~_aYA {0}:: (Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) | |
~~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) (CDictCan) | |
[G] $dCategory_aYg {0}:: Category p_aYf[sk:2] (CDictCan) | |
[G] $dFunctor_aYB {0}:: Functor | |
fsk_aYE[fsk] | |
(Nat p_aYf[sk:2] (->)) | |
p_aYf[sk:2] (CDictCan) | |
Unsolved goals = 0} | |
rest of worklist = WL {Non-eqs = [G] $dCategory_aYD {0}:: Category | |
(Nat | |
p_aYf[sk:2] (->)) (CDictCan(psc))} | |
runStage canonicalization { | |
workitem = [G] $dCategory_aYC {0}:: Category | |
(Op p_aYf[sk:2]) (CDictCan(psc)) | |
flatten_many { | |
i_aYe[sk:2] | |
Op p_aYf[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
matchFamTcM | |
Matching: Op p_aYf[sk:2] | |
Match failed | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar p_aYf[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
flatten/flat-cache hit | |
Op [i_aYe[sk:2], i_aYe[sk:2], p_aYf[sk:2]] | |
fsk_aYE[fsk] | |
Unfilled tyvar fsk_aYE[fsk] | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
flatten } | |
i_aYe[sk:2] | |
fsk_aYE[fsk] | |
addTcEvBind | |
aYs | |
[G] $dCategory_aYG | |
= $dCategory_aYC `cast` (Sub | |
(Sym (Category <i_aYe[sk:2]>_N (Sym cobox))_N)) | |
canClass | |
[G] $dCategory_aYC {0}:: Category (Op p_aYf[sk:2]) | |
Category fsk_aYE[fsk] | |
ContinueWith [G] $dCategory_aYG {0}:: Category fsk_aYE[fsk] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] $dCategory_aYG {0}:: Category | |
fsk_aYE[fsk] (CDictCan(psc)) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] $dCategory_aYG {0}:: Category | |
fsk_aYE[fsk] (CDictCan(psc)) | |
doTopReact | |
[G] $dCategory_aYG {0}:: Category fsk_aYE[fsk] (CDictCan(psc)) | |
try_fundeps | |
[G] $dCategory_aYG {0}:: Category fsk_aYE[fsk] (CDictCan(psc)) | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] $dCategory_aYG {0}:: Category | |
fsk_aYE[fsk] (CDictCan(psc)) | |
addInertCan } | |
Step 11[l:2,d:0] Kept as inert: | |
[G] $dCategory_aYG {0}:: Category fsk_aYE[fsk] | |
End solver pipeline (kept as inert) } | |
final_item = [G] $dCategory_aYG {0}:: Category | |
fsk_aYE[fsk] (CDictCan(psc)) | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] $dCategory_aYD {0}:: Category | |
(Nat p_aYf[sk:2] (->)) (CDictCan(psc)) | |
inerts = {Equalities: [G] cobox_aYy {1}:: (fsk_aYw[fsk] :: (i_aYe[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) (CTyEqCan) | |
Type-function equalities = [G] cobox_aYx {0}:: (Ob | |
p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aYw[fsk] :: (i_aYe[sk:2] | |
-> Constraint)) (CFunEqCan) | |
[G] cobox_aYF {0}:: (Op p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> i_aYe[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aYE[fsk] :: (i_aYe[sk:2] | |
-> i_aYe[sk:2] | |
-> *)) (CFunEqCan) | |
Dictionaries = [G] $d~_aYz {0}:: (Vacuous | |
p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) (CDictCan) | |
[G] $d~~_aYA {0}:: (Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) | |
~~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) (CDictCan) | |
[G] $dFunctor_aYB {0}:: Functor | |
fsk_aYE[fsk] | |
(Nat p_aYf[sk:2] (->)) | |
p_aYf[sk:2] (CDictCan) | |
[G] $dCategory_aYg {0}:: Category p_aYf[sk:2] (CDictCan) | |
[G] $dCategory_aYG {0}:: Category fsk_aYE[fsk] (CDictCan(psc)) | |
Unsolved goals = 0} | |
rest of worklist = WL {} | |
runStage canonicalization { | |
workitem = [G] $dCategory_aYD {0}:: Category | |
(Nat p_aYf[sk:2] (->)) (CDictCan(psc)) | |
flatten_many { | |
i_aYe[sk:2] -> * | |
Nat p_aYf[sk:2] (->) | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar p_aYf[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
flatten } | |
i_aYe[sk:2] -> * | |
Nat p_aYf[sk:2] (->) | |
canClass | |
[G] $dCategory_aYD {0}:: Category (Nat p_aYf[sk:2] (->)) | |
Category (Nat p_aYf[sk:2] (->)) | |
ContinueWith [G] $dCategory_aYD {0}:: Category | |
(Nat p_aYf[sk:2] (->)) | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] $dCategory_aYD {0}:: Category | |
(Nat p_aYf[sk:2] (->)) (CDictCan(psc)) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] $dCategory_aYD {0}:: Category | |
(Nat p_aYf[sk:2] (->)) (CDictCan(psc)) | |
doTopReact | |
[G] $dCategory_aYD {0}:: Category | |
(Nat p_aYf[sk:2] (->)) (CDictCan(psc)) | |
try_fundeps | |
[G] $dCategory_aYD {0}:: Category | |
(Nat p_aYf[sk:2] (->)) (CDictCan(psc)) | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] $dCategory_aYD {0}:: Category | |
(Nat | |
p_aYf[sk:2] | |
(->)) (CDictCan(psc)) | |
addInertCan } | |
Step 12[l:2,d:0] Kept as inert: | |
[G] $dCategory_aYD {0}:: Category (Nat p_aYf[sk:2] (->)) | |
End solver pipeline (kept as inert) } | |
final_item = [G] $dCategory_aYD {0}:: Category | |
(Nat p_aYf[sk:2] (->)) (CDictCan(psc)) | |
End solveSimpleGivens } | |
solveWanteds { | |
WC {wc_simple = | |
[WD] $dCategory_aYn {0}:: Category p_aYm[tau:2] (CNonCanonical) | |
[WD] $d~_aYq {0}:: (Ob p_aYm[tau:2] :: (i_aYl[tau:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aYm[tau:2] :: (i_aYl[tau:2] | |
-> Constraint)) (CNonCanonical) | |
[WD] hole{aYr} {0}:: (Ob p_aYm[tau:2] a_aYo[tau:2] :: Constraint) | |
GHC.Prim.~# | |
(Ob p_aYf[sk:2] a_aYi[sk:2] :: Constraint) (CNonCanonical)} | |
solveSimpleWanteds { | |
{[WD] $dCategory_aYn {0}:: Category p_aYm[tau:2] (CNonCanonical), | |
[WD] $d~_aYq {0}:: (Ob p_aYm[tau:2] :: (i_aYl[tau:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aYm[tau:2] :: (i_aYl[tau:2] | |
-> Constraint)) (CNonCanonical), | |
[WD] hole{aYr} {0}:: (Ob p_aYm[tau:2] a_aYo[tau:2] :: Constraint) | |
GHC.Prim.~# | |
(Ob p_aYf[sk:2] a_aYi[sk:2] :: Constraint) (CNonCanonical)} | |
----------------------------- | |
Start solver pipeline { | |
work item = [WD] $d~_aYq {0}:: (Ob p_aYm[tau:2] :: (i_aYl[tau:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aYm[tau:2] :: (i_aYl[tau:2] | |
-> Constraint)) (CNonCanonical) | |
inerts = {Equalities: [G] cobox_aYy {1}:: (fsk_aYw[fsk] :: (i_aYe[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) (CTyEqCan) | |
Type-function equalities = [G] cobox_aYx {0}:: (Ob | |
p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aYw[fsk] :: (i_aYe[sk:2] | |
-> Constraint)) (CFunEqCan) | |
[G] cobox_aYF {0}:: (Op p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> i_aYe[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aYE[fsk] :: (i_aYe[sk:2] | |
-> i_aYe[sk:2] | |
-> *)) (CFunEqCan) | |
Dictionaries = [G] $d~_aYz {0}:: (Vacuous | |
p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) (CDictCan) | |
[G] $d~~_aYA {0}:: (Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) | |
~~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) (CDictCan) | |
[G] $dFunctor_aYB {0}:: Functor | |
fsk_aYE[fsk] | |
(Nat p_aYf[sk:2] (->)) | |
p_aYf[sk:2] (CDictCan) | |
[G] $dCategory_aYg {0}:: Category p_aYf[sk:2] (CDictCan) | |
[G] $dCategory_aYG {0}:: Category fsk_aYE[fsk] (CDictCan(psc)) | |
[G] $dCategory_aYD {0}:: Category | |
(Nat p_aYf[sk:2] (->)) (CDictCan(psc)) | |
Unsolved goals = 0} | |
rest of worklist = WL {Funeqs = [WD] hole{aYr} {0}:: (Ob | |
p_aYm[tau:2] a_aYo[tau:2] :: Constraint) | |
GHC.Prim.~# | |
(Ob | |
p_aYf[sk:2] | |
a_aYi[sk:2] :: Constraint) (CNonCanonical) | |
Non-eqs = [WD] $dCategory_aYn {0}:: Category | |
p_aYm[tau:2] (CNonCanonical)} | |
runStage canonicalization { | |
workitem = [WD] $d~_aYq {0}:: (Ob p_aYm[tau:2] :: (i_aYl[tau:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aYm[tau:2] :: (i_aYl[tau:2] | |
-> Constraint)) (CNonCanonical) | |
canonicalize (non-canonical) | |
[WD] $d~_aYq {0}:: (Ob p_aYm[tau:2] :: (i_aYl[tau:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aYm[tau:2] :: (i_aYl[tau:2] | |
-> Constraint)) (CNonCanonical) | |
canEvNC:cls | |
~ [i_aYl[tau:2] -> Constraint, Ob p_aYm[tau:2], | |
Vacuous p_aYm[tau:2]] | |
flatten_many { | |
i_aYl[tau:2] -> Constraint | |
Ob p_aYm[tau:2] | |
Vacuous p_aYm[tau:2] | |
Following filled tyvar i_aYl[tau:2] = i_aYe[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
matchFamTcM | |
Matching: Ob p_aYm[tau:2] | |
Match failed | |
Following filled tyvar i_aYl[tau:2] = i_aYe[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
Following filled tyvar p_aYm[tau:2] = p_aYf[sk:2] | |
Unfilled tyvar p_aYf[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
flatten/flat-cache hit | |
Ob [i_aYe[sk:2], p_aYf[sk:2]] | |
fsk_aYw[fsk] | |
Unfilled tyvar fsk_aYw[fsk] | |
Following inert tyvar | |
FM_FlattenAll fsk_aYw[fsk] = Vacuous p_aYf[sk:2] | |
[G] cobox_aYy {1}:: (fsk_aYw[fsk] :: (i_aYe[sk:2] -> Constraint)) | |
GHC.Prim.~# | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar p_aYf[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
Following filled tyvar i_aYl[tau:2] = i_aYe[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
Following filled tyvar p_aYm[tau:2] = p_aYf[sk:2] | |
Unfilled tyvar p_aYf[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
flatten } | |
i_aYe[sk:2] -> Constraint | |
Vacuous p_aYf[sk:2] | |
Vacuous p_aYf[sk:2] | |
newWantedEvVar/cache hit | |
[G] $d~_aYz {0}:: (Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
addTcEvBind | |
aYs | |
[W] $d~_aYq | |
= $d~_aYz `cast` ((~) | |
<i_aYe[sk:2] -> Constraint>_N | |
(Trans (Sym cobox) (Sym cobox)) | |
<Vacuous p_aYf[sk:2]>_N)_R | |
canClass | |
[WD] $d~_aYq {0}:: (Ob p_aYm[tau:2] :: (i_aYl[tau:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aYm[tau:2] :: (i_aYl[tau:2] -> Constraint)) | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
Stop(Cached wanted) [WD] $d~_aYq {0}:: (Ob | |
p_aYm[tau:2] :: (i_aYl[tau:2] -> Constraint)) | |
~ | |
(Vacuous p_aYm[tau:2] :: (i_aYl[tau:2] -> Constraint)) | |
end stage canonicalization } | |
Step 13[l:2,d:0] Cached wanted: | |
[WD] $d~_aYq {0}:: (Ob p_aYm[tau:2] :: (i_aYl[tau:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aYm[tau:2] :: (i_aYl[tau:2] -> Constraint)) | |
End solver pipeline (discharged) } | |
----------------------------- | |
Start solver pipeline { | |
work item = [WD] hole{aYr} {0}:: (Ob | |
p_aYm[tau:2] a_aYo[tau:2] :: Constraint) | |
GHC.Prim.~# | |
(Ob p_aYf[sk:2] a_aYi[sk:2] :: Constraint) (CNonCanonical) | |
inerts = {Equalities: [G] cobox_aYy {1}:: (fsk_aYw[fsk] :: (i_aYe[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) (CTyEqCan) | |
Type-function equalities = [G] cobox_aYx {0}:: (Ob | |
p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aYw[fsk] :: (i_aYe[sk:2] | |
-> Constraint)) (CFunEqCan) | |
[G] cobox_aYF {0}:: (Op p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> i_aYe[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aYE[fsk] :: (i_aYe[sk:2] | |
-> i_aYe[sk:2] | |
-> *)) (CFunEqCan) | |
Dictionaries = [G] $d~_aYz {0}:: (Vacuous | |
p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) (CDictCan) | |
[G] $d~~_aYA {0}:: (Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) | |
~~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) (CDictCan) | |
[G] $dFunctor_aYB {0}:: Functor | |
fsk_aYE[fsk] | |
(Nat p_aYf[sk:2] (->)) | |
p_aYf[sk:2] (CDictCan) | |
[G] $dCategory_aYg {0}:: Category p_aYf[sk:2] (CDictCan) | |
[G] $dCategory_aYG {0}:: Category fsk_aYE[fsk] (CDictCan(psc)) | |
[G] $dCategory_aYD {0}:: Category | |
(Nat p_aYf[sk:2] (->)) (CDictCan(psc)) | |
Unsolved goals = 0} | |
rest of worklist = WL {Non-eqs = [WD] $dCategory_aYn {0}:: Category | |
p_aYm[tau:2] (CNonCanonical)} | |
runStage canonicalization { | |
workitem = [WD] hole{aYr} {0}:: (Ob | |
p_aYm[tau:2] a_aYo[tau:2] :: Constraint) | |
GHC.Prim.~# | |
(Ob p_aYf[sk:2] a_aYi[sk:2] :: Constraint) (CNonCanonical) | |
canonicalize (non-canonical) | |
[WD] hole{aYr} {0}:: (Ob p_aYm[tau:2] a_aYo[tau:2] :: Constraint) | |
GHC.Prim.~# | |
(Ob p_aYf[sk:2] a_aYi[sk:2] :: Constraint) (CNonCanonical) | |
canEvNC:eq | |
Ob p_aYm[tau:2] a_aYo[tau:2] | |
Ob p_aYf[sk:2] a_aYi[sk:2] | |
Filling coercion hole aYr := <Ob p_aYf[sk:2] a_aYi[sk:2]>_N | |
end stage canonicalization } | |
Step 14[l:2,d:0] Solved by reflexivity: | |
[WD] hole{aYr} {0}:: (Ob p_aYm[tau:2] a_aYo[tau:2] :: Constraint) | |
GHC.Prim.~# | |
(Ob p_aYf[sk:2] a_aYi[sk:2] :: Constraint) | |
End solver pipeline (discharged) } | |
----------------------------- | |
Start solver pipeline { | |
work item = [WD] $dCategory_aYn {0}:: Category | |
p_aYm[tau:2] (CNonCanonical) | |
inerts = {Equalities: [G] cobox_aYy {1}:: (fsk_aYw[fsk] :: (i_aYe[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) (CTyEqCan) | |
Type-function equalities = [G] cobox_aYx {0}:: (Ob | |
p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aYw[fsk] :: (i_aYe[sk:2] | |
-> Constraint)) (CFunEqCan) | |
[G] cobox_aYF {0}:: (Op p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> i_aYe[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aYE[fsk] :: (i_aYe[sk:2] | |
-> i_aYe[sk:2] | |
-> *)) (CFunEqCan) | |
Dictionaries = [G] $d~_aYz {0}:: (Vacuous | |
p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) (CDictCan) | |
[G] $d~~_aYA {0}:: (Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) | |
~~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) (CDictCan) | |
[G] $dFunctor_aYB {0}:: Functor | |
fsk_aYE[fsk] | |
(Nat p_aYf[sk:2] (->)) | |
p_aYf[sk:2] (CDictCan) | |
[G] $dCategory_aYg {0}:: Category p_aYf[sk:2] (CDictCan) | |
[G] $dCategory_aYG {0}:: Category fsk_aYE[fsk] (CDictCan(psc)) | |
[G] $dCategory_aYD {0}:: Category | |
(Nat p_aYf[sk:2] (->)) (CDictCan(psc)) | |
Unsolved goals = 0} | |
rest of worklist = WL {} | |
runStage canonicalization { | |
workitem = [WD] $dCategory_aYn {0}:: Category | |
p_aYm[tau:2] (CNonCanonical) | |
canonicalize (non-canonical) | |
[WD] $dCategory_aYn {0}:: Category p_aYm[tau:2] (CNonCanonical) | |
canEvNC:cls Category [i_aYl[tau:2], p_aYm[tau:2]] | |
flatten_many { | |
i_aYl[tau:2] | |
p_aYm[tau:2] | |
Following filled tyvar i_aYl[tau:2] = i_aYe[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
Following filled tyvar p_aYm[tau:2] = p_aYf[sk:2] | |
Unfilled tyvar p_aYf[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
Unfilled tyvar i_aYe[sk:2] | |
flatten } | |
i_aYe[sk:2] | |
p_aYf[sk:2] | |
canClass | |
[WD] $dCategory_aYn {0}:: Category p_aYm[tau:2] | |
Category p_aYf[sk:2] | |
ContinueWith [WD] $dCategory_aYn {0}:: Category p_aYf[sk:2] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [WD] $dCategory_aYn {0}:: Category | |
p_aYf[sk:2] (CDictCan(psc)) | |
addTcEvBind | |
aYs | |
[W] $dCategory_aYn = $dCategory_aYg | |
end stage interact with inerts } | |
Step 15[l:2,d:0] Dict equal (keep): | |
[WD] $dCategory_aYn {0}:: Category p_aYf[sk:2] | |
End solver pipeline (discharged) } | |
getUnsolvedInerts | |
tv eqs = {} | |
fun eqs = {} | |
insols = {} | |
others = {} | |
implics = {} | |
Unflattening | |
{Funeqs = | |
Tv eqs =} | |
Unflattening 1 {} | |
Unflattening 2 {} | |
Unflattening 3 {} | |
Unflattening done {} | |
zonkSimples done: {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {[G] $d~~_aYu = sc(($d~_aYk, 0)), | |
[G] cobox_aYv = sc(($d~~_aYu, 0)), | |
[G] cobox_aYx = CO <Ob p_aYf[sk:2]>_N, | |
[G] cobox_aYy = CO Sym cobox_aYx ; cobox_aYv, | |
[G] $d~_aYz | |
= $d~_aYk `cast` (Sub | |
(Sym | |
((~) | |
<i_aYe[sk:2] -> Constraint>_N | |
(Sym cobox) | |
<Vacuous p_aYf[sk:2]>_N)_N)), | |
[G] $d~~_aYA | |
= $d~~_aYu `cast` (Sub | |
(Sym | |
((~~) | |
<i_aYe[sk:2] -> Constraint>_N | |
<i_aYe[sk:2] -> Constraint>_N | |
(Sym cobox) | |
<Vacuous p_aYf[sk:2]>_N)_N)), | |
[G] $dFunctor_aYB = sc(($dCategory_aYg, 0)), | |
[G] $dCategory_aYC = sc(($dFunctor_aYB, 0)), | |
[G] $dCategory_aYD = sc(($dFunctor_aYB, 1)), | |
[G] cobox_aYF = CO <Op p_aYf[sk:2]>_N, | |
[G] $dCategory_aYG | |
= $dCategory_aYC `cast` (Sub | |
(Sym (Category <i_aYe[sk:2]>_N (Sym cobox))_N)), | |
[W] $d~_aYq | |
= $d~_aYz `cast` ((~) | |
<i_aYe[sk:2] -> Constraint>_N | |
(Trans (Sym cobox) (Sym cobox)) | |
<Vacuous p_aYf[sk:2]>_N)_R, | |
[W] $dCategory_aYn = $dCategory_aYg} | |
getNoGivenEqs | |
True | |
{Equalities: [G] cobox_aYy {1}:: (fsk_aYw[fsk] :: (i_aYe[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) (CTyEqCan) | |
Type-function equalities = [G] cobox_aYx {0}:: (Ob | |
p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
GHC.Prim.~# | |
(fsk_aYw[fsk] :: (i_aYe[sk:2] | |
-> Constraint)) (CFunEqCan) | |
[G] cobox_aYF {0}:: (Op p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> i_aYe[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aYE[fsk] :: (i_aYe[sk:2] | |
-> i_aYe[sk:2] | |
-> *)) (CFunEqCan) | |
Dictionaries = [G] $d~_aYz {0}:: (Vacuous | |
p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) | |
~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) (CDictCan) | |
[G] $d~~_aYA {0}:: (Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] | |
-> Constraint)) | |
~~ | |
(Vacuous p_aYf[sk:2] :: (i_aYe[sk:2] -> Constraint)) (CDictCan) | |
[G] $dFunctor_aYB {0}:: Functor | |
fsk_aYE[fsk] | |
(Nat p_aYf[sk:2] (->)) | |
p_aYf[sk:2] (CDictCan) | |
[G] $dCategory_aYg {0}:: Category p_aYf[sk:2] (CDictCan) | |
[G] $dCategory_aYG {0}:: Category fsk_aYE[fsk] (CDictCan(psc)) | |
[G] $dCategory_aYD {0}:: Category | |
(Nat p_aYf[sk:2] (->)) (CDictCan(psc)) | |
Unsolved goals = 0} | |
{} | |
solveImplication 2 | |
{} | |
WC {} | |
setImplicationStatus 2 | |
[$dCategory_aYg, $d~_aYk] | |
([aYu :-> [G] $d~~_aYu = sc(($d~_aYk, 0)), | |
aYv :-> [G] cobox_aYv = sc(($d~~_aYu, 0)), | |
aYx :-> [G] cobox_aYx = CO <Ob p_aYf[sk:2]>_N, | |
aYy :-> [G] cobox_aYy = CO Sym cobox_aYx ; cobox_aYv, | |
aYz :-> [G] $d~_aYz | |
= $d~_aYk `cast` (Sub | |
(Sym | |
((~) | |
<i_aYe[sk:2] -> Constraint>_N | |
(Sym cobox) | |
<Vacuous p_aYf[sk:2]>_N)_N)), | |
aYA :-> [G] $d~~_aYA | |
= $d~~_aYu `cast` (Sub | |
(Sym | |
((~~) | |
<i_aYe[sk:2] -> Constraint>_N | |
<i_aYe[sk:2] -> Constraint>_N | |
(Sym cobox) | |
<Vacuous p_aYf[sk:2]>_N)_N)), | |
aYB :-> [G] $dFunctor_aYB = sc(($dCategory_aYg, 0)), | |
aYC :-> [G] $dCategory_aYC = sc(($dFunctor_aYB, 0)), | |
aYD :-> [G] $dCategory_aYD = sc(($dFunctor_aYB, 1)), | |
aYF :-> [G] cobox_aYF = CO <Op p_aYf[sk:2]>_N, | |
aYG :-> [G] $dCategory_aYG | |
= $dCategory_aYC `cast` (Sub | |
(Sym (Category <i_aYe[sk:2]>_N (Sym cobox))_N)), | |
aYq :-> [W] $d~_aYq | |
= $d~_aYz `cast` ((~) | |
<i_aYe[sk:2] -> Constraint>_N | |
(Trans (Sym cobox) (Sym cobox)) | |
<Vacuous p_aYf[sk:2]>_N)_R, | |
aYn :-> [W] $dCategory_aYn = $dCategory_aYg], | |
[]) | |
[aYg :-> $dCategory_aYg, aYk :-> $d~_aYk] | |
solveImplication end } | |
no_given_eqs = False | |
floated_eqs = {} | |
res_implic = Nothing | |
implication evbinds = {[G] $d~~_aYu = sc(($d~_aYk, 0)), | |
[G] cobox_aYv = sc(($d~~_aYu, 0)), | |
[G] cobox_aYx = CO <Ob p_aYf[sk:2]>_N, | |
[G] cobox_aYy = CO Sym cobox_aYx ; cobox_aYv, | |
[G] $d~_aYz | |
= $d~_aYk `cast` (Sub | |
(Sym | |
((~) | |
<i_aYe[sk:2] -> Constraint>_N | |
(Sym cobox) | |
<Vacuous p_aYf[sk:2]>_N)_N)), | |
[G] $d~~_aYA | |
= $d~~_aYu `cast` (Sub | |
(Sym | |
((~~) | |
<i_aYe[sk:2] -> Constraint>_N | |
<i_aYe[sk:2] -> Constraint>_N | |
(Sym cobox) | |
<Vacuous p_aYf[sk:2]>_N)_N)), | |
[G] $dFunctor_aYB = sc(($dCategory_aYg, 0)), | |
[G] $dCategory_aYC = sc(($dFunctor_aYB, 0)), | |
[G] $dCategory_aYD = sc(($dFunctor_aYB, 1)), | |
[G] cobox_aYF = CO <Op p_aYf[sk:2]>_N, | |
[G] $dCategory_aYG | |
= $dCategory_aYC `cast` (Sub | |
(Sym | |
(Category <i_aYe[sk:2]>_N (Sym cobox))_N)), | |
[W] $d~_aYq | |
= $d~_aYz `cast` ((~) | |
<i_aYe[sk:2] -> Constraint>_N | |
(Trans (Sym cobox) (Sym cobox)) | |
<Vacuous p_aYf[sk:2]>_N)_R, | |
[W] $dCategory_aYn = $dCategory_aYg} | |
implication tvcs = [] | |
solveNestedImplications end } | |
all floated_eqs = {} | |
unsolved_implics = {Nothing} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {} | |
Constraint solver steps = 15 | |
End simplifyAmbiguityCheck } | |
reportUnsolved(ambig) { | |
newTcEvBinds unique = aYH | |
reportUnsolved(ambig) } | |
Done ambiguity check for | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). | |
(Ob p :: (i -> Constraint)) ~ (Vacuous p :: (i -> Constraint)) => | |
p a b -> Dict (Ob p a) | |
checkValidType done | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). | |
(Ob p :: (i -> Constraint)) ~ (Vacuous p :: (i -> Constraint)) => | |
p a b -> Dict (Ob p a) :: * | |
class op type | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). p a b -> Dict (Ob p b) | |
checkValidType | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). p a b -> Dict (Ob p b) :: * | |
check_type | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). p a b -> Dict (Ob p b) | |
True | |
check_valid_theta [Category p] | |
check_type | |
forall (a :: i_aL2[sk:1]) (b :: i_aL2[sk:1]). | |
p_aL3[sk:1] a b -> Dict (Ob p_aL3[sk:1] b) | |
True | |
Ambiguity check for | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). p a b -> Dict (Ob p b) | |
tcSubType_NC | |
the type signature for ‘target’ | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). p a b -> Dict (Ob p b) | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). p a b -> Dict (Ob p b) | |
tc_sub_tc_type (general case) | |
ty_actual = forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). p a b -> Dict (Ob p b) | |
ty_expected = forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). p a b -> Dict (Ob p b) | |
tcSkolemise | |
tcSkolemise | |
1 | |
expected_ty forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). p a b -> Dict (Ob p b) | |
inst tyvars [i_aYJ[sk:2], p_aYK[sk:2], a_aYN[sk:2], b_aYO[sk:2]] | |
given [$dCategory_aYL] | |
inst type p_aYK[sk:2] a_aYN[sk:2] b_aYO[sk:2] | |
-> Dict (Ob p_aYK[sk:2] b_aYO[sk:2]) | |
tc_sub_type_ds | |
ty_actual = forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). p a b -> Dict (Ob p b) | |
ty_expected = p_aYK[sk:2] a_aYN[sk:2] b_aYO[sk:2] | |
-> Dict (Ob p_aYK[sk:2] b_aYO[sk:2]) | |
instCallConstraints [$dCategory_aYR] | |
Instantiating | |
all tyvars? True | |
origin arising from a type equality forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). p a b -> Dict (Ob p b) | |
~ | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). p a b -> Dict (Ob p b) | |
type forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). p a b -> Dict (Ob p b) | |
theta [Category p] | |
leave_bndrs [] | |
with [i_aYP[tau:2], p_aYQ[tau:2]] | |
theta: [Category p_aYQ[tau:2]] | |
Instantiating | |
all tyvars? True | |
origin arising from a type equality forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). p a b -> Dict (Ob p b) | |
~ | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). p a b -> Dict (Ob p b) | |
type forall (a :: i_aYP[tau:2]) (b :: i_aYP[tau:2]). | |
p_aYQ[tau:2] a b -> Dict (Ob p_aYQ[tau:2] b) | |
theta [] | |
leave_bndrs [] | |
with [a_aYS[tau:2], b_aYT[tau:2]] | |
theta: [] | |
tc_sub_type_ds | |
ty_actual = p_aYQ[tau:2] a_aYS[tau:2] b_aYT[tau:2] | |
-> Dict (Ob p_aYQ[tau:2] b_aYT[tau:2]) | |
ty_expected = p_aYK[sk:2] a_aYN[sk:2] b_aYO[sk:2] | |
-> Dict (Ob p_aYK[sk:2] b_aYO[sk:2]) | |
tc_sub_type_ds | |
ty_actual = Dict (Ob p_aYQ[tau:2] b_aYT[tau:2]) | |
ty_expected = Dict (Ob p_aYK[sk:2] b_aYO[sk:2]) | |
deeply_instantiate final subst | |
origin: arising from a type equality forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). p a b -> Dict (Ob p b) | |
~ | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). p a b -> Dict (Ob p b) | |
type: Dict (Ob p_aYQ[tau:2] b_aYT[tau:2]) | |
new type: Dict (Ob p_aYQ[tau:2] b_aYT[tau:2]) | |
subst: [TCvSubst | |
In scope: InScope {i_aYP p_aYQ b_aYT} | |
Type env: [] | |
Co env: []] | |
u_tys | |
tclvl 2 | |
Dict (Ob p_aYQ[tau:2] b_aYT[tau:2]) | |
~ | |
Dict (Ob p_aYK[sk:2] b_aYO[sk:2]) | |
arising from a type equality p_aYQ[tau:2] a_aYS[tau:2] b_aYT[tau:2] | |
-> Dict (Ob p_aYQ[tau:2] b_aYT[tau:2]) | |
~ | |
p_aYK[sk:2] a_aYN[sk:2] b_aYO[sk:2] | |
-> Dict (Ob p_aYK[sk:2] b_aYO[sk:2]) | |
u_tys | |
tclvl 2 | |
Ob p_aYQ[tau:2] b_aYT[tau:2] ~ Ob p_aYK[sk:2] b_aYO[sk:2] | |
arising from a type equality p_aYQ[tau:2] a_aYS[tau:2] b_aYT[tau:2] | |
-> Dict (Ob p_aYQ[tau:2] b_aYT[tau:2]) | |
~ | |
p_aYK[sk:2] a_aYN[sk:2] b_aYO[sk:2] | |
-> Dict (Ob p_aYK[sk:2] b_aYO[sk:2]) | |
New coercion hole: aYU | |
utype_defer | |
U(hole:{aYU}, Ob p_aYQ[tau:2] b_aYT[tau:2], Ob | |
p_aYK[sk:2] b_aYO[sk:2])_N | |
Ob p_aYQ[tau:2] b_aYT[tau:2] | |
Ob p_aYK[sk:2] b_aYO[sk:2] | |
arising from a type equality p_aYQ[tau:2] a_aYS[tau:2] b_aYT[tau:2] | |
-> Dict (Ob p_aYQ[tau:2] b_aYT[tau:2]) | |
~ | |
p_aYK[sk:2] a_aYN[sk:2] b_aYO[sk:2] | |
-> Dict (Ob p_aYK[sk:2] b_aYO[sk:2]) | |
In the ambiguity check for ‘target’ | |
To defer the ambiguity check to use sites, enable AllowAmbiguousTypes | |
When checking the class method: | |
target :: forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). p a b -> Dict (Ob p b) | |
In the class declaration for ‘Category’ | |
u_tys yields coercion: | |
U(hole:{aYU}, Ob p_aYQ[tau:2] b_aYT[tau:2], Ob | |
p_aYK[sk:2] b_aYO[sk:2])_N | |
u_tys yields coercion: (Dict {aYU})_N | |
tc_sub_tc_type (general case) | |
ty_actual = p_aYK[sk:2] a_aYN[sk:2] b_aYO[sk:2] | |
ty_expected = p_aYQ[tau:2] a_aYS[tau:2] b_aYT[tau:2] | |
tcSkolemise | |
tcSkolemise | |
2 | |
expected_ty p_aYQ[tau:2] a_aYS[tau:2] b_aYT[tau:2] | |
inst tyvars [] | |
given [] | |
inst type p_aYQ[tau:2] a_aYS[tau:2] b_aYT[tau:2] | |
tc_sub_type_ds | |
ty_actual = p_aYK[sk:2] a_aYN[sk:2] b_aYO[sk:2] | |
ty_expected = p_aYQ[tau:2] a_aYS[tau:2] b_aYT[tau:2] | |
deeply_instantiate final subst | |
origin: arising from a type expected by the context: | |
p_aYK[sk:2] a_aYN[sk:2] b_aYO[sk:2] | |
type: p_aYK[sk:2] a_aYN[sk:2] b_aYO[sk:2] | |
new type: p_aYK[sk:2] a_aYN[sk:2] b_aYO[sk:2] | |
subst: [TCvSubst | |
In scope: InScope {i_aYJ p_aYK a_aYN b_aYO} | |
Type env: [] | |
Co env: []] | |
u_tys | |
tclvl 2 | |
p_aYK[sk:2] a_aYN[sk:2] b_aYO[sk:2] | |
~ | |
p_aYQ[tau:2] a_aYS[tau:2] b_aYT[tau:2] | |
arising from a type equality p_aYQ[tau:2] a_aYS[tau:2] b_aYT[tau:2] | |
-> Dict (Ob p_aYQ[tau:2] b_aYT[tau:2]) | |
~ | |
p_aYK[sk:2] a_aYN[sk:2] b_aYO[sk:2] | |
-> Dict (Ob p_aYK[sk:2] b_aYO[sk:2]) | |
u_tys | |
tclvl 2 | |
p_aYK[sk:2] a_aYN[sk:2] ~ p_aYQ[tau:2] a_aYS[tau:2] | |
arising from a type equality p_aYQ[tau:2] a_aYS[tau:2] b_aYT[tau:2] | |
-> Dict (Ob p_aYQ[tau:2] b_aYT[tau:2]) | |
~ | |
p_aYK[sk:2] a_aYN[sk:2] b_aYO[sk:2] | |
-> Dict (Ob p_aYK[sk:2] b_aYO[sk:2]) | |
u_tys | |
tclvl 2 | |
p_aYK[sk:2] ~ p_aYQ[tau:2] | |
arising from a type equality p_aYQ[tau:2] a_aYS[tau:2] b_aYT[tau:2] | |
-> Dict (Ob p_aYQ[tau:2] b_aYT[tau:2]) | |
~ | |
p_aYK[sk:2] a_aYN[sk:2] b_aYO[sk:2] | |
-> Dict (Ob p_aYK[sk:2] b_aYO[sk:2]) | |
u_tys | |
tclvl 2 | |
i_aYJ[sk:2] -> i_aYJ[sk:2] -> * ~ i_aYP[tau:2] -> i_aYP[tau:2] -> * | |
arising from a kind equality arising from | |
p_aYQ[tau:2] ~ p_aYK[sk:2] | |
u_tys | |
tclvl 2 | |
i_aYJ[sk:2] ~ i_aYP[tau:2] | |
arising from a kind equality arising from | |
p_aYQ[tau:2] ~ p_aYK[sk:2] | |
u_tys | |
tclvl 2 | |
* ~ * | |
arising from a kind equality arising from | |
i_aYP[tau:2] ~ i_aYJ[sk:2] | |
u_tys | |
tclvl 2 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aYP[tau:2] ~ i_aYJ[sk:2] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aYP[tau:2] := i_aYJ[sk:2] | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
i_aYJ[sk:2] -> * ~ i_aYP[tau:2] -> * | |
arising from a kind equality arising from | |
p_aYQ[tau:2] ~ p_aYK[sk:2] | |
u_tys | |
tclvl 2 | |
i_aYJ[sk:2] ~ i_aYP[tau:2] | |
arising from a kind equality arising from | |
p_aYQ[tau:2] ~ p_aYK[sk:2] | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
* ~ * | |
arising from a kind equality arising from | |
p_aYQ[tau:2] ~ p_aYK[sk:2] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar p_aYQ[tau:2] := p_aYK[sk:2] | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
a_aYN[sk:2] ~ a_aYS[tau:2] | |
arising from a type equality p_aYQ[tau:2] a_aYS[tau:2] b_aYT[tau:2] | |
-> Dict (Ob p_aYQ[tau:2] b_aYT[tau:2]) | |
~ | |
p_aYK[sk:2] a_aYN[sk:2] b_aYO[sk:2] | |
-> Dict (Ob p_aYK[sk:2] b_aYO[sk:2]) | |
u_tys | |
tclvl 2 | |
i_aYJ[sk:2] ~ i_aYJ[sk:2] | |
arising from a kind equality arising from | |
a_aYS[tau:2] ~ a_aYN[sk:2] | |
u_tys yields no coercion | |
writeMetaTyVar a_aYS[tau:2] := a_aYN[sk:2] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
b_aYO[sk:2] ~ b_aYT[tau:2] | |
arising from a type equality p_aYQ[tau:2] a_aYS[tau:2] b_aYT[tau:2] | |
-> Dict (Ob p_aYQ[tau:2] b_aYT[tau:2]) | |
~ | |
p_aYK[sk:2] a_aYN[sk:2] b_aYO[sk:2] | |
-> Dict (Ob p_aYK[sk:2] b_aYO[sk:2]) | |
u_tys | |
tclvl 2 | |
i_aYJ[sk:2] ~ i_aYJ[sk:2] | |
arising from a kind equality arising from | |
b_aYT[tau:2] ~ b_aYO[sk:2] | |
u_tys yields no coercion | |
writeMetaTyVar b_aYT[tau:2] := b_aYO[sk:2] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
newTcEvBinds unique = aYV | |
simplifyAmbiguityCheck { | |
type = forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). p a b -> Dict (Ob p b) | |
wanted = WC {wc_impl = | |
Implic { | |
TcLevel = 2 | |
Skolems = i_aYJ[sk:2] | |
(p_aYK[sk:2] :: i_aYJ[sk:2] -> i_aYJ[sk:2] -> *) | |
(a_aYN[sk:2] :: i_aYJ[sk:2]) | |
(b_aYO[sk:2] :: i_aYJ[sk:2]) | |
No-eqs = False | |
Status = Unsolved | |
Given = $dCategory_aYL :: Category p_aYK[sk:2] | |
Wanted = | |
WC {wc_simple = | |
[WD] $dCategory_aYR {0}:: Category p_aYQ[tau:2] (CNonCanonical) | |
[WD] hole{aYU} {0}:: (Ob p_aYQ[tau:2] b_aYT[tau:2] :: Constraint) | |
GHC.Prim.~# | |
(Ob | |
p_aYK[sk:2] | |
b_aYO[sk:2] :: Constraint) (CNonCanonical)} | |
Binds = EvBindsVar<aYV> | |
Needed = [] | |
the type signature for: | |
target :: Category p_aYK[sk:2] => | |
p_aYK[sk:2] a_aYN[sk:2] b_aYO[sk:2] | |
-> Dict (Ob p_aYK[sk:2] b_aYO[sk:2]) }} | |
newTcEvBinds unique = aYW | |
solveWanteds { | |
WC {wc_impl = | |
Implic { | |
TcLevel = 2 | |
Skolems = i_aYJ[sk:2] | |
(p_aYK[sk:2] :: i_aYJ[sk:2] -> i_aYJ[sk:2] -> *) | |
(a_aYN[sk:2] :: i_aYJ[sk:2]) | |
(b_aYO[sk:2] :: i_aYJ[sk:2]) | |
No-eqs = False | |
Status = Unsolved | |
Given = $dCategory_aYL :: Category p_aYK[sk:2] | |
Wanted = | |
WC {wc_simple = | |
[WD] $dCategory_aYR {0}:: Category p_aYQ[tau:2] (CNonCanonical) | |
[WD] hole{aYU} {0}:: (Ob p_aYQ[tau:2] b_aYT[tau:2] :: Constraint) | |
GHC.Prim.~# | |
(Ob p_aYK[sk:2] b_aYO[sk:2] :: Constraint) (CNonCanonical)} | |
Binds = EvBindsVar<aYV> | |
Needed = [] | |
the type signature for: | |
target :: Category p_aYK[sk:2] => | |
p_aYK[sk:2] a_aYN[sk:2] b_aYO[sk:2] | |
-> Dict (Ob p_aYK[sk:2] b_aYO[sk:2]) }} | |
solveSimpleWanteds { {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveNestedImplications starting { | |
solveImplication { | |
Implic { | |
TcLevel = 2 | |
Skolems = i_aYJ[sk:2] | |
(p_aYK[sk:2] :: i_aYJ[sk:2] -> i_aYJ[sk:2] -> *) | |
(a_aYN[sk:2] :: i_aYJ[sk:2]) | |
(b_aYO[sk:2] :: i_aYJ[sk:2]) | |
No-eqs = False | |
Status = Unsolved | |
Given = $dCategory_aYL :: Category p_aYK[sk:2] | |
Wanted = | |
WC {wc_simple = | |
[WD] $dCategory_aYR {0}:: Category p_aYQ[tau:2] (CNonCanonical) | |
[WD] hole{aYU} {0}:: (Ob p_aYQ[tau:2] b_aYT[tau:2] :: Constraint) | |
GHC.Prim.~# | |
(Ob p_aYK[sk:2] b_aYO[sk:2] :: Constraint) (CNonCanonical)} | |
Binds = EvBindsVar<aYV> | |
Needed = [] | |
the type signature for: | |
target :: Category p_aYK[sk:2] => | |
p_aYK[sk:2] a_aYN[sk:2] b_aYO[sk:2] | |
-> Dict (Ob p_aYK[sk:2] b_aYO[sk:2]) } | |
Inerts {Unsolved goals = 0} | |
solveSimpleGivens { | |
[[G] $dCategory_aYL {0}:: Category p_aYK[sk:2] (CNonCanonical)] | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] $dCategory_aYL {0}:: Category | |
p_aYK[sk:2] (CNonCanonical) | |
inerts = {Unsolved goals = 0} | |
rest of worklist = WL {} | |
runStage canonicalization { | |
workitem = [G] $dCategory_aYL {0}:: Category | |
p_aYK[sk:2] (CNonCanonical) | |
canonicalize (non-canonical) | |
[G] $dCategory_aYL {0}:: Category p_aYK[sk:2] (CNonCanonical) | |
canEvNC:cls Category [i_aYJ[sk:2], p_aYK[sk:2]] | |
addTcEvBind | |
aYV | |
[G] $dFunctor_aYX = sc(($dCategory_aYL, 0)) | |
mk_superclasses_of | |
Functor [i_aYJ[sk:2], i_aYJ[sk:2] -> *, Op p_aYK[sk:2], | |
Nat p_aYK[sk:2] (->), p_aYK[sk:2]] | |
False | |
[rKp :-> Category] | |
addTcEvBind | |
aYV | |
[G] $dCategory_aYY = sc(($dFunctor_aYX, 0)) | |
addTcEvBind | |
aYV | |
[G] $dCategory_aYZ = sc(($dFunctor_aYX, 1)) | |
mk_superclasses_of: loop Category [i_aYJ[sk:2], Op p_aYK[sk:2]] | |
mk_superclasses_of: loop | |
Category [i_aYJ[sk:2] -> *, Nat p_aYK[sk:2] (->)] | |
Emitting fresh work | |
[G] $dFunctor_aYX {0}:: Functor | |
(Op p_aYK[sk:2]) (Nat p_aYK[sk:2] (->)) p_aYK[sk:2] (CDictCan) | |
[G] $dCategory_aYY {0}:: Category (Op p_aYK[sk:2]) (CDictCan(psc)) | |
[G] $dCategory_aYZ {0}:: Category | |
(Nat p_aYK[sk:2] (->)) (CDictCan(psc)) | |
flatten_many { | |
i_aYJ[sk:2] | |
p_aYK[sk:2] | |
Unfilled tyvar i_aYJ[sk:2] | |
Unfilled tyvar p_aYK[sk:2] | |
Unfilled tyvar i_aYJ[sk:2] | |
Unfilled tyvar i_aYJ[sk:2] | |
flatten } | |
i_aYJ[sk:2] | |
p_aYK[sk:2] | |
canClass | |
[G] $dCategory_aYL {0}:: Category p_aYK[sk:2] | |
Category p_aYK[sk:2] | |
ContinueWith [G] $dCategory_aYL {0}:: Category p_aYK[sk:2] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] $dCategory_aYL {0}:: Category | |
p_aYK[sk:2] (CDictCan) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] $dCategory_aYL {0}:: Category | |
p_aYK[sk:2] (CDictCan) | |
doTopReact [G] $dCategory_aYL {0}:: Category p_aYK[sk:2] (CDictCan) | |
try_fundeps | |
[G] $dCategory_aYL {0}:: Category p_aYK[sk:2] (CDictCan) | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] $dCategory_aYL {0}:: Category | |
p_aYK[sk:2] (CDictCan) | |
addInertCan } | |
Step 1[l:2,d:0] Kept as inert: | |
[G] $dCategory_aYL {0}:: Category p_aYK[sk:2] | |
End solver pipeline (kept as inert) } | |
final_item = [G] $dCategory_aYL {0}:: Category | |
p_aYK[sk:2] (CDictCan) | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] $dFunctor_aYX {0}:: Functor | |
(Op p_aYK[sk:2]) | |
(Nat p_aYK[sk:2] (->)) | |
p_aYK[sk:2] (CDictCan) | |
inerts = {Dictionaries = [G] $dCategory_aYL {0}:: Category | |
p_aYK[sk:2] (CDictCan) | |
Unsolved goals = 0} | |
rest of worklist = WL {Non-eqs = [G] $dCategory_aYY {0}:: Category | |
(Op p_aYK[sk:2]) (CDictCan(psc)) | |
[G] $dCategory_aYZ {0}:: Category | |
(Nat | |
p_aYK[sk:2] (->)) (CDictCan(psc))} | |
runStage canonicalization { | |
workitem = [G] $dFunctor_aYX {0}:: Functor | |
(Op p_aYK[sk:2]) | |
(Nat p_aYK[sk:2] (->)) | |
p_aYK[sk:2] (CDictCan) | |
flatten_many { | |
i_aYJ[sk:2] | |
i_aYJ[sk:2] -> * | |
Op p_aYK[sk:2] | |
Nat p_aYK[sk:2] (->) | |
p_aYK[sk:2] | |
Unfilled tyvar i_aYJ[sk:2] | |
Unfilled tyvar i_aYJ[sk:2] | |
matchFamTcM | |
Matching: Op p_aYK[sk:2] | |
Match failed | |
Unfilled tyvar i_aYJ[sk:2] | |
Unfilled tyvar i_aYJ[sk:2] | |
Unfilled tyvar p_aYK[sk:2] | |
Unfilled tyvar i_aYJ[sk:2] | |
Unfilled tyvar i_aYJ[sk:2] | |
matchFamTcM | |
Matching: Op p_aYK[sk:2] | |
Match failed | |
addTcEvBind | |
aYV | |
[G] cobox_aZ1 = CO <Op p_aYK[sk:2]>_N | |
extendFlatCache | |
Op [i_aYJ[sk:2], i_aYJ[sk:2], p_aYK[sk:2]] | |
[G] | |
fsk_aZ0[fsk] | |
flatten/flat-cache miss | |
Op [i_aYJ[sk:2], i_aYJ[sk:2], p_aYK[sk:2]] | |
fsk_aZ0[fsk] | |
[G] cobox_aZ1 {0}:: (Op p_aYK[sk:2] :: (i_aYJ[sk:2] | |
-> i_aYJ[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aZ0[fsk] :: (i_aYJ[sk:2] -> i_aYJ[sk:2] -> *)) | |
Unfilled tyvar i_aYJ[sk:2] | |
Unfilled tyvar p_aYK[sk:2] | |
Unfilled tyvar i_aYJ[sk:2] | |
Unfilled tyvar i_aYJ[sk:2] | |
Unfilled tyvar p_aYK[sk:2] | |
Unfilled tyvar i_aYJ[sk:2] | |
Unfilled tyvar i_aYJ[sk:2] | |
flatten } | |
i_aYJ[sk:2] | |
i_aYJ[sk:2] -> * | |
fsk_aZ0[fsk] | |
Nat p_aYK[sk:2] (->) | |
p_aYK[sk:2] | |
canClass | |
[G] $dFunctor_aYX {0}:: Functor | |
(Op p_aYK[sk:2]) (Nat p_aYK[sk:2] (->)) p_aYK[sk:2] | |
Functor fsk_aZ0[fsk] (Nat p_aYK[sk:2] (->)) p_aYK[sk:2] | |
ContinueWith [G] $dFunctor_aYX {0}:: Functor | |
fsk_aZ0[fsk] (Nat p_aYK[sk:2] (->)) p_aYK[sk:2] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] $dFunctor_aYX {0}:: Functor | |
fsk_aZ0[fsk] (Nat p_aYK[sk:2] (->)) p_aYK[sk:2] (CDictCan) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] $dFunctor_aYX {0}:: Functor | |
fsk_aZ0[fsk] (Nat p_aYK[sk:2] (->)) p_aYK[sk:2] (CDictCan) | |
doTopReact | |
[G] $dFunctor_aYX {0}:: Functor | |
fsk_aZ0[fsk] (Nat p_aYK[sk:2] (->)) p_aYK[sk:2] (CDictCan) | |
try_fundeps | |
[G] $dFunctor_aYX {0}:: Functor | |
fsk_aZ0[fsk] (Nat p_aYK[sk:2] (->)) p_aYK[sk:2] (CDictCan) | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] $dFunctor_aYX {0}:: Functor | |
fsk_aZ0[fsk] | |
(Nat p_aYK[sk:2] (->)) | |
p_aYK[sk:2] (CDictCan) | |
addInertCan } | |
Step 2[l:2,d:0] Kept as inert: | |
[G] $dFunctor_aYX {0}:: Functor | |
fsk_aZ0[fsk] (Nat p_aYK[sk:2] (->)) p_aYK[sk:2] | |
End solver pipeline (kept as inert) } | |
final_item = [G] $dFunctor_aYX {0}:: Functor | |
fsk_aZ0[fsk] (Nat p_aYK[sk:2] (->)) p_aYK[sk:2] (CDictCan) | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] cobox_aZ1 {0}:: (Op p_aYK[sk:2] :: (i_aYJ[sk:2] | |
-> i_aYJ[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aZ0[fsk] :: (i_aYJ[sk:2] -> i_aYJ[sk:2] -> *)) (CFunEqCan) | |
inerts = {Dictionaries = [G] $dCategory_aYL {0}:: Category | |
p_aYK[sk:2] (CDictCan) | |
[G] $dFunctor_aYX {0}:: Functor | |
fsk_aZ0[fsk] | |
(Nat p_aYK[sk:2] (->)) | |
p_aYK[sk:2] (CDictCan) | |
Unsolved goals = 0} | |
rest of worklist = WL {Non-eqs = [G] $dCategory_aYY {0}:: Category | |
(Op p_aYK[sk:2]) (CDictCan(psc)) | |
[G] $dCategory_aYZ {0}:: Category | |
(Nat | |
p_aYK[sk:2] (->)) (CDictCan(psc))} | |
runStage canonicalization { | |
workitem = [G] cobox_aZ1 {0}:: (Op p_aYK[sk:2] :: (i_aYJ[sk:2] | |
-> i_aYJ[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aZ0[fsk] :: (i_aYJ[sk:2] -> i_aYJ[sk:2] -> *)) (CFunEqCan) | |
flatten_many { | |
i_aYJ[sk:2] | |
i_aYJ[sk:2] | |
p_aYK[sk:2] | |
Unfilled tyvar i_aYJ[sk:2] | |
Unfilled tyvar i_aYJ[sk:2] | |
Unfilled tyvar p_aYK[sk:2] | |
Unfilled tyvar i_aYJ[sk:2] | |
Unfilled tyvar i_aYJ[sk:2] | |
flatten } | |
i_aYJ[sk:2] | |
i_aYJ[sk:2] | |
p_aYK[sk:2] | |
extendFlatCache | |
Op [i_aYJ[sk:2], i_aYJ[sk:2], p_aYK[sk:2]] | |
[G] | |
fsk_aZ0[fsk] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] cobox_aZ1 {0}:: (Op p_aYK[sk:2] :: (i_aYJ[sk:2] | |
-> i_aYJ[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aZ0[fsk] :: (i_aYJ[sk:2] -> i_aYJ[sk:2] -> *)) (CFunEqCan) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] cobox_aZ1 {0}:: (Op p_aYK[sk:2] :: (i_aYJ[sk:2] | |
-> i_aYJ[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aZ0[fsk] :: (i_aYJ[sk:2] -> i_aYJ[sk:2] -> *)) (CFunEqCan) | |
doTopReact | |
[G] cobox_aZ1 {0}:: (Op p_aYK[sk:2] :: (i_aYJ[sk:2] | |
-> i_aYJ[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aZ0[fsk] :: (i_aYJ[sk:2] -> i_aYJ[sk:2] -> *)) (CFunEqCan) | |
matchFamTcM | |
Matching: Op p_aYK[sk:2] | |
Match failed | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] cobox_aZ1 {0}:: (Op | |
p_aYK[sk:2] :: (i_aYJ[sk:2] | |
-> i_aYJ[sk:2] | |
-> *)) | |
GHC.Prim.~# | |
(fsk_aZ0[fsk] :: (i_aYJ[sk:2] | |
-> i_aYJ[sk:2] | |
-> *)) (CFunEqCan) | |
addInertCan } | |
Step 3[l:2,d:0] Kept as inert: | |
[G] cobox_aZ1 {0}:: (Op p_aYK[sk:2] :: (i_aYJ[sk:2] | |
-> i_aYJ[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aZ0[fsk] :: (i_aYJ[sk:2] -> i_aYJ[sk:2] -> *)) | |
End solver pipeline (kept as inert) } | |
final_item = [G] cobox_aZ1 {0}:: (Op p_aYK[sk:2] :: (i_aYJ[sk:2] | |
-> i_aYJ[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aZ0[fsk] :: (i_aYJ[sk:2] -> i_aYJ[sk:2] -> *)) (CFunEqCan) | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] $dCategory_aYY {0}:: Category | |
(Op p_aYK[sk:2]) (CDictCan(psc)) | |
inerts = {Type-function equalities = [G] cobox_aZ1 {0}:: (Op | |
p_aYK[sk:2] :: (i_aYJ[sk:2] | |
-> i_aYJ[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aZ0[fsk] :: (i_aYJ[sk:2] | |
-> i_aYJ[sk:2] | |
-> *)) (CFunEqCan) | |
Dictionaries = [G] $dCategory_aYL {0}:: Category | |
p_aYK[sk:2] (CDictCan) | |
[G] $dFunctor_aYX {0}:: Functor | |
fsk_aZ0[fsk] | |
(Nat p_aYK[sk:2] (->)) | |
p_aYK[sk:2] (CDictCan) | |
Unsolved goals = 0} | |
rest of worklist = WL {Non-eqs = [G] $dCategory_aYZ {0}:: Category | |
(Nat | |
p_aYK[sk:2] (->)) (CDictCan(psc))} | |
runStage canonicalization { | |
workitem = [G] $dCategory_aYY {0}:: Category | |
(Op p_aYK[sk:2]) (CDictCan(psc)) | |
flatten_many { | |
i_aYJ[sk:2] | |
Op p_aYK[sk:2] | |
Unfilled tyvar i_aYJ[sk:2] | |
matchFamTcM | |
Matching: Op p_aYK[sk:2] | |
Match failed | |
Unfilled tyvar i_aYJ[sk:2] | |
Unfilled tyvar i_aYJ[sk:2] | |
Unfilled tyvar p_aYK[sk:2] | |
Unfilled tyvar i_aYJ[sk:2] | |
Unfilled tyvar i_aYJ[sk:2] | |
flatten/flat-cache hit | |
Op [i_aYJ[sk:2], i_aYJ[sk:2], p_aYK[sk:2]] | |
fsk_aZ0[fsk] | |
Unfilled tyvar fsk_aZ0[fsk] | |
Unfilled tyvar i_aYJ[sk:2] | |
Unfilled tyvar i_aYJ[sk:2] | |
flatten } | |
i_aYJ[sk:2] | |
fsk_aZ0[fsk] | |
addTcEvBind | |
aYV | |
[G] $dCategory_aZ2 | |
= $dCategory_aYY `cast` (Sub | |
(Sym (Category <i_aYJ[sk:2]>_N (Sym cobox))_N)) | |
canClass | |
[G] $dCategory_aYY {0}:: Category (Op p_aYK[sk:2]) | |
Category fsk_aZ0[fsk] | |
ContinueWith [G] $dCategory_aZ2 {0}:: Category fsk_aZ0[fsk] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] $dCategory_aZ2 {0}:: Category | |
fsk_aZ0[fsk] (CDictCan(psc)) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] $dCategory_aZ2 {0}:: Category | |
fsk_aZ0[fsk] (CDictCan(psc)) | |
doTopReact | |
[G] $dCategory_aZ2 {0}:: Category fsk_aZ0[fsk] (CDictCan(psc)) | |
try_fundeps | |
[G] $dCategory_aZ2 {0}:: Category fsk_aZ0[fsk] (CDictCan(psc)) | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] $dCategory_aZ2 {0}:: Category | |
fsk_aZ0[fsk] (CDictCan(psc)) | |
addInertCan } | |
Step 4[l:2,d:0] Kept as inert: | |
[G] $dCategory_aZ2 {0}:: Category fsk_aZ0[fsk] | |
End solver pipeline (kept as inert) } | |
final_item = [G] $dCategory_aZ2 {0}:: Category | |
fsk_aZ0[fsk] (CDictCan(psc)) | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] $dCategory_aYZ {0}:: Category | |
(Nat p_aYK[sk:2] (->)) (CDictCan(psc)) | |
inerts = {Type-function equalities = [G] cobox_aZ1 {0}:: (Op | |
p_aYK[sk:2] :: (i_aYJ[sk:2] | |
-> i_aYJ[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aZ0[fsk] :: (i_aYJ[sk:2] | |
-> i_aYJ[sk:2] | |
-> *)) (CFunEqCan) | |
Dictionaries = [G] $dFunctor_aYX {0}:: Functor | |
fsk_aZ0[fsk] | |
(Nat p_aYK[sk:2] (->)) | |
p_aYK[sk:2] (CDictCan) | |
[G] $dCategory_aYL {0}:: Category p_aYK[sk:2] (CDictCan) | |
[G] $dCategory_aZ2 {0}:: Category fsk_aZ0[fsk] (CDictCan(psc)) | |
Unsolved goals = 0} | |
rest of worklist = WL {} | |
runStage canonicalization { | |
workitem = [G] $dCategory_aYZ {0}:: Category | |
(Nat p_aYK[sk:2] (->)) (CDictCan(psc)) | |
flatten_many { | |
i_aYJ[sk:2] -> * | |
Nat p_aYK[sk:2] (->) | |
Unfilled tyvar i_aYJ[sk:2] | |
Unfilled tyvar i_aYJ[sk:2] | |
Unfilled tyvar p_aYK[sk:2] | |
Unfilled tyvar i_aYJ[sk:2] | |
Unfilled tyvar i_aYJ[sk:2] | |
flatten } | |
i_aYJ[sk:2] -> * | |
Nat p_aYK[sk:2] (->) | |
canClass | |
[G] $dCategory_aYZ {0}:: Category (Nat p_aYK[sk:2] (->)) | |
Category (Nat p_aYK[sk:2] (->)) | |
ContinueWith [G] $dCategory_aYZ {0}:: Category | |
(Nat p_aYK[sk:2] (->)) | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] $dCategory_aYZ {0}:: Category | |
(Nat p_aYK[sk:2] (->)) (CDictCan(psc)) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] $dCategory_aYZ {0}:: Category | |
(Nat p_aYK[sk:2] (->)) (CDictCan(psc)) | |
doTopReact | |
[G] $dCategory_aYZ {0}:: Category | |
(Nat p_aYK[sk:2] (->)) (CDictCan(psc)) | |
try_fundeps | |
[G] $dCategory_aYZ {0}:: Category | |
(Nat p_aYK[sk:2] (->)) (CDictCan(psc)) | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] $dCategory_aYZ {0}:: Category | |
(Nat | |
p_aYK[sk:2] | |
(->)) (CDictCan(psc)) | |
addInertCan } | |
Step 5[l:2,d:0] Kept as inert: | |
[G] $dCategory_aYZ {0}:: Category (Nat p_aYK[sk:2] (->)) | |
End solver pipeline (kept as inert) } | |
final_item = [G] $dCategory_aYZ {0}:: Category | |
(Nat p_aYK[sk:2] (->)) (CDictCan(psc)) | |
End solveSimpleGivens } | |
solveWanteds { | |
WC {wc_simple = | |
[WD] $dCategory_aYR {0}:: Category p_aYQ[tau:2] (CNonCanonical) | |
[WD] hole{aYU} {0}:: (Ob p_aYQ[tau:2] b_aYT[tau:2] :: Constraint) | |
GHC.Prim.~# | |
(Ob p_aYK[sk:2] b_aYO[sk:2] :: Constraint) (CNonCanonical)} | |
solveSimpleWanteds { | |
{[WD] $dCategory_aYR {0}:: Category p_aYQ[tau:2] (CNonCanonical), | |
[WD] hole{aYU} {0}:: (Ob p_aYQ[tau:2] b_aYT[tau:2] :: Constraint) | |
GHC.Prim.~# | |
(Ob p_aYK[sk:2] b_aYO[sk:2] :: Constraint) (CNonCanonical)} | |
----------------------------- | |
Start solver pipeline { | |
work item = [WD] hole{aYU} {0}:: (Ob | |
p_aYQ[tau:2] b_aYT[tau:2] :: Constraint) | |
GHC.Prim.~# | |
(Ob p_aYK[sk:2] b_aYO[sk:2] :: Constraint) (CNonCanonical) | |
inerts = {Type-function equalities = [G] cobox_aZ1 {0}:: (Op | |
p_aYK[sk:2] :: (i_aYJ[sk:2] | |
-> i_aYJ[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aZ0[fsk] :: (i_aYJ[sk:2] | |
-> i_aYJ[sk:2] | |
-> *)) (CFunEqCan) | |
Dictionaries = [G] $dFunctor_aYX {0}:: Functor | |
fsk_aZ0[fsk] | |
(Nat p_aYK[sk:2] (->)) | |
p_aYK[sk:2] (CDictCan) | |
[G] $dCategory_aYL {0}:: Category p_aYK[sk:2] (CDictCan) | |
[G] $dCategory_aZ2 {0}:: Category fsk_aZ0[fsk] (CDictCan(psc)) | |
[G] $dCategory_aYZ {0}:: Category | |
(Nat p_aYK[sk:2] (->)) (CDictCan(psc)) | |
Unsolved goals = 0} | |
rest of worklist = WL {Non-eqs = [WD] $dCategory_aYR {0}:: Category | |
p_aYQ[tau:2] (CNonCanonical)} | |
runStage canonicalization { | |
workitem = [WD] hole{aYU} {0}:: (Ob | |
p_aYQ[tau:2] b_aYT[tau:2] :: Constraint) | |
GHC.Prim.~# | |
(Ob p_aYK[sk:2] b_aYO[sk:2] :: Constraint) (CNonCanonical) | |
canonicalize (non-canonical) | |
[WD] hole{aYU} {0}:: (Ob p_aYQ[tau:2] b_aYT[tau:2] :: Constraint) | |
GHC.Prim.~# | |
(Ob p_aYK[sk:2] b_aYO[sk:2] :: Constraint) (CNonCanonical) | |
canEvNC:eq | |
Ob p_aYQ[tau:2] b_aYT[tau:2] | |
Ob p_aYK[sk:2] b_aYO[sk:2] | |
Filling coercion hole aYU := <Ob p_aYK[sk:2] b_aYO[sk:2]>_N | |
end stage canonicalization } | |
Step 6[l:2,d:0] Solved by reflexivity: | |
[WD] hole{aYU} {0}:: (Ob p_aYQ[tau:2] b_aYT[tau:2] :: Constraint) | |
GHC.Prim.~# | |
(Ob p_aYK[sk:2] b_aYO[sk:2] :: Constraint) | |
End solver pipeline (discharged) } | |
----------------------------- | |
Start solver pipeline { | |
work item = [WD] $dCategory_aYR {0}:: Category | |
p_aYQ[tau:2] (CNonCanonical) | |
inerts = {Type-function equalities = [G] cobox_aZ1 {0}:: (Op | |
p_aYK[sk:2] :: (i_aYJ[sk:2] | |
-> i_aYJ[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aZ0[fsk] :: (i_aYJ[sk:2] | |
-> i_aYJ[sk:2] | |
-> *)) (CFunEqCan) | |
Dictionaries = [G] $dFunctor_aYX {0}:: Functor | |
fsk_aZ0[fsk] | |
(Nat p_aYK[sk:2] (->)) | |
p_aYK[sk:2] (CDictCan) | |
[G] $dCategory_aYL {0}:: Category p_aYK[sk:2] (CDictCan) | |
[G] $dCategory_aZ2 {0}:: Category fsk_aZ0[fsk] (CDictCan(psc)) | |
[G] $dCategory_aYZ {0}:: Category | |
(Nat p_aYK[sk:2] (->)) (CDictCan(psc)) | |
Unsolved goals = 0} | |
rest of worklist = WL {} | |
runStage canonicalization { | |
workitem = [WD] $dCategory_aYR {0}:: Category | |
p_aYQ[tau:2] (CNonCanonical) | |
canonicalize (non-canonical) | |
[WD] $dCategory_aYR {0}:: Category p_aYQ[tau:2] (CNonCanonical) | |
canEvNC:cls Category [i_aYP[tau:2], p_aYQ[tau:2]] | |
flatten_many { | |
i_aYP[tau:2] | |
p_aYQ[tau:2] | |
Following filled tyvar i_aYP[tau:2] = i_aYJ[sk:2] | |
Unfilled tyvar i_aYJ[sk:2] | |
Following filled tyvar p_aYQ[tau:2] = p_aYK[sk:2] | |
Unfilled tyvar p_aYK[sk:2] | |
Unfilled tyvar i_aYJ[sk:2] | |
Unfilled tyvar i_aYJ[sk:2] | |
flatten } | |
i_aYJ[sk:2] | |
p_aYK[sk:2] | |
canClass | |
[WD] $dCategory_aYR {0}:: Category p_aYQ[tau:2] | |
Category p_aYK[sk:2] | |
ContinueWith [WD] $dCategory_aYR {0}:: Category p_aYK[sk:2] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [WD] $dCategory_aYR {0}:: Category | |
p_aYK[sk:2] (CDictCan(psc)) | |
addTcEvBind | |
aYV | |
[W] $dCategory_aYR = $dCategory_aYL | |
end stage interact with inerts } | |
Step 7[l:2,d:0] Dict equal (keep): | |
[WD] $dCategory_aYR {0}:: Category p_aYK[sk:2] | |
End solver pipeline (discharged) } | |
getUnsolvedInerts | |
tv eqs = {} | |
fun eqs = {} | |
insols = {} | |
others = {} | |
implics = {} | |
Unflattening | |
{Funeqs = | |
Tv eqs =} | |
Unflattening 1 {} | |
Unflattening 2 {} | |
Unflattening 3 {} | |
Unflattening done {} | |
zonkSimples done: {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {[G] $dFunctor_aYX = sc(($dCategory_aYL, 0)), | |
[G] $dCategory_aYY = sc(($dFunctor_aYX, 0)), | |
[G] $dCategory_aYZ = sc(($dFunctor_aYX, 1)), | |
[G] cobox_aZ1 = CO <Op p_aYK[sk:2]>_N, | |
[G] $dCategory_aZ2 | |
= $dCategory_aYY `cast` (Sub | |
(Sym (Category <i_aYJ[sk:2]>_N (Sym cobox))_N)), | |
[W] $dCategory_aYR = $dCategory_aYL} | |
getNoGivenEqs | |
False | |
{Type-function equalities = [G] cobox_aZ1 {0}:: (Op | |
p_aYK[sk:2] :: (i_aYJ[sk:2] | |
-> i_aYJ[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aZ0[fsk] :: (i_aYJ[sk:2] | |
-> i_aYJ[sk:2] | |
-> *)) (CFunEqCan) | |
Dictionaries = [G] $dFunctor_aYX {0}:: Functor | |
fsk_aZ0[fsk] | |
(Nat p_aYK[sk:2] (->)) | |
p_aYK[sk:2] (CDictCan) | |
[G] $dCategory_aYL {0}:: Category p_aYK[sk:2] (CDictCan) | |
[G] $dCategory_aZ2 {0}:: Category fsk_aZ0[fsk] (CDictCan(psc)) | |
[G] $dCategory_aYZ {0}:: Category | |
(Nat p_aYK[sk:2] (->)) (CDictCan(psc)) | |
Unsolved goals = 0} | |
{} | |
floatEqualities | |
Skols = [i_aYJ[sk:2], p_aYK[sk:2], a_aYN[sk:2], b_aYO[sk:2]] | |
Simples = {} | |
Floated eqs = {} | |
solveImplication 2 | |
{} | |
WC {} | |
setImplicationStatus 2 | |
[$dCategory_aYL] | |
([aYX :-> [G] $dFunctor_aYX = sc(($dCategory_aYL, 0)), | |
aYY :-> [G] $dCategory_aYY = sc(($dFunctor_aYX, 0)), | |
aYZ :-> [G] $dCategory_aYZ = sc(($dFunctor_aYX, 1)), | |
aZ1 :-> [G] cobox_aZ1 = CO <Op p_aYK[sk:2]>_N, | |
aZ2 :-> [G] $dCategory_aZ2 | |
= $dCategory_aYY `cast` (Sub | |
(Sym (Category <i_aYJ[sk:2]>_N (Sym cobox))_N)), | |
aYR :-> [W] $dCategory_aYR = $dCategory_aYL], | |
[]) | |
[aYL :-> $dCategory_aYL] | |
solveImplication end } | |
no_given_eqs = True | |
floated_eqs = {} | |
res_implic = Nothing | |
implication evbinds = {[G] $dFunctor_aYX = sc(($dCategory_aYL, 0)), | |
[G] $dCategory_aYY = sc(($dFunctor_aYX, 0)), | |
[G] $dCategory_aYZ = sc(($dFunctor_aYX, 1)), | |
[G] cobox_aZ1 = CO <Op p_aYK[sk:2]>_N, | |
[G] $dCategory_aZ2 | |
= $dCategory_aYY `cast` (Sub | |
(Sym | |
(Category <i_aYJ[sk:2]>_N (Sym cobox))_N)), | |
[W] $dCategory_aYR = $dCategory_aYL} | |
implication tvcs = [] | |
solveNestedImplications end } | |
all floated_eqs = {} | |
unsolved_implics = {Nothing} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {} | |
Constraint solver steps = 7 | |
End simplifyAmbiguityCheck } | |
reportUnsolved(ambig) { | |
newTcEvBinds unique = aZ3 | |
reportUnsolved(ambig) } | |
Done ambiguity check for | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). p a b -> Dict (Ob p b) | |
checkValidType done | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). p a b -> Dict (Ob p b) :: * | |
checkValidType | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). | |
(Ob p :: (i -> Constraint)) ~ (Vacuous p :: (i -> Constraint)) => | |
p a b -> Dict (Ob p b) :: * | |
check_type | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). | |
(Ob p :: (i -> Constraint)) ~ (Vacuous p :: (i -> Constraint)) => | |
p a b -> Dict (Ob p b) | |
True | |
check_valid_theta [Category p] | |
check_type | |
forall (a :: i_aL2[sk:1]) (b :: i_aL2[sk:1]). | |
(Ob p_aL3[sk:1] :: (i_aL2[sk:1] -> Constraint)) | |
~ | |
(Vacuous p_aL3[sk:1] :: (i_aL2[sk:1] -> Constraint)) => | |
p_aL3[sk:1] a b -> Dict (Ob p_aL3[sk:1] b) | |
True | |
check_valid_theta | |
[(Ob p_aL3[sk:1] :: (i_aL2[sk:1] -> Constraint)) | |
~ | |
(Vacuous p_aL3[sk:1] :: (i_aL2[sk:1] -> Constraint))] | |
Ambiguity check for | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). | |
(Ob p :: (i -> Constraint)) ~ (Vacuous p :: (i -> Constraint)) => | |
p a b -> Dict (Ob p b) | |
tcSubType_NC | |
the type signature for ‘target’ | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). | |
(Ob p :: (i -> Constraint)) ~ (Vacuous p :: (i -> Constraint)) => | |
p a b -> Dict (Ob p b) | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). | |
(Ob p :: (i -> Constraint)) ~ (Vacuous p :: (i -> Constraint)) => | |
p a b -> Dict (Ob p b) | |
tc_sub_tc_type (general case) | |
ty_actual = forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). | |
(Ob p :: (i -> Constraint)) ~ (Vacuous p :: (i -> Constraint)) => | |
p a b -> Dict (Ob p b) | |
ty_expected = forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). | |
(Ob p :: (i -> Constraint)) ~ (Vacuous p :: (i -> Constraint)) => | |
p a b -> Dict (Ob p b) | |
tcSkolemise | |
tcSkolemise | |
1 | |
expected_ty forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). | |
(Ob p :: (i -> Constraint)) ~ (Vacuous p :: (i -> Constraint)) => | |
p a b -> Dict (Ob p b) | |
inst tyvars [i_aZ5[sk:2], p_aZ6[sk:2], a_aZ9[sk:2], b_aZa[sk:2]] | |
given [$dCategory_aZ7, $d~_aZb] | |
inst type p_aZ6[sk:2] a_aZ9[sk:2] b_aZa[sk:2] | |
-> Dict (Ob p_aZ6[sk:2] b_aZa[sk:2]) | |
tc_sub_type_ds | |
ty_actual = forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). | |
(Ob p :: (i -> Constraint)) ~ (Vacuous p :: (i -> Constraint)) => | |
p a b -> Dict (Ob p b) | |
ty_expected = p_aZ6[sk:2] a_aZ9[sk:2] b_aZa[sk:2] | |
-> Dict (Ob p_aZ6[sk:2] b_aZa[sk:2]) | |
instCallConstraints [$dCategory_aZe] | |
Instantiating | |
all tyvars? True | |
origin arising from a type equality forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). | |
(Ob p :: (i -> Constraint)) | |
~ | |
(Vacuous p :: (i -> Constraint)) => | |
p a b -> Dict (Ob p b) | |
~ | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). | |
(Ob p :: (i -> Constraint)) | |
~ | |
(Vacuous p :: (i -> Constraint)) => | |
p a b -> Dict (Ob p b) | |
type forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). | |
(Ob p :: (i -> Constraint)) ~ (Vacuous p :: (i -> Constraint)) => | |
p a b -> Dict (Ob p b) | |
theta [Category p] | |
leave_bndrs [] | |
with [i_aZc[tau:2], p_aZd[tau:2]] | |
theta: [Category p_aZd[tau:2]] | |
instCallConstraints [$d~_aZh] | |
Instantiating | |
all tyvars? True | |
origin arising from a type equality forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). | |
(Ob p :: (i -> Constraint)) | |
~ | |
(Vacuous p :: (i -> Constraint)) => | |
p a b -> Dict (Ob p b) | |
~ | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). | |
(Ob p :: (i -> Constraint)) | |
~ | |
(Vacuous p :: (i -> Constraint)) => | |
p a b -> Dict (Ob p b) | |
type forall (a :: i_aZc[tau:2]) (b :: i_aZc[tau:2]). | |
(Ob p_aZd[tau:2] :: (i_aZc[tau:2] -> Constraint)) | |
~ | |
(Vacuous p_aZd[tau:2] :: (i_aZc[tau:2] -> Constraint)) => | |
p_aZd[tau:2] a b -> Dict (Ob p_aZd[tau:2] b) | |
theta [(Ob p_aZd[tau:2] :: (i_aZc[tau:2] -> Constraint)) | |
~ | |
(Vacuous p_aZd[tau:2] :: (i_aZc[tau:2] -> Constraint))] | |
leave_bndrs [] | |
with [a_aZf[tau:2], b_aZg[tau:2]] | |
theta: [(Ob p_aZd[tau:2] :: (i_aZc[tau:2] -> Constraint)) | |
~ | |
(Vacuous p_aZd[tau:2] :: (i_aZc[tau:2] -> Constraint))] | |
tc_sub_type_ds | |
ty_actual = p_aZd[tau:2] a_aZf[tau:2] b_aZg[tau:2] | |
-> Dict (Ob p_aZd[tau:2] b_aZg[tau:2]) | |
ty_expected = p_aZ6[sk:2] a_aZ9[sk:2] b_aZa[sk:2] | |
-> Dict (Ob p_aZ6[sk:2] b_aZa[sk:2]) | |
tc_sub_type_ds | |
ty_actual = Dict (Ob p_aZd[tau:2] b_aZg[tau:2]) | |
ty_expected = Dict (Ob p_aZ6[sk:2] b_aZa[sk:2]) | |
deeply_instantiate final subst | |
origin: arising from a type equality forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). | |
(Ob p :: (i -> Constraint)) | |
~ | |
(Vacuous p :: (i -> Constraint)) => | |
p a b -> Dict (Ob p b) | |
~ | |
forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). | |
(Ob p :: (i -> Constraint)) | |
~ | |
(Vacuous p :: (i -> Constraint)) => | |
p a b -> Dict (Ob p b) | |
type: Dict (Ob p_aZd[tau:2] b_aZg[tau:2]) | |
new type: Dict (Ob p_aZd[tau:2] b_aZg[tau:2]) | |
subst: [TCvSubst | |
In scope: InScope {i_aZc p_aZd b_aZg} | |
Type env: [] | |
Co env: []] | |
u_tys | |
tclvl 2 | |
Dict (Ob p_aZd[tau:2] b_aZg[tau:2]) | |
~ | |
Dict (Ob p_aZ6[sk:2] b_aZa[sk:2]) | |
arising from a type equality p_aZd[tau:2] a_aZf[tau:2] b_aZg[tau:2] | |
-> Dict (Ob p_aZd[tau:2] b_aZg[tau:2]) | |
~ | |
p_aZ6[sk:2] a_aZ9[sk:2] b_aZa[sk:2] | |
-> Dict (Ob p_aZ6[sk:2] b_aZa[sk:2]) | |
u_tys | |
tclvl 2 | |
Ob p_aZd[tau:2] b_aZg[tau:2] ~ Ob p_aZ6[sk:2] b_aZa[sk:2] | |
arising from a type equality p_aZd[tau:2] a_aZf[tau:2] b_aZg[tau:2] | |
-> Dict (Ob p_aZd[tau:2] b_aZg[tau:2]) | |
~ | |
p_aZ6[sk:2] a_aZ9[sk:2] b_aZa[sk:2] | |
-> Dict (Ob p_aZ6[sk:2] b_aZa[sk:2]) | |
New coercion hole: aZi | |
utype_defer | |
U(hole:{aZi}, Ob p_aZd[tau:2] b_aZg[tau:2], Ob | |
p_aZ6[sk:2] b_aZa[sk:2])_N | |
Ob p_aZd[tau:2] b_aZg[tau:2] | |
Ob p_aZ6[sk:2] b_aZa[sk:2] | |
arising from a type equality p_aZd[tau:2] a_aZf[tau:2] b_aZg[tau:2] | |
-> Dict (Ob p_aZd[tau:2] b_aZg[tau:2]) | |
~ | |
p_aZ6[sk:2] a_aZ9[sk:2] b_aZa[sk:2] | |
-> Dict (Ob p_aZ6[sk:2] b_aZa[sk:2]) | |
In the ambiguity check for ‘target’ | |
To defer the ambiguity check to use sites, enable AllowAmbiguousTypes | |
When checking the class method: | |
target :: forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). p a b -> Dict (Ob p b) | |
In the class declaration for ‘Category’ | |
u_tys yields coercion: | |
U(hole:{aZi}, Ob p_aZd[tau:2] b_aZg[tau:2], Ob | |
p_aZ6[sk:2] b_aZa[sk:2])_N | |
u_tys yields coercion: (Dict {aZi})_N | |
tc_sub_tc_type (general case) | |
ty_actual = p_aZ6[sk:2] a_aZ9[sk:2] b_aZa[sk:2] | |
ty_expected = p_aZd[tau:2] a_aZf[tau:2] b_aZg[tau:2] | |
tcSkolemise | |
tcSkolemise | |
2 | |
expected_ty p_aZd[tau:2] a_aZf[tau:2] b_aZg[tau:2] | |
inst tyvars [] | |
given [] | |
inst type p_aZd[tau:2] a_aZf[tau:2] b_aZg[tau:2] | |
tc_sub_type_ds | |
ty_actual = p_aZ6[sk:2] a_aZ9[sk:2] b_aZa[sk:2] | |
ty_expected = p_aZd[tau:2] a_aZf[tau:2] b_aZg[tau:2] | |
deeply_instantiate final subst | |
origin: arising from a type expected by the context: | |
p_aZ6[sk:2] a_aZ9[sk:2] b_aZa[sk:2] | |
type: p_aZ6[sk:2] a_aZ9[sk:2] b_aZa[sk:2] | |
new type: p_aZ6[sk:2] a_aZ9[sk:2] b_aZa[sk:2] | |
subst: [TCvSubst | |
In scope: InScope {i_aZ5 p_aZ6 a_aZ9 b_aZa} | |
Type env: [] | |
Co env: []] | |
u_tys | |
tclvl 2 | |
p_aZ6[sk:2] a_aZ9[sk:2] b_aZa[sk:2] | |
~ | |
p_aZd[tau:2] a_aZf[tau:2] b_aZg[tau:2] | |
arising from a type equality p_aZd[tau:2] a_aZf[tau:2] b_aZg[tau:2] | |
-> Dict (Ob p_aZd[tau:2] b_aZg[tau:2]) | |
~ | |
p_aZ6[sk:2] a_aZ9[sk:2] b_aZa[sk:2] | |
-> Dict (Ob p_aZ6[sk:2] b_aZa[sk:2]) | |
u_tys | |
tclvl 2 | |
p_aZ6[sk:2] a_aZ9[sk:2] ~ p_aZd[tau:2] a_aZf[tau:2] | |
arising from a type equality p_aZd[tau:2] a_aZf[tau:2] b_aZg[tau:2] | |
-> Dict (Ob p_aZd[tau:2] b_aZg[tau:2]) | |
~ | |
p_aZ6[sk:2] a_aZ9[sk:2] b_aZa[sk:2] | |
-> Dict (Ob p_aZ6[sk:2] b_aZa[sk:2]) | |
u_tys | |
tclvl 2 | |
p_aZ6[sk:2] ~ p_aZd[tau:2] | |
arising from a type equality p_aZd[tau:2] a_aZf[tau:2] b_aZg[tau:2] | |
-> Dict (Ob p_aZd[tau:2] b_aZg[tau:2]) | |
~ | |
p_aZ6[sk:2] a_aZ9[sk:2] b_aZa[sk:2] | |
-> Dict (Ob p_aZ6[sk:2] b_aZa[sk:2]) | |
u_tys | |
tclvl 2 | |
i_aZ5[sk:2] -> i_aZ5[sk:2] -> * ~ i_aZc[tau:2] -> i_aZc[tau:2] -> * | |
arising from a kind equality arising from | |
p_aZd[tau:2] ~ p_aZ6[sk:2] | |
u_tys | |
tclvl 2 | |
i_aZ5[sk:2] ~ i_aZc[tau:2] | |
arising from a kind equality arising from | |
p_aZd[tau:2] ~ p_aZ6[sk:2] | |
u_tys | |
tclvl 2 | |
* ~ * | |
arising from a kind equality arising from | |
i_aZc[tau:2] ~ i_aZ5[sk:2] | |
u_tys | |
tclvl 2 | |
'GHC.Types.LiftedRep ~ 'GHC.Types.LiftedRep | |
arising from a kind equality arising from | |
i_aZc[tau:2] ~ i_aZ5[sk:2] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar i_aZc[tau:2] := i_aZ5[sk:2] | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
i_aZ5[sk:2] -> * ~ i_aZc[tau:2] -> * | |
arising from a kind equality arising from | |
p_aZd[tau:2] ~ p_aZ6[sk:2] | |
u_tys | |
tclvl 2 | |
i_aZ5[sk:2] ~ i_aZc[tau:2] | |
arising from a kind equality arising from | |
p_aZd[tau:2] ~ p_aZ6[sk:2] | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
* ~ * | |
arising from a kind equality arising from | |
p_aZd[tau:2] ~ p_aZ6[sk:2] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys yields no coercion | |
writeMetaTyVar p_aZd[tau:2] := p_aZ6[sk:2] | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
a_aZ9[sk:2] ~ a_aZf[tau:2] | |
arising from a type equality p_aZd[tau:2] a_aZf[tau:2] b_aZg[tau:2] | |
-> Dict (Ob p_aZd[tau:2] b_aZg[tau:2]) | |
~ | |
p_aZ6[sk:2] a_aZ9[sk:2] b_aZa[sk:2] | |
-> Dict (Ob p_aZ6[sk:2] b_aZa[sk:2]) | |
u_tys | |
tclvl 2 | |
i_aZ5[sk:2] ~ i_aZ5[sk:2] | |
arising from a kind equality arising from | |
a_aZf[tau:2] ~ a_aZ9[sk:2] | |
u_tys yields no coercion | |
writeMetaTyVar a_aZf[tau:2] := a_aZ9[sk:2] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
u_tys | |
tclvl 2 | |
b_aZa[sk:2] ~ b_aZg[tau:2] | |
arising from a type equality p_aZd[tau:2] a_aZf[tau:2] b_aZg[tau:2] | |
-> Dict (Ob p_aZd[tau:2] b_aZg[tau:2]) | |
~ | |
p_aZ6[sk:2] a_aZ9[sk:2] b_aZa[sk:2] | |
-> Dict (Ob p_aZ6[sk:2] b_aZa[sk:2]) | |
u_tys | |
tclvl 2 | |
i_aZ5[sk:2] ~ i_aZ5[sk:2] | |
arising from a kind equality arising from | |
b_aZg[tau:2] ~ b_aZa[sk:2] | |
u_tys yields no coercion | |
writeMetaTyVar b_aZg[tau:2] := b_aZa[sk:2] | |
u_tys yields no coercion | |
u_tys yields no coercion | |
newTcEvBinds unique = aZj | |
simplifyAmbiguityCheck { | |
type = forall i (p :: i -> i -> *). | |
Category p => | |
forall (a :: i) (b :: i). | |
(Ob p :: (i -> Constraint)) ~ (Vacuous p :: (i -> Constraint)) => | |
p a b -> Dict (Ob p b) | |
wanted = WC {wc_impl = | |
Implic { | |
TcLevel = 2 | |
Skolems = i_aZ5[sk:2] | |
(p_aZ6[sk:2] :: i_aZ5[sk:2] -> i_aZ5[sk:2] -> *) | |
(a_aZ9[sk:2] :: i_aZ5[sk:2]) | |
(b_aZa[sk:2] :: i_aZ5[sk:2]) | |
No-eqs = False | |
Status = Unsolved | |
Given = | |
$dCategory_aZ7 :: Category p_aZ6[sk:2] | |
$d~_aZb :: (Ob p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
Wanted = | |
WC {wc_simple = | |
[WD] $dCategory_aZe {0}:: Category p_aZd[tau:2] (CNonCanonical) | |
[WD] $d~_aZh {0}:: (Ob p_aZd[tau:2] :: (i_aZc[tau:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aZd[tau:2] :: (i_aZc[tau:2] | |
-> Constraint)) (CNonCanonical) | |
[WD] hole{aZi} {0}:: (Ob p_aZd[tau:2] b_aZg[tau:2] :: Constraint) | |
GHC.Prim.~# | |
(Ob | |
p_aZ6[sk:2] | |
b_aZa[sk:2] :: Constraint) (CNonCanonical)} | |
Binds = EvBindsVar<aZj> | |
Needed = [] | |
the type signature for: | |
target :: (Category p_aZ6[sk:2], | |
(Ob p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint))) => | |
p_aZ6[sk:2] a_aZ9[sk:2] b_aZa[sk:2] | |
-> Dict (Ob p_aZ6[sk:2] b_aZa[sk:2]) }} | |
newTcEvBinds unique = aZk | |
solveWanteds { | |
WC {wc_impl = | |
Implic { | |
TcLevel = 2 | |
Skolems = i_aZ5[sk:2] | |
(p_aZ6[sk:2] :: i_aZ5[sk:2] -> i_aZ5[sk:2] -> *) | |
(a_aZ9[sk:2] :: i_aZ5[sk:2]) | |
(b_aZa[sk:2] :: i_aZ5[sk:2]) | |
No-eqs = False | |
Status = Unsolved | |
Given = | |
$dCategory_aZ7 :: Category p_aZ6[sk:2] | |
$d~_aZb :: (Ob p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
Wanted = | |
WC {wc_simple = | |
[WD] $dCategory_aZe {0}:: Category p_aZd[tau:2] (CNonCanonical) | |
[WD] $d~_aZh {0}:: (Ob p_aZd[tau:2] :: (i_aZc[tau:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aZd[tau:2] :: (i_aZc[tau:2] | |
-> Constraint)) (CNonCanonical) | |
[WD] hole{aZi} {0}:: (Ob p_aZd[tau:2] b_aZg[tau:2] :: Constraint) | |
GHC.Prim.~# | |
(Ob p_aZ6[sk:2] b_aZa[sk:2] :: Constraint) (CNonCanonical)} | |
Binds = EvBindsVar<aZj> | |
Needed = [] | |
the type signature for: | |
target :: (Category p_aZ6[sk:2], | |
(Ob p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint))) => | |
p_aZ6[sk:2] a_aZ9[sk:2] b_aZa[sk:2] | |
-> Dict (Ob p_aZ6[sk:2] b_aZa[sk:2]) }} | |
solveSimpleWanteds { {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveNestedImplications starting { | |
solveImplication { | |
Implic { | |
TcLevel = 2 | |
Skolems = i_aZ5[sk:2] | |
(p_aZ6[sk:2] :: i_aZ5[sk:2] -> i_aZ5[sk:2] -> *) | |
(a_aZ9[sk:2] :: i_aZ5[sk:2]) | |
(b_aZa[sk:2] :: i_aZ5[sk:2]) | |
No-eqs = False | |
Status = Unsolved | |
Given = | |
$dCategory_aZ7 :: Category p_aZ6[sk:2] | |
$d~_aZb :: (Ob p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
Wanted = | |
WC {wc_simple = | |
[WD] $dCategory_aZe {0}:: Category p_aZd[tau:2] (CNonCanonical) | |
[WD] $d~_aZh {0}:: (Ob p_aZd[tau:2] :: (i_aZc[tau:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aZd[tau:2] :: (i_aZc[tau:2] | |
-> Constraint)) (CNonCanonical) | |
[WD] hole{aZi} {0}:: (Ob p_aZd[tau:2] b_aZg[tau:2] :: Constraint) | |
GHC.Prim.~# | |
(Ob p_aZ6[sk:2] b_aZa[sk:2] :: Constraint) (CNonCanonical)} | |
Binds = EvBindsVar<aZj> | |
Needed = [] | |
the type signature for: | |
target :: (Category p_aZ6[sk:2], | |
(Ob p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint))) => | |
p_aZ6[sk:2] a_aZ9[sk:2] b_aZa[sk:2] | |
-> Dict (Ob p_aZ6[sk:2] b_aZa[sk:2]) } | |
Inerts {Unsolved goals = 0} | |
solveSimpleGivens { | |
[[G] $dCategory_aZ7 {0}:: Category p_aZ6[sk:2] (CNonCanonical), | |
[G] $d~_aZb {0}:: (Ob p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) (CNonCanonical)] | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] $d~_aZb {0}:: (Ob p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) (CNonCanonical) | |
inerts = {Unsolved goals = 0} | |
rest of worklist = WL {Non-eqs = [G] $dCategory_aZ7 {0}:: Category | |
p_aZ6[sk:2] (CNonCanonical)} | |
runStage canonicalization { | |
workitem = [G] $d~_aZb {0}:: (Ob p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) (CNonCanonical) | |
canonicalize (non-canonical) | |
[G] $d~_aZb {0}:: (Ob p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) (CNonCanonical) | |
canEvNC:cls | |
~ [i_aZ5[sk:2] -> Constraint, Ob p_aZ6[sk:2], Vacuous p_aZ6[sk:2]] | |
addTcEvBind | |
aZj | |
[G] $d~~_aZl = sc(($d~_aZb, 0)) | |
mk_superclasses_of | |
~~ [i_aZ5[sk:2] -> Constraint, i_aZ5[sk:2] -> Constraint, | |
Ob p_aZ6[sk:2], Vacuous p_aZ6[sk:2]] | |
False | |
[31e :-> ~] | |
addTcEvBind | |
aZj | |
[G] cobox_aZm = sc(($d~~_aZl, 0)) | |
Emitting fresh work | |
[G] $d~~_aZl {0}:: (Ob p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
~~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) (CDictCan) | |
[G] cobox_aZm {0}:: (Ob p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
GHC.Prim.~# | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) (CNonCanonical) | |
flatten_many { | |
i_aZ5[sk:2] -> Constraint | |
Ob p_aZ6[sk:2] | |
Vacuous p_aZ6[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
matchFamTcM | |
Matching: Ob p_aZ6[sk:2] | |
Match failed | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar p_aZ6[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
matchFamTcM | |
Matching: Ob p_aZ6[sk:2] | |
Match failed | |
addTcEvBind | |
aZj | |
[G] cobox_aZo = CO <Ob p_aZ6[sk:2]>_N | |
extendFlatCache | |
Ob [i_aZ5[sk:2], p_aZ6[sk:2]] | |
[G] | |
fsk_aZn[fsk] | |
flatten/flat-cache miss | |
Ob [i_aZ5[sk:2], p_aZ6[sk:2]] | |
fsk_aZn[fsk] | |
[G] cobox_aZo {0}:: (Ob p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
GHC.Prim.~# | |
(fsk_aZn[fsk] :: (i_aZ5[sk:2] -> Constraint)) | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar p_aZ6[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
flatten } | |
i_aZ5[sk:2] -> Constraint | |
fsk_aZn[fsk] | |
Vacuous p_aZ6[sk:2] | |
canClass | |
[G] $d~_aZb {0}:: (Ob p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
(fsk_aZn[fsk] :: (i_aZ5[sk:2] -> Constraint)) | |
~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
ContinueWith [G] $d~_aZb {0}:: (fsk_aZn[fsk] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] $d~_aZb {0}:: (fsk_aZn[fsk] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) (CDictCan) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] $d~_aZb {0}:: (fsk_aZn[fsk] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) (CDictCan) | |
doTopReact | |
[G] $d~_aZb {0}:: (fsk_aZn[fsk] :: (i_aZ5[sk:2] -> Constraint)) | |
~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) (CDictCan) | |
try_fundeps | |
[G] $d~_aZb {0}:: (fsk_aZn[fsk] :: (i_aZ5[sk:2] -> Constraint)) | |
~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) (CDictCan) | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] $d~_aZb {0}:: (fsk_aZn[fsk] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) (CDictCan) | |
addInertCan } | |
Step 1[l:2,d:0] Kept as inert: | |
[G] $d~_aZb {0}:: (fsk_aZn[fsk] :: (i_aZ5[sk:2] -> Constraint)) | |
~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
End solver pipeline (kept as inert) } | |
final_item = [G] $d~_aZb {0}:: (fsk_aZn[fsk] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) (CDictCan) | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] $d~~_aZl {0}:: (Ob p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
~~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) (CDictCan) | |
inerts = {Dictionaries = [G] $d~_aZb {0}:: (fsk_aZn[fsk] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) (CDictCan) | |
Unsolved goals = 0} | |
rest of worklist = WL {Funeqs = [G] cobox_aZo {0}:: (Ob | |
p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
GHC.Prim.~# | |
(fsk_aZn[fsk] :: (i_aZ5[sk:2] | |
-> Constraint)) (CFunEqCan) | |
[G] cobox_aZm {0}:: (Ob p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) (CNonCanonical) | |
Non-eqs = [G] $dCategory_aZ7 {0}:: Category | |
p_aZ6[sk:2] (CNonCanonical)} | |
runStage canonicalization { | |
workitem = [G] $d~~_aZl {0}:: (Ob p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
~~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) (CDictCan) | |
flatten_many { | |
i_aZ5[sk:2] -> Constraint | |
i_aZ5[sk:2] -> Constraint | |
Ob p_aZ6[sk:2] | |
Vacuous p_aZ6[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
matchFamTcM | |
Matching: Ob p_aZ6[sk:2] | |
Match failed | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar p_aZ6[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
flatten/flat-cache hit | |
Ob [i_aZ5[sk:2], p_aZ6[sk:2]] | |
fsk_aZn[fsk] | |
Unfilled tyvar fsk_aZn[fsk] | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar p_aZ6[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
flatten } | |
i_aZ5[sk:2] -> Constraint | |
i_aZ5[sk:2] -> Constraint | |
fsk_aZn[fsk] | |
Vacuous p_aZ6[sk:2] | |
canClass | |
[G] $d~~_aZl {0}:: (Ob p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
~~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
(fsk_aZn[fsk] :: (i_aZ5[sk:2] -> Constraint)) | |
~~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
ContinueWith [G] $d~~_aZl {0}:: (fsk_aZn[fsk] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
~~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] $d~~_aZl {0}:: (fsk_aZn[fsk] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
~~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) (CDictCan) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] $d~~_aZl {0}:: (fsk_aZn[fsk] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
~~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) (CDictCan) | |
doTopReact | |
[G] $d~~_aZl {0}:: (fsk_aZn[fsk] :: (i_aZ5[sk:2] -> Constraint)) | |
~~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) (CDictCan) | |
try_fundeps | |
[G] $d~~_aZl {0}:: (fsk_aZn[fsk] :: (i_aZ5[sk:2] -> Constraint)) | |
~~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) (CDictCan) | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] $d~~_aZl {0}:: (fsk_aZn[fsk] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
~~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) (CDictCan) | |
addInertCan } | |
Step 2[l:2,d:0] Kept as inert: | |
[G] $d~~_aZl {0}:: (fsk_aZn[fsk] :: (i_aZ5[sk:2] -> Constraint)) | |
~~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
End solver pipeline (kept as inert) } | |
final_item = [G] $d~~_aZl {0}:: (fsk_aZn[fsk] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
~~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) (CDictCan) | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] cobox_aZo {0}:: (Ob p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aZn[fsk] :: (i_aZ5[sk:2] -> Constraint)) (CFunEqCan) | |
inerts = {Dictionaries = [G] $d~_aZb {0}:: (fsk_aZn[fsk] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) (CDictCan) | |
[G] $d~~_aZl {0}:: (fsk_aZn[fsk] :: (i_aZ5[sk:2] -> Constraint)) | |
~~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) (CDictCan) | |
Unsolved goals = 0} | |
rest of worklist = WL {Funeqs = [G] cobox_aZm {0}:: (Ob | |
p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
GHC.Prim.~# | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) (CNonCanonical) | |
Non-eqs = [G] $dCategory_aZ7 {0}:: Category | |
p_aZ6[sk:2] (CNonCanonical)} | |
runStage canonicalization { | |
workitem = [G] cobox_aZo {0}:: (Ob p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aZn[fsk] :: (i_aZ5[sk:2] -> Constraint)) (CFunEqCan) | |
flatten_many { | |
i_aZ5[sk:2] | |
p_aZ6[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar p_aZ6[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
flatten } | |
i_aZ5[sk:2] | |
p_aZ6[sk:2] | |
extendFlatCache | |
Ob [i_aZ5[sk:2], p_aZ6[sk:2]] | |
[G] | |
fsk_aZn[fsk] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] cobox_aZo {0}:: (Ob p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aZn[fsk] :: (i_aZ5[sk:2] -> Constraint)) (CFunEqCan) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] cobox_aZo {0}:: (Ob p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aZn[fsk] :: (i_aZ5[sk:2] -> Constraint)) (CFunEqCan) | |
doTopReact | |
[G] cobox_aZo {0}:: (Ob p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
GHC.Prim.~# | |
(fsk_aZn[fsk] :: (i_aZ5[sk:2] -> Constraint)) (CFunEqCan) | |
matchFamTcM | |
Matching: Ob p_aZ6[sk:2] | |
Match failed | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] cobox_aZo {0}:: (Ob | |
p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aZn[fsk] :: (i_aZ5[sk:2] | |
-> Constraint)) (CFunEqCan) | |
addInertCan } | |
Step 3[l:2,d:0] Kept as inert: | |
[G] cobox_aZo {0}:: (Ob p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
GHC.Prim.~# | |
(fsk_aZn[fsk] :: (i_aZ5[sk:2] -> Constraint)) | |
End solver pipeline (kept as inert) } | |
final_item = [G] cobox_aZo {0}:: (Ob p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aZn[fsk] :: (i_aZ5[sk:2] -> Constraint)) (CFunEqCan) | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] cobox_aZm {0}:: (Ob p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) (CNonCanonical) | |
inerts = {Type-function equalities = [G] cobox_aZo {0}:: (Ob | |
p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aZn[fsk] :: (i_aZ5[sk:2] | |
-> Constraint)) (CFunEqCan) | |
Dictionaries = [G] $d~_aZb {0}:: (fsk_aZn[fsk] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) (CDictCan) | |
[G] $d~~_aZl {0}:: (fsk_aZn[fsk] :: (i_aZ5[sk:2] -> Constraint)) | |
~~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) (CDictCan) | |
Unsolved goals = 0} | |
rest of worklist = WL {Non-eqs = [G] $dCategory_aZ7 {0}:: Category | |
p_aZ6[sk:2] (CNonCanonical)} | |
runStage canonicalization { | |
workitem = [G] cobox_aZm {0}:: (Ob p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) (CNonCanonical) | |
canonicalize (non-canonical) | |
[G] cobox_aZm {0}:: (Ob p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
GHC.Prim.~# | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) (CNonCanonical) | |
canEvNC:eq | |
Ob p_aZ6[sk:2] | |
Vacuous p_aZ6[sk:2] | |
can_eq_nc | |
False | |
[G] cobox_aZm {0}:: (Ob p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
GHC.Prim.~# | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
nominal equality | |
Ob p_aZ6[sk:2] | |
Ob p_aZ6[sk:2] | |
Vacuous p_aZ6[sk:2] | |
Vacuous p_aZ6[sk:2] | |
flatten { Ob p_aZ6[sk:2] | |
matchFamTcM | |
Matching: Ob p_aZ6[sk:2] | |
Match failed | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar p_aZ6[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
flatten/flat-cache hit | |
Ob [i_aZ5[sk:2], p_aZ6[sk:2]] | |
fsk_aZn[fsk] | |
Unfilled tyvar fsk_aZn[fsk] | |
Unfilled tyvar i_aZ5[sk:2] | |
flatten } fsk_aZn[fsk] | |
flatten { Vacuous p_aZ6[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar p_aZ6[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
flatten } Vacuous p_aZ6[sk:2] | |
addTcEvBind | |
aZj | |
[G] cobox_aZp = CO Sym cobox_aZo ; cobox_aZm | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] cobox_aZp {1}:: (fsk_aZn[fsk] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) (CTyEqCan) | |
Can't solve tyvar equality | |
LHS: fsk_aZn[fsk] :: i_aZ5[sk:2] -> Constraint | |
RHS: Vacuous p_aZ6[sk:2] :: i_aZ5[sk:2] -> Constraint | |
addInertEq { | |
Adding new inert equality: [G] cobox_aZp {1}:: (fsk_aZn[fsk] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) (CTyEqCan) | |
Kick out, tv = fsk_aZn[fsk] | |
n-kicked = 3 | |
kicked_out = WL {Funeqs = [G] cobox_aZo {0}:: (Ob | |
p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
GHC.Prim.~# | |
(fsk_aZn[fsk] :: (i_aZ5[sk:2] | |
-> Constraint)) (CFunEqCan) | |
Non-eqs = [G] $d~_aZb {0}:: (fsk_aZn[fsk] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) (CDictCan) | |
[G] $d~~_aZl {0}:: (fsk_aZn[fsk] :: (i_aZ5[sk:2] -> Constraint)) | |
~~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) (CDictCan)} | |
Residual inerts = {Type-function equalities = | |
Unsolved goals = 0} | |
addInertEq } | |
end stage interact with inerts } | |
Step 4[l:2,d:1] Kept as inert: | |
[G] cobox_aZp {1}:: (fsk_aZn[fsk] :: (i_aZ5[sk:2] -> Constraint)) | |
GHC.Prim.~# | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
End solver pipeline (discharged) } | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] cobox_aZo {0}:: (Ob p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aZn[fsk] :: (i_aZ5[sk:2] -> Constraint)) (CFunEqCan) | |
inerts = {Equalities: [G] cobox_aZp {1}:: (fsk_aZn[fsk] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) (CTyEqCan) | |
Type-function equalities = | |
Unsolved goals = 0} | |
rest of worklist = WL {Non-eqs = [G] $d~_aZb {0}:: (fsk_aZn[fsk] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) (CDictCan) | |
[G] $d~~_aZl {0}:: (fsk_aZn[fsk] :: (i_aZ5[sk:2] -> Constraint)) | |
~~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) (CDictCan) | |
[G] $dCategory_aZ7 {0}:: Category p_aZ6[sk:2] (CNonCanonical)} | |
runStage canonicalization { | |
workitem = [G] cobox_aZo {0}:: (Ob p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aZn[fsk] :: (i_aZ5[sk:2] -> Constraint)) (CFunEqCan) | |
flatten_many { | |
i_aZ5[sk:2] | |
p_aZ6[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar p_aZ6[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
flatten } | |
i_aZ5[sk:2] | |
p_aZ6[sk:2] | |
extendFlatCache | |
Ob [i_aZ5[sk:2], p_aZ6[sk:2]] | |
[G] | |
fsk_aZn[fsk] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] cobox_aZo {0}:: (Ob p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aZn[fsk] :: (i_aZ5[sk:2] -> Constraint)) (CFunEqCan) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] cobox_aZo {0}:: (Ob p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aZn[fsk] :: (i_aZ5[sk:2] -> Constraint)) (CFunEqCan) | |
doTopReact | |
[G] cobox_aZo {0}:: (Ob p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
GHC.Prim.~# | |
(fsk_aZn[fsk] :: (i_aZ5[sk:2] -> Constraint)) (CFunEqCan) | |
matchFamTcM | |
Matching: Ob p_aZ6[sk:2] | |
Match failed | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] cobox_aZo {0}:: (Ob | |
p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aZn[fsk] :: (i_aZ5[sk:2] | |
-> Constraint)) (CFunEqCan) | |
addInertCan } | |
Step 5[l:2,d:0] Kept as inert: | |
[G] cobox_aZo {0}:: (Ob p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
GHC.Prim.~# | |
(fsk_aZn[fsk] :: (i_aZ5[sk:2] -> Constraint)) | |
End solver pipeline (kept as inert) } | |
final_item = [G] cobox_aZo {0}:: (Ob p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aZn[fsk] :: (i_aZ5[sk:2] -> Constraint)) (CFunEqCan) | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] $d~_aZb {0}:: (fsk_aZn[fsk] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) (CDictCan) | |
inerts = {Equalities: [G] cobox_aZp {1}:: (fsk_aZn[fsk] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) (CTyEqCan) | |
Type-function equalities = [G] cobox_aZo {0}:: (Ob | |
p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aZn[fsk] :: (i_aZ5[sk:2] | |
-> Constraint)) (CFunEqCan) | |
Unsolved goals = 0} | |
rest of worklist = WL {Non-eqs = [G] $d~~_aZl {0}:: (fsk_aZn[fsk] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
~~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) (CDictCan) | |
[G] $dCategory_aZ7 {0}:: Category p_aZ6[sk:2] (CNonCanonical)} | |
runStage canonicalization { | |
workitem = [G] $d~_aZb {0}:: (fsk_aZn[fsk] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) (CDictCan) | |
flatten_many { | |
i_aZ5[sk:2] -> Constraint | |
fsk_aZn[fsk] | |
Vacuous p_aZ6[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar fsk_aZn[fsk] | |
Following inert tyvar | |
FM_FlattenAll fsk_aZn[fsk] = Vacuous p_aZ6[sk:2] | |
[G] cobox_aZp {1}:: (fsk_aZn[fsk] :: (i_aZ5[sk:2] -> Constraint)) | |
GHC.Prim.~# | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar p_aZ6[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar p_aZ6[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
flatten } | |
i_aZ5[sk:2] -> Constraint | |
Vacuous p_aZ6[sk:2] | |
Vacuous p_aZ6[sk:2] | |
addTcEvBind | |
aZj | |
[G] $d~_aZq | |
= $d~_aZb `cast` (Sub | |
(Sym | |
((~) | |
<i_aZ5[sk:2] -> Constraint>_N | |
(Sym cobox) | |
<Vacuous p_aZ6[sk:2]>_N)_N)) | |
canClass | |
[G] $d~_aZb {0}:: (fsk_aZn[fsk] :: (i_aZ5[sk:2] -> Constraint)) | |
~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
ContinueWith [G] $d~_aZq {0}:: (Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] $d~_aZq {0}:: (Vacuous | |
p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) (CDictCan) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] $d~_aZq {0}:: (Vacuous | |
p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) (CDictCan) | |
doTopReact | |
[G] $d~_aZq {0}:: (Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) (CDictCan) | |
try_fundeps | |
[G] $d~_aZq {0}:: (Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) (CDictCan) | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] $d~_aZq {0}:: (Vacuous | |
p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) (CDictCan) | |
addInertCan } | |
Step 6[l:2,d:0] Kept as inert: | |
[G] $d~_aZq {0}:: (Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
End solver pipeline (kept as inert) } | |
final_item = [G] $d~_aZq {0}:: (Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) (CDictCan) | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] $d~~_aZl {0}:: (fsk_aZn[fsk] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
~~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) (CDictCan) | |
inerts = {Equalities: [G] cobox_aZp {1}:: (fsk_aZn[fsk] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) (CTyEqCan) | |
Type-function equalities = [G] cobox_aZo {0}:: (Ob | |
p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aZn[fsk] :: (i_aZ5[sk:2] | |
-> Constraint)) (CFunEqCan) | |
Dictionaries = [G] $d~_aZq {0}:: (Vacuous | |
p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) (CDictCan) | |
Unsolved goals = 0} | |
rest of worklist = WL {Non-eqs = [G] $dCategory_aZ7 {0}:: Category | |
p_aZ6[sk:2] (CNonCanonical)} | |
runStage canonicalization { | |
workitem = [G] $d~~_aZl {0}:: (fsk_aZn[fsk] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
~~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) (CDictCan) | |
flatten_many { | |
i_aZ5[sk:2] -> Constraint | |
i_aZ5[sk:2] -> Constraint | |
fsk_aZn[fsk] | |
Vacuous p_aZ6[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar fsk_aZn[fsk] | |
Following inert tyvar | |
FM_FlattenAll fsk_aZn[fsk] = Vacuous p_aZ6[sk:2] | |
[G] cobox_aZp {1}:: (fsk_aZn[fsk] :: (i_aZ5[sk:2] -> Constraint)) | |
GHC.Prim.~# | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar p_aZ6[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar p_aZ6[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
flatten } | |
i_aZ5[sk:2] -> Constraint | |
i_aZ5[sk:2] -> Constraint | |
Vacuous p_aZ6[sk:2] | |
Vacuous p_aZ6[sk:2] | |
addTcEvBind | |
aZj | |
[G] $d~~_aZr | |
= $d~~_aZl `cast` (Sub | |
(Sym | |
((~~) | |
<i_aZ5[sk:2] -> Constraint>_N | |
<i_aZ5[sk:2] -> Constraint>_N | |
(Sym cobox) | |
<Vacuous p_aZ6[sk:2]>_N)_N)) | |
canClass | |
[G] $d~~_aZl {0}:: (fsk_aZn[fsk] :: (i_aZ5[sk:2] -> Constraint)) | |
~~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
~~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
ContinueWith [G] $d~~_aZr {0}:: (Vacuous | |
p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
~~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] $d~~_aZr {0}:: (Vacuous | |
p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
~~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) (CDictCan) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] $d~~_aZr {0}:: (Vacuous | |
p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
~~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) (CDictCan) | |
doTopReact | |
[G] $d~~_aZr {0}:: (Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
~~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) (CDictCan) | |
try_fundeps | |
[G] $d~~_aZr {0}:: (Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
~~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) (CDictCan) | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] $d~~_aZr {0}:: (Vacuous | |
p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
~~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) (CDictCan) | |
addInertCan } | |
Step 7[l:2,d:0] Kept as inert: | |
[G] $d~~_aZr {0}:: (Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
~~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
End solver pipeline (kept as inert) } | |
final_item = [G] $d~~_aZr {0}:: (Vacuous | |
p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
~~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) (CDictCan) | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] $dCategory_aZ7 {0}:: Category | |
p_aZ6[sk:2] (CNonCanonical) | |
inerts = {Equalities: [G] cobox_aZp {1}:: (fsk_aZn[fsk] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) (CTyEqCan) | |
Type-function equalities = [G] cobox_aZo {0}:: (Ob | |
p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aZn[fsk] :: (i_aZ5[sk:2] | |
-> Constraint)) (CFunEqCan) | |
Dictionaries = [G] $d~_aZq {0}:: (Vacuous | |
p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) (CDictCan) | |
[G] $d~~_aZr {0}:: (Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
~~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) (CDictCan) | |
Unsolved goals = 0} | |
rest of worklist = WL {} | |
runStage canonicalization { | |
workitem = [G] $dCategory_aZ7 {0}:: Category | |
p_aZ6[sk:2] (CNonCanonical) | |
canonicalize (non-canonical) | |
[G] $dCategory_aZ7 {0}:: Category p_aZ6[sk:2] (CNonCanonical) | |
canEvNC:cls Category [i_aZ5[sk:2], p_aZ6[sk:2]] | |
addTcEvBind | |
aZj | |
[G] $dFunctor_aZs = sc(($dCategory_aZ7, 0)) | |
mk_superclasses_of | |
Functor [i_aZ5[sk:2], i_aZ5[sk:2] -> *, Op p_aZ6[sk:2], | |
Nat p_aZ6[sk:2] (->), p_aZ6[sk:2]] | |
False | |
[rKp :-> Category] | |
addTcEvBind | |
aZj | |
[G] $dCategory_aZt = sc(($dFunctor_aZs, 0)) | |
addTcEvBind | |
aZj | |
[G] $dCategory_aZu = sc(($dFunctor_aZs, 1)) | |
mk_superclasses_of: loop Category [i_aZ5[sk:2], Op p_aZ6[sk:2]] | |
mk_superclasses_of: loop | |
Category [i_aZ5[sk:2] -> *, Nat p_aZ6[sk:2] (->)] | |
Emitting fresh work | |
[G] $dFunctor_aZs {0}:: Functor | |
(Op p_aZ6[sk:2]) (Nat p_aZ6[sk:2] (->)) p_aZ6[sk:2] (CDictCan) | |
[G] $dCategory_aZt {0}:: Category (Op p_aZ6[sk:2]) (CDictCan(psc)) | |
[G] $dCategory_aZu {0}:: Category | |
(Nat p_aZ6[sk:2] (->)) (CDictCan(psc)) | |
flatten_many { | |
i_aZ5[sk:2] | |
p_aZ6[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar p_aZ6[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
flatten } | |
i_aZ5[sk:2] | |
p_aZ6[sk:2] | |
canClass | |
[G] $dCategory_aZ7 {0}:: Category p_aZ6[sk:2] | |
Category p_aZ6[sk:2] | |
ContinueWith [G] $dCategory_aZ7 {0}:: Category p_aZ6[sk:2] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] $dCategory_aZ7 {0}:: Category | |
p_aZ6[sk:2] (CDictCan) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] $dCategory_aZ7 {0}:: Category | |
p_aZ6[sk:2] (CDictCan) | |
doTopReact [G] $dCategory_aZ7 {0}:: Category p_aZ6[sk:2] (CDictCan) | |
try_fundeps | |
[G] $dCategory_aZ7 {0}:: Category p_aZ6[sk:2] (CDictCan) | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] $dCategory_aZ7 {0}:: Category | |
p_aZ6[sk:2] (CDictCan) | |
addInertCan } | |
Step 8[l:2,d:0] Kept as inert: | |
[G] $dCategory_aZ7 {0}:: Category p_aZ6[sk:2] | |
End solver pipeline (kept as inert) } | |
final_item = [G] $dCategory_aZ7 {0}:: Category | |
p_aZ6[sk:2] (CDictCan) | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] $dFunctor_aZs {0}:: Functor | |
(Op p_aZ6[sk:2]) | |
(Nat p_aZ6[sk:2] (->)) | |
p_aZ6[sk:2] (CDictCan) | |
inerts = {Equalities: [G] cobox_aZp {1}:: (fsk_aZn[fsk] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) (CTyEqCan) | |
Type-function equalities = [G] cobox_aZo {0}:: (Ob | |
p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aZn[fsk] :: (i_aZ5[sk:2] | |
-> Constraint)) (CFunEqCan) | |
Dictionaries = [G] $d~_aZq {0}:: (Vacuous | |
p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) (CDictCan) | |
[G] $d~~_aZr {0}:: (Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
~~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) (CDictCan) | |
[G] $dCategory_aZ7 {0}:: Category p_aZ6[sk:2] (CDictCan) | |
Unsolved goals = 0} | |
rest of worklist = WL {Non-eqs = [G] $dCategory_aZt {0}:: Category | |
(Op p_aZ6[sk:2]) (CDictCan(psc)) | |
[G] $dCategory_aZu {0}:: Category | |
(Nat | |
p_aZ6[sk:2] (->)) (CDictCan(psc))} | |
runStage canonicalization { | |
workitem = [G] $dFunctor_aZs {0}:: Functor | |
(Op p_aZ6[sk:2]) | |
(Nat p_aZ6[sk:2] (->)) | |
p_aZ6[sk:2] (CDictCan) | |
flatten_many { | |
i_aZ5[sk:2] | |
i_aZ5[sk:2] -> * | |
Op p_aZ6[sk:2] | |
Nat p_aZ6[sk:2] (->) | |
p_aZ6[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
matchFamTcM | |
Matching: Op p_aZ6[sk:2] | |
Match failed | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar p_aZ6[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
matchFamTcM | |
Matching: Op p_aZ6[sk:2] | |
Match failed | |
addTcEvBind | |
aZj | |
[G] cobox_aZw = CO <Op p_aZ6[sk:2]>_N | |
extendFlatCache | |
Op [i_aZ5[sk:2], i_aZ5[sk:2], p_aZ6[sk:2]] | |
[G] | |
fsk_aZv[fsk] | |
flatten/flat-cache miss | |
Op [i_aZ5[sk:2], i_aZ5[sk:2], p_aZ6[sk:2]] | |
fsk_aZv[fsk] | |
[G] cobox_aZw {0}:: (Op p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> i_aZ5[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aZv[fsk] :: (i_aZ5[sk:2] -> i_aZ5[sk:2] -> *)) | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar p_aZ6[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar p_aZ6[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
flatten } | |
i_aZ5[sk:2] | |
i_aZ5[sk:2] -> * | |
fsk_aZv[fsk] | |
Nat p_aZ6[sk:2] (->) | |
p_aZ6[sk:2] | |
canClass | |
[G] $dFunctor_aZs {0}:: Functor | |
(Op p_aZ6[sk:2]) (Nat p_aZ6[sk:2] (->)) p_aZ6[sk:2] | |
Functor fsk_aZv[fsk] (Nat p_aZ6[sk:2] (->)) p_aZ6[sk:2] | |
ContinueWith [G] $dFunctor_aZs {0}:: Functor | |
fsk_aZv[fsk] (Nat p_aZ6[sk:2] (->)) p_aZ6[sk:2] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] $dFunctor_aZs {0}:: Functor | |
fsk_aZv[fsk] (Nat p_aZ6[sk:2] (->)) p_aZ6[sk:2] (CDictCan) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] $dFunctor_aZs {0}:: Functor | |
fsk_aZv[fsk] (Nat p_aZ6[sk:2] (->)) p_aZ6[sk:2] (CDictCan) | |
doTopReact | |
[G] $dFunctor_aZs {0}:: Functor | |
fsk_aZv[fsk] (Nat p_aZ6[sk:2] (->)) p_aZ6[sk:2] (CDictCan) | |
try_fundeps | |
[G] $dFunctor_aZs {0}:: Functor | |
fsk_aZv[fsk] (Nat p_aZ6[sk:2] (->)) p_aZ6[sk:2] (CDictCan) | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] $dFunctor_aZs {0}:: Functor | |
fsk_aZv[fsk] | |
(Nat p_aZ6[sk:2] (->)) | |
p_aZ6[sk:2] (CDictCan) | |
addInertCan } | |
Step 9[l:2,d:0] Kept as inert: | |
[G] $dFunctor_aZs {0}:: Functor | |
fsk_aZv[fsk] (Nat p_aZ6[sk:2] (->)) p_aZ6[sk:2] | |
End solver pipeline (kept as inert) } | |
final_item = [G] $dFunctor_aZs {0}:: Functor | |
fsk_aZv[fsk] (Nat p_aZ6[sk:2] (->)) p_aZ6[sk:2] (CDictCan) | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] cobox_aZw {0}:: (Op p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> i_aZ5[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aZv[fsk] :: (i_aZ5[sk:2] -> i_aZ5[sk:2] -> *)) (CFunEqCan) | |
inerts = {Equalities: [G] cobox_aZp {1}:: (fsk_aZn[fsk] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) (CTyEqCan) | |
Type-function equalities = [G] cobox_aZo {0}:: (Ob | |
p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aZn[fsk] :: (i_aZ5[sk:2] | |
-> Constraint)) (CFunEqCan) | |
Dictionaries = [G] $d~_aZq {0}:: (Vacuous | |
p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) (CDictCan) | |
[G] $d~~_aZr {0}:: (Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
~~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) (CDictCan) | |
[G] $dCategory_aZ7 {0}:: Category p_aZ6[sk:2] (CDictCan) | |
[G] $dFunctor_aZs {0}:: Functor | |
fsk_aZv[fsk] | |
(Nat p_aZ6[sk:2] (->)) | |
p_aZ6[sk:2] (CDictCan) | |
Unsolved goals = 0} | |
rest of worklist = WL {Non-eqs = [G] $dCategory_aZt {0}:: Category | |
(Op p_aZ6[sk:2]) (CDictCan(psc)) | |
[G] $dCategory_aZu {0}:: Category | |
(Nat | |
p_aZ6[sk:2] (->)) (CDictCan(psc))} | |
runStage canonicalization { | |
workitem = [G] cobox_aZw {0}:: (Op p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> i_aZ5[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aZv[fsk] :: (i_aZ5[sk:2] -> i_aZ5[sk:2] -> *)) (CFunEqCan) | |
flatten_many { | |
i_aZ5[sk:2] | |
i_aZ5[sk:2] | |
p_aZ6[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar p_aZ6[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
flatten } | |
i_aZ5[sk:2] | |
i_aZ5[sk:2] | |
p_aZ6[sk:2] | |
extendFlatCache | |
Op [i_aZ5[sk:2], i_aZ5[sk:2], p_aZ6[sk:2]] | |
[G] | |
fsk_aZv[fsk] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] cobox_aZw {0}:: (Op p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> i_aZ5[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aZv[fsk] :: (i_aZ5[sk:2] -> i_aZ5[sk:2] -> *)) (CFunEqCan) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] cobox_aZw {0}:: (Op p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> i_aZ5[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aZv[fsk] :: (i_aZ5[sk:2] -> i_aZ5[sk:2] -> *)) (CFunEqCan) | |
doTopReact | |
[G] cobox_aZw {0}:: (Op p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> i_aZ5[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aZv[fsk] :: (i_aZ5[sk:2] -> i_aZ5[sk:2] -> *)) (CFunEqCan) | |
matchFamTcM | |
Matching: Op p_aZ6[sk:2] | |
Match failed | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] cobox_aZw {0}:: (Op | |
p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> i_aZ5[sk:2] | |
-> *)) | |
GHC.Prim.~# | |
(fsk_aZv[fsk] :: (i_aZ5[sk:2] | |
-> i_aZ5[sk:2] | |
-> *)) (CFunEqCan) | |
addInertCan } | |
Step 10[l:2,d:0] Kept as inert: | |
[G] cobox_aZw {0}:: (Op p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> i_aZ5[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aZv[fsk] :: (i_aZ5[sk:2] -> i_aZ5[sk:2] -> *)) | |
End solver pipeline (kept as inert) } | |
final_item = [G] cobox_aZw {0}:: (Op p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> i_aZ5[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aZv[fsk] :: (i_aZ5[sk:2] -> i_aZ5[sk:2] -> *)) (CFunEqCan) | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] $dCategory_aZt {0}:: Category | |
(Op p_aZ6[sk:2]) (CDictCan(psc)) | |
inerts = {Equalities: [G] cobox_aZp {1}:: (fsk_aZn[fsk] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) (CTyEqCan) | |
Type-function equalities = [G] cobox_aZo {0}:: (Ob | |
p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aZn[fsk] :: (i_aZ5[sk:2] | |
-> Constraint)) (CFunEqCan) | |
[G] cobox_aZw {0}:: (Op p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> i_aZ5[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aZv[fsk] :: (i_aZ5[sk:2] | |
-> i_aZ5[sk:2] | |
-> *)) (CFunEqCan) | |
Dictionaries = [G] $d~_aZq {0}:: (Vacuous | |
p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) (CDictCan) | |
[G] $d~~_aZr {0}:: (Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
~~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) (CDictCan) | |
[G] $dCategory_aZ7 {0}:: Category p_aZ6[sk:2] (CDictCan) | |
[G] $dFunctor_aZs {0}:: Functor | |
fsk_aZv[fsk] | |
(Nat p_aZ6[sk:2] (->)) | |
p_aZ6[sk:2] (CDictCan) | |
Unsolved goals = 0} | |
rest of worklist = WL {Non-eqs = [G] $dCategory_aZu {0}:: Category | |
(Nat | |
p_aZ6[sk:2] (->)) (CDictCan(psc))} | |
runStage canonicalization { | |
workitem = [G] $dCategory_aZt {0}:: Category | |
(Op p_aZ6[sk:2]) (CDictCan(psc)) | |
flatten_many { | |
i_aZ5[sk:2] | |
Op p_aZ6[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
matchFamTcM | |
Matching: Op p_aZ6[sk:2] | |
Match failed | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar p_aZ6[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
flatten/flat-cache hit | |
Op [i_aZ5[sk:2], i_aZ5[sk:2], p_aZ6[sk:2]] | |
fsk_aZv[fsk] | |
Unfilled tyvar fsk_aZv[fsk] | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
flatten } | |
i_aZ5[sk:2] | |
fsk_aZv[fsk] | |
addTcEvBind | |
aZj | |
[G] $dCategory_aZx | |
= $dCategory_aZt `cast` (Sub | |
(Sym (Category <i_aZ5[sk:2]>_N (Sym cobox))_N)) | |
canClass | |
[G] $dCategory_aZt {0}:: Category (Op p_aZ6[sk:2]) | |
Category fsk_aZv[fsk] | |
ContinueWith [G] $dCategory_aZx {0}:: Category fsk_aZv[fsk] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] $dCategory_aZx {0}:: Category | |
fsk_aZv[fsk] (CDictCan(psc)) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] $dCategory_aZx {0}:: Category | |
fsk_aZv[fsk] (CDictCan(psc)) | |
doTopReact | |
[G] $dCategory_aZx {0}:: Category fsk_aZv[fsk] (CDictCan(psc)) | |
try_fundeps | |
[G] $dCategory_aZx {0}:: Category fsk_aZv[fsk] (CDictCan(psc)) | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] $dCategory_aZx {0}:: Category | |
fsk_aZv[fsk] (CDictCan(psc)) | |
addInertCan } | |
Step 11[l:2,d:0] Kept as inert: | |
[G] $dCategory_aZx {0}:: Category fsk_aZv[fsk] | |
End solver pipeline (kept as inert) } | |
final_item = [G] $dCategory_aZx {0}:: Category | |
fsk_aZv[fsk] (CDictCan(psc)) | |
----------------------------- | |
Start solver pipeline { | |
work item = [G] $dCategory_aZu {0}:: Category | |
(Nat p_aZ6[sk:2] (->)) (CDictCan(psc)) | |
inerts = {Equalities: [G] cobox_aZp {1}:: (fsk_aZn[fsk] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) (CTyEqCan) | |
Type-function equalities = [G] cobox_aZo {0}:: (Ob | |
p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aZn[fsk] :: (i_aZ5[sk:2] | |
-> Constraint)) (CFunEqCan) | |
[G] cobox_aZw {0}:: (Op p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> i_aZ5[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aZv[fsk] :: (i_aZ5[sk:2] | |
-> i_aZ5[sk:2] | |
-> *)) (CFunEqCan) | |
Dictionaries = [G] $d~_aZq {0}:: (Vacuous | |
p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) (CDictCan) | |
[G] $d~~_aZr {0}:: (Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
~~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) (CDictCan) | |
[G] $dFunctor_aZs {0}:: Functor | |
fsk_aZv[fsk] | |
(Nat p_aZ6[sk:2] (->)) | |
p_aZ6[sk:2] (CDictCan) | |
[G] $dCategory_aZ7 {0}:: Category p_aZ6[sk:2] (CDictCan) | |
[G] $dCategory_aZx {0}:: Category fsk_aZv[fsk] (CDictCan(psc)) | |
Unsolved goals = 0} | |
rest of worklist = WL {} | |
runStage canonicalization { | |
workitem = [G] $dCategory_aZu {0}:: Category | |
(Nat p_aZ6[sk:2] (->)) (CDictCan(psc)) | |
flatten_many { | |
i_aZ5[sk:2] -> * | |
Nat p_aZ6[sk:2] (->) | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar p_aZ6[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
flatten } | |
i_aZ5[sk:2] -> * | |
Nat p_aZ6[sk:2] (->) | |
canClass | |
[G] $dCategory_aZu {0}:: Category (Nat p_aZ6[sk:2] (->)) | |
Category (Nat p_aZ6[sk:2] (->)) | |
ContinueWith [G] $dCategory_aZu {0}:: Category | |
(Nat p_aZ6[sk:2] (->)) | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [G] $dCategory_aZu {0}:: Category | |
(Nat p_aZ6[sk:2] (->)) (CDictCan(psc)) | |
end stage interact with inerts } | |
runStage top-level reactions { | |
workitem = [G] $dCategory_aZu {0}:: Category | |
(Nat p_aZ6[sk:2] (->)) (CDictCan(psc)) | |
doTopReact | |
[G] $dCategory_aZu {0}:: Category | |
(Nat p_aZ6[sk:2] (->)) (CDictCan(psc)) | |
try_fundeps | |
[G] $dCategory_aZu {0}:: Category | |
(Nat p_aZ6[sk:2] (->)) (CDictCan(psc)) | |
end stage top-level reactions } | |
insertInertCan { | |
Trying to insert new non-eq inert item: [G] $dCategory_aZu {0}:: Category | |
(Nat | |
p_aZ6[sk:2] | |
(->)) (CDictCan(psc)) | |
addInertCan } | |
Step 12[l:2,d:0] Kept as inert: | |
[G] $dCategory_aZu {0}:: Category (Nat p_aZ6[sk:2] (->)) | |
End solver pipeline (kept as inert) } | |
final_item = [G] $dCategory_aZu {0}:: Category | |
(Nat p_aZ6[sk:2] (->)) (CDictCan(psc)) | |
End solveSimpleGivens } | |
solveWanteds { | |
WC {wc_simple = | |
[WD] $dCategory_aZe {0}:: Category p_aZd[tau:2] (CNonCanonical) | |
[WD] $d~_aZh {0}:: (Ob p_aZd[tau:2] :: (i_aZc[tau:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aZd[tau:2] :: (i_aZc[tau:2] | |
-> Constraint)) (CNonCanonical) | |
[WD] hole{aZi} {0}:: (Ob p_aZd[tau:2] b_aZg[tau:2] :: Constraint) | |
GHC.Prim.~# | |
(Ob p_aZ6[sk:2] b_aZa[sk:2] :: Constraint) (CNonCanonical)} | |
solveSimpleWanteds { | |
{[WD] $dCategory_aZe {0}:: Category p_aZd[tau:2] (CNonCanonical), | |
[WD] $d~_aZh {0}:: (Ob p_aZd[tau:2] :: (i_aZc[tau:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aZd[tau:2] :: (i_aZc[tau:2] | |
-> Constraint)) (CNonCanonical), | |
[WD] hole{aZi} {0}:: (Ob p_aZd[tau:2] b_aZg[tau:2] :: Constraint) | |
GHC.Prim.~# | |
(Ob p_aZ6[sk:2] b_aZa[sk:2] :: Constraint) (CNonCanonical)} | |
----------------------------- | |
Start solver pipeline { | |
work item = [WD] $d~_aZh {0}:: (Ob p_aZd[tau:2] :: (i_aZc[tau:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aZd[tau:2] :: (i_aZc[tau:2] | |
-> Constraint)) (CNonCanonical) | |
inerts = {Equalities: [G] cobox_aZp {1}:: (fsk_aZn[fsk] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) (CTyEqCan) | |
Type-function equalities = [G] cobox_aZo {0}:: (Ob | |
p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aZn[fsk] :: (i_aZ5[sk:2] | |
-> Constraint)) (CFunEqCan) | |
[G] cobox_aZw {0}:: (Op p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> i_aZ5[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aZv[fsk] :: (i_aZ5[sk:2] | |
-> i_aZ5[sk:2] | |
-> *)) (CFunEqCan) | |
Dictionaries = [G] $d~_aZq {0}:: (Vacuous | |
p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) (CDictCan) | |
[G] $d~~_aZr {0}:: (Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
~~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) (CDictCan) | |
[G] $dFunctor_aZs {0}:: Functor | |
fsk_aZv[fsk] | |
(Nat p_aZ6[sk:2] (->)) | |
p_aZ6[sk:2] (CDictCan) | |
[G] $dCategory_aZ7 {0}:: Category p_aZ6[sk:2] (CDictCan) | |
[G] $dCategory_aZx {0}:: Category fsk_aZv[fsk] (CDictCan(psc)) | |
[G] $dCategory_aZu {0}:: Category | |
(Nat p_aZ6[sk:2] (->)) (CDictCan(psc)) | |
Unsolved goals = 0} | |
rest of worklist = WL {Funeqs = [WD] hole{aZi} {0}:: (Ob | |
p_aZd[tau:2] b_aZg[tau:2] :: Constraint) | |
GHC.Prim.~# | |
(Ob | |
p_aZ6[sk:2] | |
b_aZa[sk:2] :: Constraint) (CNonCanonical) | |
Non-eqs = [WD] $dCategory_aZe {0}:: Category | |
p_aZd[tau:2] (CNonCanonical)} | |
runStage canonicalization { | |
workitem = [WD] $d~_aZh {0}:: (Ob p_aZd[tau:2] :: (i_aZc[tau:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aZd[tau:2] :: (i_aZc[tau:2] | |
-> Constraint)) (CNonCanonical) | |
canonicalize (non-canonical) | |
[WD] $d~_aZh {0}:: (Ob p_aZd[tau:2] :: (i_aZc[tau:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aZd[tau:2] :: (i_aZc[tau:2] | |
-> Constraint)) (CNonCanonical) | |
canEvNC:cls | |
~ [i_aZc[tau:2] -> Constraint, Ob p_aZd[tau:2], | |
Vacuous p_aZd[tau:2]] | |
flatten_many { | |
i_aZc[tau:2] -> Constraint | |
Ob p_aZd[tau:2] | |
Vacuous p_aZd[tau:2] | |
Following filled tyvar i_aZc[tau:2] = i_aZ5[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
matchFamTcM | |
Matching: Ob p_aZd[tau:2] | |
Match failed | |
Following filled tyvar i_aZc[tau:2] = i_aZ5[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
Following filled tyvar p_aZd[tau:2] = p_aZ6[sk:2] | |
Unfilled tyvar p_aZ6[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
flatten/flat-cache hit | |
Ob [i_aZ5[sk:2], p_aZ6[sk:2]] | |
fsk_aZn[fsk] | |
Unfilled tyvar fsk_aZn[fsk] | |
Following inert tyvar | |
FM_FlattenAll fsk_aZn[fsk] = Vacuous p_aZ6[sk:2] | |
[G] cobox_aZp {1}:: (fsk_aZn[fsk] :: (i_aZ5[sk:2] -> Constraint)) | |
GHC.Prim.~# | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar p_aZ6[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
Following filled tyvar i_aZc[tau:2] = i_aZ5[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
Following filled tyvar p_aZd[tau:2] = p_aZ6[sk:2] | |
Unfilled tyvar p_aZ6[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
flatten } | |
i_aZ5[sk:2] -> Constraint | |
Vacuous p_aZ6[sk:2] | |
Vacuous p_aZ6[sk:2] | |
newWantedEvVar/cache hit | |
[G] $d~_aZq {0}:: (Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
addTcEvBind | |
aZj | |
[W] $d~_aZh | |
= $d~_aZq `cast` ((~) | |
<i_aZ5[sk:2] -> Constraint>_N | |
(Trans (Sym cobox) (Sym cobox)) | |
<Vacuous p_aZ6[sk:2]>_N)_R | |
canClass | |
[WD] $d~_aZh {0}:: (Ob p_aZd[tau:2] :: (i_aZc[tau:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aZd[tau:2] :: (i_aZc[tau:2] -> Constraint)) | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
Stop(Cached wanted) [WD] $d~_aZh {0}:: (Ob | |
p_aZd[tau:2] :: (i_aZc[tau:2] -> Constraint)) | |
~ | |
(Vacuous p_aZd[tau:2] :: (i_aZc[tau:2] -> Constraint)) | |
end stage canonicalization } | |
Step 13[l:2,d:0] Cached wanted: | |
[WD] $d~_aZh {0}:: (Ob p_aZd[tau:2] :: (i_aZc[tau:2] | |
-> Constraint)) | |
~ | |
(Vacuous p_aZd[tau:2] :: (i_aZc[tau:2] -> Constraint)) | |
End solver pipeline (discharged) } | |
----------------------------- | |
Start solver pipeline { | |
work item = [WD] hole{aZi} {0}:: (Ob | |
p_aZd[tau:2] b_aZg[tau:2] :: Constraint) | |
GHC.Prim.~# | |
(Ob p_aZ6[sk:2] b_aZa[sk:2] :: Constraint) (CNonCanonical) | |
inerts = {Equalities: [G] cobox_aZp {1}:: (fsk_aZn[fsk] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) (CTyEqCan) | |
Type-function equalities = [G] cobox_aZo {0}:: (Ob | |
p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aZn[fsk] :: (i_aZ5[sk:2] | |
-> Constraint)) (CFunEqCan) | |
[G] cobox_aZw {0}:: (Op p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> i_aZ5[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aZv[fsk] :: (i_aZ5[sk:2] | |
-> i_aZ5[sk:2] | |
-> *)) (CFunEqCan) | |
Dictionaries = [G] $d~_aZq {0}:: (Vacuous | |
p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) (CDictCan) | |
[G] $d~~_aZr {0}:: (Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
~~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) (CDictCan) | |
[G] $dFunctor_aZs {0}:: Functor | |
fsk_aZv[fsk] | |
(Nat p_aZ6[sk:2] (->)) | |
p_aZ6[sk:2] (CDictCan) | |
[G] $dCategory_aZ7 {0}:: Category p_aZ6[sk:2] (CDictCan) | |
[G] $dCategory_aZx {0}:: Category fsk_aZv[fsk] (CDictCan(psc)) | |
[G] $dCategory_aZu {0}:: Category | |
(Nat p_aZ6[sk:2] (->)) (CDictCan(psc)) | |
Unsolved goals = 0} | |
rest of worklist = WL {Non-eqs = [WD] $dCategory_aZe {0}:: Category | |
p_aZd[tau:2] (CNonCanonical)} | |
runStage canonicalization { | |
workitem = [WD] hole{aZi} {0}:: (Ob | |
p_aZd[tau:2] b_aZg[tau:2] :: Constraint) | |
GHC.Prim.~# | |
(Ob p_aZ6[sk:2] b_aZa[sk:2] :: Constraint) (CNonCanonical) | |
canonicalize (non-canonical) | |
[WD] hole{aZi} {0}:: (Ob p_aZd[tau:2] b_aZg[tau:2] :: Constraint) | |
GHC.Prim.~# | |
(Ob p_aZ6[sk:2] b_aZa[sk:2] :: Constraint) (CNonCanonical) | |
canEvNC:eq | |
Ob p_aZd[tau:2] b_aZg[tau:2] | |
Ob p_aZ6[sk:2] b_aZa[sk:2] | |
Filling coercion hole aZi := <Ob p_aZ6[sk:2] b_aZa[sk:2]>_N | |
end stage canonicalization } | |
Step 14[l:2,d:0] Solved by reflexivity: | |
[WD] hole{aZi} {0}:: (Ob p_aZd[tau:2] b_aZg[tau:2] :: Constraint) | |
GHC.Prim.~# | |
(Ob p_aZ6[sk:2] b_aZa[sk:2] :: Constraint) | |
End solver pipeline (discharged) } | |
----------------------------- | |
Start solver pipeline { | |
work item = [WD] $dCategory_aZe {0}:: Category | |
p_aZd[tau:2] (CNonCanonical) | |
inerts = {Equalities: [G] cobox_aZp {1}:: (fsk_aZn[fsk] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) (CTyEqCan) | |
Type-function equalities = [G] cobox_aZo {0}:: (Ob | |
p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
GHC.Prim.~# | |
(fsk_aZn[fsk] :: (i_aZ5[sk:2] | |
-> Constraint)) (CFunEqCan) | |
[G] cobox_aZw {0}:: (Op p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> i_aZ5[sk:2] -> *)) | |
GHC.Prim.~# | |
(fsk_aZv[fsk] :: (i_aZ5[sk:2] | |
-> i_aZ5[sk:2] | |
-> *)) (CFunEqCan) | |
Dictionaries = [G] $d~_aZq {0}:: (Vacuous | |
p_aZ6[sk:2] :: (i_aZ5[sk:2] -> Constraint)) | |
~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) (CDictCan) | |
[G] $d~~_aZr {0}:: (Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) | |
~~ | |
(Vacuous p_aZ6[sk:2] :: (i_aZ5[sk:2] | |
-> Constraint)) (CDictCan) | |
[G] $dFunctor_aZs {0}:: Functor | |
fsk_aZv[fsk] | |
(Nat p_aZ6[sk:2] (->)) | |
p_aZ6[sk:2] (CDictCan) | |
[G] $dCategory_aZ7 {0}:: Category p_aZ6[sk:2] (CDictCan) | |
[G] $dCategory_aZx {0}:: Category fsk_aZv[fsk] (CDictCan(psc)) | |
[G] $dCategory_aZu {0}:: Category | |
(Nat p_aZ6[sk:2] (->)) (CDictCan(psc)) | |
Unsolved goals = 0} | |
rest of worklist = WL {} | |
runStage canonicalization { | |
workitem = [WD] $dCategory_aZe {0}:: Category | |
p_aZd[tau:2] (CNonCanonical) | |
canonicalize (non-canonical) | |
[WD] $dCategory_aZe {0}:: Category p_aZd[tau:2] (CNonCanonical) | |
canEvNC:cls Category [i_aZc[tau:2], p_aZd[tau:2]] | |
flatten_many { | |
i_aZc[tau:2] | |
p_aZd[tau:2] | |
Following filled tyvar i_aZc[tau:2] = i_aZ5[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
Following filled tyvar p_aZd[tau:2] = p_aZ6[sk:2] | |
Unfilled tyvar p_aZ6[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
Unfilled tyvar i_aZ5[sk:2] | |
flatten } | |
i_aZ5[sk:2] | |
p_aZ6[sk:2] | |
canClass | |
[WD] $dCategory_aZe {0}:: Category p_aZd[tau:2] | |
Category p_aZ6[sk:2] | |
ContinueWith [WD] $dCategory_aZe {0}:: Category p_aZ6[sk:2] | |
end stage canonicalization } | |
runStage interact with inerts { | |
workitem = [WD] $dCategory_aZe {0}:: Category | |
p_aZ6[sk:2] (CDictCan(psc)) | |
addTcEvBind | |
aZj | |
[W] $dCategory_aZe = $dCategory_aZ7 | |
end stage interact with inerts } | |
Step 15[l:2,d:0] Dict equal (keep): | |
[WD] $dCategory_aZe {0}:: Category p_aZ6[sk:2] | |
End solver pipeline (discharged) } | |
getUnsolvedInerts | |
tv eqs = {} | |
fun eqs = {} | |
insols = {} | |
others = {} | |
implics = {} | |
Unflattening | |
{Funeqs = | |
Tv eqs =} | |
Unflattening 1 {} | |
Unflattening 2 {} | |
Unflattening 3 {} | |
Unflattening done {} | |
zonkSimples done: {} | |
solveSimpleWanteds end } | |
iterations = 1 | |
residual = WC {} | |
solveWanteds middle | |
simples1 = {} | |
simples2 = {} | |
solveWanteds } | |
final wc = WC {} | |
current evbinds = {[G] $d~~_aZl = sc(($d~_aZb, 0)), | |
[G] cobox_aZm = sc(($d~~_aZl, 0)), | |
[G] cobox_aZo = CO <Ob p_aZ6[sk:2]>_N, | |
[G] cobox_aZp = CO Sym cobox_aZo ; cobox_aZm, | |
[G] $d~_aZq | |
= $d~_aZb `cast` (Sub | |
(Sym | |
((~) | |
<i_aZ5[sk:2] -> Constraint>_N | |
(Sym cobox) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment