Vorteile von SYB (verschrotten Sie Ihren Textbaustein) über GHC Generics

8

Sind irgendwelche Aufgaben, die nur mit SYB möglich sind oder viel einfacher sind, im Vergleich zu GHC Generics?

    
Petr Pudlák 12.11.2014, 18:05
quelle

1 Antwort

3

GHC Generics ist eine ziemlich ausführliche Methode, um grundsätzlich jede Abfrage oder Traversierung durchzuführen. Betrachten Sie zum Beispiel eine Sprache AST mit den Typen Stmt und Expr , die beide Typeable , Generic und Data :

ableiten %Vor%

Wie nutzen Sie SYB, um alle Konstanten ab Expr oder Stmt zu erhalten? Etwas wie:

%Vor%

Vergleichen Sie dies mit der typischen Verwendung von Generics, die zwei Klassen erfordern, einer Traversierung über die Summe der Produktdarstellungen, und instantiieren Sie die Klasse N-mal für die N Typen, die durchlaufen werden müssen. Wo SYB und tatsächlich die meisten generischen Systeme fallen, ist in Leistung .

    
Thomas M. DuBuisson 12.11.2014 19:43
quelle