lenses

In der funktionalen Programmierung ist eine Linse ein zusammensetzbarer Feld-Accessor. Mit Linsen lassen sich verschachtelte Datenstrukturen prägnant und seiteneffektiv manipulieren.
2
Antworten

Generieren von Linsen für eine "Linsen" -Bibliothek mit einem benutzerdefinierten Namensprozessor anstelle des standardmäßigen "Unterstrichs"

Der Standard makeLenses Implementierung generiert Linsen für alle Felder eines Datensatzes, die mit Unterstrich beginnen. Ich mag die Idee, aus vielen Gründen eine so unangenehme Benennungskonvention in meine Aufzeichnungen aufnehmen zu müs...
16.06.2013, 10:49
2
Antworten

Warum gibt eine Prismenfunktion nicht eine Option / Vielleicht zurück?

In der funktionellen Optik soll ein wohlerzogenes Prisma (in scala eine Teillinse genannt) eine set Funktion vom Typ 'subpart -> 'parent -> 'parent haben, wobei, wenn das Prisma "erfolgreich ist" und ist strukturell kompatibel mit dem...
23.09.2017, 20:51
2
Antworten

Warum sollte mein Datentyp eine Instanz von Monoid benötigen, um dieses Objektiv zu verwenden?

Ich verwende den folgenden Code für einen Datensatz, der ein Feld '_scene' vom Typ SceneGraph hat. Ich habe Linsen dafür mit makeLenses erstellt. %Vor% Ich erhalte den Fehler: %Vor% Aber ich verstehe nicht, warum SceneGraph eine Instanz...
09.07.2013, 01:47
1
Antwort

Formlos: Generisches Objektiv, das nach Fallklasse oder Feld parametrisiert ist

Basiert auf: %Vor% Ich versuche, eine Methode zur Linsenherstellung zu entwickeln, etwas: %Vor% Aber es scheint nicht offensichtlich. Ist es möglich zu tun? Wenn nicht, ist das Endergebnis, das ich zu erreichen versuche, eine generisc...
30.07.2014, 14:37
2
Antworten

Welche Sprachen unterstützen Objektive oder ähnliche Methoden, um unveränderliche verschachtelte Strukturen zu aktualisieren?

Obwohl die Unveränderlichkeit von vielen gelobt wurde, fiel es mir schwer, mich in der Mainstream-Programmierung zu behaupten. Meiner Erfahrung nach werden Programmierer früher als später die Felder wieder änderbar machen, um zu vermeiden, dass e...
24.08.2013, 23:03
1
Antwort

Ist es möglich, einen neuen Datensatz mit Linsen zu konstruieren?

Wenn ich einen Aufnahmetyp mit Objektiven habe, ist es möglich, einen neuen Datensatz zu erstellen, ohne die zugrunde liegenden Record Accessoren zu verwenden? %Vor% Ich könnte Foo zu einer Instanz von Data.Default machen und dann d...
25.08.2013, 15:02
3
Antworten

Ändern Sie das Element der Liste, wenn es gegen eine Bedingung gilt, oder fügen Sie ein neues hinzu, falls nicht, indem Sie Data.Lens verwenden

Ich habe eine Liste von Datensätzen und benötige eine Funktion, die die Liste nach einem Datensatz mit einem bestimmten Namen durchsucht und den Wert dieses Datensatzes ändert OR wenn kein Datensatz einen neuen Datensatz an den resultierenden...
13.06.2013, 12:57
1
Antwort

Fassen Sie eine Liste von Haskell-Datensätzen zusammen

Nehmen wir an, ich habe eine Liste von Datensätzen und möchte sie zusammenfassen, indem ich den Median anstelle. Konkreter gesagt, ich habe %Vor% Ich habe eine Liste von Messungen, und ich möchte es in einen Median Location zusammenfassen...
28.08.2014, 03:49
1
Antwort

Objektive in Swift-Eigenschaften

Gibt es eine Möglichkeit, ein Getter / Setter-Funktionspaar für eine Eigenschaft in einer Klasse in Swift automatisch zu generieren? Etwas in der Art einer Linse in Haskell. Ich konnte Folgendes manuell tun: %Vor% Das wird jedoch sehr aus...
22.10.2014, 20:58
3
Antworten

Filtern von Verbundstrukturen mit Lens

Ich habe ein [(a, Maybe b)] und möchte ein [(a, b)] erhalten, mit allen Paaren, bei denen das zweite Element Nothing herausgefiltert wurde. Gibt es eine prägnante Möglichkeit, diese Operation mit dem Objektiv zu beschreiben?     
25.10.2013, 14:07