@inproceedings{Voi08a, title = {Proving correctness via free theorems: The case of the destroy/build-rule}, author = {Janis Voigtländer}, year = {2008}, doi = {10.1145/1328408.1328412}, url = {http://doi.acm.org/10.1145/1328408.1328412}, tags = {programming languages, object-oriented programming, rule-based, case study, transformation language, functional programming, Haskell, rules, aspect oriented programming, systematic-approach, feature-oriented programming, transformation, program transformation}, researchr = {https://researchr.org/publication/Voi08a}, cites = {0}, citedby = {0}, pages = {13-20}, booktitle = {PEPM}, } @inproceedings{Voigtlander12-0, title = {Ideas for connecting inductive program synthesis and bidirectionalization}, author = {Janis Voigtländer}, year = {2012}, doi = {10.1145/2103746.2103757}, url = {http://doi.acm.org/10.1145/2103746.2103757}, researchr = {https://researchr.org/publication/Voigtlander12-0}, cites = {0}, citedby = {0}, pages = {39-42}, booktitle = {PEPM}, } @article{JV09, title = {A family of syntactic logical relations for the semantics of Haskell-like languages}, author = {Patricia Johann and Janis Voigtländer}, year = {2009}, doi = {10.1016/j.ic.2007.11.009}, url = {http://dx.doi.org/10.1016/j.ic.2007.11.009}, tags = {laziness, programming languages, semantics, rule-based, program analysis, pattern language, functional programming, analysis, Haskell, pattern matching, programming}, researchr = {https://researchr.org/publication/JV09}, cites = {0}, citedby = {0}, journal = {iandc}, volume = {207}, number = {2}, pages = {341-368}, } @mastersthesis{Voi01, title = {Composition of restricted Macro Tree Transducers}, author = {Janis Voigtländer}, year = {2001}, tags = {optimization, macro, meta programming, meta-model, traversal, composition, functional programming, macros, context-aware, program optimization, Meta-Environment, process modeling}, researchr = {https://researchr.org/publication/Voi01}, cites = {0}, citedby = {0}, school = {Technische Universität Dresden}, advisor = {Armin Kühnemann and Heiko Vogler}, } @inproceedings{Voi08b, title = {Much ado about two (pearl): A pearl on parallel prefix computation}, author = {Janis Voigtländer}, year = {2008}, doi = {10.1145/1328438.1328445}, url = {http://doi.acm.org/10.1145/1328438.1328445}, researchr = {https://researchr.org/publication/Voi08b}, cites = {0}, citedby = {0}, pages = {29-35}, booktitle = {POPL}, } @inproceedings{SeidelV10, title = {Proving Properties about Functions on Lists Involving Element Tests}, author = {Daniel Seidel and Janis Voigtländer}, year = {2010}, doi = {10.1007/978-3-642-28412-0_17}, url = {http://dx.doi.org/10.1007/978-3-642-28412-0_17}, researchr = {https://researchr.org/publication/SeidelV10}, cites = {0}, citedby = {0}, pages = {270-286}, booktitle = {WADT}, } @inproceedings{Voi02a, title = {Conditions for Efficiency Improvement by Tree Transducer Composition}, author = {Janis Voigtländer}, year = {2002}, url = {http://link.springer.de/link/service/series/0558/bibs/2378/23780222.htm}, tags = {optimization, rule-based, composition, functional programming, macros, compiler, program optimization, transformation, program transformation}, researchr = {https://researchr.org/publication/Voi02a}, cites = {0}, citedby = {0}, pages = {222-236}, booktitle = {RTA}, } @inproceedings{CSV10, title = {Free theorems for functional logic programs}, author = {Jan Christiansen and Daniel Seidel and Janis Voigtländer}, year = {2010}, doi = {10.1145/1707790.1707797}, url = {http://doi.acm.org/10.1145/1707790.1707797}, tags = {programming languages, rule-based, case study, functional programming, Curry, Haskell, relational parametricity, logic programming, programming, logic, type theory}, researchr = {https://researchr.org/publication/CSV10}, cites = {0}, citedby = {0}, pages = {39-48}, booktitle = {plpv}, } @inproceedings{SV09a, title = {Parametricity for Haskell with Imprecise Error Semantics}, author = {Florian Stenger and Janis Voigtländer}, year = {2009}, doi = {10.1007/978-3-642-02273-9_22}, url = {http://dx.doi.org/10.1007/978-3-642-02273-9_22}, tags = {programming languages, optimization, semantics, rule-based, data-flow language, transformation language, Haskell, data-flow programming, data-flow, rules, program optimization, higher-order transformations, transformation, program transformation}, researchr = {https://researchr.org/publication/SV09a}, cites = {0}, citedby = {0}, pages = {294-308}, booktitle = {tlca}, } @article{VoigtlanderHMW13, title = {Enhancing semantic bidirectionalization via shape bidirectionalizer plug-ins}, author = {Janis Voigtländer and Zhenjiang Hu and Kazutaka Matsuda and Meng Wang}, year = {2013}, doi = {10.1017/S0956796813000130}, url = {http://dx.doi.org/10.1017/S0956796813000130}, researchr = {https://researchr.org/publication/VoigtlanderHMW13}, cites = {0}, citedby = {0}, journal = {JFP}, volume = {23}, number = {5}, pages = {515-551}, } @inproceedings{FernandesSSV11, title = {Strictification of circular programs}, author = {João Paulo Fernandes and João Saraiva and Daniel Seidel and Janis Voigtländer}, year = {2011}, doi = {10.1145/1929501.1929526}, url = {http://doi.acm.org/10.1145/1929501.1929526}, tags = {laziness, attribute grammars, traversal, functional programming, programming, systematic-approach, transformation, grammar, program transformation}, researchr = {https://researchr.org/publication/FernandesSSV11}, cites = {0}, citedby = {0}, pages = {131-140}, booktitle = {PEPM}, } @inproceedings{Voi09b, title = {Free theorems involving type constructor classes (functional pearl)}, author = {Janis Voigtländer}, year = {2009}, doi = {10.1145/1596550.1596577}, url = {http://doi.acm.org/10.1145/1596550.1596577}, tags = {functional programming, constraints, Haskell}, researchr = {https://researchr.org/publication/Voi09b}, cites = {0}, citedby = {0}, pages = {173-184}, booktitle = {ICFP}, } @inproceedings{VoigtlanderHMW10, title = {Combining syntactic and semantic bidirectionalization}, author = {Janis Voigtländer and Zhenjiang Hu and Kazutaka Matsuda and Meng Wang}, year = {2010}, doi = {10.1145/1863543.1863571}, url = {http://doi.acm.org/10.1145/1863543.1863571}, tags = {source-to-source, consistency, systematic-approach, open-source}, researchr = {https://researchr.org/publication/VoigtlanderHMW10}, cites = {0}, citedby = {0}, pages = {181-192}, booktitle = {ICFP}, } @inproceedings{BirdGMVS13, title = {Understanding idiomatic traversals backwards and forwards}, author = {Richard S. Bird and Jeremy Gibbons and Stefan Mehner and Tom Schrijvers and Janis Voigtländer}, year = {2013}, doi = {10.1145/2503778.2503781}, url = {http://doi.acm.org/10.1145/2503778.2503781}, researchr = {https://researchr.org/publication/BirdGMVS13}, cites = {0}, citedby = {0}, pages = {25-36}, booktitle = {haskell}, } @article{HermannV12, title = {First International Workshop on Bidirectional Transformations (BX 2012): Preface}, author = {Frank Hermann and Janis Voigtländer}, year = {2012}, url = {http://journal.ub.tu-berlin.de/eceasst/article/view/733}, researchr = {https://researchr.org/publication/HermannV12}, cites = {0}, citedby = {0}, journal = {eceasst}, volume = {49}, } @inproceedings{SV09, title = {Taming Selective Strictness}, author = {Daniel Seidel and Janis Voigtländer}, year = {2009}, tags = {laziness, programming languages, rule-based, functional programming, Haskell, type system, rules, programming, systematic-approach}, researchr = {https://researchr.org/publication/SV09}, cites = {0}, citedby = {0}, pages = {2916-2930}, booktitle = {gi}, } @article{GKV07, title = {Deaccumulation techniques for improving provability}, author = {Jürgen Giesl and Armin Kühnemann and Janis Voigtländer}, year = {2007}, doi = {10.1016/j.jlap.2006.11.001}, url = {http://dx.doi.org/10.1016/j.jlap.2006.11.001}, tags = {program verification, functional programming, systematic-approach, transformation, program transformation}, researchr = {https://researchr.org/publication/GKV07}, cites = {0}, citedby = {0}, journal = {jlp}, volume = {71}, number = {2}, pages = {79-113}, } @article{Voi07, title = {Formal Efficiency Analysis for Tree Transducer Composition}, author = {Janis Voigtländer}, year = {2007}, doi = {10.1007/s00224-006-1235-9}, url = {http://dx.doi.org/10.1007/s00224-006-1235-9}, tags = {laziness, programming languages, optimization, semantics, rule-based, program analysis, formal semantics, transformation language, composition, functional programming, analysis, macros, compiler, program optimization, transformation, program transformation}, researchr = {https://researchr.org/publication/Voi07}, cites = {0}, citedby = {0}, journal = {mst}, volume = {41}, number = {4}, pages = {619-689}, } @article{VJ07:1, title = {Selective strictness and parametricity in structural operational semantics, inequationally}, author = {Janis Voigtländer and Patricia Johann}, year = {2007}, doi = {10.1016/j.tcs.2007.09.014}, url = {http://dx.doi.org/10.1016/j.tcs.2007.09.014}, tags = {programming languages, semantics, program analysis, completeness, formal semantics, structural operational semantics, functional programming, analysis, Haskell, algebra, operational semantics}, researchr = {https://researchr.org/publication/VJ07%3A1}, cites = {0}, citedby = {0}, journal = {TCS}, volume = {388}, number = {1-3}, pages = {290-318}, } @inproceedings{Voi08c, title = {Semantics and Pragmatics of New Shortcut Fusion Rules}, author = {Janis Voigtländer}, year = {2008}, doi = {10.1007/978-3-540-78969-7_13}, url = {http://dx.doi.org/10.1007/978-3-540-78969-7_13}, tags = {programming languages, semantics, rule-based, transformation language, Haskell, rules, higher-order transformations, transformation, program transformation}, researchr = {https://researchr.org/publication/Voi08c}, cites = {0}, citedby = {0}, pages = {163-179}, booktitle = {FLOPS}, } @inproceedings{JSV10, title = {A Generic Operational Metatheory for Algebraic Effects}, author = {Patricia Johann and Alex Simpson and Janis Voigtländer}, year = {2010}, doi = {10.1109/LICS.2010.29}, url = {http://doi.ieeecomputersociety.org/10.1109/LICS.2010.29}, tags = {programming languages, semantics, program analysis, generic programming, structural operational semantics, relational algebra, analysis, metatheory, algebra, programming, operational semantics, context-aware, systematic-approach}, researchr = {https://researchr.org/publication/JSV10}, cites = {0}, citedby = {0}, pages = {209-218}, booktitle = {lics}, } @inproceedings{ChristiansenSV10, title = {An Adequate, Denotational, Functional-Style Semantics for Typed FlatCurry}, author = {Jan Christiansen and Daniel Seidel and Janis Voigtländer}, year = {2010}, doi = {10.1007/978-3-642-20775-4_7}, url = {http://dx.doi.org/10.1007/978-3-642-20775-4_7}, researchr = {https://researchr.org/publication/ChristiansenSV10}, cites = {0}, citedby = {0}, pages = {119-136}, booktitle = {wflp}, } @article{ChristiansenSV09, title = {Free theorems for functional logic programs: (abstract only)}, author = {Jan Christiansen and Daniel Seidel and Janis Voigtländer}, year = {2009}, doi = {10.1145/1816027.1816035}, url = {http://doi.acm.org/10.1145/1816027.1816035}, researchr = {https://researchr.org/publication/ChristiansenSV09}, cites = {0}, citedby = {0}, journal = {SIGPLAN}, volume = {44}, number = {11}, pages = {7}, } @article{JV06, title = {The Impact of seq on Free Theorems-Based Program Transformations}, author = {Patricia Johann and Janis Voigtländer}, year = {2006}, url = {http://iospress.metapress.com/openurl.asp?genre=article&issn=0169-2968&volume=69&issue=1&spage=63}, tags = {programming languages, rule-based, transformation language, functional programming, Haskell, algebra, systematic-approach, transformation, program transformation}, researchr = {https://researchr.org/publication/JV06}, cites = {0}, citedby = {0}, journal = {FUIN}, volume = {69}, number = {1-2}, pages = {63-102}, } @article{SeidelV11, title = {Refined typing to localize the impact of forced strictness on free theorems}, author = {Daniel Seidel and Janis Voigtländer}, year = {2011}, doi = {10.1007/s00236-011-0136-9}, url = {http://dx.doi.org/10.1007/s00236-011-0136-9}, tags = {laziness, programming languages, rule-based, functional programming, Haskell, type system, rules, programming, systematic-approach, domain-specific language}, researchr = {https://researchr.org/publication/SeidelV11}, cites = {0}, citedby = {0}, journal = {ACTA}, volume = {48}, number = {3}, pages = {191-211}, } @article{Voi04a, title = {Using Circular Programs to Deforest in Accumulating Parameters}, author = {Janis Voigtländer}, year = {2004}, doi = {10.1023/B:LISP.0000029450.36668.cb}, url = {http://dx.doi.org/10.1023/B:LISP.0000029450.36668.cb}, tags = {laziness, rule-based, traversal, composition, functional programming, data-flow programming, data-flow, programming, higher-order transformations, transformation, program transformation}, researchr = {https://researchr.org/publication/Voi04a}, cites = {0}, citedby = {0}, journal = {lisp}, volume = {17}, number = {1-2}, pages = {129-163}, } @inproceedings{HuchV12, title = {5. Arbeitstagung Programmiersprachen (ATPS 2012)}, author = {Frank Huch and Janis Voigtländer}, year = {2012}, url = {http://subs.emis.de/LNI/Proceedings/Proceedings198/article6634.html}, researchr = {https://researchr.org/publication/HuchV12}, cites = {0}, citedby = {0}, pages = {195}, booktitle = {se}, } @inproceedings{Voi09a, title = {Bidirectionalization for free! (Pearl)}, author = {Janis Voigtländer}, year = {2009}, doi = {10.1145/1480881.1480904}, url = {http://doi.acm.org/10.1145/1480881.1480904}, tags = {programming languages, model-to-model transformation, bidirectional model transformations, bidirectional transformation, relational database, bidirectional model transformation, transformation language, Haskell, source-to-source, model transformation, consistency, programming, database, higher-order transformations, systematic-approach, open-source, transformation, program transformation, domain-specific language}, researchr = {https://researchr.org/publication/Voi09a}, cites = {0}, citedby = {0}, pages = {165-176}, booktitle = {POPL}, } @inproceedings{JV04, title = {Free theorems in the presence of seq}, author = {Patricia Johann and Janis Voigtländer}, year = {2004}, doi = {10.1145/964001.964010}, url = {http://doi.acm.org/10.1145/964001.964010}, tags = {programming languages, program analysis, transformation language, functional programming, analysis, Haskell, algebra, higher-order transformations, systematic-approach, transformation, program transformation}, researchr = {https://researchr.org/publication/JV04}, cites = {0}, citedby = {0}, pages = {99-110}, booktitle = {POPL}, } @inproceedings{FosterMV10, title = {Three Complementary Approaches to Bidirectional Programming}, author = {J. Nathan Foster and Kazutaka Matsuda and Janis Voigtländer}, year = {2010}, doi = {10.1007/978-3-642-32202-0_1}, url = {http://dx.doi.org/10.1007/978-3-642-32202-0_1}, researchr = {https://researchr.org/publication/FosterMV10}, cites = {0}, citedby = {0}, pages = {1-46}, booktitle = {ssgip}, } @inproceedings{SV10, title = {Automatically Generating Counterexamples to Naive Free Theorems}, author = {Daniel Seidel and Janis Voigtländer}, year = {2010}, doi = {10.1007/978-3-642-12251-4_14}, url = {http://dx.doi.org/10.1007/978-3-642-12251-4_14}, tags = {programming languages, type system, programming, context-aware, search}, researchr = {https://researchr.org/publication/SV10}, cites = {0}, citedby = {0}, pages = {175-190}, booktitle = {FLOPS}, } @inproceedings{Voi08d, title = {Asymptotic Improvement of Computations over Free Monads}, author = {Janis Voigtländer}, year = {2008}, doi = {10.1007/978-3-540-70594-9_20}, url = {http://dx.doi.org/10.1007/978-3-540-70594-9_20}, tags = {generic programming, Haskell, compiler, systematic-approach, transformation, program transformation}, researchr = {https://researchr.org/publication/Voi08d}, cites = {0}, citedby = {0}, pages = {388-403}, booktitle = {mpc}, } @inproceedings{Voigtlander12, title = {Programming language approaches to bidirectional transformation (invited talk)}, author = {Janis Voigtländer}, year = {2012}, doi = {10.1145/2427048.2427049}, url = {http://doi.acm.org/10.1145/2427048.2427049}, researchr = {https://researchr.org/publication/Voigtlander12}, cites = {0}, citedby = {0}, pages = {1}, booktitle = {LDTA}, } @article{GallagherV10, title = {Editorial}, author = {John P. Gallagher and Janis Voigtländer}, year = {2010}, doi = {10.1007/s10990-011-9081-0}, url = {http://dx.doi.org/10.1007/s10990-011-9081-0}, researchr = {https://researchr.org/publication/GallagherV10}, cites = {0}, citedby = {0}, journal = {lisp}, volume = {23}, number = {3}, pages = {273-274}, } @inproceedings{Voi02c, title = {Concatenate, reverse and map vanish for free}, author = {Janis Voigtländer}, year = {2002}, doi = {10.1145/581478.581481}, url = {http://doi.acm.org/10.1145/581478.581481}, tags = {optimization, functional programming, data-flow programming, data-flow, algebra, program optimization, transformation, program transformation}, researchr = {https://researchr.org/publication/Voi02c}, cites = {0}, citedby = {0}, pages = {14-25}, booktitle = {ICFP}, } @article{VK04, title = {Composition of functions with accumulating parameters}, author = {Janis Voigtländer and Armin Kühnemann}, year = {2004}, doi = {10.1017/S0956796803004933}, url = {http://dx.doi.org/10.1017/S0956796803004933}, tags = {composition, functional programming, macros, data-flow programming, data-flow, transformation, program transformation}, researchr = {https://researchr.org/publication/VK04}, cites = {0}, citedby = {0}, journal = {JFP}, volume = {14}, number = {3}, pages = {317-363}, } @inproceedings{GrohneLV14, title = {Formalizing Semantic Bidirectionalization with Dependent Types}, author = {Helmut Grohne and Andres Löh and Janis Voigtländer}, year = {2014}, url = {http://ceur-ws.org/Vol-1133/paper-12.pdf}, researchr = {https://researchr.org/publication/GrohneLV14}, cites = {0}, citedby = {0}, pages = {75-81}, booktitle = {edbt}, } @inproceedings{KnoopV13a, title = {Vorwort zur 6. Arbeitstagung Programmiersprachen (ATPS 2013)}, author = {Jens Knoop and Janis Voigtländer}, year = {2013}, researchr = {https://researchr.org/publication/KnoopV13a}, cites = {0}, citedby = {0}, pages = {17-20}, booktitle = {se}, } @misc{Voi08e, title = {Types for Programming and Reasoning}, author = {Janis Voigtländer}, year = {2008}, tags = {control systems, programming languages, optimization, semantics, reusable components, rule-based, transformation engineering, Java, program analysis, software components, program verification, formal semantics, language engineering, transformation language, software language engineering, functional programming, design research, software component, analysis, language design, static analysis, Haskell, type system, reuse, equational proofs, software engineering, rules, algebraic specification, C++, programming paradigms, type checking, transformation system, compiler, algebra, programming, context-aware, abstraction, program optimization, design, systematic-approach, transformation, program transformation}, researchr = {https://researchr.org/publication/Voi08e}, cites = {0}, citedby = {0}, } @inproceedings{GKV03, title = {Deaccumulation - Improving Provability}, author = {Jürgen Giesl and Armin Kühnemann and Janis Voigtländer}, year = {2003}, url = {http://springerlink.metapress.com/openurl.asp?genre=article&issn=0302-9743&volume=2896&spage=146}, tags = {rule-based, program verification, functional programming, transformation, program transformation}, researchr = {https://researchr.org/publication/GKV03}, cites = {0}, citedby = {0}, pages = {146-160}, booktitle = {asian}, } @inproceedings{Voi02b, title = {Using circular programs to deforest in accumulating parameters}, author = {Janis Voigtländer}, year = {2002}, doi = {10.1145/568173.568187}, url = {http://doi.acm.org/10.1145/568173.568187}, tags = {laziness, programming languages, data-flow language, traversal, transformation language, composition, functional programming, data-flow programming, data-flow, programming, higher-order transformations, transformation, program transformation}, researchr = {https://researchr.org/publication/Voi02b}, cites = {0}, citedby = {0}, pages = {126-137}, booktitle = {PEPM}, } @phdthesis{Voi05, title = {Tree Transducer Composition as Program Transformation}, author = {Janis Voigtländer}, year = {2005}, tags = {programming languages, optimization, object-oriented programming, semantics, formal semantics, transformation language, composition, functional programming, reuse, programming, subject-oriented programming, program optimization, reliability, systematic-approach, feature-oriented programming, transformation, program transformation, domain-specific language}, researchr = {https://researchr.org/publication/Voi05}, cites = {0}, citedby = {0}, school = {Technische Universität Dresden}, advisor = {Armin Kühnemann and Heiko Vogler}, } @inproceedings{KnoopV13, title = {6. Arbeitstagung Programmiersprachen (ATPS 2013)}, author = {Jens Knoop and Janis Voigtländer}, year = {2013}, researchr = {https://researchr.org/publication/KnoopV13}, cites = {0}, citedby = {0}, pages = {369}, booktitle = {se}, } @proceedings{pepm:2010, title = {Proceedings of the {ACM SIGPLAN} 2010 Workshop on Partial Evaluation and Program Manipulation}, year = {2010}, month = {January}, tags = {partial evaluation}, researchr = {https://researchr.org/publication/pepm%3A2010}, cites = {0}, citedby = {0}, booktitle = {Proceedings of the {ACM SIGPLAN} 2010 Workshop on Partial Evaluation and Program Manipulation}, conference = {PEPM}, editor = {John P. Gallagher and Janis Voigtländer}, publisher = {ACM}, } @proceedings{haskell-2012, title = {Proceedings of the 5th ACM SIGPLAN Symposium on Haskell, Haskell 2012, Copenhagen, Denmark, 13 September 2012}, year = {2012}, url = {http://dl.acm.org/citation.cfm?id=2364506}, researchr = {https://researchr.org/publication/haskell-2012}, cites = {0}, citedby = {0}, booktitle = {Proceedings of the 5th ACM SIGPLAN Symposium on Haskell, Haskell 2012, Copenhagen, Denmark, 13 September 2012}, conference = {haskell}, editor = {Janis Voigtländer}, publisher = {ACM}, isbn = {978-1-4503-1574-6}, }