Javascript must be enabled to continue!
A modular approach to object initialization for Pharo
View through CrossRef
Une approche modulaire de l'initialisation d'objets pour Pharo
La modularité du code favorise la réutilisation. Les concepteurs de langages de programmation se sont principalement consacrés à la modularité des méthodes. À l’inverse, la modularité du code d’initialisation a souvent été négligé. Le code d’initialisation de beaucoup de langages orientés objets à classe est laborieux dans plusieurs cas: par exemple, quand quelques champs (i.e., variables d’instances) ont plusieurs options d’initialisation (e.g., un rectangle peut être initialisé avec des coordonnées Cartésiennes ou polaires), ont une initialisation optionnelle (e.g., un rectangle peut être positionné à une coordonnée fournie ou à l’origine (0,0) si aucune coordonnée n’est fournie) ou héritent d’une initialisation de la super classe (e.g., un rectangle coloré doit redéfinir tous les constructeurs de sa super classe pour ajouter la notion de couleur). Dans de telles circonstances, le nombre de constructeurs augmente exponentiellement avec les options d’initialisation car l’approche d’initialisation manque de modularité.Nous proposons une approche d’initialisation novatrice s’inspirant du langage prototypique Magda. Cette approche est basée sur des modules d’initialisation composables plus petits que les constructeurs classiques. De plus, le nombre de ces modules augmente linéairement avec les options d’initialisation. Nous appliquons cette approche à Pharo, un langage orienté objets dynamiquement typé inspiré de Smalltalk. L’adaptation à Pharo de l’approche d’initialisation de Magda implique la résolution de nouveaux défis issus du passage d’un contexte statiquement typé à un contexte dynamique.
Title: A modular approach to object initialization for Pharo
Description:
Une approche modulaire de l'initialisation d'objets pour Pharo
La modularité du code favorise la réutilisation.
Les concepteurs de langages de programmation se sont principalement consacrés à la modularité des méthodes.
À l’inverse, la modularité du code d’initialisation a souvent été négligé.
Le code d’initialisation de beaucoup de langages orientés objets à classe est laborieux dans plusieurs cas: par exemple, quand quelques champs (i.
e.
, variables d’instances) ont plusieurs options d’initialisation (e.
g.
, un rectangle peut être initialisé avec des coordonnées Cartésiennes ou polaires), ont une initialisation optionnelle (e.
g.
, un rectangle peut être positionné à une coordonnée fournie ou à l’origine (0,0) si aucune coordonnée n’est fournie) ou héritent d’une initialisation de la super classe (e.
g.
, un rectangle coloré doit redéfinir tous les constructeurs de sa super classe pour ajouter la notion de couleur).
Dans de telles circonstances, le nombre de constructeurs augmente exponentiellement avec les options d’initialisation car l’approche d’initialisation manque de modularité.
Nous proposons une approche d’initialisation novatrice s’inspirant du langage prototypique Magda.
Cette approche est basée sur des modules d’initialisation composables plus petits que les constructeurs classiques.
De plus, le nombre de ces modules augmente linéairement avec les options d’initialisation.
Nous appliquons cette approche à Pharo, un langage orienté objets dynamiquement typé inspiré de Smalltalk.
L’adaptation à Pharo de l’approche d’initialisation de Magda implique la résolution de nouveaux défis issus du passage d’un contexte statiquement typé à un contexte dynamique.
Related Results
Intercomparison of initialization methods for Seasonal-to-Decadal Climate Predictions with the NorCPM
Intercomparison of initialization methods for Seasonal-to-Decadal Climate Predictions with the NorCPM
Initialization is essential for accurate seasonal-to-decadal (S2D)
climate predictions. The initialization schemes used differ on the
component initialized, the Data Assimilation (...
Chronotopic initialization of the narrative as a genre feature of the story
Chronotopic initialization of the narrative as a genre feature of the story
The subject of the study is the principle of chronotopic initialization of the story's beginning – a regularity according to which the beginning of a piece of short prose contains ...
Dynamic Calibration of Saturation in Reservoir Simulation Initialization
Dynamic Calibration of Saturation in Reservoir Simulation Initialization
Abstract
Accurate initialization of water saturation is a critical step in reservoir simulation, particularly in heterogeneous carbonate reservoirs where dynamic ...
A new weight initialization method for sigmoidal FFANN
A new weight initialization method for sigmoidal FFANN
Weight initialization is the most important component which affects the performance of artificial neural network during training the network using Back-propagation algorithm. The i...
A Comparative Study on Some Modular Approaches for Analysis and Synthesis of Planar Linkages: Part II — Modular Dynamic Analysis, Modular Structural Synthesis and Modular Kinematic Synthesis
A Comparative Study on Some Modular Approaches for Analysis and Synthesis of Planar Linkages: Part II — Modular Dynamic Analysis, Modular Structural Synthesis and Modular Kinematic Synthesis
Abstract
This paper presents a systematical comparative study of various modular methods based on the different module types: basic kinematic chains (BKCs), single o...
Adaptive Quantum Optimized Centroid Initialization
Adaptive Quantum Optimized Centroid Initialization
Abstract
Prototype-based clustering algorithms such as k-means are sensitive to the selection of initial cluster centroids, with poor initialization leading to slow...
Weakly Modular Graphs and Nonpositive Curvature
Weakly Modular Graphs and Nonpositive Curvature
This article investigates structural, geometrical, and topological characterizations and properties of weakly modular graphs and of cell complexes derived from them. The unifying t...
Pharo year one
Pharo year one
It's the season when everyone writes about the past year, or even the past decade for a year number ending in 9. I'll make a modest contribution by summarizing my experience with P...

