Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Roberto Ierusalimschy is active.

Publication


Featured researches published by Roberto Ierusalimschy.


Software - Practice and Experience | 1996

Lua—an extensible extension language

Roberto Ierusalimschy; Luiz Henrique de Figueiredo; Waldemar Celes Filho

This paper describes Lua, a language for extending applications. Lua combines procedural features with powerful data description facilities, by using a simple, yet powerful, mechanism of tables . This mechanism implements the concepts of records, arrays and recursive data types (pointers), and adds some object‐oriented facilities, such as methods with dynamic dispatching.


acm sigplan conference on history of programming languages | 2007

The evolution of Lua

Roberto Ierusalimschy; Luiz Henrique de Figueiredo; Waldemar Celes

We report on the birth and evolution of Lua and discuss how it moved from a simple configuration language to a versatile, widely used language that supports extensible semantics, anonymous functions, full lexical scoping, proper tail calls, and coroutines.


Software - Practice and Experience | 1993

Application integration: constructing composite applications from interactive components

Donald D. Cowan; Terry M. Stepien; Roberto Ierusalimschy; Carlos José Pereira de Lucena

Creating new applications by integrating user interface and application components is a relatively new idea which is currently of wide interest. A significant part of this problem is clearly defining the separation between user interface and application components. This paper proposes a new design methodology based on the concept of an abstract data view (ADV), a structuring method which cleanly defines this separation. A number of examples of composite interactive documents, ones which could contain several different user interfaces with entities such as text, calculations, drawings and possibly even multi‐media presentations, illustrate the ADV concept. These examples lead naturally to the introduction of the concept of hole, a user interface area in a composite interactive document which is managed by an external program, and uses ADVs. Prototypes of a number of systems supporting ADVs and holes are currently running in our laboratory.


international symposium on distributed objects and applications | 1999

Dynamic component gluing across different componentware systems

Renato Cerqueira; Carlos Cassino; Roberto Ierusalimschy

We present a model to support dynamic gluing of components from different componentware systems, such as CORBA, COM and Java. This model adopts a dynamic composition approach combined to the interactive facilities offered by an interpreted language. Based on this model, we define a common design for the implementation of bindings between glue languages and component systems. The proposed design provides a natural way to create dynamic bridges between different component systems. We also describe the LuaOrb system, an implementation of the proposed model that binds the interpreted language Lua to Java, CORBA and COM. With LuaOrb, Lua acts as a unifying glue language, wherein we can write code that freely use and mix components from these three component systems.


ACM Queue | 2011

Passing a language through the eye of a needle

Roberto Ierusalimschy; Luiz Henrique de Figueiredo; Waldemar Celes

How the embeddability of Lua impacted its design.


international conference on embedded networked sensor systems | 2013

Safe system-level concurrency on resource-constrained nodes

Francisco Sant'Anna; Noemi de La Rocque Rodriguez; Roberto Ierusalimschy; Olaf Landsiedel; Philippas Tsigas

Despite the continuous research to facilitate WSNs development, most safety analysis and mitigation efforts in concurrency are still left to developers, who must manage synchronization and shared memory explicitly. In this paper, we present a system language that ensures safe concurrency by handling threats at compile time, rather than at runtime. Based on the synchronous programming model, our design allows for a simple reasoning about concurrency that enables compile-time analysis resulting in deterministic and memory-safe programs. As a trade-off, our design imposes limitations on the language expressiveness, such as doing computationally-intensive operations and meeting hard real-time responsiveness. To show that the achieved expressiveness and responsiveness is sufficient for a wide range of WSN applications, we implement widespread network protocols and the CC2420 radio driver. The implementations show a reduction in source code size, with a penalty of memory increase below 10% in comparison to nesC. Overall, we ensure safety properties for programs relying on high-level control abstractions that also lead to concise and readable code.


dynamic languages symposium | 2008

A parsing machine for PEGs

Sérgio Medeiros; Roberto Ierusalimschy

