21,834 research outputs found
A Graph Model for Imperative Computation
Scott's graph model is a lambda-algebra based on the observation that
continuous endofunctions on the lattice of sets of natural numbers can be
represented via their graphs. A graph is a relation mapping finite sets of
input values to output values.
We consider a similar model based on relations whose input values are finite
sequences rather than sets. This alteration means that we are taking into
account the order in which observations are made. This new notion of graph
gives rise to a model of affine lambda-calculus that admits an interpretation
of imperative constructs including variable assignment, dereferencing and
allocation.
Extending this untyped model, we construct a category that provides a model
of typed higher-order imperative computation with an affine type system. An
appropriate language of this kind is Reynolds's Syntactic Control of
Interference. Our model turns out to be fully abstract for this language. At a
concrete level, it is the same as Reddy's object spaces model, which was the
first "state-free" model of a higher-order imperative programming language and
an important precursor of games models. The graph model can therefore be seen
as a universal domain for Reddy's model
A categorical foundation for structured reversible flowchart languages: Soundness and adequacy
Structured reversible flowchart languages is a class of imperative reversible
programming languages allowing for a simple diagrammatic representation of
control flow built from a limited set of control flow structures. This class
includes the reversible programming language Janus (without recursion), as well
as more recently developed reversible programming languages such as R-CORE and
R-WHILE.
In the present paper, we develop a categorical foundation for this class of
languages based on inverse categories with joins. We generalize the notion of
extensivity of restriction categories to one that may be accommodated by
inverse categories, and use the resulting decisions to give a reversible
representation of predicates and assertions. This leads to a categorical
semantics for structured reversible flowcharts, which we show to be
computationally sound and adequate, as well as equationally fully abstract with
respect to the operational semantics under certain conditions
Formal verification in Coq of program properties involving the global state effect
The syntax of an imperative language does not mention explicitly the state,
while its denotational semantics has to mention it. In this paper we present a
framework for the verification in Coq of properties of programs manipulating
the global state effect. These properties are expressed in a proof system which
is close to the syntax, as in effect systems, in the sense that the state does
not appear explicitly in the type of expressions which manipulate it. Rather,
the state appears via decorations added to terms and to equations. In this
system, proofs of programs thus present two aspects: properties can be verified
{\em up to effects} or the effects can be taken into account. The design of our
Coq library consequently reflects these two aspects: our framework is centered
around the construction of two inductive and dependent types, one for terms up
to effects and one for the manipulation of decorations
Semantics of Separation-Logic Typing and Higher-order Frame Rules for<br> Algol-like Languages
We show how to give a coherent semantics to programs that are well-specified
in a version of separation logic for a language with higher types: idealized
algol extended with heaps (but with immutable stack variables). In particular,
we provide simple sound rules for deriving higher-order frame rules, allowing
for local reasoning
Classical Control, Quantum Circuits and Linear Logic in Enriched Category Theory
We describe categorical models of a circuit-based (quantum) functional
programming language. We show that enriched categories play a crucial role.
Following earlier work on QWire by Paykin et al., we consider both a simple
first-order linear language for circuits, and a more powerful host language,
such that the circuit language is embedded inside the host language. Our
categorical semantics for the host language is standard, and involves cartesian
closed categories and monads. We interpret the circuit language not in an
ordinary category, but in a category that is enriched in the host category. We
show that this structure is also related to linear/non-linear models. As an
extended example, we recall an earlier result that the category of W*-algebras
is dcpo-enriched, and we use this model to extend the circuit language with
some recursive types
Gendered behavior as a disadvantage in open source software development
Women are severely marginalized in software development, especially in open
source. In this article we argue that disadvantage is more due to gendered
behavior than to categorical discrimination: women are at a disadvantage
because of what they do, rather than because of who they are. Using data on
entire careers of users from GitHub.com, we develop a measure to capture the
gendered pattern of behavior: We use a random forest prediction of being female
(as opposed to being male) by behavioral choices in the level of activity,
specialization in programming languages, and choice of partners. We test
differences in success and survival along both categorical gender and the
gendered pattern of behavior. We find that 84.5% of women's disadvantage
(compared to men) in success and 34.8% of their disadvantage in survival are
due to the female pattern of their behavior. Men are also disadvantaged along
their interquartile range of the female pattern of their behavior, and users
who don't reveal their gender suffer an even more drastic disadvantage in
survival probability. Moreover, we do not see evidence for any reduction of
these inequalities in time. Our findings are robust to noise in gender
recognition, and to taking into account particular programming languages, or
decision tree classes of gendered behavior. Our results suggest that fighting
categorical gender discrimination will have a limited impact on gender
inequalities in open source software development, and that gender hiding is not
a viable strategy for women
- …