Skip to content

Commit 7463970

Browse files
committed
PatternF: add From instances
1 parent 48dfc99 commit 7463970

File tree

1 file changed

+88
-0
lines changed

1 file changed

+88
-0
lines changed

kore/src/Kore/Syntax/PatternF.hs

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,94 @@ instance
9999
unparse = unparseGeneric
100100
unparse2 = unparse2Generic
101101

102+
instance From (And Sort child) (PatternF variable child) where
103+
from = AndF
104+
{-# INLINE CONLIKE from #-}
105+
106+
instance From (Application SymbolOrAlias child) (PatternF variable child) where
107+
from = ApplicationF
108+
{-# INLINE CONLIKE from #-}
109+
110+
instance From (Bottom Sort child) (PatternF variable child) where
111+
from = BottomF
112+
{-# INLINE CONLIKE from #-}
113+
114+
instance From (Ceil Sort child) (PatternF variable child) where
115+
from = CeilF
116+
{-# INLINE CONLIKE from #-}
117+
118+
instance From (DomainValue Sort child) (PatternF variable child) where
119+
from = DomainValueF
120+
{-# INLINE CONLIKE from #-}
121+
122+
instance From (Equals Sort child) (PatternF variable child) where
123+
from = EqualsF
124+
{-# INLINE CONLIKE from #-}
125+
126+
instance From (Exists Sort variable child) (PatternF variable child) where
127+
from = ExistsF
128+
{-# INLINE CONLIKE from #-}
129+
130+
instance From (Floor Sort child) (PatternF variable child) where
131+
from = FloorF
132+
{-# INLINE CONLIKE from #-}
133+
134+
instance From (Forall Sort variable child) (PatternF variable child) where
135+
from = ForallF
136+
{-# INLINE CONLIKE from #-}
137+
138+
instance From (Iff Sort child) (PatternF variable child) where
139+
from = IffF
140+
{-# INLINE CONLIKE from #-}
141+
142+
instance From (Implies Sort child) (PatternF variable child) where
143+
from = ImpliesF
144+
{-# INLINE CONLIKE from #-}
145+
146+
instance From (In Sort child) (PatternF variable child) where
147+
from = InF
148+
{-# INLINE CONLIKE from #-}
149+
150+
instance From (Mu variable child) (PatternF variable child) where
151+
from = MuF
152+
{-# INLINE CONLIKE from #-}
153+
154+
instance From (Next Sort child) (PatternF variable child) where
155+
from = NextF
156+
{-# INLINE CONLIKE from #-}
157+
158+
instance From (Not Sort child) (PatternF variable child) where
159+
from = NotF
160+
{-# INLINE CONLIKE from #-}
161+
162+
instance From (Nu variable child) (PatternF variable child) where
163+
from = NuF
164+
{-# INLINE CONLIKE from #-}
165+
166+
instance From (Or Sort child) (PatternF variable child) where
167+
from = OrF
168+
{-# INLINE CONLIKE from #-}
169+
170+
instance From (Rewrites Sort child) (PatternF variable child) where
171+
from = RewritesF
172+
{-# INLINE CONLIKE from #-}
173+
174+
instance From (Top Sort child) (PatternF variable child) where
175+
from = TopF
176+
{-# INLINE CONLIKE from #-}
177+
178+
instance From (Inhabitant child) (PatternF variable child) where
179+
from = InhabitantF
180+
{-# INLINE CONLIKE from #-}
181+
182+
instance From StringLiteral (PatternF variable child) where
183+
from = StringLiteralF . Const
184+
{-# INLINE CONLIKE from #-}
185+
186+
instance From (SomeVariable variable) (PatternF variable child) where
187+
from = VariableF . Const
188+
{-# INLINE CONLIKE from #-}
189+
102190
{- | Use the provided mapping to replace all variables in a 'PatternF' head.
103191
104192
__Warning__: @mapVariables@ will capture variables if the provided mapping is

0 commit comments

Comments
 (0)