Skip to content

Commit 52c0143

Browse files
committed
Release v0.3.0.0
1 parent ee34a63 commit 52c0143

File tree

3 files changed

+9
-2
lines changed

3 files changed

+9
-2
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
## Unreleased
44

5+
## 0.3.0.0 -- 2022-12-09
6+
57
* A better `Analysis` tutorial in the README.
68

79
* Complete `Analysis` redesign.
@@ -26,6 +28,9 @@
2628
* An `EGraph` now also has two type parameters instead of one (the latter is
2729
the language is the former the domain of the analysis).
2830

31+
* Allow customization of Schedulers through parameters (by accepting a scheduler
32+
rather than a proxy for it)
33+
2934
## 0.2.0.0 -- 2022-09-19
3035

3136
* Expose `runEqualitySaturation` to run equality saturation on existing e-graphs

hegg.cabal

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
cabal-version: 2.4
22
name: hegg
3-
version: 0.2.0.0
4-
Tested-With: GHC ==9.4.1 || ==9.2.2 || ==9.0.2 || ==8.10.7
3+
version: 0.3.0.0
4+
Tested-With: GHC ==9.4.2 || ==9.2.2 || ==9.0.2 || ==8.10.7
55
synopsis: Fast equality saturation in Haskell
66

77
description: Fast equality saturation and equality graphs based on "egg:

src/Data/Equality/Graph.hs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,8 @@ import Data.Equality.Utils
6262
-- instance Ord1 l => Monoid (EGraph l) where
6363
-- mempty = EGraph emptyUF mempty mempty mempty
6464

65+
-- | Represent an expression (in it's fixed point form) in an e-graph.
66+
-- Returns the updated e-graph and the id from the e-class in which it was represented.
6567
represent :: forall a l. (Analysis a l, Language l) => Fix l -> EGraph a l -> (ClassId, EGraph a l)
6668
represent = cata (flip $ \e -> uncurry add . first Node . (`runState` e) . traverse (gets >=> \(x,e') -> x <$ put e'))
6769

0 commit comments

Comments
 (0)