International audienceBootstrapping is a technique commonly known by its usage in language definition by the introduction of a compiler written in the same language it compiles. This process is important to understand and modify the definition of a given language using the same language, taking benefit of the abstractions and expression power it provides. A bootstrap, then, supports the evolution of a language. However, the infrastructure of reflective systems like Smalltalk includes, in addition to a compiler, an environment with several self-references. A reflective system bootstrap should consider all its infrastructural components. In this paper, we propose a definition of bootstrap for object-oriented reflective systems, we describe th...
Computational reflection makes it easy to solve problems that are otherwise difficult to address in ...
International audienceTraits are method groups that can be used to compose classes. They do not have...
Patterns are powerful tools to document software problems and their solutions, as well as when and h...
International audienceBootstrapping is a technique commonly known by its usage in language definitio...
International audienceBootstrapping is well known in the context of compilers, where a bootstrapped ...
Pure object oriented programming languages (like Self) present a very abstract view of the hardware ...
International audienceSmalltalk is a reflective system. It means that it is defined in itself in a c...
Programming is usually based on an inconvenient separation between an implementation level and a use...
International audienceThe current explosion of embedded systems (i.e., IoT, Edge Computing) implies ...
International audienceTraits are method groups that can be used to compose classes. They do not have...
Programming languages need to evolve as software requirements change, but their prototyping and exte...
International audienceReflective operations are powerful APIs that let developers build advanced too...
What does it mean to bootstrap a compiler, and why do it? This paper reports on the first bootstrapp...
This is a companion technical report of the article: "Pharo: a reflective language-a first systemati...
One of the main factors driving object-oriented software development in the Web- age is the need for...
Computational reflection makes it easy to solve problems that are otherwise difficult to address in ...
International audienceTraits are method groups that can be used to compose classes. They do not have...
Patterns are powerful tools to document software problems and their solutions, as well as when and h...
International audienceBootstrapping is a technique commonly known by its usage in language definitio...
International audienceBootstrapping is well known in the context of compilers, where a bootstrapped ...
Pure object oriented programming languages (like Self) present a very abstract view of the hardware ...
International audienceSmalltalk is a reflective system. It means that it is defined in itself in a c...
Programming is usually based on an inconvenient separation between an implementation level and a use...
International audienceThe current explosion of embedded systems (i.e., IoT, Edge Computing) implies ...
International audienceTraits are method groups that can be used to compose classes. They do not have...
Programming languages need to evolve as software requirements change, but their prototyping and exte...
International audienceReflective operations are powerful APIs that let developers build advanced too...
What does it mean to bootstrap a compiler, and why do it? This paper reports on the first bootstrapp...
This is a companion technical report of the article: "Pharo: a reflective language-a first systemati...
One of the main factors driving object-oriented software development in the Web- age is the need for...
Computational reflection makes it easy to solve problems that are otherwise difficult to address in ...
International audienceTraits are method groups that can be used to compose classes. They do not have...
Patterns are powerful tools to document software problems and their solutions, as well as when and h...