Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
research:plomo [2013/09/21 00:18] – [Work Package Four Achievements: New Profiling Approaches] abergel | research:plomo [2013/09/21 14:47] – [Work Package One Achievements: Opal Open Compiler Infrastructure] stef | ||
---|---|---|---|
Line 57: | Line 57: | ||
==== Work Package One Achievements: | ==== Work Package One Achievements: | ||
- | Opal has been further developed, debugged and released. Opal has been integrated as the new compiler for Pharo. It is stable, robust and is the new compiler for day to day development in Pharo3.0. Opal provides the basis needed | + | The compiler framework was used to build a type system for Pharo: Gradualtalk [Alle13a]. A gradually-typed Smalltalk allows one to enable incremental typing of existing programs. The main design goal of the type system is to support the features of the Smalltalk language, like metaclasses and blocks, live programming, |
- | The work consisted to develop | + | |
- | - a new compiler tool chain with differents phase including | + | In the context of the Gradualtalk type system, we have further developed, debugged and released |
- | - several analyses to generate byte codes, | + | advanced reflective model. |
- | - handle the introduction of full closures and | + | |
- | - handling | + | Opal solves three main problems of the old compiler infrastructure: |
- | In essence | + | - The architecture is not reusable |
+ | - compiler can not be parametrized | ||
+ | - the mapping between | ||
+ | |||
+ | In essence | ||
+ | |||
+ | The Opal flexible compiler infrastructure will allow us to build a new generation of reflective systems. Such reflective systems are keys to support tools (profilers) and new language design (AOP, proxies, isolation). We are now in a position to perform a new iteration on the reflective layer and metaobject protocol | ||
==== Work Package Two Achievements: | ==== Work Package Two Achievements: | ||
Line 69: | Line 75: | ||
We developed EPICEA a new model of changes and an implementation representing all the changes made during development [Dias13a] - By changes we mean: method, class, package definition, modification, | We developed EPICEA a new model of changes and an implementation representing all the changes made during development [Dias13a] - By changes we mean: method, class, package definition, modification, | ||
- | Complimentary | + | Complementary |
Line 77: | Line 83: | ||
Roassal is made to visualize and interact with arbitrary data, defined in terms of objects and their relationships. Roassal is commonly employed to produce interactive visualizations. The range of applications using Roassal is diverse. For example, the Moose community uses Roassal to visualize software. | Roassal is made to visualize and interact with arbitrary data, defined in terms of objects and their relationships. Roassal is commonly employed to produce interactive visualizations. The range of applications using Roassal is diverse. For example, the Moose community uses Roassal to visualize software. | ||
- | Roassal is a visualization engine working on 4 different platforms (Pharo, VisualWorks, | + | Roassal is a visualization engine working on 4 different platforms (Pharo, VisualWorks, |
- | The book //Deep Into Pharo// contains two chapters about Roassal. | + | Roassal |
+ | The book //Deep Into Pharo// contains two chapters about Roassal. | ||
==== Work Package Four Achievements: | ==== Work Package Four Achievements: | ||
Line 111: | Line 118: | ||
* Faster MSE import. | * Faster MSE import. | ||
- | We participated to the new release of Pharo 2.0 and Pharo 3.0. | + | We participated to the new release of Pharo 1.4 and 2.0 and are actively developing Pharo3 (http:// |
+ | PLOMO members contributed many smaller and larger improvements found while doing the research work described in this report. When visiting, PLOMO members take care to organize Pharo Sprints, open meetings focussed on fixing bugs and integrating features. | ||
+ | |||
+ | A small example for how PLOMO directly contributed can be seen with the type system work. While type-checking the code of the Pharo system, a number of problems where detected. Examples where dead code, wrong inheritance relationships between classes and others. All these problems have been fixed in Pharo2. | ||
+ | |||
+ | For Pharo3, PLOMO contributed in a major way: the Opal Compiler replaced the old default compiler infrastructure. | ||
Line 124: | Line 136: | ||
- Enhanced Opal to support type annotations. Opal is developed and maintained by RMoD. | - Enhanced Opal to support type annotations. Opal is developed and maintained by RMoD. | ||
- [[http:// | - [[http:// | ||
+ | - Released Pharo 1.3 (http:// | ||
+ | |||
=== 2012 === | === 2012 === | ||
Line 141: | Line 155: | ||
- Paper: “How (and Why) Developers Use the Dynamic Features of Programming Languages: The Case of Smalltalk”, | - Paper: “How (and Why) Developers Use the Dynamic Features of Programming Languages: The Case of Smalltalk”, | ||
- Paper: “Extensions during Software Evolution: Do Objects Meet Their Promise? ”,
R. Robbes, D. Röthlisberger, | - Paper: “Extensions during Software Evolution: Do Objects Meet Their Promise? ”,
R. Robbes, D. Röthlisberger, | ||
+ | - Released Pharo 1.4 (http:// | ||
+ | |||
Line 150: | Line 166: | ||
- Participated to Moose 4.8 release (http:// | - Participated to Moose 4.8 release (http:// | ||
- Released Pharo 2.0 (http:// | - Released Pharo 2.0 (http:// | ||
+ | - Integrated the Opal Compiler in the Pharo3 development branch. | ||
+ | |||
=== Supervised PhD students === | === Supervised PhD students === | ||
- | - Vanessa Peña, PhD student Universidad de Chile. | + | - Juraj Kubelka, PhD student Universidad de Chile. |
- Juan Pablo Sandoval, PhD student Universidad de Chile. | - Juan Pablo Sandoval, PhD student Universidad de Chile. | ||
- Martin Dias, PhD student, RMoD, Inria. | - Martin Dias, PhD student, RMoD, Inria. | ||
Line 173: | Line 191: | ||
== From PLEIAD to RMoD == | == From PLEIAD to RMoD == | ||
- | * Vanessa Peña and Alexandre Bergel, Aug 15 until Aug 20, 2011. From Aug 20 until Aug 28 they attended [[ESUG|http:// | + | * Vanessa Peña and Alexandre Bergel, Aug 15 until Aug 20, 2011. From Aug 20 until Aug 28 they attended [[http:// |
* Romain Robbes from July 18 until July 24, 2011. Partially funded by Pleiad. | * Romain Robbes from July 18 until July 24, 2011. Partially funded by Pleiad. | ||
* Esteban Allende from July 19 until October 2, 2011. Esteban' | * Esteban Allende from July 19 until October 2, 2011. Esteban' |