Filters








71 Hits in 3.7 sec

Mixin Composition Synthesis based on Intersection Types [article]

Jan Bessai, Tzu-Chun Chen, Andrej Dudenhefner, Boris Düdder, Ugo de'Liguoro, Jakob Rehof
2017 arXiv   pre-print
We present a method for synthesizing compositions of mixins using type inhabitation in intersection types.  ...  This relation is used to prove soundness and partial completeness of the translation with respect to mixin composition synthesis.  ...  This theory is based on the λ-calculus with records and record merge ⊕ typed by intersection types with records and +.  ... 
arXiv:1712.06906v1 fatcat:5br4e3gkcrglzdkkrgrkzm7tam

Mixin Composition Synthesis Based on Intersection Types *

Jan Bessai, Andrej Dudenhefner, Boris Düdder, Tzu-Chun Chen, Ugo De'liguoro, Jakob Rehof
unpublished
We present a method for synthesizing compositions of mixins using type inhabitation in intersection types.  ...  This relation is used to prove soundness and partial completeness of the translation with respect to mixin composition synthesis.  ...  Here, we focus on the synthesis of mixin compositions.  ... 
fatcat:ohfohz33dnbq3o2k3xq7zv5n44

Typing Classes and Mixins with Intersection Types

Jan Bessai, Boris Düdder, Andrej Dudenhefner, Tzu-Chun Chen, Ugo de'Liguoro
2015 Electronic Proceedings in Theoretical Computer Science  
We then adapt mixin construct and composition to Java and C#, relying solely on existing features in such a way that the resulting code remains typable in the respective type systems.  ...  We exhibit some example code, and study its typings in the intersection type system via interpretation into the lambda-calculus with records we have proposed.  ...  Here we focus on object composition based on mixins, a study initiated in [7, 8] and based on the recursive record model and F-bounded polymorphic types [10, 12] .  ... 
doi:10.4204/eptcs.177.7 fatcat:txdvaaxilvebdc6f7k6lh22zqm

Implementing layered designs with mixin layers [chapter]

Yannis Smaragdakis, Don Batory
1998 Lecture Notes in Computer Science  
Mixin layers are a technique for implementing layered object-oriented designs (e.g., collaboration-based designs).  ...  We describe mixin layers from a programming language viewpoint, discuss checking the consistency of a mixin layer composition, and analyze the language support issues involved.  ...  Work on composition validation raises interesting questions on how type systems can accommodate such checking.  ... 
doi:10.1007/bfb0054107 fatcat:7nrltvqs7fexnhb2c7a2ic2ppm

A tale of intersection types

Viviana Bono, Mariangiola Dezani-Ciancaglini
2020 Proceedings of the 35th Annual ACM/IEEE Symposium on Logic in Computer Science  
Intersection types have come a long way since their introduction in the Seventies.  ...  This paper is a light overview of intersection types and some of their applications. CCS Concepts: • Theory of computation → Type theory.  ...  Acknowledgments Mariangiola could never imagine when writing with Mario Coppo their first paper on intersection types that it would inspire so many works related to this topic.  ... 
doi:10.1145/3373718.3394733 dblp:conf/lics/BonoD20 fatcat:wtxau4yu4nbolcm4tpdnuimb6m

Combinatory Logic Synthesizer [chapter]

Jan Bessai, Andrej Dudenhefner, Boris Düdder, Moritz Martens, Jakob Rehof
2014 Lecture Notes in Computer Science  
We overview its underlying theory, combinatory logic with intersection types, and exemplify its application to synthesis.  ...  Finally, we present some use cases in ongoing work, especially in the context of synthesis for Object Oriented Software.  ...  We implemented one such heuristic (which is based on the type theoretical problem of intersection type matching [16] ) which formulates a necessary condition (referred to as "lookahead-strategy") for  ... 
doi:10.1007/978-3-662-45234-9_3 fatcat:f3iorgcqzjh2njdx37xuxjwvoe

Mixin' Up the ML Module System

Andreas Rossberg, Derek Dreyer
2013 ACM Transactions on Programming Languages and Systems  
MixML seamlessly integrates hierarchical composition, translucent MLstyle data abstraction, and mixin-style recursive linking.  ...  Mixin modules facilitate recursive linking of separately compiled components, but they are not hierarchically composable and typically do not support type abstraction.  ...  Future Work We have built a prototype interpreter for a language based on MixML, which includes built-in support for a number of the encodings given in Section 2. It is available for download [11] .  ... 
doi:10.1145/2450136.2450137 fatcat:5f32qac5z5dmfnkrtg4ammfg5e

Mixin' up the ML module system

