summaryrefslogtreecommitdiff
path: root/edit-lens/src/Control/Edit.lhs
diff options
context:
space:
mode:
authorGregor Kleen <gkleen@yggdrasil.li>2018-12-18 13:51:16 +0100
committerGregor Kleen <gkleen@yggdrasil.li>2018-12-18 13:51:16 +0100
commit46ae60eaca841b554ba20c6a2b7a15b43c12b4df (patch)
tree0bb06127a0e08e75f8be755f5a5dfb1702b627b6 /edit-lens/src/Control/Edit.lhs
parentb0b18979d5ccd109d5a56937396acdeb85c857aa (diff)
downloadincremental-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.lhs6
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
17und einem Element $\init_M \in \Dom M$, sodass gilt: 17und 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
21Wir 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. 21Wir 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
24Eine Repräsentierung als Typklasse bietet sich an: 24Eine Repräsentierung als Typklasse bietet sich an:
25 25
26\begin{code} 26\begin{code}
27-- `apply` binds one level weaker than monoid composition `(<>)`
27infix 5 `apply` 28infix 5 `apply`
28 29
29class Monoid m => Module m where 30class Monoid m => Module m where
@@ -42,11 +43,12 @@ class Monoid m => Module m where
42 43
43infixl 5 `apply'` 44infixl 5 `apply'`
44apply' :: Module m => Maybe (Domain m) -> m -> Maybe (Domain m) 45apply' :: Module m => Maybe (Domain m) -> m -> Maybe (Domain m)
46-- ^ `apply` under `Maybe`s monad-structure
45apply' md e = flip apply e =<< md 47apply' md e = flip apply e =<< md
46\end{code} 48\end{code}
47\end{defn} 49\end{defn}
48 50
49Wir 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. 51Wir 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]