16 research outputs found

    An investigation of nondeterminism in functional programming languages

    Get PDF
    This thesis investigates nondeterminism in functional programming languages. To establish a precise understanding of nondeterministic language properties, Sondergaard and Sestoft's analysis and definitions of functional language properties are adopted as are the characterizations of weak and strong nondeterminism. This groundwork is followed by a denotational semantic description of a nondeterministic language (suggested by Sondergaard and Sestoft). In this manner, a precise characterization of the effects of strong nondeterminism is developed. Methods used to hide nondeterminism to in order to overcome or sidestep the problem of strong nondeterminism in pure functional languages are defined. These different techniques ensure that functional languages remain pure but also include some of the advantages of nondeterminism. Lastly, this discussion of nondeterminism is applied to the area of functional parallel language implementation to indicate that the related problem and the possible solutions are not purely academic. This application gives rise to an interesting discussion on optimization of list parallelism. This technique relies on the ability to decide when a bag may be used instead of a list

    R programming in phylogenetics and evolution

    Get PDF
    This dissertation addresses the application of the statistical computing language R in the study of evolution and diversification of plants. The topics included range from the worldwide historical biogeography of the cucurbit family and the phylogenetic composition of the Mediterranean Oxalis flora in central Chile to the interplay between population genetics and climatic niche evolution in four Horde- um clades in the Americas. In these studies, I drew on existing methods in R and on java and C programs that could be easily integrated with R. Whenever necessary, I created additional software available in four new R packages. R's features, e.g., intersystem-interfaces, extensibility, reproducibility and advanced graphical capability, proved well suited for evolutionary and phylogenetic research. My coauthors and I addressed the history of Cucurbitaceae, one of the most economically important families of plants, using a multi-gene phylogeny for 114 of the 115 genera and 25 per cent of the 960 species. Worldwide sampling was achieved by using specimens from 30 herbaria. Results reveal an Asian origin of Cucurbitaceae in the Late Cretaceous, followed by the repeated spread of lineages into the African, American and Australian continents via transoceanic long-distance dispersal (LDD). North American cucurbits stem from at least seven range expansions of Central and South American lineages; Madagascar was colonized 13 times, always from Africa; Australia was reached 12 times, apparently always from Southeast Asia. Overall, Cucurbitaceae underwent at least 43 successful LDD events over the past 60 Myr, which would translate into an average of seven LDDs every 10 Myr. These and similar findings from other angiosperms stress the need for an increased tapping of museum collections to achieve extensive geographical sampling in plant phylogenetics. The second study focused on the interplay of population demography with the evolution of ecological niches during or after speciation in Hordeum. While large populations maintain a high level of standing genetic diversity, gene ow and recombination buffers against fast alterations in ecological adaptation. Small populations harbor lower allele diversity but can more easily shift to new niches if they initially survive under changed conditions. Thus, large populations should be more conservative regarding niche changes in comparison to small populations. My coauthors and I used environmental niche modeling together with phylogenetic, phylogeographic and population genetic analyses to infer the correlation of population demography with changes in ecological niche dimensions in 12 diploid Hordeum species from the New World, forming four monophyletic groups. Our analyses found both shifts and conservatism in certain niche dimensions within and among clades. Speciation due to vicariance resulted in three species with no pronounced climate niche differences, while species originating due to long-distance dispersals or otherwise encountering genetic bottlenecks mostly revealed climate niche shifts. Niche convergence among clades indicates a niche-filling pattern during the last 2 Myr in South American Hordeum. We provide evidence that species that did not encounter population reductions mainly show ecoclimatic niche conservatism, while major niche shifts have occurred in species that have undergone population bottlenecks. Our analyses allow the conclusion that population demography influences adaptation and niche shifts or conservatism in South American Hordeum species. Finally, I studied the phylogenetic composition of Oxalis flora of Mediterranean zone of Chile by asking whether in such a species-rich clade xerophytic adaptations arose in parallel, at different times, or simultaneously. Answering this type of question has been a major concern of evolutionary biology over the past few years, with a growing consensus that lineages tend to be conservative in their vegetative traits and niche requirements. Combined nuclear and chloroplast DNA sequences for 112 species of Oxalidales (4900 aligned nucleotides) were used for a fossil-calibrated phylogeny that includes 43 of the 54 species of Chilean Oxalis, and species distribution models (SDMs) incorporating precipitation, temperature, and fog, and the phylogeny were used to reconstruct ancestral habitat preferences, relying on likelihood and Bayesian techniques. Since uneven collecting can reduce the power of SDMs, we compared 3 strategies to correct for collecting effort. Unexpectedly, the Oxalis flora of Chile consists of 7 distant lineages that originated at different times prior to the last Andean uplift pulse; some had features preadapting them to seasonally arid or xeric conditions. Models that incorporated fog and a `collecting activity surface' performed best and identified the Mediterranean zone as a hotspot of Oxalis species as well as lineage diversity because it harbors a mix of ancient and young groups, including insuficiently arid-adapted species. There is no evidence of rapid adaptive radiation

    Comparison of Haskell and F# Programming Languages for Enterprise Applications Development

    Get PDF
    Tato práce porovnává dva funkcionální jazyky Haskell a F#. Oba jazyky jsou analyzovány na základě kritérií, které by byly použity při výběru nejvhodnějšího jazyka pro vývoj podnikové aplikace. Práce také vysvětluje event sourcing a jeho implementaci v obou jazycích. Důvodem, proč je Haskell oproti F# lepší pro event sourcing je, že je referenčně transparentní. Dále práce vysvětluje, že je jednodušší psát frontend aplikace v F# ve srovnání s Haskellem, z důvodu toho, že F# není čistě funkcionální. V závěru se v práci dospěje k tomu, že ve většině případů je F# vhodnější pro vývoj podnikových aplikací.This thesis compares two functional languages Haskell and F#. Both languages are analyzed based on the criteria that would be used in order to choose the most suitable language for developing an enterprise application. It explains event sourcing and its implementation in both of the languages and why Haskell is better for event sourcing due to the fact it is referentially transparent. It explains how it is easier to write F# frontend applications compared to Haskell, due to its impurity. It concludes that it seems, that in most of the cases, F# is more suitable for enterprise application development

    Singular and Plural Functions for Functional Logic Programming

    Full text link
    Functional logic programming (FLP) languages use non-terminating and non-confluent constructor systems (CS's) as programs in order to define non-strict non-determi-nistic functions. Two semantic alternatives have been usually considered for parameter passing with this kind of functions: call-time choice and run-time choice. While the former is the standard choice of modern FLP languages, the latter lacks some properties---mainly compositionality---that have prevented its use in practical FLP systems. Traditionally it has been considered that call-time choice induces a singular denotational semantics, while run-time choice induces a plural semantics. We have discovered that this latter identification is wrong when pattern matching is involved, and thus we propose two novel compositional plural semantics for CS's that are different from run-time choice. We study the basic properties of our plural semantics---compositionality, polarity, monotonicity for substitutions, and a restricted form of the bubbling property for constructor systems---and the relation between them and to previous proposals, concluding that these semantics form a hierarchy in the sense of set inclusion of the set of computed values. We have also identified a class of programs characterized by a syntactic criterion for which the proposed plural semantics behave the same, and a program transformation that can be used to simulate one of them by term rewriting. At the practical level, we study how to use the expressive capabilities of these semantics for improving the declarative flavour of programs. We also propose a language which combines call-time choice and our plural semantics, that we have implemented in Maude. The resulting interpreter is employed to test several significant examples showing the capabilities of the combined semantics. To appear in Theory and Practice of Logic Programming (TPLP)Comment: 53 pages, 5 figure

    Verification of floating point programs

    Get PDF
    In this thesis we present an approach to automated verification of floating point programs. Existing techniques for automated generation of correctness theorems are extended to produce proof obligations for accuracy guarantees and absence of floating point exceptions. A prototype automated real number theorem prover is presented, demonstrating a novel application of function interval arithmetic in the context of subdivision-based numerical theorem proving. The prototype is tested on correctness theorems for two simple yet nontrivial programs, proving exception freedom and tight accuracy guarantees automatically. The prover demonstrates a novel application of function interval arithmetic in the context of subdivision-based numerical theorem proving. The experiments show how function intervals can be used to combat the information loss problems that limit the applicability of traditional interval arithmetic in the context of hard real number theorem proving.EThOS - Electronic Theses Online ServiceGBUnited Kingdo

    Classifying and Identifying Negative Poisson's Ratio. An Examination of the Auxeticity in Zeolitic Materials

    Get PDF
    The aim of this thesis is to advance the understanding of auxeticity. This is achieved by developing a more accurate way to classify materials exhibiting the property, by carrying out high-throughput atomistic simulations of framework materials based on the SiO2 and GeO2 chemistries, and by exploring mechanistic models and possible correlations with directional density variations. At first this thesis outlines the development of a typographic system for negative Poisson's ratio. Materials are given classifications based on the degree to which auxetic behaviour is observed along specific axes of deformation and the frequency of occurrence of these axes. A systematic study is then performed on the elastic properties of zeolitic silicon dioxide and germanium dioxide structures. The typology is applied to these materials to better understand their auxetic behaviour. The JST framework is identified as isotropically auxetic, the first crystal to exhibit such general negative Poisson's ratios. An exploration into the effects of local density variations between parallel planes on Poisson's ratio is undertaken, but no clear correlation is found. Finally, software for systematically creating and evaluating two dimensional networks of triangles is produced. The geometrical analysis of these rotating structures predicts a high level of auxeticity and further work into three dimensional equivalents is recommended
    corecore