Journal of Functional Programming

SCOPUS (1991-2023)SCIE-ISI

  1469-7653

  0956-7968

  Anh Quốc

Cơ quản chủ quản:  Cambridge University Press , CAMBRIDGE UNIV PRESS

Lĩnh vực:
Software

Các bài báo tiêu biểu

Simple type-theoretic foundations for object-oriented programming
Tập 4 Số 2 - Trang 207-247 - 1994
Benjamin C. Pierce, David N. Turner
AbstractWe 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ộ
A paradigmatic object-oriented programming language: Design, static typing and semantics
Tập 4 Số 2 - Trang 127-206 - 1994
Kim B. Bruce
AbstractTo 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ộ
Using types as search keys in function libraries
Tập 1 Số 1 - Trang 71-89 - 1991
Mikael Rittri
AbstractA 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ộ
The bologna optimal higher-order machine
Tập 6 Số 6 - Trang 763-810 - 1996
Andrea Asperti, Cecilia Giovannetti, Andrea Naletto
AbstractThe 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ộ
A unifying type-theoretic framework for objects
Tập 5 Số 4 - Trang 593-635 - 1995
Martin Hofmann, Benjamin C. Pierce
AbstractWe 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ộ
Retrieving reusable software components by polymorphic type
Tập 1 Số 2 - Trang 191-211 - 1991
Colin Runciman, Ian Toyn
AbstractPolymorphic 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ộ
FUNCTIONAL PEARL Linear lambda calculus and PTIME-completeness
Tập 14 Số 6 - Trang 623-633 - 2004
Harry G. Mairson
We 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ộ
Deciding type isomorphisms in a type-assignment framework
Tập 3 Số 4 - Trang 485-525 - 1993
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 or...... hiện toàn bộ