Derek Dreyer, Andreas Rossberg
2008 SIGPLAN notices  
MixML seamlessly integrates hierarchical composition, translucent MLstyle data abstraction, and mixin-style recursive linking.  ...  Mixin modules facilitate recursive linking of separately compiled components, but they are not hierarchically composable and typically do not support type abstraction.  ...  Future Work We have built a prototype interpreter for a language based on MixML, which includes built-in support for a number of the encodings given in Section 2. It is available for download [11] .  ... 
doi:10.1145/1411203.1411248 fatcat:b7purzssibbcjez33kpjjouhja

Mixin' up the ML module system

Derek Dreyer, Andreas Rossberg
2008 Proceeding of the 13th ACM SIGPLAN international conference on Functional programming - ICFP '08  
MixML seamlessly integrates hierarchical composition, translucent MLstyle data abstraction, and mixin-style recursive linking.  ...  Mixin modules facilitate recursive linking of separately compiled components, but they are not hierarchically composable and typically do not support type abstraction.  ...  Future Work We have built a prototype interpreter for a language based on MixML, which includes built-in support for a number of the encodings given in Section 2. It is available for download [11] .  ... 
doi:10.1145/1411204.1411248 dblp:conf/icfp/DreyerR08 fatcat:if4vxlavnnatdlufn4qlpjw46i

PhD Abstracts

GRAHAM HUTTON
2015 Journal of functional programming  
The abstracts are made freely available on the JFP website, i.e. not behind any paywall, and do not require any transfer for copyright, merely a license from the author.  ...  Our second contribution builds upon MRI, which stands for modular reasoning for incremental programming, a powerful model that extends EffectiveAdvice in order to reason about mixin-based composition of  ...  The key is a characterisation of model checking as a problem of intersection type assignment. This dissertation contributes to both the theory and practice of the intersection type approach.  ... 
doi:10.1017/s0956796815000040 fatcat:g7yt23qxivevte45fkiqv6xwna

Evaluating Support for Features in Advanced Modularization Technologies [chapter]

Roberto E. Lopez-Herrejon, Don Batory, William Cook
2005 Lecture Notes in Computer Science  
Rather than concentrating on that issue, we consider the design and synthesis aspects of the problem to produce a family of program variations.  ...  A Standard Problem: The Expressions Product-Line The Expressions Product-Line (EPL) is based on the extensibility problem also known as the "expression problem" [15] [50].  ...  We are grateful to Axel Rauschmayer and Awais Rashid for their feedback on drafts of the paper, and the anonymous reviewers for their comments.  ... 
doi:10.1007/11531142_8 fatcat:e6p74ubxczdclfg5iqscs6hmz4

Homogeneous family sharing

Xin Qi, Andrew C. Myers
2010 Proceedings of the ACM international conference on Object oriented programming systems languages and applications - OOPSLA '10  
the need for masked types and sharing declarations.  ...  The soundness of the J& h type system is proved. The J& h language is implemented as an extension to the J& language.  ...  Scala [32, 33] supports family polymorphism and composition through virtual types, path-dependent types, and mixin composition.  ... 
doi:10.1145/1869459.1869502 dblp:conf/oopsla/QiM10 fatcat:2yqpkfwignbclm4wphv36m4wbe

Homogeneous family sharing

Xin Qi, Andrew C. Myers
2010 SIGPLAN notices  
the need for masked types and sharing declarations.  ...  The soundness of the J& h type system is proved. The J& h language is implemented as an extension to the J& language.  ...  Scala [32, 33] supports family polymorphism and composition through virtual types, path-dependent types, and mixin composition.  ... 
doi:10.1145/1932682.1869502 fatcat:7tdcyzoyy5gtni3qj2y4eyw42q

Refinements and multi-dimensional separation of concerns

Don Batory, Jia Liu, Jacob Neal Sarvela
2003 Proceedings of the 9th European software engineering conference held jointly with 10th ACM SIGSOFT international symposium on Foundations of software engineering - ESEC/FSE '03  
Our work provides strong evidence that SWR scales to synthesis of large systems.  ...  We thank Roberto Lopez-Herrejon for his helpful comments on clarifying drafts of this paper.  ...  AHEAD refinements have a long history, originating in collaboration-based designs [17] and their implementations as mixins [21] [16] and mixin-layers [19] .  ... 
doi:10.1145/940071.940079 dblp:conf/sigsoft/BatoryLS03 fatcat:47zmb6jo4zcuzk3inftrvviisu

Refinements and multi-dimensional separation of concerns

Don Batory, Jia Liu, Jacob Neal Sarvela
2003 Software engineering notes  
Our work provides strong evidence that SWR scales to synthesis of large systems.  ...  We thank Roberto Lopez-Herrejon for his helpful comments on clarifying drafts of this paper.  ...  AHEAD refinements have a long history, originating in collaboration-based designs [17] and their implementations as mixins [21] [16] and mixin-layers [19] .  ... 
doi:10.1145/949952.940079 fatcat:i5vrf3xforch7ny7yxeb75v6ie
« Previous Showing results 1 — 15 out of 71 results