diff options
Diffstat (limited to 'edit-lens/src/Control/Edit')
| -rw-r--r-- | edit-lens/src/Control/Edit/String.lhs | 4 | ||||
| -rw-r--r-- | edit-lens/src/Control/Edit/String/Affected.lhs | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/edit-lens/src/Control/Edit/String.lhs b/edit-lens/src/Control/Edit/String.lhs index c1411cf..f0ca588 100644 --- a/edit-lens/src/Control/Edit/String.lhs +++ b/edit-lens/src/Control/Edit/String.lhs | |||
| @@ -24,7 +24,7 @@ import Data.Monoid | |||
| 24 | \end{comment} | 24 | \end{comment} |
| 25 | 25 | ||
| 26 | \begin{defn}[Atomare edits of strings] | 26 | \begin{defn}[Atomare edits of strings] |
| 27 | Wir betrachten, zur Einfachheit, ein minimiales Set von Edits auf Strings\footnote{Wie in der Konstruktion zum Longest Common Subsequence Problem}, bestehend nur aus Einfügung eines einzelnen Zeichens $\sigma$ an einer bestimmten Position $\iota_n(\sigma)$ und löschen des Zeichens an einer einzelnen Position $\rho_n$: | 27 | Wir betrachten zur Einfachheit ein minimiales Set von Edits auf Strings\footnote{Wie in der Konstruktion zum Longest Common Subsequence Problem} bestehend nur aus Einfügung eines einzelnen Zeichens $\sigma$ an einer bestimmten Position $\iota_n(\sigma)$ und löschen des Zeichens an einer einzelnen Position $\rho_n$: |
| 28 | 28 | ||
| 29 | \begin{code} | 29 | \begin{code} |
| 30 | data StringEdit pos char = Insert { _sePos :: pos, _seInsertion :: char } | 30 | data StringEdit pos char = Insert { _sePos :: pos, _seInsertion :: char } |
| @@ -38,7 +38,7 @@ data StringEdit pos char = Insert { _sePos :: pos, _seInsertion :: char } | |||
| 38 | makeLenses ''StringEdit | 38 | makeLenses ''StringEdit |
| 39 | \end{code} | 39 | \end{code} |
| 40 | 40 | ||
| 41 | Atomare edits werden, als Liste, zu edits komponiert. | 41 | Atomare edits werden als Liste zu edits komponiert. |
| 42 | Wir führen einen speziellen edit ein, der nicht-Anwendbarkeit der edits repräsentiert: | 42 | Wir führen einen speziellen edit ein, der nicht-Anwendbarkeit der edits repräsentiert: |
| 43 | \begin{code} | 43 | \begin{code} |
| 44 | data StringEdits pos char = StringEdits (Seq (StringEdit pos char)) | 44 | data StringEdits pos char = StringEdits (Seq (StringEdit pos char)) |
diff --git a/edit-lens/src/Control/Edit/String/Affected.lhs b/edit-lens/src/Control/Edit/String/Affected.lhs index 851267b..15f73af 100644 --- a/edit-lens/src/Control/Edit/String/Affected.lhs +++ b/edit-lens/src/Control/Edit/String/Affected.lhs | |||
| @@ -29,7 +29,7 @@ import Data.Maybe (fromMaybe, maybeToList, listToMaybe, catMaybes, isNothing, is | |||
| 29 | \end{comment} | 29 | \end{comment} |
| 30 | 30 | ||
| 31 | Um eine obere Schranke an das von einer Serie von edits betroffene Intervall zu bestimmen ordnen wir zunächst jeder von mindestens einem atomaren edit betroffenen Position $n$ im Eingabe-Wort einen $\text{offset}_n = \text{\# deletions} - \text{\# inserts}$ zu. | 31 | Um eine obere Schranke an das von einer Serie von edits betroffene Intervall zu bestimmen ordnen wir zunächst jeder von mindestens einem atomaren edit betroffenen Position $n$ im Eingabe-Wort einen $\text{offset}_n = \text{\# deletions} - \text{\# inserts}$ zu. |
| 32 | Das gesuchte Intervall ist nun $(\text{minK}, \text{maxK})$, mit $\text{minK}$ der Position im Eingabe-Wort mit niedrigstem $\text{offset}$ und $\text{maxK}$ die Position im Eingabe-Wort mit höchstem $\text{offset}$, $\text{maxK}^\prime$, modifiziert um das Maximum aus $\{ 0 \} \cup \{ \text{maxK}_n \colon n \in \{ 0 \ldots \text{maxK}^\prime \} \}$ wobei $\text{maxK}_n = -1 \cdot (n + \text{offset}_n)$ an Position $n$ ist. | 32 | Das gesuchte Intervall ist nun $(\text{minK}, \text{maxK})$, mit $\text{minK}$ der Position im Eingabe-Wort mit niedrigstem $\text{offset}$ und $\text{maxK}$ die Position im Eingabe-Wort mit höchstem $\text{offset}$ $\text{maxK}^\prime$ modifiziert um das Maximum aus $\{ 0 \} \cup \{ \text{maxK}_n \colon n \in \{ 0 \ldots \text{maxK}^\prime \} \}$ wobei $\text{maxK}_n = -1 \cdot (n + \text{offset}_n)$ an Position $n$ ist. |
| 33 | 33 | ||
| 34 | \begin{code} | 34 | \begin{code} |
| 35 | affected :: forall char. StringEdits Natural char -> Maybe (Interval Natural) | 35 | affected :: forall char. StringEdits Natural char -> Maybe (Interval Natural) |
