diff options
author | Gregor Kleen <gkleen@yggdrasil.li> | 2018-12-18 13:51:16 +0100 |
---|---|---|
committer | Gregor Kleen <gkleen@yggdrasil.li> | 2018-12-18 13:51:16 +0100 |
commit | 46ae60eaca841b554ba20c6a2b7a15b43c12b4df (patch) | |
tree | 0bb06127a0e08e75f8be755f5a5dfb1702b627b6 /edit-lens/src/Control/Edit.lhs | |
parent | b0b18979d5ccd109d5a56937396acdeb85c857aa (diff) | |
download | incremental-dfsts-46ae60eaca841b554ba20c6a2b7a15b43c12b4df.tar incremental-dfsts-46ae60eaca841b554ba20c6a2b7a15b43c12b4df.tar.gz incremental-dfsts-46ae60eaca841b554ba20c6a2b7a15b43c12b4df.tar.bz2 incremental-dfsts-46ae60eaca841b554ba20c6a2b7a15b43c12b4df.tar.xz incremental-dfsts-46ae60eaca841b554ba20c6a2b7a15b43c12b4df.zip |
Much ado about nothing
Diffstat (limited to 'edit-lens/src/Control/Edit.lhs')
-rw-r--r-- | edit-lens/src/Control/Edit.lhs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/edit-lens/src/Control/Edit.lhs b/edit-lens/src/Control/Edit.lhs index 19fe336..8c4f045 100644 --- a/edit-lens/src/Control/Edit.lhs +++ b/edit-lens/src/Control/Edit.lhs | |||
@@ -16,7 +16,7 @@ Ein Modul $M$ ist eine \emph{partielle Monoidwirkung} zusammen mit einem schwach | |||
16 | 16 | ||
17 | und einem Element $\init_M \in \Dom M$, sodass gilt: | 17 | und einem Element $\init_M \in \Dom M$, sodass gilt: |
18 | 18 | ||
19 | $$ \forall m \in \Dom M \ \exists \partial m \in \partial M \colon m = \init_M \cdot \partial m$$ | 19 | $$\forall m \in \Dom M \ \exists \partial m \in \partial M \colon m = \init_M \cdot \partial m$$ |
20 | 20 | ||
21 | Wir führen außerdem eine Abbildung $(\init_M \cdot)^{-1} \colon \Dom M \to \partial m$ ein, die ein $m$ auf ein arbiträr gewähltes $\partial m$ abbildet für das $\init_M \cdot \partial m = m$ gilt. | 21 | Wir führen außerdem eine Abbildung $(\init_M \cdot)^{-1} \colon \Dom M \to \partial m$ ein, die ein $m$ auf ein arbiträr gewähltes $\partial m$ abbildet für das $\init_M \cdot \partial m = m$ gilt. |
22 | 22 | ||
@@ -24,6 +24,7 @@ In Haskell charakterisieren wir Moduln über ihren Monoid, d.h. die Wahl des Mon | |||
24 | Eine Repräsentierung als Typklasse bietet sich an: | 24 | Eine Repräsentierung als Typklasse bietet sich an: |
25 | 25 | ||
26 | \begin{code} | 26 | \begin{code} |
27 | -- `apply` binds one level weaker than monoid composition `(<>)` | ||
27 | infix 5 `apply` | 28 | infix 5 `apply` |
28 | 29 | ||
29 | class Monoid m => Module m where | 30 | class Monoid m => Module m where |
@@ -42,11 +43,12 @@ class Monoid m => Module m where | |||
42 | 43 | ||
43 | infixl 5 `apply'` | 44 | infixl 5 `apply'` |
44 | apply' :: Module m => Maybe (Domain m) -> m -> Maybe (Domain m) | 45 | apply' :: Module m => Maybe (Domain m) -> m -> Maybe (Domain m) |
46 | -- ^ `apply` under `Maybe`s monad-structure | ||
45 | apply' md e = flip apply e =<< md | 47 | apply' md e = flip apply e =<< md |
46 | \end{code} | 48 | \end{code} |
47 | \end{defn} | 49 | \end{defn} |
48 | 50 | ||
49 | Wir weichen von der originalen Definition von Moduln aus \cite{hofmann2012edit} darin ab, dass wir für das ausgezeichnete Element $\init_X$ des Trägers explizit (und konstruktiv) fordern, dass es ein schwach-initiales Element bzgl. der Monoidwirkung sei. | 51 | Wir weichen von der originalen Definition von Moduln aus \cite{hofmann2012edit} darin ab, dass wir für das ausgezeichnete Element $\init_X$ des Trägers explizit (und konstruktiv\footnote{$(\init_M \cdot)^{-1}$}) fordern, dass es ein schwach-initiales Element bzgl. der Monoidwirkung sei. |
50 | 52 | ||
51 | \begin{comment} | 53 | \begin{comment} |
52 | \begin{defn}[Modulhomomorphismen] | 54 | \begin{defn}[Modulhomomorphismen] |