Filters








41,804 Hits in 3.4 sec

Typed generic traversal with term rewriting strategies

Ralf Lämmel
2003 The Journal of Logic and Algebraic Programming  
S γ offers traversal combinators to construct traversals or schemes thereof from many-sorted and generic strategies.  ...  We consider two generic strategy types, namely the types of type-preserving and type-unifying strategies.  ...  Fig. 8 ), • many-sorted type-preserving strategies (cf. Fig. 10 ), • generic traversal primitives (·) and ♦(·) (cf. Fig. 13 ), • the generic type TP (cf. Fig. 14) , • strategy extension (cf.  ... 
doi:10.1016/s1567-8326(02)00028-0 fatcat:slqvn77mvnhztb5vdmudz4ubyu

Typed Generic Traversal With Term Rewriting Strategies [article]

Ralf Laemmel
2002 arXiv   pre-print
S'_gamma offers traversal combinators to construct traversals or schemes thereof from many-sorted and generic strategies.  ...  We consider two generic strategy types, namely the types of type-preserving and type-unifying strategies.  ...  Figure 8 ) • Many-sorted type-preserving strategies (cf. Figure 10) • Generic traversal primitives P(·) and Q(·) (cf. Figure 13) • The generic type TP (cf. Figure 14) • Strategy extension (cf.  ... 
arXiv:cs/0205018v2 fatcat:jbqr27ef7rgfnni5urp6xunz7q

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.  ...  We will address the following questions: • What are the merits of Haskellish strategies? • What is the relation between strategic programming and generic programming?  ...  s)) --Type-preserving traversal stopping at successful branches stop_tdTP :: MonadPlus m => TP m -> TP m stop_tdTP s = s 'choiceTP' (allTP (stop_tdTP s)) --One-hit type-preserving traversal in bottom-up  ... 
doi:10.1016/j.entcs.2004.11.021 fatcat:2nuur7prgnc3jgm4xc6q5glz6a

The Sketch of a Polymorphic Symphony [article]

Ralf Laemmel
2002 arXiv   pre-print
In previous work, we have introduced functional strategies, that is, first-class generic functions that can traverse into terms of any type while mixing uniform and type-specific behaviour.  ...  The resulting portfolio of traversal schemes can be regarded as a challenging benchmark for setups for typed generic programming.  ...  The synonym TP instantiates MG via I so that Type-Preserving strategies are identified.  ... 
arXiv:cs/0204013v2 fatcat:vy3y64nkqfh4ll73omwromwscm

The Sketch of a Polymorphic Symphony

Ralf Lämmel
2002 Electronical Notes in Theoretical Computer Science  
In previous work, we have introduced functional strategies, that is, first-class generic functions that can traverse into terms of any type while mixing uniform and type-specific behaviour.  ...  The resulting portfolio of traversal schemes can be regarded as a challenging benchmark for setups for typed generic programming.  ...  The synonym TP instantiates MG via Á so that Type-Preserving strategies are identified.  ... 
doi:10.1016/s1571-0661(04)80604-2 fatcat:ydi6ru3dznbnhn66gsmgdkwhru

Gradually typing strategies

Jeff Smits, Eelco Visser
2020 Proceedings of the 13th ACM SIGPLAN International Conference on Software Language Engineering  
Stratego's traversal primitives support concise definition of generic tree traversals. Stratego is a dynamically typed language because its features cannot be captured fully by a static type system.  ...  The Stratego language supports program transformation by means of term rewriting with programmable rewriting strategies.  ...  Type Preserving. The special type preserving type is an important piece of the puzzle to type generic traversals and reduce the number of casts inserted around generic traversals.  ... 
doi:10.1145/3426425.3426928 fatcat:ch5vrcxwsjggfh2tjduaxz3eme

Page 9545 of Mathematical Reviews Vol. , Issue 2003m [page]

2003 Mathematical Reviews  
S’ offers traversal combinators to construct traversals or schemes thereof from many- sorted and generic strategies.  ...  We consider two generic strategy types, namely the types of type-preserving and type-unifying strategies.  ... 

Typed Combinators for Generic Traversal [chapter]

Ralf Lämmel, Joost Visser
2001 Lecture Notes in Computer Science  
A s t r a tegy library We present a library for generic programming with strategies. To this end, we introduce ADTs with primitive c o m binators for strategies i.e., generic functions.  ...  After a discussion of the primitives, we will discuss a number of de ned strategies, especially traversal schemes.  ...  The combinator oncetd serves for type-preserving top-down traversal where the argument strategy is tried until it succeeds once. The traversal fails if the argument strategy fails for all nodes.  ... 
doi:10.1007/3-540-45587-6_10 fatcat:z4jajrf6zre63e5fl4yuxdxyfy

