ACM Home Page
Please provide us with feedback. Feedback
A rule-based language for programming software updates
Full text PdfPdf (118 KB)
Source Workshop On Rule-Based Programming archive
Proceedings of the 2002 ACM SIGPLAN workshop on Rule-based programming table of contents
Pittsburgh, Pennsylvania
Pages: 67 - 78  
Year of Publication: 2002
ISBN:1-58113-606-4
Authors
Martin Erwig  Department of Computer Science Oregon State University
Deling Ren  Department of Computer Science Oregon State University
Sponsor
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 0,   Downloads (12 Months): 20,   Citation Count: 3
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues   peer to peer  

Tools and Actions: Review this Article  
Save this Article to a Binder    Display Formats: BibTex  EndNote ACM Ref   
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/570186.570193
What is a DOI?

ABSTRACT

We describe the design of a rule-based language for expressing changes to Haskell programs in a systematic and reliable way. The update language essentially offers update commands for all constructs of the object language (a subset of Haskell). The update language can be translated into a core calculus consisting of a small set of basic updates and update combinators. The key construct of the core calculus is a scope update mechanism that allows (and enforces) update specifications for the definition of a symbol together with all of its uses.The type of an update program is given by the possible type changes it can cause for an object programs. We have developed a type-change inference system to automatically infer type changes for updates. Updates for which a type change can be successfully inferred and that satisfy an additional structural condition can be shown to preserve type correctness of object programs.In this paper we define the Haskell Update Language HULA and give a translation into the core update calculus. We illustrate HULA and its translation into the core calculus by several examples.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
ACM. Communications of the ACM, volume 44(10), October 2001.
 
2
N. Bjørner. Type Checking Meta Programs. In Workshop on Logical Frameworks and Meta-Languages, 1999.
 
3
B. Borovanský, C. Kirchner, H. Kirchner, P. E. Moreau, and C. Ringeissen. Rewriting with Strategies in ELAN: a Functional Semantics. Int. Journal of Foundations of Computer Science, 2001. To appear.
 
4
B. Borovanský, C. Kirchner, H. Kirchner, P. E. Moreau, and M. Vittek. ELAN: A Logical Framework Based on Computational Systems. In Workshop on Rewriting Logic and Applications, 1996.
5
 
6
 
7
 
8
M. Erwig. Update your Program? Program Your Update! Technical Report TR02-60-01, Department of Computer Science, Oregon State University, 2002. http://www.cs.orst.edu/~erwig/papers/up.pdf.
 
9
M. Erwig and D. Ren. An Update Calculus for Type-Safe Program Changes. 2002. submitted for publication. http://www.cs.orst.edu/~erwig/papers/uc.pdf.
 
10
11
 
12
 
13
 
14
 
15
S. L. Peyton Jones, J. Hughes, et al. Report on the Programming Language Haskell 98, 1999. http://haskell.org/onlinereport.
 
16
17
 
18
 
19
D. Roberts and J. Brant. Refactoring Tools. In M. Fowler, editor, Refactoring: Improving the Design of Existing Code, chapter 14, pages 309-352. Addison-Wesley, Reading, MA, 1999.
 
20
 
21
 
22
 
23
 
24
E. Visser. Language Independent Traversals for Program Transformation. In Workshop on Generic Programming, 2000. Technical Report UU-CS-2000-19, Universiteit Utrecht.
 
25
26
 
27
E. Visser, et al. The Online Survey of Program Transformation. http://www.program-transformation.org/survey.html.
 
28


Collaborative Colleagues:
Martin Erwig: colleagues
Deling Ren: colleagues

Peer to Peer - Readers of this Article have also read: