Bird addRequiredIniModule: [ :flies :instVars | instVars at: #flies put: flies ,
, Penguin addIniModule: [ :flies :instVars | "do nothing, only eat the parameter
, This combination of ini-modules makes sure that (1) if flies is provided in an objectcreation expression instantiating the class Penguin, it will be consumed and ignored by the inimodule Penguin»(flies)(); (2) in all cases, flies will be set to false by Penguin»()(flies) which is activated after Penguin»(flies)() (note that the default Rule 2 applies here), fact, in such a case the ini-module Penguin»()(flies) would not be activated
Smalltalk Best Practice Patterns, 1997. ,
Stateful traits, Advances in Smalltalk-Proceedings of 14th International Smalltalk Conference (ISC'06), vol.4406, pp.66-90, 2007. ,
URL : https://hal.archives-ouvertes.fr/hal-02109190
, Pharo by Example. Square Bracket Associates, 2009.
Magda: A new language for modularity, ECOOP, pp.560-588, 2012. ,
FJMIP: A calculus for a modular object initialization, Fundamentals of Computation Theory, 16th International Symposium, pp.100-112, 2007. ,
Modularizing constructors, Journal of Object Technology, vol.6, issue.9, pp.297-397, 2007. ,
Language and Compiler Support for Mixin Programming, 2002. ,
Introduction to Algorithms, Second Edition, 2001. ,
Traits: A mechanism for fine-grained reuse, ACM Transactions on Programming Languages and Systems (TOPLAS), vol.28, issue.2, pp.331-388, 2006. ,
Declaring and checking non-null types in an object-oriented language, Proceedings of the 2003 ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages and Applications, OOPSLA 2003, pp.302-312, 2003. ,
Are we ready for a safer construction environment?, ECOOP 2009-Object-Oriented Programming, 23rd European Conference, pp.495-519, 2009. ,
Topological sorting of large networks, Commun. ACM, vol.5, issue.11, pp.558-562, 1962. ,
A Mixin Based Object-Oriented Calculus: True Modularity in ObjectOriented Programming, 2010. ,
A behavioral notion of subtyping, ACM Trans. Program. Lang. Syst, vol.16, issue.6, pp.1811-1841, 1994. ,
Template constructors for reusable object initialization, GPCE'13: Proceedings of the 12th International Conference on Generative Programming: Concepts and Experiences, pp.43-52, 2013. ,
Applying design by contract, IEEE Computer (Special Issue on Inheritance & Classification), vol.25, issue.10, pp.40-52, 1992. ,
Object-Oriented Software Construction, 1997. ,
The nullness analyser of julia, Logic for Programming, Artificial Intelligence, and Reasoning-16th International Conference, LPAR-16, pp.405-424, 2010. ,
Inference of field initialization, Proceedings of the 33rd International Conference on Software Engineering, pp.231-240, 2011. ,
Edge-disjoint spanning trees and depth-first search, Acta Inf, vol.6, pp.171-185, 1976. ,
Object initialization in X10, ECOOP 2012-Object-Oriented Programming-26th European Conference, pp.207-231, 2012. ,