Strategic programming meets adaptive programming

Ralf Lämmel, Eelco Visser, Joost Visser
2003 Proceedings of the 2nd international conference on Aspect-oriented software development - AOSD '03  
Strategic programming is a generic programming idiom for processing compound data such as terms or object structures.  ...  Traversal schemes can be defined by the strategic programmer using a combinator style that relies on primitives for layered traversal.  ...  Strategies in the sense of SP are data-processing actions with the following characteristics: Genericity Strategies are generic in the sense that they are applicable to data of any type (say, sort, or  ... 
doi:10.1145/643603.643621 dblp:conf/aosd/LammelVV03 fatcat:c4crg4c42veaxam32xjug23gwq

Design Patterns for Functional Strategic Programming [article]

Ralf Laemmel, Joost Visser
2002 arXiv   pre-print
This an idiom for generic programming based on the notion of a functional strategy: a first-class generic function that cannot only be applied to terms of any type, but which also allows generic traversal  ...  We present the fundamentals and the support from a user's perspective, and we initiate a catalogue of strategy design patterns.  ...  The type-preserving variants of the traversal combinators preserve the outermost constructor of the input term.  ... 
arXiv:cs/0204015v1 fatcat:oqcsr5tczrchbfi5pyyfyq4ewe

Programming errors in traversal programs over structured data [article]

Ralf Laemmel, Simon Thompson, Markus Kaiser
2012 arXiv   pre-print
This exploration generates suggestions for improvements to strategy libraries as well as their underlying programming languages.  ...  Traversal strategies \'a la Stratego (also \'a la Strafunski and 'Scrap Your Boilerplate') provide an exceptionally versatile and uniform means of querying and transforming deeply nested and heterogeneously  ...  More generally: The abstract interpretation computes what type-specific cases are exercised by a given strategy when faced with terms of different sorts.  ... 
arXiv:1201.6057v1 fatcat:xrjgxpm6gzgyfaiuyk6mkb4mxq

A Novel Algorithm for Mining Top-K High Utility Traversal Patterns from Software Dynamic Executing Graph

Changwu Wang, Cui Xu, Hao Wang, Liwen Yue, Jiadong Ren
2017 ICIC Express Letters  
In THTP-Miner, software executing traversal sequences are extracted from software executing graphs firstly.  ...  Thirdly, three effective strategies are introduced to resolve the issue of efficiency, including two methods for raising the threshold and one pruning for filtering unpromising patterns.  ...  The memory usage of THTP+F is also greatly large due to the absence of pre-insertion strategy and sorting strategy.  ... 
doi:10.24507/icicel.11.02.413 fatcat:h6iyhdkpwrc37flr4vptmcak5i

Strategic polymorphism requires just two combinators! [article]

Ralf Laemmel, Joost Visser
2002 arXiv   pre-print
In previous work, we introduced the notion of functional strategies: first-class generic functions that can traverse terms of any type while mixing uniform and type-specific behaviour.  ...  Functional strategies transpose the notion of term rewriting strategies (with coverage of traversal) to the functional programming paradigm.  ...  ., I α = α), we obtain the type of type-preserving strategies.  ... 
arXiv:cs/0212048v1 fatcat:hn5yxlc655a67a7anr3rnxshuy

An Isabelle/HOL-based model of stratego-like traversal strategies

Markus Kaiser, Ralf Lämmel
2009 Proceedings of the 11th ACM SIGPLAN conference on Principles and practice of declarative programming - PPDP '09  
Traversal strategies are at the heart of transformational programming with rewriting-based frameworks such as Stratego/XT or Tom and specific approaches for generic functional programming such as Strafunski  ...  Such traversal strategies are distinctively based on one-layer traversal primitives from which traversal schemes are derived by recursive closure.  ...  This sort of axiom cannot create any inconsistency.  ... 
doi:10.1145/1599410.1599423 dblp:conf/ppdp/KaiserL09 fatcat:lxt55242rzezzfgfuumzsflj3e

Non-intrusive Formal Methods and Strategic Rewriting for a Chemical Application [chapter]

Oana Andrei, Liliana Ibanescu, Hélène Kirchner
2006 Lecture Notes in Computer Science  
It is of course possible to combine these features with more complex strategies, like generic traversal strategies, to describe more complex or generic transformations.  ...  Strategy constructors The %vas construct allows the user to define a many-sorted signature. This construct is replaced at compilation time by the content of the generated formal anchor.  ... 
doi:10.1007/11780274_11 fatcat:7k5i2ph6q5afbherntdlieosma
« Previous Showing results 1 — 15 out of 41,804 results