Deforestation: transforming programs to eliminate trees
Proceedings of the Second European Symposium on Programming
Introduction to Functional Programming
Introduction to Functional Programming
LICS '02 Proceedings of the 17th Annual IEEE Symposium on Logic in Computer Science
XDuce: A statically typed XML processing language
ACM Transactions on Internet Technology (TOIT)
Typechecking for XML transformers
Journal of Computer and System Sciences - Special issue on PODS 2000
CDuce: an XML-centric general-purpose language
ICFP '03 Proceedings of the eighth ACM SIGPLAN international conference on Functional programming
Information Processing Letters
XML type checking with macro tree transducers
Proceedings of the twenty-fourth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
Revisiting an automatic program inverter for Lisp
ACM SIGPLAN Notices
Taxonomy of XML schema languages using formal language theory
ACM Transactions on Internet Technology (TOIT)
Run, xtatic, run: efficient implementation of an object-oriented language with regular pattern matching
Bidirectionalization transformation based on automatic derivation of view complement functions
ICFP '07 Proceedings of the 12th ACM SIGPLAN international conference on Functional programming
Information Systems
Analyzing ambiguity of context-free grammars
CIAA'07 Proceedings of the 12th international conference on Implementation and application of automata
Exact XML type checking in polynomial time
ICDT'07 Proceedings of the 11th international conference on Database Theory
Type-based optimization for regular patterns
DBPL'05 Proceedings of the 10th international conference on Database Programming Languages
The view update problem for XML
Proceedings of the 2010 EDBT/ICDT Workshops
Polynomial-time inverse computation for accumulative functions with multiple data traversals
PEPM '12 Proceedings of the ACM SIGPLAN 2012 workshop on Partial evaluation and program manipulation
Typing model transformations using tracts
ICMT'12 Proceedings of the 5th international conference on Theory and Practice of Model Transformations
Three complementary approaches to bidirectional programming
SSGIP'10 Proceedings of the 2010 international spring school conference on Generic and Indexed Programming
Hi-index | 0.00 |
It is often convenient to write a function and apply it to a specific input. However, a program developed in this way may be inefficient to evaluate and difficult to analyze due to its generality. In this paper, we propose a technique of new specialization for a class of XML transformations, in which no output of a function can be decomposed or traversed. Our specialization is type-based in the sense that it uses the structures of input types; types are described by regular hedge grammars and subtyping is defined set-theoretically. The specialization always terminates, resulting in a program where every function is fully specialized and only accepts its rigid input. We present several interesting applications of our new specialization, especially for injectivity analysis.