Instruct: Identify the main and secondary category of Arxiv papers based on the titles and abstracts
Query: Generic Deriving of Generic Traversals   Functional programmers have an established tradition of using traversals as a
design pattern to work with recursive data structures. The technique is so
prolific that a whole host of libraries have been designed to help in the task
of automatically providing traversals by analysing the generic structure of
data types. More recently, lenses have entered the functional scene and have
proved themselves to be a simple and versatile mechanism for working with
product types. They make it easy to focus on the salient parts of a data
structure in a composable and reusable manner.
  In this paper, we use the combination of lenses and traversals to give rise
to an expressive and flexible library for querying and modifying complex data
structures. Furthermore, since our lenses and traversals are based on the
generic shape of data, we are able to use this information to produce code that
is as efficient as hand-written versions. The technique leverages the structure
of data to produce generic abstractions that are then eliminated by the
standard workhorses of modern functional compilers: inlining and
specialisation.

14
The categories of this paper are: math-ph
9
The categories of this paper are: nlin
22
The categories of this paper are: chao-dyn
34
The categories of this paper are: chem-ph
33
The categories of this paper are: plasm-ph
36
The categories of this paper are: cmp-lg
31
The categories of this paper are: ao-sci
28
The categories of this paper are: alg-geom
13
The categories of this paper are: quant-ph
25
The categories of this paper are: patt-sol
30
The categories of this paper are: q-alg
6
The categories of this paper are: astro-ph
2
The categories of this paper are: math
12
The categories of this paper are: nucl-th
4
The categories of this paper are: cond-mat
3
The categories of this paper are: physics