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

Commit 1adc85d

Browse files
committed
🔥 the Semigroup instance for Core.
1 parent 3e53644 commit 1adc85d

File tree

3 files changed

+5
-8
lines changed

3 files changed

+5
-8
lines changed

semantic-core/src/Analysis/Eval.hs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -97,11 +97,12 @@ prog3 = fromBody $ lams' [foo, bar, quux]
9797
where (foo, bar, quux) = ("foo", "bar", "quux")
9898

9999
prog4 :: File (Core User)
100-
prog4 = fromBody
101-
$ let' foo .= Core.bool True
102-
<> Core.if' (pure foo)
100+
prog4 = fromBody $ block
101+
[ let' foo .= Core.bool True
102+
, Core.if' (pure foo)
103103
(Core.bool True)
104104
(Core.bool False)
105+
]
105106
where foo = "foo"
106107

107108
prog5 :: File (Core User)

semantic-core/src/Data/Core.hs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,6 @@ data Core a
5757
| Core (CoreF Core a)
5858
deriving (Eq, Foldable, Functor, Ord, Show, Traversable)
5959

60-
instance Semigroup (Core a) where
61-
a <> b = Core (a :>> b)
62-
6360
instance Applicative Core where
6461
pure = Var
6562
(<*>) = ap

semantic-core/src/Data/Core/Parser.hs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ import qualified Data.Char as Char
1313
import Data.Core (Core, Edge(..))
1414
import qualified Data.Core as Core
1515
import Data.Name
16-
import Data.Semigroup
1716
import Data.String
1817
import qualified Text.Parser.Token as Token
1918
import qualified Text.Parser.Token.Highlight as Highlight
@@ -65,7 +64,7 @@ atom = choice
6564
]
6665

6766
comp :: (TokenParsing m, Monad m) => m (Core User)
68-
comp = braces (sconcat <$> sepEndByNonEmpty expr semi) <?> "compound statement"
67+
comp = braces (Core.block <$> sepEndByNonEmpty expr semi) <?> "compound statement"
6968

7069
ifthenelse :: (TokenParsing m, Monad m) => m (Core User)
7170
ifthenelse = Core.if'

0 commit comments

Comments
 (0)