3,833 research outputs found

    The First Weeks of June

    Get PDF
    Lex Runciman examines learning, life, and community following the death of a former student

    FUNCTIONAL PEARL : lazy wheel sieves and spirals of primes

    Get PDF
    The popular method of enumerating the primes is the Sieve of Eratosthenes. It can be programmed very neatly in a lazy functional language, but runs rather slowly. A little-known alternative method is the Wheel Sieve, originally formulated as a fast imperative algorithm for obtaining all primes up to a given limit, assuming destructive access to a bit-array. This article describes functional variants of the wheel sieve that enumerate all primes as a lazy list

    Inductive benchmarking for purely functional data structures

    Get PDF
    Every designer of a new data structure wants to know how well it performs in comparison with others. But finding, coding and testing applications as benchmarks can be tedious and time-consuming. Besides, how a benchmark uses a data structure may considerably affect its apparent efficiency, so the choice of applications may bias the results. We address these problems by developing a tool for inductive benchmarking. This tool, Auburn, can generate benchmarks across a wide distribution of uses. We precisely define 'the use of a data structure', upon which we build the core algorithms of Auburn: how to generate a benchmark from a description of use, and how to extract a description of use from an application. We then apply inductive classification techniques to obtain decision trees for the choice between competing data structures. We test Auburn by benchmarking several implementations of three common data structures: queues, random-access lists and heaps. These and other results show Auburn to be a useful and accurate tool, but they also reveal some limitations of the approach

    Why Do That?

    Get PDF
    This essay offers one poet\u27s view on why he chooses to write poetry

    Tracing and Debugging of Lazy Functional Programs - A Comparative Evaluation of Three Systems

    Get PDF
    In this paper we compare three systems for tracing and debugging Haskell programs: Freja, the Redex Trail System and Hood. We identify the similarities and differences of these systems and we evaluate their usefulness in practice by applying them to a number of small to medium programs in which errors had deliberately been introduced

    Does relative deprivation induce migration?: evidence from Sub-Saharan Africa

    Get PDF
    This analysis revisits the decades-old relative deprivation theory of migration. In contrast to the traditional view that migration is driven by absolute income maximization, we test whether relative deprivation induces migration in the context of sub-Saharan Africa. Taking advantage of the internationally comparable longitudinal data from integrated household and agriculture surveys from Tanzania, Ethiopia, Malawi, Nigeria, and Uganda, we use panel fixed effects to estimate the effects of relative deprivation on migration decisions. Using per capita consumption expenditure and multidimensional wealth index as well-being measures, we find that a household’s migration decision is based not only on its absolute well-being level but also on the relative position of the household in the well-being distribution of the community in which it resides. We also discover that the effect of relative deprivation on migration is amplified in rural, agricultural, and male-headed households. Results are robust to alternative specifications including the use of Hausman Taylor Instrumental Variable (HTIV) estimator and pooled data across the five countries. Results confirm that the “migration-relative deprivation” relationship also holds in the context of sub-Saharan Africa. We argue that policies designed to check rural–urban migration through rural transformation and poverty reduction programs should use caution because such programs can increase economic inequality, which further increases migration flow

    Multi-cultural visualization : how functional programming can enrich visualization (and vice versa)

    Get PDF
    The past two decades have seen visualization flourish as a research field in its own right, with advances on the computational challenges of faster algorithms, new techniques for datasets too large for in-core processing, and advances in understanding the perceptual and cognitive processes recruited by visualization systems, and through this, how to improve the representation of data. However, progress within visualization has sometimes proceeded in parallel with that in other branches of computer science, and there is a danger that when novel solutions ossify into `accepted practice' the field can easily overlook significant advances elsewhere in the community. In this paper we describe recent advances in the design and implementation of pure functional programming languages that, significantly, contain important insights into questions raised by the recent NIH/NSF report on Visualization Challenges. We argue and demonstrate that modern functional languages combine high-level mathematically-based specifications of visualization techniques, concise implementation of algorithms through fine-grained composition, support for writing correct programs through strong type checking, and a different kind of modularity inherent in the abstractive power of these languages. And to cap it off, we have initial evidence that in some cases functional implementations are faster than their imperative counterparts

    The role of incident reporting in continuous quality improvement in the intensive care setting

    Get PDF
    Publisher's copy made available with the permission of the publisherU. Beckman, W.B. Runcimanhttp://www.aaic.net.au/Article.asp?D=199606

    Space shuttle: Static stability characteristics and control surface effectiveness of the Boeing .00435 scale model space shuttle booster H-32

    Get PDF
    Experimental aerodynamic investigations were made in the Grumman 36-inch hypersonic wind tunnel on a .00435 scale model of the H-32 reusable space shuttle booster. The objectives of the test were to determine the static stability characteristics and control surface effectiveness at hypersonic speeds. Data were taken at M = 8.12 over a range of angles of attack between -5 and 85 deg at beta = 0 deg and over a range of side slip angles between -10 and 10 deg at alpha = 0 and 70 deg. Six component balance data and base-cavity pressure data were recorded

    Fine-grained visualization pipelines and lazy functional languages

    Get PDF
    The pipeline model in visualization has evolved from a conceptual model of data processing into a widely used architecture for implementing visualization systems. In the process, a number of capabilities have been introduced, including streaming of data in chunks, distributed pipelines, and demand-driven processing. Visualization systems have invariably built on stateful programming technologies, and these capabilities have had to be implemented explicitly within the lower layers of a complex hierarchy of services. The good news for developers is that applications built on top of this hierarchy can access these capabilities without concern for how they are implemented. The bad news is that by freezing capabilities into low-level services expressive power and flexibility is lost. In this paper we express visualization systems in a programming language that more naturally supports this kind of processing model. Lazy functional languages support fine-grained demand-driven processing, a natural form of streaming, and pipeline-like function composition for assembling applications. The technology thus appears well suited to visualization applications. Using surface extraction algorithms as illustrative examples, and the lazy functional language Haskell, we argue the benefits of clear and concise expression combined with fine-grained, demand-driven computation. Just as visualization provides insight into data, functional abstraction provides new insight into visualization
    corecore