You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In #105 (comment), @goldfirere observed that many of the free variable–computing functions in L.H.T.D.FV (that I added in #95) were pretty slipshod. For instance, here is one case of fv_letdec:
go (DSigD _ t) = fvDType t -- A function's type can't mention its name
This completely falls over on this expression:
let foo ::a->a; foox= x in foo y
The only free variable in this expression is y, but due to the case above, fvDExp would claim that a is a free variable. Ack!
This was far from the only issue with these functions, so I will ultimately be ripping them out in #105 once that is approved. But I do have a reason for wanting them: they will be necessary to fix goldfirere/singletons#339. This issue serves as a reminder to revisit the implementation of these functions so that they can be done correctly next time.
The text was updated successfully, but these errors were encountered:
In #105 (comment), @goldfirere observed that many of the free variable–computing functions in
L.H.T.D.FV
(that I added in #95) were pretty slipshod. For instance, here is one case offv_letdec
:th-desugar/Language/Haskell/TH/Desugar/FV.hs
Line 79 in 8495349
This completely falls over on this expression:
The only free variable in this expression is
y
, but due to the case above,fvDExp
would claim thata
is a free variable. Ack!This was far from the only issue with these functions, so I will ultimately be ripping them out in #105 once that is approved. But I do have a reason for wanting them: they will be necessary to fix goldfirere/singletons#339. This issue serves as a reminder to revisit the implementation of these functions so that they can be done correctly next time.
The text was updated successfully, but these errors were encountered: