Abstract
Strafunski is a Haskell-centred software bundle for implementing language processing components—most notably program analyses and transformations. Typical application areas include program optimisation, refactoring, software metrics, software re- and reverse engineering.
Strafunski started out as generic programming library complemented by generative tool support to address the concern of generic traversal over typed representations of parse trees in a scalable manner. Meanwhile, Strafunski also encompasses means of integrating external components such as parsers, pretty printers, and graph visualisation tools.
In a selection of case studies, we demonstrate that typed functional programming in Haskell, augmented with Strafunski ’s support for generic traversal and external components, is very appropriate for the development of practical language processors. In particular, we discuss using Haskell for Cobol reverse engineering, Java code metrics, and Haskell re-engineering.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
M. v. d. Brand et al. The ASF+SDF Meta-Environment: a Component-Based Language Development Environment. In R. Wilhelm, editor, Proc. of Compiler Construction 2001 (CC 2001), volume 2027 of LNCS, pages 365–370. Springer-Verlag, 2001.
M. v. d. Brand, H. d. Jong, P. Klint, and P. Olivier. Efficient Annotated Terms. Software- Practice & Experience, 30(3):259–291, Mar. 2000.
R. Gray, V. Heuring, S. Levi, A. Sloane, and W. Waite. Eli: A Complete, Flexible Compiler Construction System. Communications of the ACM 35, pages 121–131, Feb. 1992.
J. Grosch and H. Emmelmann. A Tool Box for Compiler Construction. In D. Hammer, editor, Proc. of Compiler Compilers, Third InternationalWorkshop on Compiler Construction, volume 477 of Lecture Notes in Computer Science, pages 106–116, Schwerin, Germany, 22-26 Oct. 1990. Springer, 1991.
J. Heering, P. R. H. Hendriks, P. Klint, and J. Rekers. The syntax definition formalism SDF- Reference manual. SIGPLAN Notices, 24(11):43–75, 1989.
M. d. Jonge, E. Visser, and J. Visser. XT: a bundle of program transformation tools. In M. v. d. Brand and D. Parigot, editors, Proc. LDTA 2001, volume 44 of ENTCS. Elsevier Science, 2001.
J. Kort, R. Lämmel, and C. Verhoef. The Grammar Deployment Kit-System Demonstration. In M. Brand and R. Lämmel, editors, Proc. of LDTA’02, volume 65 of ENTCS. Elsevier Science, 2002.
R. Lämmel. The Sketch of a Polymorphic Symphony. In B. Gramlich and S. Lucas, editors, Proc. of International Workshop on Reduction Strategies in Rewriting and Programming (WRS 2002), volume 70 of ENTCS. Elsevier Science, 2002. 21 pages.
R. Lämmel. Towards Generic Refactoring. In Proc. of Third ACM SIGPLAN Workshop on Rule-Based Programming RULE 2002, Pittsburgh, USA, 5 Oct. 2002.ACM Press. 14 pages.
R. Lämmel and C. Verhoef. VS COBOL II grammar Version 1.0.3, 1999. Available at: http://www.cs.vu.nl/grammars/vs-cobol-ii/.
R. Lämmel and J. Visser. Design Patterns for Functional Strategic Programming. In Proc. of Third ACM SIGPLANWorkshop on Rule-Based Programming RULE 2002, Pittsburgh, USA, 5 Oct. 2002. ACM Press. 14 pages.
R. Lämmel and J. Visser. Typed Combinators for Generic Traversal. In S. Krishnamurthi and C. Ramakrishnan, editors, Proc. of PADL 2002, Portland, OR, USA, volume 2257 of LNCS. Springer-Verlag, Jan. 2002.
V. Maslov and C. Dodd. Btyacc-backtracking yacc, 1995-2001. http://www.siber.org/btyacc/.
D. Parigot, C. Courbis, P. Degenne, A. Fau, C. Pasquier, J. Fillon, C. Held, and I. Attali. Aspect and XML-oriented Semantic Framework Generator: SmartTools. In M. v. d. Brand and R. Lämmel, editors, Proc. LDTA 2002, volume 65 of ENTCS. Elsevier Science, 2002.
J. Visser. Visitor Combination and Traversal Control. ACM SIGPLAN Notices, 36(11):270–282, Nov. 2001. OOPSLA 2001 Conference Proceedings: Object-Oriented Programming Systems, Languages, and Applications.
M. Wallace and C. Runciman. Haskell and XML: Generic combinators or type-based translation? ACM SIGPLAN Notices, 34(9):148–159, Sept. 1999. Proceedings of ICFP’99.
N. Winstanley. A type-sensitive preprocessor for Haskell. In Glasgow Workshop on Functional Programming, Ullapool, 1997.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Lämmel, R., Visser, J. (2003). A Strafunski Application Letter. In: Dahl, V., Wadler, P. (eds) Practical Aspects of Declarative Languages. PADL 2003. Lecture Notes in Computer Science, vol 2562. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-36388-2_24
Download citation
DOI: https://doi.org/10.1007/3-540-36388-2_24
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-00389-2
Online ISBN: 978-3-540-36388-0
eBook Packages: Springer Book Archive