1
1
mirror of https://github.com/github/semantic.git synced 2024-12-18 12:21:57 +03:00

Abstract over the context constraints in Analysis.ImportGraph.

This commit is contained in:
Rob Rix 2019-10-28 13:31:45 -04:00
parent 5b004aba1f
commit 3c1cdcb437
No known key found for this signature in database
GPG Key ID: F188A01508EA1CF7

View File

@ -1,4 +1,4 @@
{-# LANGUAGE ConstraintKinds, FlexibleContexts, RankNTypes, RecordWildCards, ScopedTypeVariables, TypeApplications #-} {-# LANGUAGE ConstraintKinds, FlexibleContexts, QuantifiedConstraints, RankNTypes, RecordWildCards, ScopedTypeVariables, TypeApplications #-}
module Analysis.ImportGraph module Analysis.ImportGraph
( ImportGraph ( ImportGraph
, importGraph , importGraph
@ -12,13 +12,11 @@ import Control.Applicative (Alternative(..))
import Control.Algebra import Control.Algebra
import Control.Carrier.Fail.WithLoc import Control.Carrier.Fail.WithLoc
import Control.Carrier.Fresh.Strict import Control.Carrier.Fresh.Strict
import Control.Carrier.NonDet.Church
import Control.Carrier.Reader import Control.Carrier.Reader
import Control.Carrier.State.Strict import Control.Carrier.State.Strict
import Control.Monad ((>=>)) import Control.Monad ((>=>))
import Data.Foldable (fold, for_) import Data.Foldable (fold, for_)
import Data.Function (fix) import Data.Function (fix)
import Data.Functor.Identity
import Data.List.NonEmpty (nonEmpty) import Data.List.NonEmpty (nonEmpty)
import qualified Data.Map as Map import qualified Data.Map as Map
import Data.Proxy import Data.Proxy
@ -70,10 +68,7 @@ importGraph eval
runFile runFile
:: forall term name m c sig :: forall term name m c sig
. ( c (Either (Path.AbsRelFile, Span, String)) . ( forall ctx . Functor ctx => c ctx
, c (NonDetC Identity)
, c ((,) (Cache (term name) (Value term name)))
, c ((,) Int)
, Effect c sig , Effect c sig
, Has Fresh sig m , Has Fresh sig m
, Has (State (Heap name (Value term name))) sig m , Has (State (Heap name (Value term name))) sig m