SBLP is promoted by the Brazilian Computer Society (SBC) since 1996 and provides a forum for researchers, students, and professionals to present and discuss ideas and innovations in the design, definition, analysis, implementation and practical use of programming languages. Since 2010, SBLP has been organized in the context of the Brazilian Conference on Software: Theory and Practice (CBSoft 2020), together with other events on Computer Science and Software Engineering.
Proceeding Downloads
An Intrinsically-Typed Solution for the List-Machine Benchmark
Formal models are important tools in the programming language research community. However, such models are full of intricacies and, due to that, they are subject to subtle errors. Such failures motivated the usage of tools to ensure the correctness of ...
Syntax vs Semantics: Comparing Consistency Proofs for Minimal Propositional Logics
Consistency is a key property of any logical system. However, proofs of consistency usually rely on heavy proof theory notions like admissibility of cut. A more semantics-based approach to consistency proofs explores the correspondence between a logic ...
A Gradual Type System for Elixir
Elixir is a functional programming language with dynamic typing. In this paper we propose a type system that makes it possible to perform static type-checking on a significant fragment of Elixir. An important feature of the type system we introduce is ...
Monadic W in Coq
Though mechanized proofs for the type inference algorithm W have already been presented in the literature, none of them can be said to be similar to a usual functional implementation as they are not monadic and they carry extra parameters. Also, the ...
A formalisation of LEGv8 in Agda
- Santiago Arranz Olmos,
- Martín Fernández,
- Matías Steinberg,
- Alejandro Gadea,
- Emmanuel Gunther,
- Miguel Pagano
The LEGv8 architecture is a restricted representation of the ARMv8 architecture. In this paper, we present a formalisation of the LEGv8 architecture in Agda. We have modelled machine words, the processor state, and the semantics of the instruction set; ...
An Algorithm for Context-Free Path Queries over Graph Databases
Path queries are used to specify paths inside a data graph to match a given pattern. Query languages such as SPARQL usually include support for regular path patterns defined by means of regular expressions. Context-free path queries define a path whose ...
Stream Parallelism Annotations for Multi-Core Frameworks
Data generation, collection, and processing is an important workload of modern computer architectures. Stream or high-intensity data flow applications are commonly employed in extracting and interpreting the information contained in this data. Due to ...
YACOS: a Complete Infrastructure to the Design and Exploration of Code Optimization Sequences
The growing popularity of machine learning frameworks and algorithms has greatly contributed to the design and exploration of good code optimization sequences. Yet, in spite of this progress, mainstream compilers still provide users with only a handful ...
Towards an order-aware object comparison
As several studies show, code that compares objects is a known source of bugs in object-oriented languages. One of the causes is that multiple methods handle comparison. Another cause is more insidious and has its roots in how these languages control ...