Skip to content

Commit f48f4fb

Browse files
committed
Sentence: Add Injection instances
1 parent 3c4315c commit f48f4fb

File tree

1 file changed

+49
-7
lines changed

1 file changed

+49
-7
lines changed

kore/src/Kore/Syntax/Sentence.hs

Lines changed: 49 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -555,25 +555,67 @@ instance Unparse patternType => Unparse (Sentence patternType) where
555555
unparse = unparseGeneric
556556
unparse2 = unparse2Generic
557557

558+
instance Injection (Sentence patternType) (SentenceAlias patternType) where
559+
inject = SentenceAliasSentence
560+
561+
retract (SentenceAliasSentence sentenceAlias) = Just sentenceAlias
562+
retract _ = Nothing
563+
564+
instance Injection (Sentence patternType) (SentenceSymbol patternType) where
565+
inject = SentenceSymbolSentence
566+
567+
retract (SentenceSymbolSentence sentenceSymbol) = Just sentenceSymbol
568+
retract _ = Nothing
569+
570+
instance Injection (Sentence patternType) (SentenceImport patternType) where
571+
inject = SentenceImportSentence
572+
573+
retract (SentenceImportSentence sentenceImport) = Just sentenceImport
574+
retract _ = Nothing
575+
576+
instance Injection (Sentence patternType) (SentenceAxiom patternType) where
577+
inject = SentenceAxiomSentence
578+
579+
retract (SentenceAxiomSentence sentenceAxiom) = Just sentenceAxiom
580+
retract _ = Nothing
581+
582+
instance Injection (Sentence patternType) (SentenceClaim patternType) where
583+
inject = SentenceClaimSentence
584+
585+
retract (SentenceClaimSentence sentenceClaim) = Just sentenceClaim
586+
retract _ = Nothing
587+
588+
instance Injection (Sentence patternType) (SentenceSort patternType) where
589+
inject = SentenceSortSentence
590+
591+
retract (SentenceSortSentence sentenceSort) = Just sentenceSort
592+
retract _ = Nothing
593+
594+
instance Injection (Sentence patternType) (SentenceHook patternType) where
595+
inject = SentenceHookSentence
596+
597+
retract (SentenceHookSentence sentenceHook) = Just sentenceHook
598+
retract _ = Nothing
599+
558600
projectSentenceImport
559601
:: Sentence ParsedPattern
560602
-> Maybe (SentenceImport ParsedPattern)
561-
projectSentenceImport = projectTyped
603+
projectSentenceImport = retract
562604

563605
projectSentenceSort
564606
:: Sentence ParsedPattern
565607
-> Maybe (SentenceSort ParsedPattern)
566-
projectSentenceSort = projectTyped
608+
projectSentenceSort = retract
567609

568610
projectSentenceSymbol
569611
:: Sentence ParsedPattern
570612
-> Maybe (SentenceSymbol ParsedPattern)
571-
projectSentenceSymbol = projectTyped
613+
projectSentenceSymbol = retract
572614

573615
projectSentenceHook
574616
:: Sentence ParsedPattern
575617
-> Maybe (SentenceHook ParsedPattern)
576-
projectSentenceHook = projectTyped
618+
projectSentenceHook = retract
577619

578620
projectSentenceHookedSort
579621
:: Sentence ParsedPattern
@@ -588,17 +630,17 @@ projectSentenceHookedSymbol = projectSentenceHook Monad.>=> projectTyped
588630
projectSentenceAlias
589631
:: Sentence ParsedPattern
590632
-> Maybe (SentenceAlias ParsedPattern)
591-
projectSentenceAlias = projectTyped
633+
projectSentenceAlias = retract
592634

593635
projectSentenceAxiom
594636
:: Sentence ParsedPattern
595637
-> Maybe (SentenceAxiom ParsedPattern)
596-
projectSentenceAxiom = projectTyped
638+
projectSentenceAxiom = retract
597639

598640
projectSentenceClaim
599641
:: Sentence ParsedPattern
600642
-> Maybe (SentenceClaim ParsedPattern)
601-
projectSentenceClaim = projectTyped
643+
projectSentenceClaim = retract
602644

603645
{- | The attributes associated with a sentence.
604646

0 commit comments

Comments
 (0)