Instruct: Identify the main and secondary category of Arxiv papers based on the titles and abstracts
Query: Beating the Productivity Checker Using Embedded Languages   Some total languages, like Agda and Coq, allow the use of guarded corecursion
to construct infinite values and proofs. Guarded corecursion is a form of
recursion in which arbitrary recursive calls are allowed, as long as they are
guarded by a coinductive constructor. Guardedness ensures that programs are
productive, i.e. that every finite prefix of an infinite value can be computed
in finite time. However, many productive programs are not guarded, and it can
be nontrivial to put them in guarded form.
  This paper gives a method for turning a productive program into a guarded
program. The method amounts to defining a problem-specific language as a data
type, writing the program in the problem-specific language, and writing a
guarded interpreter for this language.

3
The categories of this paper are: physics
24
The categories of this paper are: dg-ga
2
The categories of this paper are: math
15
The categories of this paper are: nucl-ex
23
The categories of this paper are: solv-int
20
The categories of this paper are: acc-phys
5
The categories of this paper are: gr-qc
6
The categories of this paper are: astro-ph
19
The categories of this paper are: eess
32
The categories of this paper are: atom-ph
33
The categories of this paper are: plasm-ph
31
The categories of this paper are: ao-sci
0
The categories of this paper are: hep-ph
21
The categories of this paper are: adap-org
29
The categories of this paper are: funct-an
37
The categories of this paper are: supr-con