A direct algorithm for type inference in the rank-2 fragment of the second-order λ-calculus

Author(s):  
A. J. Kfoury ◽  
J. B. Wells
2014 ◽  
Vol 10 ◽  
pp. 114-115
Author(s):  
Yu.V. Yulmukhametova

The various invariant submodels of a rank 2 allowing the operator of rotation for the equations of gas dynamics with the arbitrariest equation of state are considered. It is shown that such submodels come down to an ordinary differential equation of the second order.


2000 ◽  
Vol 10 (4) ◽  
pp. 327-351 ◽  
Author(s):  
RALF HINZE

A trie is a search tree scheme that employs the structure of search keys to organize information. Tries were originally devised as a means to represent a collection of records indexed by strings over a fixed alphabet. Based on work by C. P. Wadsworth and others, R. H. Connelly and F. L. Morris generalized the concept to permit indexing by elements built according to an arbitrary signature. Here we go one step further, and define tries and operations on tries generically for arbitrary datatypes of first-order kind, including parameterized and nested datatypes. The derivation employs techniques recently developed in the context of polytypic programming and can be regarded as a comprehensive case study in this new programming paradigm. It is well known that for the implementation of generalized tries, nested datatypes and polymorphic recursion are needed. Implementing tries for first-order kinded datatypes places even greater demands on the type system: it requires rank-2 type signatures and second-order nested datatypes. Despite these requirements, the definition of tries is surprisingly simple, which is mostly due to the framework of polytypic programming.


1993 ◽  
Vol 3 (4) ◽  
pp. 485-525 ◽  
Author(s):  
Roberto Di Cosmo

AbstractThis paper provides a formal treatment of isomorphic types for languages equipped with an ML style polymorphic type inference mechanism. The results obtained make less justified the commonplace feeling that (the core of) ML is a subset of second order λ-calculus: we can provide an isomorphism of types that holds in the core ML language, but not in second order λ-calculus. This new isomorphism allows to provide a complete (and decidable) axiomatization of all the types isomorphic in ML style languages, a relevant issue for thetype as specificationsparadigm in library searches. This work is a very extended version of Di Cosmo (1992): we provide both a thorough theoretical treatment of the topic and describe a practical implementation of a library search system so that the paper can be used as a reference both by those interested in the formal theory of ML style languages, and by those simply concerned with implementation issues. The new isomorphism can also be used to extend the usual ML type-inference algorithm, as suggested by Di Cosmo (1992). Building on that proposal, we introduce a better type-inference algorithm that behaves well in the presence of non-functional primitives like references and exceptions. The algorithm described here has been implemented easily as a variation to the Caml-Light 0.4 system.


1999 ◽  
Vol 9 (4) ◽  
pp. 507-522 ◽  
Author(s):  
NORMAN DANNER ◽  
DANIEL LEIVANT

Natural restrictions on the syntax of the second-order (i.e., polymorphic) lambda calculus are of interest for programming language theory. One of the authors showed in Leivant (1991) that when type abstraction in that calculus is stratified into levels, the definable numeric functions are precisely the super-elementary functions (level [Escr ]4 in the Grzegorczyk Hierarchy). We define here a second-order lambda calculus in which type abstraction is stratified to levels up to ωω, an ordinal that permits highly uniform (and finite) type inference rules. Referring to this system, we show that the numeric functions definable in the calculus using ranks < ω[lscr ] are precisely Grzegorczyk's class [Escr ][lscr ]+3 ([lscr ] [ges ] 1). This generalizes Leivant (1991), where this is proved for [lscr ] = 1. Thus, the numeric functions definable in our calculus are precisely the primitive recursive functions.


Author(s):  
W. L. Bell

Disappearance voltages for second order reflections can be determined experimentally in a variety of ways. The more subjective methods, such as Kikuchi line disappearance and bend contour imaging, involve comparing a series of diffraction patterns or micrographs taken at intervals throughout the disappearance range and selecting that voltage which gives the strongest disappearance effect. The estimated accuracies of these methods are both to within 10 kV, or about 2-4%, of the true disappearance voltage, which is quite sufficient for using these voltages in further calculations. However, it is the necessity of determining this information by comparisons of exposed plates rather than while operating the microscope that detracts from the immediate usefulness of these methods if there is reason to perform experiments at an unknown disappearance voltage.The convergent beam technique for determining the disappearance voltage has been found to be a highly objective method when it is applicable, i.e. when reasonable crystal perfection exists and an area of uniform thickness can be found. The criterion for determining this voltage is that the central maximum disappear from the rocking curve for the second order spot.


Sign in / Sign up

Export Citation Format

Share Document