{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,6,5]],"date-time":"2025-06-05T10:07:53Z","timestamp":1749118073724,"version":"3.40.3"},"publisher-location":"Berlin, Heidelberg","reference-count":28,"publisher":"Springer Berlin Heidelberg","isbn-type":[{"type":"print","value":"9783540285403"},{"type":"electronic","value":"9783540318729"}],"license":[{"start":{"date-parts":[[2005,1,1]],"date-time":"2005-01-01T00:00:00Z","timestamp":1104537600000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2005,1,1]],"date-time":"2005-01-01T00:00:00Z","timestamp":1104537600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springer.com\/tdm"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2005]]},"DOI":"10.1007\/11546382_9","type":"book-chapter","created":{"date-parts":[[2005,9,27]],"date-time":"2005-09-27T14:44:25Z","timestamp":1127832265000},"page":"331-357","source":"Crossref","is-referenced-by-count":8,"title":["Refactoring Functional Programs"],"prefix":"10.1007","author":[{"given":"Simon","family":"Thompson","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","reference":[{"key":"9_CR1","unstructured":"Burton, W., et al.: Views: An Extension to Haskell Pattern Matching. Proposed extension to Haskell, \nhttp:\/\/www.haskell.org\/development\/views.html"},{"key":"9_CR2","unstructured":"The BlueJ system, \nhttp:\/\/www.bluej.org\/"},{"key":"9_CR3","unstructured":"Brandt, J., Roberts, D.: Refactory, \nhttp:\/\/st-www.cs.uiuc.edu\/users\/brant\/Refactory\/"},{"key":"9_CR4","doi-asserted-by":"crossref","unstructured":"Diatchki, I.S., Jones, M.P., Hallgren, T.: A Formal Specification for the Haskell 98 Module System. In: ACM Sigplan Haskell Workshop (2002)","DOI":"10.1145\/581690.581692"},{"key":"9_CR5","unstructured":"The Eclipse project, \nhttp:\/\/www.eclipse.org\/"},{"issue":"1-3","key":"9_CR6","doi-asserted-by":"publisher","first-page":"101","DOI":"10.1016\/j.scico.2004.03.004","volume":"52","author":"M. Erwig","year":"2004","unstructured":"Erwig, M., Ren, D.: Monadification of functional programs. Science of Computer Programming\u00a052(1-3), 101\u2013129 (2004)","journal-title":"Science of Computer Programming"},{"issue":"8","key":"9_CR7","doi-asserted-by":"publisher","first-page":"455","DOI":"10.1145\/359138.359140","volume":"22","author":"R.W. Floyd","year":"1979","unstructured":"Floyd, R.W.: The paradigms of programming. Commun. ACM\u00a022(8), 455\u2013460 (1979)","journal-title":"Commun. ACM"},{"key":"9_CR8","series-title":"Object Technology Series","volume-title":"Refactoring: Improving the Design of Existing Code","author":"M. Fowler","year":"2000","unstructured":"Fowler, M.: Refactoring: Improving the Design of Existing Code. Object Technology Series. Addison-Wesley, Reading (2000)"},{"key":"9_CR9","doi-asserted-by":"crossref","unstructured":"Griswold, W.G., Notkin, D.: Automated assistance for program restructuring. ACM Transactions on Software Engineering and Methodology\u00a02 (1993)","DOI":"10.1145\/152388.152389"},{"key":"9_CR10","unstructured":"The Haddock documentation system for Haskell, \nhttp:\/\/www.haskell.org\/haddock"},{"key":"9_CR11","doi-asserted-by":"crossref","unstructured":"Hallgren, T.: Haskell Tools from the Programatica Project (Demo Abstract). In: ACM Sigplan Haskell Workshop (2003)","DOI":"10.1145\/871895.871907"},{"key":"9_CR12","unstructured":"The HaRe system, \nhttp:\/\/www.cs.kent.ac.uk\/projects\/refactor-fp\/hare.html"},{"key":"9_CR13","unstructured":"L\u00e4mmel, R.: Reuse by Program Transformation. In: Michaelson, G., Trinder, P. (eds.) Functional Programming Trends 1999 (2000) (intellect); Selected papers from the 1st Scottish Functional Programming Workshop"},{"key":"9_CR14","volume-title":"22nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages","author":"S. Liang","year":"1995","unstructured":"Liang, S., Hudak, P., Jones, M.: Monad transformers and modular interpreters. In: 22nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, San Francisco, California. ACM Press, New York (1995)"},{"key":"9_CR15","volume-title":"Proceedings of the Workshop on Types in Language Design and Implementation","author":"R. L\u00e4mmel","year":"2003","unstructured":"L\u00e4mmel, R., Jones, S.P.: Scrap your boilerplate: a practical design pattern for generic programming. In: Proceedings of the Workshop on Types in Language Design and Implementation. ACM, New York (2003)"},{"key":"9_CR16","volume-title":"Proceedings of International Conference on Functional Programming 2004","author":"R. L\u00e4mmel","year":"2004","unstructured":"L\u00e4mmel, R., Jones, S.P.: Scrap more boilerplate: reflection, zips, and generalised casts. In: Proceedings of International Conference on Functional Programming 2004. ACM Press, New York (2004)"},{"key":"9_CR17","doi-asserted-by":"crossref","unstructured":"Li, H., Reinke, C., Thompson, S.: Tool Support for Refactoring Functional Programs. In: ACM Sigplan Haskell Workshop (2003)","DOI":"10.1145\/871895.871899"},{"key":"9_CR18","unstructured":"Li, H., Reinke, C., Thompson, S.: Progress on HaRe: the Haskell Refactorer. Poster presentation at the International Conference on Functional Programming, Snowbird, Utah. ACM, New York (2004)"},{"key":"9_CR19","unstructured":"L\u00e4mmel, R., Visser, J.: Generic Programming with Strafunski (2001), \nhttp:\/\/www.cs.vu.nl\/Strafunski\/"},{"key":"9_CR20","unstructured":"Viet, C.N.: Transformation in HaRe. Technical report, Computing Laboratory, University of Kent (2004), \nhttp:\/\/www.cs.kent.ac.uk\/pubs\/2004\/2021"},{"key":"9_CR21","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-45949-9","volume-title":"Isabelle\/HOL: A Proof assistant for Higher-Order Logic","author":"T. Nipkow","year":"2002","unstructured":"Nipkow, T., Paulson, L.C., Wenzel, M.: Isabelle\/HOL: A Proof assistant for Higher-Order Logic. Springer, Heidelberg (2002)"},{"key":"9_CR22","unstructured":"Opdyke, W.F.: Refactoring Object-Oriented Frameworks. PhD thesis, University of Illinois at Urbana-Champaign (1992)"},{"key":"9_CR23","unstructured":"Russell, D.J.: FAD: Functional Analysis and Design Methodology. PhD thesis, University of Kent (2000)"},{"key":"9_CR24","volume-title":"Principles of Programming Languages","author":"R.D. Tennent","year":"1979","unstructured":"Tennent, R.D.: Principles of Programming Languages. Prentice Hall, Englewood Cliffs (1979)"},{"key":"9_CR25","unstructured":"Thompson, S.: Minesweeper, \nhttp:\/\/www.cs.kent.ac.uk\/people\/staff\/sjt\/craft2e\/Games\/"},{"key":"9_CR26","unstructured":"Thompson, S., Reinke, C.: A Case Study in Refactoring Functional Programs. In: Brazilian Symposium on Programming Languages (2003)"},{"key":"9_CR27","unstructured":"The Unified Modeling Language, \nhttp:\/\/www.uml.org\/"},{"key":"9_CR28","volume-title":"Proceedings of 14th ACM Symposium on Principles of Programming Languages","author":"P. Wadler","year":"1987","unstructured":"Wadler, P.: Views: a way for pattern-matching to cohabit with data abstraction. In: Proceedings of 14th ACM Symposium on Principles of Programming Languages, January 1987. ACM Press, New York (1987) (revised March 1987)"}],"container-title":["Lecture Notes in Computer Science","Advanced Functional Programming"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/11546382_9","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2021,7,6]],"date-time":"2021-07-06T06:04:11Z","timestamp":1625551451000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/11546382_9"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2005]]},"ISBN":["9783540285403","9783540318729"],"references-count":28,"URL":"https:\/\/doi.org\/10.1007\/11546382_9","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2005]]}}}