`transform` + `walk` nebo `TransformProcessor`? #32

Closed
opened 9 months ago by jan · 1 comments
jan commented 9 months ago

Z #21👍:

Taky jsem zkusil naimplementovat ten TransformProcessor, který jsem si tu vybásnil a nepřijde mi to úplně špatné, ta overridovatelnost může být dost fajn, nehledě na nezávislost na panflutím walku a nějakém minimálním zrychlení, protože je tam míň ifů a víc se spoléhá na třídy, ale kód je téměř přesně na 3x tolik řádcích a asi to není tak přehledné. Upřímně zatím nemám preferenci ani na jednu stranu a rád uslyším nějaké další argumenty pro obě varianty.

Kontext jsem také přivázal ke Groupám a naučil OG, aby si v self.context udržoval ten aktuální. Nový TP si ho udržuje stejným způsobem, místo toho, aby se podával jako argument. Tohle teoreticky může být náchylnější k chybám, ale tak jak to je by to snad mělo fungovat.

@mj @jirikalvoda co si o tom myslíte? JK už začal používat ve svém projektu nový TP, já si stále nejsem jist, jestli je to to, co chceme, byť asi je.

Z https://gitea.ks.matfyz.cz/KSP/formatitko/issues/21#issuecomment-2358👍: > Taky jsem zkusil naimplementovat ten TransformProcessor, který jsem si tu vybásnil a nepřijde mi to úplně špatné, ta overridovatelnost může být dost fajn, nehledě na nezávislost na panflutím walku a nějakém minimálním zrychlení, protože je tam míň ifů a víc se spoléhá na třídy, ale kód je téměř přesně na 3x tolik řádcích a asi to není tak přehledné. Upřímně zatím nemám preferenci ani na jednu stranu a rád uslyším nějaké další argumenty pro obě varianty. > > Kontext jsem také přivázal ke Groupám a naučil OG, aby si v self.context udržoval ten aktuální. Nový TP si ho udržuje stejným způsobem, místo toho, aby se podával jako argument. Tohle teoreticky může být náchylnější k chybám, ale tak jak to je by to snad mělo fungovat. @mj @jirikalvoda co si o tom myslíte? JK už začal používat ve svém projektu nový TP, já si stále nejsem jist, jestli je to to, co chceme, byť asi je.
Owner

Teď jsem si obě varianty přošel o vážně se docela dost klaním k TransformProcessoru.
Zejména se mi líbí mnohem lepší možnosti v přepisování volajícím programem.

Mimochodem nešel by počet řádků snížit nějakým lepším meta-programováním?

Aktuální podoba kontextů vypadá docela hezky, ale ještě jsem ji nezkoumal tak do detailů.

Teď jsem si obě varianty přošel o vážně se docela dost klaním k TransformProcessoru. Zejména se mi líbí mnohem lepší možnosti v přepisování volajícím programem. Mimochodem nešel by počet řádků snížit nějakým lepším meta-programováním? Aktuální podoba kontextů vypadá docela hezky, ale ještě jsem ji nezkoumal tak do detailů.
jirikalvoda closed this issue 8 months ago
Sign in to join this conversation.
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date

No due date set.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
There is no content yet.