Providing programmers the ability to construct meaningful abstractions to help manage complexity is a serious language design issue. Many languages define a module system that can be used to specify distinct namespaces, and build user-defined data abstractions; however, few languages support dynamic modules, i.e., modules which are true first-class objects. In this paper, we define a module semantics for a dialect of Scheme called Rascal. Modules are defined in terms of reified environments, and are first-class objects which may be dynamically created, freely assigned, used as arguments to procedures, etc.. If defined naively, however, implementing modules using environments can entail the capture of unwanted bindings, leading to potentiall...
Traditionally, programming languages support data abstraction through some kind of module construct...
Abstract We present a type theory for higher-order modules that accountsfor many central issues in m...
Software is becoming a pervasive presence in our lives, powering computing systems in the home, in b...
All software evolves, and programming languages and programming language tools are no exception. And...
All software evolves, and programming languages and programming language tools are no exception. And...
To make compilers more maintainable, one could build the language implementation in a modular way. T...
International audienceAll software evolves, and programming languages and programming language tools...
All software evolves, and programming languages and programming language tools are no exception. And...
The benefits of module systems and lexically scoped syntactic abstraction (macro) facilities are wel...
. We present a formalisation of modules that are correct , and (correctly) reusable in the sense tha...
An integrated development environment (IDE) monitors all the changes that a user makes to source co...
AbstractAn integrated development environment (IDE) monitors all the changes that a user makes to so...
An integrated development environment (IDE) monitors all the changes that a user makes to source cod...
This paper proposes a code reuse mechanism called module embedding that enables the building of new ...
International audienceWe present a higher-order module system for the purely functional data-paralle...
Traditionally, programming languages support data abstraction through some kind of module construct...
Abstract We present a type theory for higher-order modules that accountsfor many central issues in m...
Software is becoming a pervasive presence in our lives, powering computing systems in the home, in b...
All software evolves, and programming languages and programming language tools are no exception. And...
All software evolves, and programming languages and programming language tools are no exception. And...
To make compilers more maintainable, one could build the language implementation in a modular way. T...
International audienceAll software evolves, and programming languages and programming language tools...
All software evolves, and programming languages and programming language tools are no exception. And...
The benefits of module systems and lexically scoped syntactic abstraction (macro) facilities are wel...
. We present a formalisation of modules that are correct , and (correctly) reusable in the sense tha...
An integrated development environment (IDE) monitors all the changes that a user makes to source co...
AbstractAn integrated development environment (IDE) monitors all the changes that a user makes to so...
An integrated development environment (IDE) monitors all the changes that a user makes to source cod...
This paper proposes a code reuse mechanism called module embedding that enables the building of new ...
International audienceWe present a higher-order module system for the purely functional data-paralle...
Traditionally, programming languages support data abstraction through some kind of module construct...
Abstract We present a type theory for higher-order modules that accountsfor many central issues in m...
Software is becoming a pervasive presence in our lives, powering computing systems in the home, in b...