Parsing Expression Grammar (PEG) is a recognition-based foundation for describing syntax that renewed interest in top-down parsing approaches. Generally, the implementation of PEGs is based on a recursive-descent parser, or uses a memoization algorithm. We present a new approach for implementing PEGs, based on a virtual parsing machine, which is more suitable for pattern matching. Each PEG has a corresponding program that is executed by the parsing machine, and new programs are dynamically created and composed. The virtual machine is embedded in a scripting language and used by a patternmatching tool. We give an operational semantics of PEGs used for pattern matching, then describe our parsing machine and its semantics. We show how to transform PEGs to parsing machine programs, and give a correctness proof of our transformation.


Computer Languages, Systems & Structures | 2002

ALua: flexibility for parallel programming

Cristina D. Ururahy; Noemi de La Rocque Rodriguez; Roberto Ierusalimschy

In this paper we present ALua, an event-driven communication mechanism for developing distributed parallel applications, based on the interpreted language Lua. We propose a dual programming model for parallel applications, where ALua acts as a gluing element, allowing precompiled program parts to run on different machines. We show, through examples, how three types of applications can benefit from the flexibility that derives from this model. We then present a study of ALuas performance, by comparing execution times of two parallel applications written in ALua with their counterparts written in PVM.


cooperative distributed systems | 1998

Dynamic configuration with CORBA components

Noemi de La Rocque Rodriguez; Roberto Ierusalimschy; Renato Cerqueira

Most existing support for dynamic reconfiguration assumes that component interfaces specify input and output channels. The CORBA model, however, specifically supports a client-server architecture, with component interfaces describing only the provided services. Besides, the existing bindings for CORBA, based on static stubs, impose considerable difficulties on dynamic configuration. This paper investigates the use of the interpreted language Lua as a tool for dynamic configuration of distributed applications using CORBA components.


workshop on functional and constraint logic programming | 2009

Programming with multiple paradigms in lua

Roberto Ierusalimschy

Lua is a scripting language used in many industrial applications, with an emphasis on embedded systems and games. Two key points in the design of the language that led to its widely adoption are flexibility and small size. To achieve these two conflicting goals, the design emphasizes the use of few but powerful mechanisms, such as first-class functions, associative arrays, coroutines, and reflexive capabilities. As a consequence of this design, although Lua is primarily a procedural language, it is frequently used in several different programming paradigms, such as functional, object-oriented, goal-oriented, and concurrent programming, and also for data description. In this paper we discuss what mechanisms Lua features to achieve its flexibility and how programmers use them for different paradigms.

Collaboration


Dive into the Roberto Ierusalimschy's collaboration.

Top Co-Authors

Avatar

Noemi de La Rocque Rodriguez

Pontifical Catholic University of Rio de Janeiro

View shared research outputs
Top Co-Authors

Avatar

Fabio Mascarenhas

Federal University of Rio de Janeiro

View shared research outputs
Top Co-Authors

Avatar

Luiz Henrique de Figueiredo

Instituto Nacional de Matemática Pura e Aplicada

View shared research outputs
Top Co-Authors

Avatar

Renato Cerqueira

Pontifical Catholic University of Rio de Janeiro

View shared research outputs
Top Co-Authors

Avatar

Sérgio Medeiros

Pontifical Catholic University of Rio de Janeiro

View shared research outputs
Top Co-Authors

Avatar

Waldemar Celes

Pontifical Catholic University of Rio de Janeiro

View shared research outputs
Top Co-Authors

Avatar

André Murbach Maidl

Pontifical Catholic University of Rio de Janeiro

View shared research outputs
Top Co-Authors

Avatar

Alexandre Skyrme

Pontifical Catholic University of Rio de Janeiro

View shared research outputs
Top Co-Authors

Avatar

Cristina D. Ururahy

Pontifical Catholic University of Rio de Janeiro

View shared research outputs
Top Co-Authors

Avatar

Francisco Sant'Anna

Rio de Janeiro State University

View shared research outputs
Researchain Logo
Decentralizing Knowledge