Searched for: author:"Visser, Eelco"
(1 - 17 of 17)
document
Konat, G.D.P. (author), Steindorfer, M.J. (author), Erdweg, S.T. (author), Visser, Eelco (author)
Context.
Software development pipelines are used for automating essential parts of software engineering processes, such as build automation and continuous integration testing. In particular, interactive pipelines, which process events in a live environment such as an IDE, require timely results for low-latency feedback, and persistence to...
journal article 2018
document
de Souza Amorim, L.E. (author), Steindorfer, M.J. (author), Visser, Eelco (author)
Context Context-free grammars are widely used for language prototyping and implementation. They allow formalizing the syntax of domain-specific or general-purpose programming languages concisely and declaratively. However, the natural and concise way of writing a context-free grammar is often ambiguous. Therefore, grammar formalisms support...
journal article 2018
document
Poulsen, C.B. (author), Rouvoet, A.J. (author), Tolmach, Andrew (author), Krebbers, R.J. (author), Visser, Eelco (author)
A definitional interpreter defines the semantics of an object language in terms of the (well-known) semantics of a host language, enabling understanding and validation of the semantics through execution. Combining a definitional interpreter with a separate type system requires a separate type safety proof. An alternative approach, at least for...
journal article 2018
document
van Antwerpen, H. (author), Poulsen, C.B. (author), Rouvoet, A.J. (author), Visser, Eelco (author)
Scope graphs are a promising generic framework to model the binding structures of programming languages, bridging formalization and implementation, supporting the definition of type checkers and the automation of type safety proofs. However, previous work on scope graphs has been limited to simple, nominal type systems. In this paper, we show...
journal article 2018
document
Denkers, J. (author), van Gool, Louis (author), Visser, Eelco (author)
We present a tool architecture that supports migrating custom domain-specific language (DSL) implementations to a language workbench. We demonstrate an implementation of this architecture for models in the domains of defining component interfaces (IDL) and modeling system behavior (OIL) which are developed and used at a digital printer...
conference paper 2018
document
Harkes, D.C. (author), van Chastelet, E. (author), Visser, Eelco (author)
To provide empirical evidence to what extent migration of business logic to an incremental computing language (ICL) is useful, we report on a case study on a learning management system. Our contribution is to analyze a real-life project, how migrating business logic to an ICL affects information system validatability, performance, and...
conference paper 2018
document
de Souza Amorim, L.E. (author), Erdweg, S.T. (author), Steindorfer, M.J. (author), Visser, Eelco (author)
In layout-sensitive languages, the indentation of an expression or statement can influence how a program is parsed. While some of these languages (e.g., Haskell and Python) have been widely adopted, there is little support for software language engineers in building tools for layout-sensitive languages. As a result, parsers, pretty-printers,...
conference paper 2018
document
ten Veen, Nick (author), Harkes, D.C. (author), Visser, Eelco (author)
Modern web applications are interactive. Reactive programming languages and libraries are the state-of-the-art approach for declaratively specifying these interactive applications. However, programs written with these approaches contain error-prone boilerplate code for efficiency reasons. In this paper we present PixieDust, a declarative user...
conference paper 2018
document
Konat, G.D.P. (author), Erdweg, S.T. (author), Visser, Eelco (author)
Incremental build systems are essential for fast, reproducible software builds. Incremental build systems enable short feedback cycles when they capture dependencies precisely and selectively execute build tasks efficiently. A much overlooked feature of build systems is the expressiveness of the scripting language, which directly influences the...
conference paper 2018
document
Vergu, V.A. (author), Visser, Eelco (author)
Grace is a dynamic object oriented programming language
designed to aid programming education. We present a formal
model of and give an operational semantics for its object
model and name resolution algorithm. Our main contributions
are a systematic model of Grace’s name resolution using
scope graphs, relating linguistic...
conference paper 2017
document
Harkes, D.C. (author), Visser, Eelco (author)
Derived values are values calculated from base values. They can be expressed with views in relational databases, or with expressions in incremental or reactive programming. However, relational views do not provide multiplicity bounds, and incremental and reactive programming require significant boilerplate code in order to encode bidirectional...
conference paper 2017
document
de Souza Amorim, L.E. (author), Erdweg, S.T. (author), Wachsmuth, G.H. (author), Visser, Eelco (author)
Principled syntactic code completion enables developers to change source code by inserting code templates, thus increasing developer efficiency and supporting language exploration. However, existing code completion systems are ad-hoc and neither complete nor sound. They are not complete and only provide few code templates for selected...
conference paper 2016
document
Poulsen, C.B. (author), Neron, P.J.M. (author), Tolmach, Andrew (author), Visser, Eelco (author)
Semantic specifications do not make a systematic connection between the names and scopes in the static structure of a program and memory layout, and access during its execution. In this paper we introduce a systematic approach to the alignment of names in static semantics and memory in dynamic semantics, building on the scope graph framework...
conference paper 2016
document
Konat, G.D.P. (author), Erdweg, S.T. (author), Visser, Eelco (author)
It is common practice to bootstrap compilers of programming languages. By using the compiled language to implement the compiler, compiler developers can code in their own high-level language and gain a large-scale test case. In this paper, we investigate bootstrapping of compiler-compilers as they occur in language workbenches. Language...
conference paper 2016
document
van Antwerpen, H. (author), Neron, P.J.M. (author), Tolmach, Andrew (author), Visser, Eelco (author), Wachsmuth, G.H. (author)
In previous work, we introduced scope graphs as a formalism for describing program binding structure and performing name resolution in an AST-independent way. In this paper, we show how to use scope graphs to build static semantic analyzers. We use constraints extracted from the AST to specify facts about binding, typing, and initialization. We...
conference paper 2016
document
Visser, Eelco (author)
In this essay, I argue that linguistic abstraction should be used systematically as a tool to capture our emerging understanding of domains of computation. Moreover, to enable that systematic application, we need to capture our understanding of the domain of linguistic abstraction itself in higher-level meta languages. The argument is...
journal article 2015
document
Visser, Eelco (author), Wachsmuth, G.H. (author), Tolmach, Andrew (author), Neron, P.J.M. (author), Vergu, V.A. (author), Passalaqua Martins, A. (author), Konat, G.D.P. (author)
The realization of a language design requires multiple artifacts that redundantly encode the same information. This entails significant effort for language implementors, and often results in late detection of errors in language definitions. In this paper we present a proof-of-concept language designer's workbench that supports generation of IDEs...
conference paper 2014
Searched for: author:"Visser, Eelco"
(1 - 17 of 17)