OBJ-3 is a functional programming language with first-order function types. It has two special features: overloading of function symbols and the possibility to define an ordering on the sorts. This ordering is induced by set inclusion on the carrier sets. Therefore, we speak of set inclusion subtyping. The algebraic semantics of OBJ-3 is based on the theory of order-sorted algebras. OBJ-3 also allows parameterized programming. However, the concepts of higher-order functions and parametric polymorphism are only emulated by parameters of OBJ-3 modules. In this thesis, we show how to extend OBJ-3 by parametric polymorphism in an elegant way. We call this extended language OBJ-P. In the second part of the thesis, we introduce a type inference s...
Modem functional languages feature polymorphic types whose data structures must be fixed, though the...
Many computer programs have the property that they work correctly on a variety of types of input; s...
Higher-order abstract syntax is a simple technique for implementing languages with functional progra...
This paper describes the modular polymorphic functional programming language OBJ--P. OBJ--P is an e...
This paper describes the modular polymorphic functional programming language OBJ-P. OBJ-P is an exte...
Our objective is to understand the notion of type in programming languages, present a model of typed...
Higher-order abstract syntax is a simple technique for implementing languages with functional progra...
International audiencePolymorphic variants are a useful feature of the OCaml language whose current ...
Abstractobj is a declarative language, with mathematical semantics given by order-sorted equational ...
This paper describes structural polymorphism, a new form of type polymorphism appropriate to functio...
Higher-order abstract syntax is a simple technique for implementing languages with functional progra...
System F is a well-known typed λ-calculus with polymorphic types, which provides a basis for polymor...
Type inference is a key component of modern statically typed programming languages. It allows progra...
Many functions have to be written over and over again for different datatypes, either because dataty...
Higher-order abstract syntax is a simple technique for implementing languages with functional progra...
Modem functional languages feature polymorphic types whose data structures must be fixed, though the...
Many computer programs have the property that they work correctly on a variety of types of input; s...
Higher-order abstract syntax is a simple technique for implementing languages with functional progra...
This paper describes the modular polymorphic functional programming language OBJ--P. OBJ--P is an e...
This paper describes the modular polymorphic functional programming language OBJ-P. OBJ-P is an exte...
Our objective is to understand the notion of type in programming languages, present a model of typed...
Higher-order abstract syntax is a simple technique for implementing languages with functional progra...
International audiencePolymorphic variants are a useful feature of the OCaml language whose current ...
Abstractobj is a declarative language, with mathematical semantics given by order-sorted equational ...
This paper describes structural polymorphism, a new form of type polymorphism appropriate to functio...
Higher-order abstract syntax is a simple technique for implementing languages with functional progra...
System F is a well-known typed λ-calculus with polymorphic types, which provides a basis for polymor...
Type inference is a key component of modern statically typed programming languages. It allows progra...
Many functions have to be written over and over again for different datatypes, either because dataty...
Higher-order abstract syntax is a simple technique for implementing languages with functional progra...
Modem functional languages feature polymorphic types whose data structures must be fixed, though the...
Many computer programs have the property that they work correctly on a variety of types of input; s...
Higher-order abstract syntax is a simple technique for implementing languages with functional progra...