341 research outputs found

    Proof of the principal type property for system O

    Get PDF
    We study a minimal extension of the Hindley/Milner system that supports overloading and polymorphic records. We also show that every typable term in this system has a principal type and give an algorithm to reconstruct that type. We give the proofs for termination, soundness and correctness for the constrained unification and the type reconstruction algorithm

    Type inference with constrained types

    Get PDF
    In this paper we present a general framework HM(X) for Hindley/Milner style type systems with constraints, analogous to the CLP(X) framework in constrained logic programming. We present sufficient conditions on the constraint domain X so that the principal types property carries over to HM(X). The conditions turn out to be fairly simple and natural. The usage of the aproach is demonstrated in instantion of parameter X with several known type disciplines. We consider extensible records, typeclasses, overloading and subtyping

    A Type-Directed, Dictionary-Passing Translation of Featherweight Generic Go

    Full text link
    Featherweight Generic Go (FGG) is a minimal core calculus modeling the essential features of the programming language Go. It includes support for overloaded methods, interface types, structural subtyping and generics. The most straightforward semantic description of the dynamic behavior of FGG programs is to resolve method calls based on runtime type information of the receiver. This article shows a different approach by defining a type-directed translation from FGG to an untyped lambda-calculus. The translation of an FGG program provides evidence for the availability of methods as additional dictionary parameters, similar to the dictionary-passing approach known from Haskell type classes. Then, method calls can be resolved by a simple lookup of the method definition in the dictionary. Every program in the image of the translation has the same dynamic semantics as its source FGG program. The proof of this result is based on a syntactic, step-indexed logical relation. The step-index ensures a well-founded definition of the relation in the presence of recursive interface types and recursive methods.Comment: Submitted to JFP. 58 pages, includes appendix with full proof

    A type-directed, dictionary-passing translation of method overloading and structural subtyping in Featherweight Generic Go

    Get PDF
    Featherweight Generic Go (FGG) is a minimal core calculus modeling the essential features of the programming language Go. It includes support for overloaded methods, interface types, structural subtyping, and generics. The most straightforward semantic description of the dynamic behavior of FGG programs is to resolve method calls based on runtime type information of the receiver. This article shows a different approach by defining a type-directed translation from FGG− to an untyped lambda-calculus. FGG− includes all features of FGG but type assertions. The translation of an FGG− program provides evidence for the availability of methods as additional dictionary parameters, similar to the dictionary-passing approach known from Haskell type classes. Then, method calls can be resolved by a simple lookup of the method definition in the dictionary. Every program in the image of the translation has the same dynamic semantics as its source FGG− program. The proof of this result is based on a syntactic, step-indexed logical relation. The step index ensures a well-founded definition of the relation in the presence of recursive interface types and recursive methods. Although being non-deterministic, the translation is coherent

    A second look at overloading

    Get PDF
    We study a minimal extension of the Hindley/Milner system that supports overloading and polymorphic records. We show that the type system is sound with respect to a standard untyped compositional semantics. We also show that every typable term in this system has a principal type and give an algorithm to reconstruct that type

    A second look at overloading

    Get PDF
    We study a minimal extension of the Hindley/Milner system that supports overloading and polymorphic records. We show that the type system is sound with respect to a standard untyped compositional semantics. We also show that every typable term in this system has a principal type and give an algorithm to reconstruct that type

    Automatic Roof Plane Detection and Analysis in Airborne Lidar Point Clouds for Solar Potential Assessment

    Get PDF
    A relative height threshold is defined to separate potential roof points from the point cloud, followed by a segmentation of these points into homogeneous areas fulfilling the defined constraints of roof planes. The normal vector of each laser point is an excellent feature to decompose the point cloud into segments describing planar patches. An object-based error assessment is performed to determine the accuracy of the presented classification. It results in 94.4% completeness and 88.4% correctness. Once all roof planes are detected in the 3D point cloud, solar potential analysis is performed for each point. Shadowing effects of nearby objects are taken into account by calculating the horizon of each point within the point cloud. Effects of cloud cover are also considered by using data from a nearby meteorological station. As a result the annual sum of the direct and diffuse radiation for each roof plane is derived. The presented method uses the full 3D information for both feature extraction and solar potential analysis, which offers a number of new applications in fields where natural processes are influenced by the incoming solar radiation (e.g., evapotranspiration, distribution of permafrost). The presented method detected fully automatically a subset of 809 out of 1,071 roof planes where the arithmetic mean of the annual incoming solar radiation is more than 700 kWh/m2

    Evapotranspiration and water use efficiency in relation to climate and canopy nitrogen in U.S. forests

    Get PDF
    Understanding relations among forest carbon (C) uptake and water use is critical for predicting forest-climate interactions. Although the basic properties of tree-water relations have long been known, our understanding of broader-scale patterns is limited by several factors including (1) incomplete understanding of drivers of change in coupled C and water fluxes and water use efficiency (WUE), (2) difficulty in reconciling WUE estimates obtained at different scales, and (3) uncertainty in how evapotranspiration (ET) and WUE vary with other important resources such as nitrogen (N). To address these issues, we examined ET, gross primary production (GPP), and WUE at 11 AmeriFlux sites across North America. Our analysis spanned leaf and ecosystem scales and included foliar δ13C, δ18O, and %N measurements; eddy covariance estimates of GPP and ET; and remotely sensed estimates of canopy %N. We used flux data to derive ecosystem WUE (WUEe) and foliar δ13C to infer intrinsic WUE. We found that GPP, ET, and WUEe scaled with canopy %N, even when environmental variables were considered, and discuss the implications of these relationships for forest-atmosphere-climate interactions. We observed opposing patterns of WUE at leaf and ecosystem scales and examined uncertainties to help explain these opposing patterns. Nevertheless, significant relationship between C isotope-derived ci/ca and GPP indicates that δ13C can be an effective predictor of forest GPP. Finally, we show that incorporating species functional traits—wood anatomy, hydraulic strategy, and foliar %N—into a conceptual model improved the interpretation of Δ13C and δ18O vis-à-vis leaf to canopy water-carbon fluxes

    Geodesics and the competition interface for the corner growth model

    Get PDF
    We study the directed last-passage percolation model on the planar square lattice with nearest-neighbor steps and general i.i.d. weights on the vertices, out- side of the class of exactly solvable models. Stationary cocycles are constructed for this percolation model from queueing fixed points. These cocycles serve as bound- ary conditions for stationary last-passage percolation, solve variational formulas that characterize limit shapes, and yield existence of Busemann functions in directions where the shape has some regularity. In a sequel to this paper the cocycles are used to prove results about semi-infinite geodesics and the competition interface

    Split-Cre Complementation Indicates Coincident Activity of Different Genes In Vivo

    Get PDF
    Cre/LoxP recombination is the gold standard for conditional gene regulation in mice in vivo. However, promoters driving the expression of Cre recombinase are often active in a wide range of cell types and therefore unsuited to target more specific subsets of cells. To overcome this limitation, we designed inactive “split-Cre” fragments that regain Cre activity when overlapping co-expression is controlled by two different promoters. Using transgenic mice and virus-mediated expression of split-Cre, we show that efficient reporter gene activation is achieved in vivo. In the brain of transgenic mice, we genetically defined a subgroup of glial progenitor cells in which the Plp1- and the Gfap-promoter are simultaneously active, giving rise to both astrocytes and NG2-positive glia. Similarly, a subset of interneurons was labelled after viral transfection using Gad67- and Cck1 promoters to express split-Cre. Thus, split-Cre mediated genomic recombination constitutes a powerful spatial and temporal coincidence detector for in vivo targeting
    • …
    corecore