88 research outputs found

    Projection Factorisations in Partial Evaluation

    Get PDF
    Partial evaluation is becoming ever more promising as a programming tool. Early partial evaluators depended over much on the source program being written in a particular style, and needed certain ad hoc optimisations to produce good results. The practice of partial evaluation is now fairly well developed but the theoretical underpinnings are not equally well understood. A partial evaluator takes a program, together with some of the input to the program, and produces a new program. This new, or residual, program is an optimised version of the old, having taken the input data into account. Work undertaken at DIKU in Copenhagen has shown the importance of prior analysis of the program. This binding-time analysis discovers which values within the program may bo computed during partial evaluation-called static values and which values may not the dynamic values. In this thesis we propose using domain projections in binding-time analysis. This allows a greater level of data separation than before because values are no longer treated atomically. In particular, we are able to pinpoint static values within data structures containing both static and dynamic parts. An interesting consequence of using domain projections is that we are able to demonstrate an intimate relationship between binding-time analysis and strictness analysis. Dependent sum and product are familiar from constructive type theory. We give a less familiar domain-theoretic definition and show how projections determine particular dependent sums. The practical application of this result is to generate residual functions whose types depend on the static values from which they wore produced. Certain optimising techniques, such as tag removal and arity raising, arise as a direct, consequence. We extend the use of projections to polymorphic programs, giving a practical application of developments in the theory of polymorphism. Polymorphic functions are regarded as natural transformations between appropriate functors. This leads to three benefits: polymorphic functions are analysed once and the result reused; the static input to polymorphic functions is described by polymorphic projections, which reduces the search space of the analysis; and polymorphic functions are specialised to polymorphic values, leading to polymorphic residual functions

    Upregulation of Trem2 expression occurs exclusively on microglial contact with plaques

    Get PDF
    Using spatial cell-type-enriched transcriptomics, we compare plaque-induced gene (PIG) expression in microglia touching plaques, neighboring plaques, and far from plaques in 18-month-old APPNLF/NLF knock-in mice with and without the Alzheimer’s disease risk mutation Trem2R47H/R47H. We report that, in AppNLF/NLF mice, expression of 35/55 PIGs, is exclusively upregulated in microglia that are touching plaques. In 7 PIGs including Trem2 this upregulation is prevented by the Trem2R47H/R47H mutation. Unlike in young mice, knockin of the Trem2R47H/R47H mutation does not significantly decrease the Trem2 expression but decreases protein levels by 20% in the absence of plaques. On plaques, despite the mutation preventing increased gene expression, TREM2 protein levels increased by 1.6-fold (compared to 3-fold with Trem2WT/WT) and microglial density increased 20-fold compared to 30-fold. Hence microglia must touch plaques before Trem2 gene expression is increased but small changes in protein expression can increase microglia density without a change in gene expression

    Plaque contact and unimpaired Trem2 is required for the microglial response to amyloid pathology

    Get PDF
    Using spatial cell-type-enriched transcriptomics, we compare plaque-induced gene (PIG) expression in microglia-touching plaques, neighboring plaques, and far from plaques in an aged Alzheimer’s mouse model with late plaque development. In 18-month-old APPNL-F/NL-F knockin mice, with and without the Alzheimer’s disease risk mutation Trem2R47H/R47H, we report that expression of 38/55 PIGs have plaque-induced microglial upregulation, with a subset only upregulating in microglia directly contacting plaques. For seven PIGs, including Trem2, this upregulation is prevented in APPNL-F/NL-FTrem2R47H/R47H mice. These TREM2-dependent genes are all involved in phagocytic and degradative processes that we show correspond to a decrease in phagocytic markers and an increase in the density of small plaques in Trem2-mutated mice. Furthermore, despite the R47H mutation preventing increased Trem2 gene expression, TREM2 protein levels and microglial density are still marginally increased on plaques. Hence, both microglial contact with plaques and functioning TREM2 are necessary for microglia to respond appropriately to amyloid patholog

    Progesterone receptor modulates ERα action in breast cancer.

    Get PDF
    Progesterone receptor (PR) expression is used as a biomarker of oestrogen receptor-α (ERα) function and breast cancer prognosis. Here we show that PR is not merely an ERα-induced gene target, but is also an ERα-associated protein that modulates its behaviour. In the presence of agonist ligands, PR associates with ERα to direct ERα chromatin binding events within breast cancer cells, resulting in a unique gene expression programme that is associated with good clinical outcome. Progesterone inhibited oestrogen-mediated growth of ERα(+) cell line xenografts and primary ERα(+) breast tumour explants, and had increased anti-proliferative effects when coupled with an ERα antagonist. Copy number loss of PGR, the gene coding for PR, is a common feature in ERα(+) breast cancers, explaining lower PR levels in a subset of cases. Our findings indicate that PR functions as a molecular rheostat to control ERα chromatin binding and transcriptional activity, which has important implications for prognosis and therapeutic interventions.We would like to acknowledge the support of the University of Cambridge, Cancer Research UK and Hutchison Whampoa Limited. Research reported in this manuscript was supported by the National Cancer Institute of the National Institutes of Health under award number 5P30CA142543 (to UT Southwestern) and Department of Defense grants W81XWH-12-1-0288-03 (GVR). W.D.T. is supported by grants from the National Health and Medical Research Council of Australia (ID 1008349; ID 1084416) and Cancer Australia (ID 627229) T.E.H held a Fellowship Award from the US Department of Defense Breast Cancer Research Program (BCRP; #W81XWH-11-1-0592) and currently is supported by a Florey Fellowship from the Royal Adelaide Hospital Research Foundation. J.S.C is supported by an ERC starting grant and an EMBO Young investigator award.This is the accepted manuscript. The final version is available at www.nature.com/nature/journal/v523/n7560/full/nature14583.htm

    A Natural Semantics for Lazy Evaluation

    No full text
    We define an operational semantics for lazy evaluation which provides an accurate model for sharing. The only computational structure we introduce is a set of bindings which corresponds closely to a heap. The semantics is set at a considerably higher level of abstraction than operational semantics for particular abstract machines, so is more suitable for a variety of proofs. Furthermore, because a heap is explicitly modelled, the semantics provides a suitable framework for studies about space behaviour of terms under lazy evaluation

    Galois

    No full text

    Elementary Microarchitecture Algebra

    No full text
    We describe a set of remarkably simple algebraic laws governing microarchitectural components. We apply these laws to incrementally transform a pipeline containing forwarding, branch speculation and hazard detection so that all pipeline stages and forwarding logic are removed

    Lazy Imperative Programming

    No full text
    In this paper we argue for the importance of lazy state, that is, sequences of imperative (destructive) actions in which the actions are delayed until their results are required. This enables state-based computations to take advantage of the control power of lazy evaluation. We provide some examples of its use, and describe an implementation within Glasgow Haskell. 1 Introduction There has long been a tension between functional programming languages and their more traditional imperative counterparts. On the one hand, functional languages are commonly more expressive and easier to reason about than imperative languages, but on the other hand, certain algorithms and interactions seem to rely fundamentally on state-based computation. It is clearly worth attempting to combine the strengths of each. Some languages like Scheme and ML have incorporated imperative actions as side effects. This approach only makes sense in a call-by-value language where the order of evaluation is statically de..

    Structuring Depth-First Search Algorithms in Haskell

    No full text
    Depth-first search is the key to a wide variety of graph algorithms. In this paper we express depth-first search in a lazy functional language, obtaining a linear-time implementation. Unlike traditional imperative presentations, we use the structuring methods of functional languages to construct algorithms from individual reusable components. This style of algorithm construction turns out to be quite amenable to formal proof, which we exemplify through a calculationalstyle proof of a far from obvious strongly-connected components algorithm. Classifications: Computing Paradigms (functional programming) ; Environments, Implementations, and Experience (programming, graph algorithms). 1 Introduction The importance of depth-first search (DFS) for graph algorithms was established twenty years ago by Tarjan (1972) and Hopcroft and Tarjan (1973) in their seminal work. They demonstrated how depth-first search could be used to construct a variety of efficient graph algorithms. In practice, this..
    • …
    corecore