502 Hits in 2.6 sec

Comparative Study of Refactoring Haskell and Erlang Programs

Huiqing Li, Simon Thompson
2006 2006 Sixth IEEE International Workshop on Source Code Analysis and Manipulation  
Taking Haskell and Erlang as examples, we investigate the application of refactoring techniques to functional programs, and building tools for supporting interactive refactoring.  ...  refactoring Haskell and Erlang programs. module Fact(fac) where fac :: Int -> Int fac 0 = 1 fac n | n>0 = n * fac(n-1)  ...  for Haskell.  ... 
doi:10.1109/scam.2006.8 dblp:conf/scam/LiT06 fatcat:4tfmrahgd5aw5kut5qe7kquo7y

Refactoring Functional Programs [chapter]

Simon Thompson
2005 Lecture Notes in Computer Science  
The overall goals of the project proposed here are to compile a library of refactorings for functional programs and to implement a tool to support refactoring for programs in Haskell.  ...  A common example of refactoring is the replacement of a concrete data type by an abstract data type (ADT): all direct references to the representation type must be replaced by uses of the ADT selectors  ...  Project Aims I to develop a functional perspective on recent, practice-driven research into flexible program structure and refactoring II to develop a catalogue of candidate refactorings for a modern functional  ... 
doi:10.1007/11546382_9 fatcat:2qboqlsidbcndbc32amijvxtw4

Programmable Rewriting Strategies in Haskell

Ralf Lämmel
2005 Electronical Notes in Theoretical Computer Science  
Programmable rewriting strategies provide a valuable tool for implementing traversal functionality in grammar-driven (or schema-driven) tools.  ...  The working Haskell programmer has access to programmable rewriting strategies via two similar options: (i) the Strafunski bundle for generic functional programming and language processing, and (ii) the  ...  .: • State-of-the-art Haskell refactoring tools [29] . • Language extension for Fortran [9] . • Java refactoring [27] (a subset of Java to be precise). • Simple software metrics for Java [28] . •  ... 
doi:10.1016/j.entcs.2004.11.021 fatcat:2nuur7prgnc3jgm4xc6q5glz6a

Views, Program Transformations, and the Evolutivity Problem in a Functional Language [article]

Julien Cohen
2011 arXiv   pre-print
We consider two possible architectures in Haskell for the classical example of the expression problem.  ...  We show how the Haskell Refactorer can be used to transform one view into the other, and the other way back.  ...  Decomposing the transformation into refactoring operations We describe in this section the steps to transform P fun into P data with the Haskell Refactorer.  ... 
arXiv:1005.1213v2 fatcat:vdzhbm46vjclxkk376tkkb43oa

Refactoring Smelly Spreadsheet Models [chapter]

Pedro Martins, Rui Pereira
2014 Lecture Notes in Computer Science  
Finally we present the integration of both smells and refactorings under the MDSheet framework.  ...  We also propose a set of refactorings suggesting how spreadsheet models can become simpler to understand, manipulate and evolve.  ...  We would like to thank Jorge Mendes, Jácome Cunha, and João Saraiva for the help incorporating the ClassSheet smells in the MDSheet framework.  ... 
doi:10.1007/978-3-319-09156-3_39 fatcat:6vrslqulznchjit2rpoftbvyem

Systems demonstration

Kiwamu Okabe, Takayuki Muranushi
2014 Proceedings of the 2014 ACM SIGPLAN symposium on Haskell - Haskell '14  
Therefore such languages are not used for operating systems programming, where the virtues of types are most desired.  ...  We have implemented CLHs in Ajhc, a Haskell compiler derived from jhc, rewritten some NetBSD sound drivers using Ajhc, and benchmarked them.  ...  We thank Hiroki MIZUNO and Hidekazu SEGAWA for their assistance in the development of Ajhc.  ... 
doi:10.1145/2633357.2633370 dblp:conf/haskell/OkabeM14 fatcat:pwkqopp7rjcfjajxylxzfht4ee

A language-independent parallel refactoring framework

Christopher Brown, Kevin Hammond, Marco Danelutto, Peter Kilpatrick
2012 Proceedings of the Fifth Workshop on Refactoring Tools - WRT '12  
The time is rapidly approaching when most programming will be for parallel systems.  ...  While refactoring has so far mainly been applied to sequential programs, it is our contention that refactoring can play a key role in significantly improving the programmability of parallel systems, by  ...  We would also like to thank the anonymous reviewers for their invaluable comments.  ... 
doi:10.1145/2328876.2328884 dblp:conf/icse/BrownHDK12 fatcat:5ujoz52tkvax7cb7egshdoq4o4

Shallow EDSLs and Object-Oriented Programming: Beyond Simple Compositionality

Weixin Zhang, Bruno Oliveira
2019 The Art, Science, and Engineering of Programming  
Importance: This work is important for two reasons.  ...  We further illustrate our approach with a case study on refactoring a deep external SQL query processor to make it more modular, shallow, and embedded.  ...  Cook, Jeremy Gibbons, Ralf Hinze, Martin Erwig, and the anonymous reviewers of GPCE, ICFP, JFP, and Programming for their valuable comments that significantly improved this work.  ... 
doi:10.22152/ fatcat:p3kdnd5d4nhkhkrjkax5wlwhpa

