Skip to content

Commit eeb9605

Browse files
Remove untested typeclass elaboration
1 parent 5521471 commit eeb9605

File tree

4 files changed

+14
-752
lines changed

4 files changed

+14
-752
lines changed

liquidhaskell-boot/liquidhaskell-boot.cabal

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ library
4141
Language.Haskell.Liquid.Bare.ToBare
4242
Language.Haskell.Liquid.Bare.Types
4343
Language.Haskell.Liquid.Bare.Typeclass
44-
Language.Haskell.Liquid.Bare.Elaborate
4544
Language.Haskell.Liquid.CSS
4645
Language.Haskell.Liquid.Constraint.Constraint
4746
Language.Haskell.Liquid.Constraint.Env

liquidhaskell-boot/src/Language/Haskell/Liquid/Bare.hs

Lines changed: 5 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@ import qualified Language.Haskell.Liquid.Measure as Ms
5656
import qualified Language.Haskell.Liquid.Bare.Types as Bare
5757
import qualified Language.Haskell.Liquid.Bare.Resolve as Bare
5858
import qualified Language.Haskell.Liquid.Bare.DataType as Bare
59-
import Language.Haskell.Liquid.Bare.Elaborate
6059
import qualified Language.Haskell.Liquid.Bare.Expand as Bare
6160
import qualified Language.Haskell.Liquid.Bare.Measure as Bare
6261
import qualified Language.Haskell.Liquid.Bare.Plugged as Bare
@@ -262,7 +261,7 @@ makeGhcSpec0
262261
-> Ghc.TcRn (Diagnostics, GhcSpec)
263262
makeGhcSpec0 cfg session tcg instEnvs localVars src lmap targetSpec dependencySpecs = do
264263
-- build up environments
265-
tycEnv <- makeTycEnv1 name env (tycEnv0, datacons) coreToLg simplifier
264+
tycEnv <- makeTycEnv1 name env (tycEnv0, datacons)
266265
let tyi = Bare.tcTyConMap tycEnv
267266
let sigEnv = makeSigEnv embs tyi (_gsExports src) rtEnv
268267
let lSpec1 = makeLiftedSpec1 cfg src tycEnv lmap mySpec1
@@ -274,7 +273,7 @@ makeGhcSpec0 cfg session tcg instEnvs localVars src lmap targetSpec dependencySp
274273
let (dg1, measEnv0) = withDiagnostics $ makeMeasEnv env tycEnv sigEnv specs
275274
let (dg2, (specInstances, sig)) = withDiagnostics $ makeSpecSig cfg name mySpec iSpecs2 env sigEnv tycEnv measEnv0 (_giCbs src)
276275
elaboratedSig <-
277-
if allowTC then Bare.makeClassAuxTypes (elaborateSpecType coreToLg simplifier) datacons instMethods
276+
if allowTC then Bare.makeClassAuxTypes datacons instMethods
278277
>>= elaborateSig sig
279278
else pure sig
280279
let (dg3, refl) = withDiagnostics $ makeSpecRefl cfg src specs env name elaboratedSig tycEnv
@@ -333,23 +332,8 @@ makeGhcSpec0 cfg session tcg instEnvs localVars src lmap targetSpec dependencySp
333332
})
334333
where
335334
-- typeclass elaboration
336-
337-
coreToLg ce =
338-
case CoreToLogic.runToLogic
339-
embs
340-
lmap
341-
dm
342-
(\x -> todo Nothing ("coreToLogic not working " ++ x))
343-
(CoreToLogic.coreToLogic allowTC ce) of
344-
Left msg -> panic Nothing (F.showpp msg)
345-
Right e -> e
346335
elaborateSig si auxsig = do
347-
tySigs <-
348-
forM (gsTySigs si) $ \(x, t) ->
349-
if GM.isFromGHCReal x then
350-
pure (x, t)
351-
else do t' <- traverse (elaborateSpecType coreToLg simplifier) t
352-
pure (x, t')
336+
let tySigs = gsTySigs si
353337
-- things like len breaks the code
354338
-- asmsigs should be elaborated only if they are from the current module
355339
-- asmSigs <- forM (gsAsmSigs si) $ \(x, t) -> do
@@ -359,8 +343,6 @@ makeGhcSpec0 cfg session tcg instEnvs localVars src lmap targetSpec dependencySp
359343
si
360344
{ gsTySigs = F.notracepp ("asmSigs" ++ F.showpp (gsAsmSigs si)) tySigs ++ auxsig }
361345

362-
simplifier :: Ghc.CoreExpr -> Ghc.TcRn Ghc.CoreExpr
363-
simplifier = pure -- no simplification
364346
allowTC = typeclass cfg
365347
mySpec2 = Bare.qualifyExpand env name rtEnv l [] mySpec1 where l = F.dummyPos "expand-mySpec2"
366348
iSpecs2 = Bare.qualifyExpand
@@ -378,7 +360,6 @@ makeGhcSpec0 cfg session tcg instEnvs localVars src lmap targetSpec dependencySp
378360
mySpec1 = mySpec0 <> lSpec0
379361
lSpec0 = makeLiftedSpec0 cfg src embs lmap mySpec0
380362
embs = makeEmbeds src env (mySpec0 : map snd dependencySpecs)
381-
dm = Bare.tcDataConMap tycEnv0
382363
(dg0, datacons, tycEnv0) = makeTycEnv0 cfg name env embs mySpec2 iSpecs2
383364
env = Bare.makeEnv cfg session tcg instEnvs localVars src lmap ((name, targetSpec) : dependencySpecs)
384365
-- check barespecs
@@ -1228,12 +1209,10 @@ makeTycEnv1 ::
12281209
ModName
12291210
-> Bare.Env
12301211
-> (Bare.TycEnv, [Located DataConP])
1231-
-> (Ghc.CoreExpr -> F.Expr)
1232-
-> (Ghc.CoreExpr -> Ghc.TcRn Ghc.CoreExpr)
12331212
-> Ghc.TcRn Bare.TycEnv
1234-
makeTycEnv1 myName env (tycEnv, datacons) coreToLg simplifier = do
1213+
makeTycEnv1 myName env (tycEnv, datacons) = do
12351214
-- fst for selector generation, snd for dataconsig generation
1236-
lclassdcs <- forM classdcs $ traverse (Bare.elaborateClassDcp coreToLg simplifier)
1215+
lclassdcs <- forM classdcs $ traverse Bare.elaborateClassDcp
12371216
let recSelectors = Bare.makeRecordSelectorSigs env myName (dcs ++ (fmap . fmap) snd lclassdcs)
12381217
pure $
12391218
tycEnv {Bare.tcSelVars = recSelectors, Bare.tcDataCons = F.val <$> ((fmap . fmap) fst lclassdcs ++ dcs )}

0 commit comments

Comments
 (0)