summaryrefslogtreecommitdiff
path: root/edit-lens/src/Control/Edit.lhs
diff options
context:
space:
mode:
authorGregor Kleen <gkleen@yggdrasil.li>2017-11-24 17:38:54 +0100
committerGregor Kleen <gkleen@yggdrasil.li>2017-11-24 17:38:54 +0100
commitafc34d76c845f1be96818addcffb4f70d9d2ea9d (patch)
tree8e5d9180cc5986e219e5d776bf7bae37913fbf9d /edit-lens/src/Control/Edit.lhs
parentb9db9f8d7f3eb993ed345357c428a94c9a208c5b (diff)
downloadincremental-dfsts-afc34d76c845f1be96818addcffb4f70d9d2ea9d.tar
incremental-dfsts-afc34d76c845f1be96818addcffb4f70d9d2ea9d.tar.gz
incremental-dfsts-afc34d76c845f1be96818addcffb4f70d9d2ea9d.tar.bz2
incremental-dfsts-afc34d76c845f1be96818addcffb4f70d9d2ea9d.tar.xz
incremental-dfsts-afc34d76c845f1be96818addcffb4f70d9d2ea9d.zip
Work on containers
Diffstat (limited to 'edit-lens/src/Control/Edit.lhs')
-rw-r--r--edit-lens/src/Control/Edit.lhs2
1 files changed, 2 insertions, 0 deletions
diff --git a/edit-lens/src/Control/Edit.lhs b/edit-lens/src/Control/Edit.lhs
index 11f2c12..6d9b14c 100644
--- a/edit-lens/src/Control/Edit.lhs
+++ b/edit-lens/src/Control/Edit.lhs
@@ -21,6 +21,8 @@ $$ \forall m \in \Dom M \ \exists \partial m \in \partial M \colon m = \init_M \
21 21
22Wir 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. 22Wir 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.
23 23
24Für ein $\partial m \in \partial M$ schreiben wir für die Menge aller $m \in \Dom M$, sodass $m \cdot \partial m$ definiert ist auch $\Dom (\partial m)$.
25
24In Haskell charakterisieren wir Moduln über ihren Monoid, d.h. die Wahl des Monoiden \texttt{m} legt den Träger \texttt{Domain m}, die Wirkung \texttt{apply}, das initiale Element \texttt{init} und $(\init_M \cdot)^{-1}$ eindeutig fest\footnote{Betrachten wir mehrere Moduln über dem selben Träger (oder mit verschiedenen Wirkungen) führen wir neue, isomorphe, Typen ein (\texttt{newtype}-Wrappern)}. 26In Haskell charakterisieren wir Moduln über ihren Monoid, d.h. die Wahl des Monoiden \texttt{m} legt den Träger \texttt{Domain m}, die Wirkung \texttt{apply}, das initiale Element \texttt{init} und $(\init_M \cdot)^{-1}$ eindeutig fest\footnote{Betrachten wir mehrere Moduln über dem selben Träger (oder mit verschiedenen Wirkungen) führen wir neue, isomorphe, Typen ein (\texttt{newtype}-Wrappern)}.
25Eine Repräsentierung als Typklasse bietet sich an: 27Eine Repräsentierung als Typklasse bietet sich an:
26 28