Instruct: Identify the main and secondary category of Arxiv papers based on the titles and abstracts
Query: Multi-Level Languages are Generalized Arrows   Multi-level languages and Arrows both facilitate metaprogramming, the act of
writing a program which generates a program. The arr function required of all
Arrows turns arbitrary host language expressions into guest language
expressions; because of this, Arrows may be used for metaprogramming only when
the guest language is a superset of the host language. This restriction is also
present in multi-level languages which offer unlimited cross-level persistence.
<p> This paper introduces generalized arrows and proves that they generalize
Arrows in the following sense: every Arrow in a programming language arises
from a generalized arrow with that language's term category as its codomain.
Generalized arrows impose no containment relationship between the guest
language and host language; they facilitate heterogeneous metaprogramming. The
category having all generalized arrows as its morphisms and the category having
all multi-level languages as its morphisms are isomorphic categories. This is
proven formally in Coq, and the proof is offered as justification for the
assertion that multi-level languages are generalized arrows. <p> Combined with
the existence of a particular kind of retraction in the host language, this
proof can be used to define an invertible translation from two-level terms to
one-level terms parameterized by a generalized arrow instance. This is
ergonomically significant: it lets guest language providers write generalized
arrow instances while the users of those guest languages write multi-level
terms. This is beneficial because implementing a generalized arrow instance is
easier than modifying a compiler, whereas writing two-level terms is easier
than manipulating generalized arrow terms.

29
The categories of this paper are: funct-an
11
The categories of this paper are: hep-lat
6
The categories of this paper are: astro-ph
0
The categories of this paper are: hep-ph
19
The categories of this paper are: eess
31
The categories of this paper are: ao-sci
15
The categories of this paper are: nucl-ex
23
The categories of this paper are: solv-int
21
The categories of this paper are: adap-org
8
The categories of this paper are: hep-ex
7
The categories of this paper are: hep-th
20
The categories of this paper are: acc-phys
36
The categories of this paper are: cmp-lg
3
The categories of this paper are: physics
16
The categories of this paper are: stat
33
The categories of this paper are: plasm-ph