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] |
