@inproceedings{Voi08a, title = {Proving correctness via free theorems: The case of the destroy/build-rule}, author = {Janis Voigtländer}, year = {2008}, doi = {http://doi.acm.org/10.1145/1328408.1328412}, tags = {program transformation, transformation language, object-oriented programming, systematic-approach, Haskell, programming languages, rules, transformation, functional programming, case study, rule-based, aspect oriented programming, feature-oriented programming}, researchr = {http://researchr.org/publication/Voi08a}, cites = {0}, citedby = {0}, pages = {13-20}, 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 = {http://dx.doi.org/10.1016/j.ic.2007.11.009}, tags = {programming languages, pattern matching, functional programming, semantics, laziness, programming, Haskell, analysis, rule-based, pattern language, program analysis}, researchr = {http://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 = {process modeling, functional programming, program optimization, Meta-Environment, meta programming, meta-model, traversal, optimization, context-aware, composition, macro, macros}, researchr = {http://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 = {http://doi.acm.org/10.1145/1328438.1328445}, researchr = {http://researchr.org/publication/Voi08b}, cites = {0}, citedby = {0}, pages = {29-35}, booktitle = {POPL}, } @inproceedings{Voi02a, title = {Conditions for Efficiency Improvement by Tree Transducer Composition}, author = {Janis Voigtländer}, year = {2002}, doi = {http://link.springer.de/link/service/series/0558/bibs/2378/23780222.htm}, tags = {program transformation, transformation, functional programming, program optimization, optimization, compiler, rule-based, composition, macros}, researchr = {http://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 = {http://doi.acm.org/10.1145/1707790.1707797}, tags = {programming languages, relational parametricity, functional programming, programming, Haskell, case study, type theory, logic, rule-based, Curry, logic programming}, researchr = {http://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 = {http://dx.doi.org/10.1007/978-3-642-02273-9_22}, tags = {program transformation, transformation language, Haskell, higher-order transformations, programming languages, transformation, rules, semantics, data-flow programming, program optimization, data-flow, optimization, rule-based, data-flow language}, researchr = {http://researchr.org/publication/SV09a}, cites = {0}, citedby = {0}, pages = {294-308}, booktitle = {tlca}, } @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 = {http://doi.acm.org/10.1145/1929501.1929526}, tags = {program transformation, transformation, functional programming, laziness, systematic-approach, attribute grammars, programming, grammar, traversal}, researchr = {http://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 = {http://doi.acm.org/10.1145/1596550.1596577}, tags = {functional programming, constraints, Haskell}, researchr = {http://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 = {http://doi.acm.org/10.1145/1863543.1863571}, tags = {consistency, systematic-approach, open-source, source-to-source}, researchr = {http://researchr.org/publication/VoigtlanderHMW10}, cites = {0}, citedby = {0}, pages = {181-192}, booktitle = {ICFP}, } @inproceedings{SV09, title = {Taming Selective Strictness}, author = {Daniel Seidel and Janis Voigtländer}, year = {2009}, tags = {programming languages, type system, rules, functional programming, laziness, systematic-approach, programming, Haskell, rule-based}, researchr = {http://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 = {http://dx.doi.org/10.1016/j.jlap.2006.11.001}, tags = {program transformation, program verification, transformation, functional programming, systematic-approach}, researchr = {http://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 = {http://dx.doi.org/10.1007/s00224-006-1235-9}, tags = {program transformation, transformation language, analysis, compiler, composition, macros, programming languages, formal semantics, transformation, laziness, semantics, functional programming, program optimization, optimization, rule-based, program analysis}, researchr = {http://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 = {http://dx.doi.org/10.1016/j.tcs.2007.09.014}, tags = {formal semantics, programming languages, algebra, functional programming, semantics, Haskell, analysis, completeness, operational semantics, structural operational semantics, program analysis}, researchr = {http://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 = {http://dx.doi.org/10.1007/978-3-540-78969-7_13}, tags = {program transformation, transformation language, programming languages, transformation, rules, semantics, Haskell, rule-based, higher-order transformations}, researchr = {http://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 = {http://doi.ieeecomputersociety.org/10.1109/LICS.2010.29}, tags = {programming languages, algebra, semantics, systematic-approach, programming, analysis, operational semantics, context-aware, relational algebra, metatheory, structural operational semantics, program analysis, generic programming}, researchr = {http://researchr.org/publication/JSV10}, cites = {0}, citedby = {0}, pages = {209-218}, booktitle = {lics}, } @article{JV06, title = {The Impact of seq on Free Theorems-Based Program Transformations}, author = {Patricia Johann and Janis Voigtländer}, year = {2006}, doi = {http://iospress.metapress.com/openurl.asp?genre=article&issn=0169-2968&volume=69&issue=1&spage=63}, tags = {program transformation, transformation language, programming languages, transformation, algebra, functional programming, systematic-approach, Haskell, rule-based}, researchr = {http://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 = {http://dx.doi.org/10.1007/s00236-011-0136-9}, tags = {programming languages, type system, rules, functional programming, laziness, systematic-approach, programming, Haskell, rule-based, domain-specific language}, researchr = {http://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 = {http://dx.doi.org/10.1023/B:LISP.0000029450.36668.cb}, tags = {program transformation, transformation, functional programming, laziness, data-flow programming, programming, data-flow, traversal, rule-based, composition, higher-order transformations}, researchr = {http://researchr.org/publication/Voi04a}, cites = {0}, citedby = {0}, journal = {lisp}, volume = {17}, number = {1-2}, pages = {129-163}, } @inproceedings{Voi09a, title = {Bidirectionalization for free! (Pearl)}, author = {Janis Voigtländer}, year = {2009}, doi = {http://doi.acm.org/10.1145/1480881.1480904}, tags = {program transformation, transformation language, systematic-approach, Haskell, open-source, higher-order transformations, programming languages, model-to-model transformation, consistency, transformation, relational database, programming, database, bidirectional model transformation, model transformation, bidirectional transformation, source-to-source, domain-specific language, bidirectional model transformations}, researchr = {http://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 = {http://doi.acm.org/10.1145/964001.964010}, tags = {program transformation, transformation language, programming languages, transformation, algebra, functional programming, systematic-approach, Haskell, analysis, higher-order transformations, program analysis}, researchr = {http://researchr.org/publication/JV04}, cites = {0}, citedby = {0}, pages = {99-110}, booktitle = {POPL}, } @inproceedings{SV10, title = {Automatically Generating Counterexamples to Naive Free Theorems}, author = {Daniel Seidel and Janis Voigtländer}, year = {2010}, doi = {http://dx.doi.org/10.1007/978-3-642-12251-4_14}, tags = {search, programming languages, type system, programming, context-aware}, researchr = {http://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 = {http://dx.doi.org/10.1007/978-3-540-70594-9_20}, tags = {program transformation, transformation, systematic-approach, Haskell, compiler, generic programming}, researchr = {http://researchr.org/publication/Voi08d}, cites = {0}, citedby = {0}, pages = {388-403}, booktitle = {mpc}, } @inproceedings{Voi02c, title = {Concatenate, reverse and map vanish for free}, author = {Janis Voigtländer}, year = {2002}, doi = {http://doi.acm.org/10.1145/581478.581481}, tags = {program transformation, transformation, algebra, functional programming, program optimization, data-flow programming, data-flow, optimization}, researchr = {http://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 = {http://dx.doi.org/10.1017/S0956796803004933}, tags = {program transformation, transformation, functional programming, data-flow programming, data-flow, composition, macros}, researchr = {http://researchr.org/publication/VK04}, cites = {0}, citedby = {0}, journal = {JFP}, volume = {14}, number = {3}, pages = {317-363}, } @misc{Voi08e, title = {Types for Programming and Reasoning}, author = {Janis Voigtländer}, year = {2008}, tags = {program transformation, program verification, transformation language, software components, algebraic specification, software engineering, systematic-approach, Haskell, language engineering, analysis, Java, design, transformation, rules, abstraction, program optimization, reuse, programming paradigms, software language engineering, transformation system, language design, type checking, transformation engineering, compiler, context-aware, formal semantics, programming languages, equational proofs, design research, type system, control systems, algebra, reusable components, semantics, functional programming, software component, programming, static analysis, optimization, rule-based, C++, program analysis}, researchr = {http://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}, doi = {http://springerlink.metapress.com/openurl.asp?genre=article&issn=0302-9743&volume=2896&spage=146}, tags = {program transformation, program verification, transformation, functional programming, rule-based}, researchr = {http://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 = {http://doi.acm.org/10.1145/568173.568187}, tags = {program transformation, transformation language, composition, higher-order transformations, programming languages, transformation, laziness, functional programming, data-flow programming, programming, data-flow, traversal, data-flow language}, researchr = {http://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 = {program transformation, transformation language, object-oriented programming, systematic-approach, composition, programming languages, formal semantics, transformation, subject-oriented programming, semantics, functional programming, program optimization, programming, reliability, optimization, feature-oriented programming, domain-specific language, reuse}, researchr = {http://researchr.org/publication/Voi05}, cites = {0}, citedby = {0}, school = {Technische Universität Dresden}, advisor = {Armin Kühnemann and Heiko Vogler}, } @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 = {http://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}, }