Refactoring pattern matching
TL;DR: This work proposes an approach to program refactoring based on a right-invertible language rinv-every function has a right (or pre-) inverse, and shows how this new design is able to permit a smooth incremental transition from programs with algebraic datatypes and pattern matching, to ones with proper encapsulation, while maintaining simple and sound reasoning.
read more
About: This article is published in Science of Computer Programming. The article was published on 01 Nov 2013. and is currently open access. The article focuses on the topics: Code refactoring & Pattern matching.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
A systematic literature review: Refactoring for disclosing code smells in object oriented software
Satwinder Singh,Sharanpreet Kaur +1 more
TL;DR: A systematic literature review of refactoring with respect to code smells, and the identification of code smells and anti-patterns is performed in depth.
86
Formal Aspects of Computing
Costas S. Iliopoulos,Solon P. Pissis +1 more
- 01 Aug 2013
TL;DR: The principal aim of this journal is to promote the growth of computing science, to show its relation to practice and to stimulate applications of apposite formalisms to practical problems.
21
Reconciling exhaustive pattern matching with objects
Chinawat Isradisaikul,Andrew C. Myers +1 more
- 16 Jun 2013
TL;DR: This work extends modal abstraction in the JMatch language to support static, modular reasoning about exhaustiveness and redundancy, and introduces expressive pattern-matching constructs.
Semantic Web Datatype Inference: Towards Better RDF Matching
Irvin Dongo,Yudith Cardinale,Firas Al Khalil,Richard Chbeir +3 more
- 07 Oct 2017
TL;DR: A datatype inference process based on four steps based on predicate information analysis, analysis of the object value itself by a pattern-matching process, and generalization of numeric and binary datatypes to ensure integration is proposed.
Applicative bidirectional programming with lenses
MatsudaKazutaka,WangMeng +1 more
TL;DR: A bidirectional transformation is a pair of mappings between source and view data objects, one in each direction, so that when the view is modified, the source is updated accordingly with respect to the view.
References
•Book
Haskell 98 language and libraries : the revised report
Peyton Jones,L Simon +1 more
- 01 Jan 2003
TL;DR: The Haskell 98 Language: Lexical structure, Declarations and bindings, Predefined types and classes, and Libraries.
1.4K
•Book
Structured Programming
O. J. Dahl,Edsger W. Dijkstra,C. A. R. Hoare +2 more
- 01 Jan 1972
TL;DR: The first monograph has suggested that in analysing a problem and groping towards a solution, a programmer should take advantage of abstract concepts such as sets, sequences, and mappings; and judiciously postpone decisions on representation until he is constructing the more detailed code of the program.
1.2K
•Book
Program development by Stepwise Refinement
Niklaus Wirth
- 01 Jan 2002
TL;DR: The process of successive refinement of specifications is illustrated by a short but nontrivial example, from which a number of conclusions are drawn regarding the art and the instruction of programming.
1.1K
Proof of correctness of data representations
TL;DR: In this paper, a powerful method of simplifying the proofs of program correctness is suggested; and some new light is shed on the problem of functions with side-effects, and a new method for simplifying program correctness proofs is proposed.
1K
Program development by stepwise refinement
TL;DR: The process of successive refinement of specifications is illustrated by a short but nontrivial example, from which a number of conclusions are drawn regarding the art and the instruction of programming as discussed by the authors.