Refactoring functional programs with ornaments

A Williams - 2020 - inria.hal.science
Ornaments provide a way to express transformations of inductive datatypes that reorganize,
specialize, and add fields to already existing datatypes. From such a transformation, we …

A case study in refactoring functional programs

S Thompson, C Reinke - VII Brazilian Symposium on Programming …, 2003 - kar.kent.ac.uk
Refactoring is the process of redesigning existing code without changing its functionality.
Refactoring has recently come to prominence in the OO community. In this paper we explore …

Towards a refactoring tool for dependently-typed programs

CM Brown, A Barwell, S Thompson, S Sarkar… - 2022 - research-repository.st-andrews.ac …
Towards a Refactoring Tool for Dependently-Typed Programs Extended Abstract Page 1
Submitted to: WPTE 2022 © C. Brown & AD Barwell & S. Thompson & E. Brady This work is …

[PDF][PDF] Shortcut deforestation in calculational form

A Takano, E Meijer - … of the seventh international conference on …, 1995 - dl.acm.org
In functional programming, intermediate data structures are often used to “glue” together
small programs. Deforestation is a program transformation to remove these intermediate …

[PDF][PDF] The" Extract Refactoring" Refactoring.

R Robbes, M Lanza - WRT, 2007 - si.usi.ch
There is a gap between refactoring tools and generalpurpose program transformation tools
that has yet to be filled. Refactoring tools are easy to use and wellestablished, but provide …

Refactoring tools for functional languages

S Thompson, H Li - Journal of Functional Programming, 2013 - cambridge.org
Refactoring is the process of changing the design of a program without changing what it
does. Typical refactorings, such as function extraction and generalisation, are intended to …

[PDF][PDF] Program Transformations in and on a Lazy Functional Language

KC Claessen - URL http://www. cse. ogi. edu/~ kcclaess, 1996 - Citeseer
AbstractMondrian'Meij96] is a lazy functional language currently being developed by Erik
Meijer et al. The compiler process consists mainly of source-to-source transformations. This …

Using circular programs to deforest in accumulating parameters

J Voigtländer - Proceedings of the ASIAN symposium on Partial …, 2002 - dl.acm.org
Functional languages allow a modular programming style by function composition, which
however can lead to inefficient runtime behavior due to production and consumption of …

Modular polymorphic defunctionalization

G Fourtounis, NS Papaspyrou… - Computer Science and …, 2014 - doiserbia.nb.rs
Defunctionalization is generally considered a whole-program transformation and thus
incompatible with separate compilation. In this paper, we formalize a modular variant of …

Practical use of static composition of refactoring operations

J Cohen, A Ajouli - Proceedings of the 28th Annual ACM Symposium on …, 2013 - dl.acm.org
Refactoring tools are commonly used for remodularization tasks. Basic refactoring
operations are combined to perform complex program transformations, but the resulting …