11 research outputs found
Term Graph Representations for Cyclic Lambda-Terms
We study various representations for cyclic lambda-terms as higher-order or
as first-order term graphs. We focus on the relation between
`lambda-higher-order term graphs' (lambda-ho-term-graphs), which are
first-order term graphs endowed with a well-behaved scope function, and their
representations as `lambda-term-graphs', which are plain first-order term
graphs with scope-delimiter vertices that meet certain scoping requirements.
Specifically we tackle the question: Which class of first-order term graphs
admits a faithful embedding of lambda-ho-term-graphs in the sense that: (i) the
homomorphism-based sharing-order on lambda-ho-term-graphs is preserved and
reflected, and (ii) the image of the embedding corresponds closely to a natural
class (of lambda-term-graphs) that is closed under homomorphism?
We systematically examine whether a number of classes of lambda-term-graphs
have this property, and we find a particular class of lambda-term-graphs that
satisfies this criterion. Term graphs of this class are built from application,
abstraction, variable, and scope-delimiter vertices, and have the
characteristic feature that the latter two kinds of vertices have back-links to
the corresponding abstraction.
This result puts a handle on the concept of subterm sharing for higher-order
term graphs, both theoretically and algorithmically: We obtain an easily
implementable method for obtaining the maximally shared form of
lambda-ho-term-graphs. Also, we open up the possibility to pull back properties
from first-order term graphs to lambda-ho-term-graphs. In fact we prove this
for the property of the sharing-order successors of a given term graph to be a
complete lattice with respect to the sharing order.
This report extends the paper with the same title
(http://arxiv.org/abs/1302.6338v1) in the proceedings of the workshop TERMGRAPH
2013.Comment: 35 pages. report extending proceedings article on arXiv:1302.6338
(changes with respect to version v2: added section 8, modified Proposition
2.4, added Remark 2.5, added Corollary 7.11, modified figures in the
conclusion
Expressibility in the Lambda Calculus with Letrec
We investigate the relationship between finite terms in lambda-letrec, the
lambda calculus with letrec, and the infinite lambda terms they express. As
there are easy examples of lambda-terms that, intuitively, are not unfoldings
of terms in lambda-letrec, we consider the question: How can those infinite
lambda terms be characterised that are lamda-letrec-expressible in the sense
that they can be obtained as infinite unfoldings of terms in lambda-letrec?
For 'observing' infinite lambda-terms through repeated 'experiments' carried
out at the head of the term we introduce two rewrite systems (with rewrite
relations) -reg-> and -reg+-> that decompose the term, and produce 'generated
subterms' in two notions. Thereby the sort of the step can be observed as well
as its target, a generated subterm. In both systems there are four sorts of
decomposition steps: -lambda-> steps (decomposing a lambda-abstraction), -@0>
and -@1> steps (decomposing an application into its function and argument), and
respectively, -del-> steps (delimiting the scope of an abstraction, for
-reg->), and -S-> (delimiting of scopes, for -reg+->). These steps take place
on infinite lambda-terms furnished with a leading prefix of abstractions for
gathering previously encountered lambda-abstractions and keeping the generated
subterms closed. We call an infinite lambda-term 'regular'/'strongly regular'
if its set of -reg-> -reachable / -reg-> -reachable generated subterms is
finite. Furthermore, we analyse the binding structure of lambda-terms with the
concept of 'binding-capturing chain'.
Using these concepts, we answer the question above by providing two
characterisations of lambda-letrec-expressibility. For all infinite
lambda-terms M, the following statements are equivalent: (i) M is
lambda-letrec-expressible; (ii) M is strongly regular; (iii) M is regular, and
it only has finite binding-capturing chains.Comment: 79 pages, 25 figure
Repetitive Reduction Patterns in Lambda Calculus with letrec (Work in Progress)
For the lambda-calculus with letrec we develop an optimisation, which is
based on the contraction of a certain class of 'future' (also: virtual)
redexes.
In the implementation of functional programming languages it is common
practice to perform beta-reductions at compile time whenever possible in order
to produce code that requires fewer reductions at run time. This is, however,
in principle limited to redexes and created redexes that are 'visible' (in the
sense that they can be contracted without the need for unsharing), and cannot
generally be extended to redexes that are concealed by sharing constructs such
as letrec. In the case of recursion, concealed redexes become visible only
after unwindings during evaluation, and then have to be contracted time and
again.
We observe that in some cases such redexes exhibit a certain form of
repetitive behaviour at run time. We describe an analysis for identifying
binders that give rise to such repetitive reduction patterns, and eliminate
them by a sort of predictive contraction. Thereby these binders are lifted out
of recursive positions or eliminated altogether, as a result alleviating the
amount of beta-reductions required for each recursive iteration.
Both our analysis and simplification are suitable to be integrated into
existing compilers for functional programming languages as an additional
optimisation phase. With this work we hope to contribute to increasing the
efficiency of executing programs written in such languages.Comment: In Proceedings TERMGRAPH 2011, arXiv:1102.226
Alias : pointeurs espionnés en série
National audienceCet article présente un nouveau greffon de Frama-C, appelé Alias. Il s'agit d'une analyse de pointeurs légère destinée à être intégrée d'une manière transparente dans d'autres analyseurs. Elle doit donc être à la fois correcte, efficace et ne requérir aucun paramétrage de la part de l'utilisateur. À cette fin, nous avons adapté l'algorithme de Steensgaard pour développer une analyse sensible au contexte à l'aide de résumés de fonction, sensible aux champs de structure, mais insensible aux tableaux et, plus généralement, à l'arithmétique de pointeurs. Nos évaluations expérimentales sur un benchmark représentatif montrent qu'elle est bien plus rapide qu'Eva, l'analyse de valeurs de Frama-C préexistante qui fournit aussi une analyse d'alias, tout en gardant une précision suffisante aux besoins
Estrogen receptors alpha and beta in male and female gerbil prostates
The Mongolian gerbil (Meriones unguiculatus, Gerbilinae: Muridae) is useful for prostate studies, because both males and females spontaneously develop prostatic disorders with age. Estrogens regulate prostate homeostasis via two estrogen receptors, ER alpha (ESR1) and ER beta (ESR2), but the cellular distribution and regulation of these receptors in the gerbil prostate has not been described. Both receptors were localized by immunohistochemistry in the ventral prostate of intact male and female gerbils, in males 7 and 21 days after castration, and in females treated with testosterone for 7 and 21 days. In male and female adult gerbils, ER alpha was detected mainly in prostatic stromal cells, whereas ER beta was present mostly in secretory and basal cells. More ER alpha-positive stromal cells were found in females than in males, as was a reduction toward the male value in females treated with testosterone. Castration did not alter ER alpha expression. Testosterone was necessary for maintenance of ER beta in the male prostate epithelium: ER beta expression declined markedly in prostates of males older than 1 yr, and castration of 4-mo-old males caused a reduction in ER beta to levels seen in 1-yr-old males. Because ER beta is an antiproliferative receptor, its loss with age may predispose the aging gerbil to proliferative diseases of the prostate. © 2013 by the Society for the Study of Reproduction, Inc