Property-Based Testing - The ProTest Project [chapter]

John Derrick, Neil Walkinshaw, Thomas Arts, Clara Benac Earle, Francesco Cesarini, Lars-Ake Fredlund, Victor Gulias, John Hughes, Simon Thompson
2010 Lecture Notes in Computer Science  
It is noted for its success in the ATM telecoms switches by Ericsson, one of the project partners.  ...  And to do so we will build automated tools that will generate and run tests, monitor execution at run-time, and log events for analysis.  ...  To ensure that Wrangler refactors test data correctly, we designed some invariants which should hold for a refactoring.  ... 
doi:10.1007/978-3-642-17071-3_13 fatcat:lmmpqlf74ndqfljsqwfj3nrx6y

Evaluating refactorings for spreadsheet models

Jácome Cunha, João Paulo Fernandes, Pedro Martins, Jorge Mendes, Rui Pereira, João Saraiva
2016 Journal of Systems and Software  
Our motivation for such research was to improve the model and its conforming instance: the spreadsheet data.  ...  Reasoning about spreadsheets at the model level enhances a model-driven spreadsheet environment where a ClassSheet model and its conforming instance (the spreadsheet data) automatically co-evolves after  ...  Ciência e a Tecnologia (Portuguese Foundation for Science and Technology) within project FCOMP-01-0124-FEDER-020484.  ... 
doi:10.1016/j.jss.2016.04.043 fatcat:fhd43ykedvhhpmce7px6nh2yqa

Using Function Generalization to Design a Cosequential Processing Framework

H.C. Cunningham, P. Tadepalli
2006 Proceedings of the 39th Annual Hawaii International Conference on System Sciences (HICSS'06)  
The authors thank Yi Liu for her useful suggestions concerning this work and for drawing Fig. 10 .  ...  This work was supported, in part, by a grant from Acxiom Corporation titled "The Acxiom Laboratory for Software Architecture and Component Engineering (ALSACE)."  ...  Because the data types for the two input sequences may differ and both may differ from the output data type, we must introduce record transformation functions that convert the input data types to the output  ... 
doi:10.1109/hicss.2006.522 dblp:conf/hicss/CunninghamT06 fatcat:dxhztohkdna2fjfdclefgppomm

Refactoring: Current Research and Future Trends

Tom Mens, Serge Demeyer, Bart Du Bois, Hans Stenten, Pieter Van Gorp
2003 Electronical Notes in Theoretical Computer Science  
In this paper we provide an extensive overview of existing research in the field of software restructuring and refactoring, from a formal as well as a practical point of view.  ...  Acknowledgement This research is funded by the FWO Project G.0452.03 "A formal foundation for software refactoring" and is carried out in the context of the scientific networks "Formal Foundations of Software  ...  We thank Kim Mens, Johan Fabry, Johan Brichau for their comments on drafts of this paper.  ... 
doi:10.1016/s1571-0661(05)82624-6 fatcat:2ieuvmhoy5eenktwrkfttqxpkq

Transformations everywhere

Ralf Lämmel
2004 Science of Computer Programming  
Software engineering and software re-engineering rely on such transformations, which are automated in, for example, tools for refactoring, migration, program specialisation, compiler optimisation, database  ...  Three papers relate to refactoring-to the composition problem, to reasoning about correctness, and to the details of challenging refactoring samples.  ...  Finally, my gratitude is due to Jan Bergstra, the Editor-in-Chief of the SCP Journal, for proposing this project, and for appointing me as a guest editor, which I consider an honour.  ... 
doi:10.1016/j.scico.2004.03.001 fatcat:5mds3hcyajglnovydp7uc7c6qy

CyBy2: a strongly typed, purely functional framework for chemical data management

Stefan Höck, Rainer Riedl
2019 Journal of Cheminformatics  
We present the development of CyBy2, a versatile framework for chemical data management written in purely functional style in Scala, a modern multi-paradigm programming language.  ...  Techniques for writing type level specifications giving strong guarantees about the correctness of the implementation are described, together with the resulting gain in confidence during refactoring.  ...  Acknowledgements SH and RR are grateful to the Zurich University of Applied Sciences (ZHAW) for financial support.  ... 
doi:10.1186/s13321-019-0403-2 pmid:33430953 fatcat:wpqesp5kk5httleodeosru66pu

Safe Concurrency Introduction through Slicing

Huiqing Li, Simon Thompson
2015 Proceedings of the 2015 Workshop on Partial Evaluation and Program Manipulation - PEPM '15  
In this paper, we introduce three novel refactorings for retrofitting concurrency to Erlang applications, and demonstrate how the use of program slicing makes the automation of these refactorings possible  ...  Traditional refactoring is about modifying the structure of existing code without changing its behaviour, but with the aim of making code easier to understand, modify, or reuse.  ...  Acknowledgments This research is supported by EU FP7 project RELEASE, grant number 287510, (; we thank our funders and colleagues for their support and collaboration.  ... 
doi:10.1145/2678015.2682533 dblp:conf/pepm/LiT15 fatcat:jswfb3temjc5bpddfgwcfgbhay
« Previous Showing results 1 — 15 out of 502 results