Skip to content
This repository was archived by the owner on Apr 1, 2025. It is now read-only.

Commit 7d9100f

Browse files
committed
Derive a Semigroup instance for Concrete.
1 parent fde3424 commit 7d9100f

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

semantic-core/src/Analysis/Concrete.hs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{-# LANGUAGE FlexibleContexts, FlexibleInstances, LambdaCase, MultiParamTypeClasses, NamedFieldPuns, OverloadedStrings, RecordWildCards, TypeOperators, UndecidableInstances #-}
1+
{-# LANGUAGE DerivingVia, FlexibleContexts, FlexibleInstances, LambdaCase, MultiParamTypeClasses, NamedFieldPuns, OverloadedStrings, RecordWildCards, TypeOperators, UndecidableInstances #-}
22
module Analysis.Concrete
33
( Concrete(..)
44
, concrete
@@ -28,6 +28,7 @@ import qualified Data.IntSet as IntSet
2828
import Data.Loc
2929
import qualified Data.Map as Map
3030
import Data.Name
31+
import Data.Semigroup (Last (..))
3132
import qualified Data.Set as Set
3233
import Data.Term
3334
import Data.Text (Text, pack)
@@ -47,6 +48,7 @@ data Concrete
4748
| String Text
4849
| Record Env
4950
deriving (Eq, Ord, Show)
51+
deriving Semigroup via Last Concrete
5052

5153
recordFrame :: Concrete -> Maybe Env
5254
recordFrame (Record frame) = Just frame

0 commit comments

Comments
 (0)