Utilize este identificador para referenciar este registo: https://hdl.handle.net/1822/36548

TítuloA type-level approach to component prototyping
Autor(es)Barbosa, L. S.
Cunha, Jácome Miguel Costa
Visser, Joost
Palavras-chaveHaskell
Type-level programming
Mealy machine
Coalgebra
Combinator library
Data2007
Resumo(s)Algebraic theories for modeling components and their interactions offer abstraction over the specifics of component states and interfaces. For example, such theories deal with forms of sequential composition of two components in a manner independent of the type of data stored in the states of the components, and independent of the number and types of methods offered by the interfaces of the combinators. General purpose programming languages do not offer this level of abstraction, which implies that a gap must be bridged when turning component models into implementations. In this paper, we present an approach to prototyping of component-based systems that employs so-called type-level programming (or compile-time computation) to bridge the gap between abstract component models and their type-safe implementation in a functional programming language. We demonstrate our approach using Barbosa’s model of components as generalized Mealy machines. For this model, we develop a combinator library in Haskell, which uses typelevel programming with two effects. Firstly, wiring between components is computed during compilation. Secondly, the well-formedness of the component compositions is guarded byHaskell’s strong type system.
TipoArtigo em ata de conferência
URIhttps://hdl.handle.net/1822/36548
ISBN978-1-59593-720-9
DOI10.1145/1294917.1294920
Arbitragem científicayes
AcessoAcesso aberto
Aparece nas coleções:HASLab - Artigos em atas de conferências internacionais (texto completo)

Ficheiros deste registo:
Ficheiro TamanhoFormato 
146.pdf287,61 kBAdobe PDFVer/Abrir

Partilhe no FacebookPartilhe no TwitterPartilhe no DeliciousPartilhe no LinkedInPartilhe no DiggAdicionar ao Google BookmarksPartilhe no MySpacePartilhe no Orkut
Exporte no formato BibTex mendeley Exporte no formato Endnote Adicione ao seu ORCID