Skip to content

Commit 3fedfa1

Browse files
committed
Move ProvidedParameters to Resolve
1 parent 2e6e570 commit 3fedfa1

File tree

2 files changed

+15
-17
lines changed

2 files changed

+15
-17
lines changed

src/Codec/CBOR/Cuddle/CDDL/CTree.hs

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ import Codec.CBOR.Cuddle.CDDL (
1212
)
1313
import Codec.CBOR.Cuddle.CDDL.CtlOp
1414
import Codec.CBOR.Cuddle.CDDL.Postlude (PTerm)
15-
import Data.Hashable (Hashable)
1615
import Data.List.NonEmpty qualified as NE
1716
import Data.Map.Strict qualified as Map
1817
import Data.Word (Word64)
@@ -30,18 +29,6 @@ import GHC.Generics (Generic)
3029

3130
type family CTreeExt i
3231

33-
data ProvidedParameters a = ProvidedParameters
34-
{ parameters :: [Name]
35-
, underlying :: a
36-
}
37-
deriving (Generic, Functor, Show, Eq, Foldable, Traversable)
38-
39-
instance Hashable a => Hashable (ProvidedParameters a)
40-
41-
data Parametrised
42-
43-
type instance CTreeExt Parametrised = ProvidedParameters (CTree Parametrised)
44-
4532
-- | CDDL Tree, parametrised over a functor
4633
--
4734
-- We principally use this functor to represent references - thus, every 'f a'

src/Codec/CBOR/Cuddle/CDDL/Resolve.hs

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@ import Codec.CBOR.Cuddle.CDDL.CTree (
4949
CTree (..),
5050
CTreeExt,
5151
CTreeRoot (..),
52-
ProvidedParameters (..),
5352
)
5453
import Codec.CBOR.Cuddle.CDDL.CTree qualified as CTree
5554
import Codec.CBOR.Cuddle.CDDL.Postlude (PTerm (..))
@@ -68,6 +67,18 @@ import Data.Text qualified as T
6867
import GHC.Generics (Generic)
6968
import Optics.Core
7069

70+
data ProvidedParameters a = ProvidedParameters
71+
{ parameters :: [Name]
72+
, underlying :: a
73+
}
74+
deriving (Generic, Functor, Show, Eq, Foldable, Traversable)
75+
76+
instance Hashable a => Hashable (ProvidedParameters a)
77+
78+
data Parametrised
79+
80+
type instance CTreeExt Parametrised = ProvidedParameters (CTree Parametrised)
81+
7182
--------------------------------------------------------------------------------
7283
-- 1. Rule extensions
7384
--------------------------------------------------------------------------------
@@ -79,7 +90,7 @@ type CDDLMap = Map.Map Name (ProvidedParameters TypeOrGroup)
7990

8091
toParametrised :: a -> Maybe GenericParam -> ProvidedParameters a
8192
toParametrised a Nothing = ProvidedParameters [] a
82-
toParametrised a (Just (GenericParam gps)) = CTree.ProvidedParameters (NE.toList gps) a
93+
toParametrised a (Just (GenericParam gps)) = ProvidedParameters (NE.toList gps) a
8394

8495
asMap :: CDDL -> CDDLMap
8596
asMap cddl = foldl' go Map.empty rules
@@ -479,8 +490,8 @@ synthMono n@(Name origName _) args =
479490
-- Lookup the original name in the global bindings
480491
globalBinds <- ask @"global"
481492
case Map.lookup n globalBinds of
482-
Just (CTree.ProvidedParameters [] _) -> throwNR $ MismatchingArgs n []
483-
Just (CTree.ProvidedParameters params' r) ->
493+
Just (ProvidedParameters [] _) -> throwNR $ MismatchingArgs n []
494+
Just (ProvidedParameters params' r) ->
484495
if length params' == length args
485496
then do
486497
rargs <- traverse resolveGenericCTree args

0 commit comments

Comments
 (0)