Filters








96 Hits in 0.68 sec

Type Inference with Selftype

Jens Palsberg
1995 BRICS Report Series  
The metavariable self is fundamental in object-oriented languages.<br />Typing self in the presence of inheritance has been studied by Abadi<br />and Cardelli, Bruce, and others.  ...  <br />Open until now is the problem of type inference with selftype.<br />In this paper we present a type inference algorithm for a type<br />system with selftype, recursive types, and subtyping.  ...  One approach to giving self a special treatment is the use of selftype, "the type of self", which enables flexible type annotations that are impossible with recursive types and subtyping.  ... 
doi:10.7146/brics.v2i34.19937 fatcat:lxahkrcr5jcvfgmbf2v36gt7a4

Page 3854 of Mathematical Reviews Vol. , Issue 98F [page]

1998 Mathematical Reviews  
Summary: “The metavariable self is fundamental in object- oriented languages. Typing self in the presence of inheritance has been studied by Abadi and Cardelli, Bruce, and others.  ...  “In this paper we present a simple type system with selftype, recursive types, and subtyping, and we prove that type inference is NP-complete.  ... 

Combining subsumption and binary methods

Jérôme Vouillon
2001 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '01  
A set of views is attached to each object and a method can be invok ed either directly or via a view of the object.  ...  We presen t an object-oriented calculus whic hallows arbitrary hiding of methods in protot ypes, even in the presence of binary methods and friend functions.  ...  In this expression, x stands for self and stands for selftype. The expression evaluates into a new prototype x3.  ... 
doi:10.1145/360204.360233 dblp:conf/popl/Vouillon01 fatcat:dhn3brf7ajfbtlbuzvmrzhci6i

Bad coat, ripped genes: cryptic selection on coat colour varies with ontogeny in Soay sheep

ROWAN D. H. BARRETT
2012 Molecular Ecology  
Since 1985, there has been a steady decline in the frequency of sheep with a rare uniform ('self'-) pigmentation pattern as opposed to the more common wild-type pattern of dark upper body and pale belly  ...  and ultimately to fitness.  ...  Acknowledgement I would like to thank Hopi Hoekstra, Jennifer Carpenter and Sean Rogers for their comments on the manuscript.  ... 
doi:10.1111/j.1365-294x.2012.05560.x pmid:22676073 fatcat:bdxzlrbxrrfcpjru3zq4lu4rza

Scalable component abstractions

Martin Odersky, Matthias Zenger
2005 SIGPLAN notices  
We identify three programming language abstractions for the construction of reusable components: abstract type members, explicit selftypes, and modular mixin composition.  ...  We demonstrate this approach in two case studies, a subject/observer framework and a compiler front-end.  ...  The only close analogue to selftype annotations in Scala is found in OCaml, where the type of self is an extensible record type which is explicitly given or inferred.  ... 
doi:10.1145/1103845.1094815 fatcat:eotba5bbyzcvlf34elfen5oqom

Bounded Polymorphism for Extensible Objects [chapter]

Luigi Liquori
1999 Lecture Notes in Computer Science  
In this paper, we extend that work with explicit variance annotations and selftypes. The resulting calculus, called Ç · × , is a proper extension of Ç · ½ . Moreover it is proved to be type sound.  ...  Type systems, design and semantics of object-oriented languages.  ...  Selftypes allow one to give a type to methods that return self or an update of self (for instance, a move method of a point object will have type ÒØ selftype, where selftype refers to the type of self)  ... 
doi:10.1007/3-540-48167-2_11 fatcat:dfpkcflukjff5aqqensgnzr5xa

Type Inference for Nested Self Types [chapter]

Viviana Bono, Jerzy Tiuryn, Paweł Urzyczyn
2004 Lecture Notes in Computer Science  
We address the issue of decidability of the type inference problem for a type system of an object-oriented calculus with general selftypes.  ...  The resulting system, despite its syntactical simplicity, is sufficiently complicated to merit the study of the intricate constraints emerging in the process of type reconstruction, and it can be considered  ...  Indeed, the "tiny drop of selftype" of Palsberg and Jim can be encoded in a system without selftype, see [10] , meaning that it is a rather weak form of selftype.  ... 
doi:10.1007/978-3-540-24849-1_7 fatcat:7da3hhva65bavm2wfxhwceniby

Application of OOP type theory

Jonathan Eifrig, Scott Smith, Valery Trifonov, Amy Zwarico
1994 Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications - OOPSLA '94  
Important strides toward developing expressive yet semantically sound type systems for object-oriented programming languages have recently been made by Cook, Bruce, Mitchell, and others.  ...  We simultaneously address three of the more significant problems: adding a notion of global state, proving type-checking is decidable, and integrating the more widely implemented view that subclasses correspond  ...  Section 2), NumObj should be NumObj gf Obj(SelfType) {dec: l+Nat, isZero: l-+Bool, diff: SelfType-+SelfType) The bound type variable Self Type refers to "the type of the object itself" -and indeed by the  ... 
doi:10.1145/191080.191086 dblp:conf/oopsla/EifrigSTZ94 fatcat:b5krdeqpx5dhdgjqgctb36qup4

