| Johan Nordlander and Magnus Carlsson. Reactive objects in a functional language: an escape from the evil "I". In Proceedings of the Third Haskell Workshop, Amsterdam, The Netherlands, June 1997. |
....us to omit type annotations for the visitor pattern, the analogue of pattern matching in languages without sum types. 1 Introduction Many modern programming languages are based on type systems which combine a notion of objects and subtyping with parametric polymorphism [Str91, Mey92, CDG 92, NC97, OW97, PT98, BOSW98] A popular basis for such type systems is F# , the second order lambda calculus with subtyping. While F# is an excellent basis for explaining the abstract type structure of programs, it is less suitable as a kernel language for concrete source programs, because of the ....
Johan Nordlander and Magnus Carlsson. Reactive objects in a functional language - an escape from the evil I. In Proceedings of the Haskell Workshop, June 1997.
....us to omit type annotations for the visitor pattern, the analogue of pattern matching in languages without sum types. 1 Introduction Many modern programming languages are based on type systems which combine a notion of objects and subtyping with parametric polymorphism [Str91, Mey92, CDG 92, NC97, OW97, PT98, BOSW98] A popular basis for such type systems is F# , the second order lambda calculus with subtyping. While F# is an excellent basis for explaining the abstract type structure of programs, it is less suitable as a kernel language for concrete source programs, because of the ....
Johan Nordlander and Magnus Carlsson. Reactive objects in a functional language - an escape from the evil I. In Proceedings of the Haskell Workshop, June 1997.
....us to omit type annotations for the visitor pattern, the analogue of pattern matching in languages without sum types. 1 Introduction Many modern programming languages are based on type systems which combine a notion of objects and subtyping with parametric polymorphism [Str91, Mey92, CDG 92, NC97, OW97, PT98, BOSW98] A popular basis for such type systems is F# , the second order lambda calculus with subtyping. While F# is an excellent basis for explaining the abstract type structure of programs, it is less suitable as a kernel language for concrete source programs, because of the ....
Johan Nordlander and Magnus Carlsson. Reactive objects in a functional language - an escape from the evil I. In Proceedings of the Haskell Workshop, June 1997.
No context found.
J. Nordlander and M. Carlsson. Reactive objects in a functional language -- an escape from the evil, 1997.
....whose semantics, in turn, is given by a non deterministic transition system. This is all done in such a way that the purely functional semantics of the core is preserved. However, an explanation of the dynamic aspects of O Haskell is outside the scope of this paper; the reader is referred to [Nor99, NC97] for more information on the issue. 4 The Tk environment We are now ready to illustrate and concretize the power of polymorphic subtyping in O Haskell, by showing the central parts of a statically typed interface to the graphical toolkit Tk [Ous94] Tk is a particularly suitable candidate for ....
Johan Nordlander and Magnus Carlsson. Reactive Objects in a Functional Language { An escape from the evil \I". In Proceedings of the Haskell Workshop, Amsterdam, Holland, 1997.
....record and variant subtyping, supported by a powerful partial type inference algorithm. This paper gives a practical as well as formal overview of this last issue the O Haskell type system. The other points above, reactivity and the monadic object semantics, are fully covered elsewhere [Nor99, NC97] The reader is implicitly referred to these sources wherever this paper falls short in its presentation of O Haskell in general. As an illustration of the merits of the polymorphic subtyping system of O Haskell, we will use a real, implemented program library as our main example: a statically ....
....manner. 3 The dynamics of O Haskell In this section we will briefly summarize the new dynamic concepts that O Haskell introduces. This is for the purpose of the subsequent presentation only; for a full coverage of the O Haskell dynamics we refer the reader to more appropriate sources [Nor99, NC97] The central dynamic notion in O Haskell is the state encapsulating, concurrently executing reactive object. Objects are instantiated from a template construct, which defines the initial state of an object together with a communication interface. A communication interface can be a value of any ....
Johan Nordlander and Magnus Carlsson. Reactive Objects in a Functional Language -- An escape from the evil "I". In Proceedings of the Haskell Workshop, Amsterdam, Holland, 1997.
....of the form ff fi as equality constraints, and resorts to unification in these cases. When all such constraints are removed 2 The latter axiom expresses that a value of type Action can be promoted to the monad of commands that execute in a local state ff and return values of type ( See [NC97] for more information on this monad. 3 Note that this statement does not say anything about the satisfiability of the constraints that are generally contained in oe. from a constraint set, computation of least upper bounds or greatest lower bounds for the remaining variables becomes ....
Johan Nordlander and Magnus Carlsson. Reactive Objects in a Functional Language -- An escape from the evil "I". In Proceedings of the Haskell Workshop, Amsterdam, Holland, 1997.
....which eliminates the need for explicit type annotations in most situations that arise in practice. O Haskell also contains a number of minor, mostly syntactic extensions to Haskell, but these will be introduced whenever called for, as we proceed through the code examples. The reader is referred to [NC97] and [Nor98] for an indepth explanation of the novel features of the language. 3.1 Some basic definitions As an introductory example of the subtyping system of O Haskell, let us define a small hierarchy of struct types that will form the basis of the object interfaces to follow. type Link = Int ....
Johan Nordlander and Magnus Carlsson. Reactive Objects in a Functional Language -- An escape from the evil "I". In Proceedings of the Haskell Workshop, Amsterdam, Holland, 1997.
No context found.
Johan Nordlander and Magnus Carlsson. Reactive objects in a functional language: an escape from the evil "I". In Proceedings of the Third Haskell Workshop, Amsterdam, The Netherlands, June 1997.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC