ML for the working programmer
PADL '03 Proceedings of the 5th International Symposium on Practical Aspects of Declarative Languages
Using, Understanding, and Unraveling the OCaml Language. From Practice to Theory and Vice Versa
Applied Semantics, International Summer School, APPSEM 2000, Caminha, Portugal, September 9-15, 2000, Advanced Lectures
MPC '02 Proceedings of the 6th International Conference on Mathematics of Program Construction
First-order unification by structural recursion
Journal of Functional Programming
Journal of Functional Programming
Journal of Functional Programming
O(1) reversible tree navigation without cycles
Theory and Practice of Logic Programming
Science of Computer Programming - Special issue on mathematics of program construction (MPC 2002)
Functional pearl: i am not a number--i am a free variable
Haskell '04 Proceedings of the 2004 ACM SIGPLAN workshop on Haskell
A functional toolkit for morphological and phonological processing, application to a Sanskrit tagger
Journal of Functional Programming
Finger trees: a simple general-purpose data structure
Journal of Functional Programming
A generic recursion toolbox for Haskell or: scrap your boilerplate systematically
Proceedings of the 2006 ACM SIGPLAN workshop on Haskell
Proceedings of the 2006 workshop on ML
Scrap your boilerplate with XPath-like combinators
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
∂ for Data: Differentiating Data Structures
Fundamenta Informaticae - Typed Lambda Calculi and Applications 2003, Selected Papers
Efficient static analysis of XML paths and types
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
A static simulation of dynamic delimited control
Higher-Order and Symbolic Computation
Clowns to the left of me, jokers to the right (pearl): dissecting data structures
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Comonadic Notions of Computation
Electronic Notes in Theoretical Computer Science (ENTCS)
Clase: cursor library for a structured editor
Proceedings of the first ACM SIGPLAN symposium on Haskell
Proceedings of the 2008 ACM SIGPLAN workshop on ML
A functional implementation of the garsia--wachs algorithm: (functional pearl)
Proceedings of the 2008 ACM SIGPLAN workshop on ML
A lightweight approach to datatype-generic rewriting
Proceedings of the ACM SIGPLAN workshop on Generic programming
The third homomorphism theorem on trees: downward & upward lead to divide-and-conquer
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Challenge proposal: verification of refactorings
Proceedings of the 3rd workshop on Programming languages meets program verification
Electronic Notes in Theoretical Computer Science (ENTCS)
Formalising and Verifying Reference Attribute Grammars in Coq
ESOP '09 Proceedings of the 18th European Symposium on Programming Languages and Systems: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
Generic programming with fixed points for mutually recursive datatypes
Proceedings of the 14th ACM SIGPLAN international conference on Functional programming
Fast and sound random generation for automated testing and benchmarking in objective Caml
Proceedings of the 2009 ACM SIGPLAN workshop on ML
Lazy functional incremental parsing
Proceedings of the 2nd ACM SIGPLAN symposium on Haskell
A Formally Verified Compiler Back-end
Journal of Automated Reasoning
An Applicative Control-Flow Graph Based on Huet's Zipper
Electronic Notes in Theoretical Computer Science (ENTCS)
Ypnos: declarative, parallel structured grid programming
Proceedings of the 5th ACM SIGPLAN workshop on Declarative aspects of multicore programming
A survey of strategies in rule-based program transformation systems
Journal of Symbolic Computation
TLCA'03 Proceedings of the 6th international conference on Typed lambda calculi and applications
A substructural type system for delimited continuations
TLCA'07 Proceedings of the 8th international conference on Typed lambda calculi and applications
Delimited continuations in operating systems
CONTEXT'07 Proceedings of the 6th international and interdisciplinary conference on Modeling and using context
Constructing language processors with algebra combinators
Science of Computer Programming
Comparing approaches to generic programming in Haskell
SSDGP'06 Proceedings of the 2006 international conference on Datatype-generic programming
Generic programming with dependent types
SSDGP'06 Proceedings of the 2006 international conference on Datatype-generic programming
Inter-deriving semantic artifacts for object-oriented programming
Journal of Computer and System Sciences
From reduction-based to reduction-free normalization
AFP'08 Proceedings of the 6th international conference on Advanced functional programming
Electronic Notes in Theoretical Computer Science (ENTCS)
Scrap your zippers: a generic zipper for heterogeneous types
Proceedings of the 6th ACM SIGPLAN workshop on Generic programming
Generic selections of subexpressions
Proceedings of the 6th ACM SIGPLAN workshop on Generic programming
A generic deriving mechanism for Haskell
Proceedings of the third ACM Haskell symposium on Haskell
Species and functors and types, oh my!
Proceedings of the third ACM Haskell symposium on Haskell
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
Proceedings of the third ACM SIGPLAN workshop on Mathematically structured functional programming
Pull-ups, push-downs, and passing it around
IFL'09 Proceedings of the 21st international conference on Implementation and application of functional languages
Taming code explosion in supercompilation
Proceedings of the 20th ACM SIGPLAN workshop on Partial evaluation and program manipulation
Calculating tree navigation with symmetric relational zipper
Proceedings of the 20th ACM SIGPLAN workshop on Partial evaluation and program manipulation
Integrating XPath with the functional-logic language toy
PADL'11 Proceedings of the 13th international conference on Practical aspects of declarative languages
Attribute Grammars as Recursion Schemes over Cyclic Representations of Zippers
Electronic Notes in Theoretical Computer Science (ENTCS)
Verification of the Schorr-Waite algorithm - from trees to graphs
LOPSTR'10 Proceedings of the 20th international conference on Logic-based program synthesis and transformation
MKM'11 Proceedings of the 18th Calculemus and 10th international conference on Intelligent computer mathematics
Monads, zippers and views: virtualizing the monad stack
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
Generalising and dualising the third list-homomorphism theorem: functional pearl
Proceedings of the 16th ACM SIGPLAN international conference on Functional programming
Generic programming with indexed functors
Proceedings of the seventh ACM SIGPLAN workshop on Generic programming
A foundation for GADTs and inductive families: dependent polynomial functor approach
Proceedings of the seventh ACM SIGPLAN workshop on Generic programming
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
A few constructions on constructors
TYPES'04 Proceedings of the 2004 international conference on Types for Proofs and Programs
Interfaces as games, programs as strategies
TYPES'04 Proceedings of the 2004 international conference on Types for Proofs and Programs
Exploring the regular tree types
TYPES'04 Proceedings of the 2004 international conference on Types for Proofs and Programs
Syntactic descriptions: a type system for solving matching equations in the linear λ-calculus
RTA'06 Proceedings of the 17th international conference on Term Rewriting and Applications
Defunctionalized interpreters for call-by-need evaluation
FLOPS'10 Proceedings of the 10th international conference on Functional and Logic Programming
Case-Analysis for rippling and inductive proof
ITP'10 Proceedings of the First international conference on Interactive Theorem Proving
Theoretical Computer Science
When is a container a comonad?
FOSSACS'12 Proceedings of the 15th international conference on Foundations of Software Science and Computational Structures
Autoconstructive evolution for structural problems
Proceedings of the 14th annual conference companion on Genetic and evolutionary computation
Discrete generalised polynomial functors
ICALP'12 Proceedings of the 39th international colloquium conference on Automata, Languages, and Programming - Volume Part II
A programming tutor for haskell
CEFP'11 Proceedings of the 4th Summer School conference on Central European Functional Programming School
xmonad in Coq (experience report): programming a window manager in a proof assistant
Proceedings of the 2012 Haskell Symposium
∂ for Data: Differentiating Data Structures
Fundamenta Informaticae - Typed Lambda Calculi and Applications 2003, Selected Papers
Separation logic for non-local control flow and block scope variables
FOSSACS'13 Proceedings of the 16th international conference on Foundations of Software Science and Computation Structures
A short cut to parallelization theorems
Proceedings of the 18th ACM SIGPLAN international conference on Functional programming
Proceedings of the 2nd ACM SIGPLAN workshop on Functional high-performance computing
Generic representations of tree transformations
Proceedings of the 9th ACM SIGPLAN workshop on Generic programming
Hasochism: the pleasure and pain of dependently typed haskell programming
Proceedings of the 2013 ACM SIGPLAN symposium on Haskell
Whalesong: running racket in the browser
Proceedings of the 9th symposium on Dynamic languages
Lazy stateless incremental evaluation machinery for attribute grammars
Proceedings of the ACM SIGPLAN 2014 Workshop on Partial Evaluation and Program Manipulation
Hi-index | 0.01 |
Almost every programmer has faced the problem of representing a tree together with a subtree that is the focus of attention, where that focus may move left, right, up or down the tree. The Zipper is Huet's nifty name for a nifty data structure which fulfills this need. I wish I had known of it when I faced this task, because the solution I came up with was not quite so efficient or elegant as the Zipper.