Towards Concrete Syntax Patterns for Logic-based Transformation Rules

Malte Appeltauer, Günter Kniesel
2008 Electronical Notes in Theoretical Computer Science  
However, its use can be difficult and error-prone because it requires programmers to know the meta-level representation of the analysed language and to think and express their analyses in terms of this  ...  Logic meta-programming in Prolog is a powerful way to express program analysis and transformation.  ...  As a result, GenTL allows the definition of program analysis and transformation rules in a easy and reusable way.  ... 
doi:10.1016/j.entcs.2008.10.038 fatcat:2o2wrqenzjbfnbm7j3673bha2e

Type Inference for Variant Object Types

Michele Bugliesi, Santiago M. Pericás-Geertsen
2002 Information and Computation  
Type inference is known to be P-complete for firstorder systems of finite and recursive object types, and NP-complete for a restricted version of Self types.  ...  The subtyping relation that arises for Split types is variant and, as a result, subtyping can be performed both in width and in depth.  ...  ACKNOWLEDGMENTS We thank Craig Chambers, Patric Cousot, and Alan Mycroft for discussions and feedback at the "Workshop on Types and Abstract Interpretation" held in Padova, Italy, May 1999.  ... 
doi:10.1006/inco.2002.3091 fatcat:p44dofdyknf6hmyegml4bwdrhe

Type-Safe Covariant Specialization with Generalized Matching

Ran Rinat
2002 Information and Computation  
We de ne a language LGM supporting generalized matching, its typing rules, and its operational semantics, and state a subject reduction theorem showing the soundness of the system.  ...  In this paper we generalize it to deal with general covariance by allowing eld and method parameter types to change covariantly in matching types.  ...  . , the type variable st stands for the type of self (sometimes denoted by a special keyword like \SelfType" or \MyType")): The subtyping ColorPoint <: Point does not hold because of the binary method  ... 
doi:10.1006/inco.2001.3048 fatcat:4qfgobza2bd2vpa24ad67gieeu

Should ML be Object-Oriented?

David MacQueen
2002 Formal Aspects of Computing  
] and its precursor, ML-ART [Rem94a], Object ML [ReR96a, ReR96b], and Moby [FiR99].  ...  its nature and effectiveness.  ...  Class definitions use the special variable self for object self-reference and super for reference to superclass members, but unlike OCaml there is no selftype, and inheritance does not support method type  ... 
doi:10.1007/s001650200010 fatcat:ksfyslgzrfhcfd6viuxiym2nsa

Safe and decidable type checking in an object-oriented language

Kim B. Bruce, Jon Crabtree, Thomas P. Murtagh, Robert van Gent, Allyn Dimock, Robert Muller
1993 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications - OOPSLA '93  
PointClass = class ( self : SelfType 5 (PtInst, PtMeth), close: SelfType + My Type) ({x = 0, Y = 01, {mv(dx, dy: Int) = close(seZf gets {x = se1f.x + dx, y = seZf.y + dy}), getx = self.x, gety = self.y  ...  This latter case is actually the most common, since we typically have access only to the instance variables of self (or objects representing updated versions of self), whose type is now SelfType.  ... 
doi:10.1145/165854.165865 dblp:conf/oopsla/BruceCMGDM93 fatcat:mcjokskqujcnbbctdhenij5nma

Scalable component abstractions

Martin Odersky, Matthias Zenger
2005 Proceedings of the 20th annual ACM SIGPLAN conference on Object oriented programming systems languages and applications - OOPSLA '05  
We identify three programming language abstractions for the construction of re-usable components: abstract type members, explicit selftypes and symmetric mixin composition.  ...  We demonstrate this approach in two case studies, a subject/observer framework and a compiler front-end.  ...  In our case, components correspond to classes, and the result of a component composition is always a class again, which might have abstract members and selftype annotations, and which might be composed  ... 
doi:10.1145/1094811.1094815 dblp:conf/oopsla/OderskyZ05 fatcat:agu6ci3yifc5do22rvsb4uppte

Relatedness of identities and emotional closeness with parents across and within cultures

E. Olcay Imamoğlu, Zahide Karakitapoğlu-Aygün
2007 Asian Journal of Social Psychology  
In both studies, within-cultural differences in emotional-and identityrelatedness with parents were also explored in terms of: (i) self-directed and other-directed value orientations; and (ii) self-types  ...  Results involving different self-types and value orientations pointed to both crosscultural similarities and within-cultural diversity in the two domains of relatedness.  ...  Acknowledgements We express our appreciation to Middle East Technical University and Turkish Academy of Sciences for the partial support they have provided. End notes 1.  ... 
doi:10.1111/j.1467-839x.2007.00221.x fatcat:m5kpavr735fflii423ytah3yna
« Previous Showing results 1 — 15 out of 96 results