Journal of Functional Programming
Công bố khoa học tiêu biểu
* Dữ liệu chỉ mang tính chất tham khảo
Sắp xếp:
Retrieving reusable software components by polymorphic typeAbstract Polymorphic types are labels classifying both (a ) defined components in a library and (b ) contexts of free variables in partially written programs. It is proposed to help programmers make better use of software libraries by providing a system that, given (b ), identifies candida... ... hiện toàn bộ
Journal of Functional Programming - Tập 1 Số 2 - Trang 191-211 - 1991
Deciding type isomorphisms in a type-assignment frameworkAbstract This 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 or... ... hiện toàn bộ
Journal of Functional Programming - Tập 3 Số 4 - Trang 485-525 - 1993
Using types as search keys in function librariesAbstract A method is proposed to search for an identifier in a functional program library by using its Hindley–Milner type as a key. This can be seen as an approximation of using the specification as a key. Functions that only differ in their argument order or currying are essentially the same, which is expressed by a congruence relation on types. Du... ... hiện toàn bộ
Journal of Functional Programming - Tập 1 Số 1 - Trang 71-89 - 1991
A paradigmatic object-oriented programming language: Design, static typing and semanticsAbstract To illuminate the fundamental concepts involved in object-oriented programming languages, we describe the design of TOOPL, a paradigmatic, statically-typed, functional, object-oriented programming language which supports classes, objects, methods, hidden instance variables, subtypes and inheritance. It has proven to be quite difficult to des... ... hiện toàn bộ
Journal of Functional Programming - Tập 4 Số 2 - Trang 127-206 - 1994
Simple type-theoretic foundations for object-oriented programmingAbstract We develop a formal, type-theoretic account of the basic mechanisms of object-oriented programming: encapsulation, message passing, subtyping and inheritance. By modelling object encapsulation in terms of existential types instead of the recursive records used in other recent studies, we obtain a substantial simplification both in the model of objects and i... ... hiện toàn bộ
Journal of Functional Programming - Tập 4 Số 2 - Trang 207-247 - 1994
A unifying type-theoretic framework for objectsAbstract We give a direct type-theoretic characterization of the basic mechanisms of object-oriented programming, including objects, methods, message passing, and subtyping, by introducing an explicit constructor for object types and suitable introduction, elimination, and equality rules. The resulting abstract framework provides a basis for justifying and comparing... ... hiện toàn bộ
Journal of Functional Programming - Tập 5 Số 4 - Trang 593-635 - 1995
The bologna optimal higher-order machineAbstract The Bologna Optimal Higher-order Machine (BOHM) is a prototype implementation of the core of a functional language based on (a variant of) Lamping's optimal graph reduction technique (Lamping, 1990; Gonthier et al. , 1992a; Asperti, 1994). The source language is a sugared λ-calculus enriched with booleans, integers, lists and basic... ... hiện toàn bộ
Journal of Functional Programming - Tập 6 Số 6 - Trang 763-810 - 1996
FUNCTIONAL PEARL Linear lambda calculus and PTIME-completenessWe give transparent proofs of the PTIME-completeness of two decision problems for terms in the λ-calculus. The first is a reproof of the theorem that type inference for the simply-typed λ-calculus is PTIME-complete. Our proof is interesting because it uses no more than the standard combinators Church knew of some 70 years ago, in which the terms are linear affine ... ... hiện toàn bộ
Journal of Functional Programming - Tập 14 Số 6 - Trang 623-633 - 2004
Tổng số: 8
- 1