A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/agda/agda/issues/7058 below:

Unclear specification and correctness of TypeChecking/DeadCode · Issue #7058 · agda/agda · GitHub

Here we have the following code:

      rootMetas =
        if not save then Set.empty else metasIn
          ( bs
          , sig ^. sigSections
          , sig ^. sigRewriteRules
          , HMap.filterWithKey (\x _ -> Set.member x rootNames) disp
          )

If we don't have --save-metas, then none of bs, sigRewriteRules and disp are instantiated and traversed for reachability. Hence, the metas which only occur in these will be eliminated, and should become dangling in the interface. As I see now, the only way this could work correctly in practice is if the mentioned things are already fully instantiated (which may well be the case in the current codebase).

Also, sigSections looks puzzling in rootMetas. The public sections are already traversed for reachability, in reachableFrom. This leaves the non-public sections here as additionally traversed, but I don't understand why the metas there should be roots.

Could I perhaps get a clear specification of live/dead things?


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4