DEI Talks | Fluent API: A software engineering technique with type theoretical implications por Yossi Gil

Joseph (Yossi) Gil é Professor Associado da Faculty of Computer Science of the Technion, Israel Institute of Technology. As suas publicações foram em diversas áreas incluindo sistemas distribuídos, processamento de imagem, algoritmos, PRAMs e computação paralela, bases de dados, conceitos de programação orientada para objetos, algoritmos numéricos,… Os seus B.Sc. (in physics summa cum laude), M.Sc. (computer science, summa cum laude) e Ph.D. foram concedidos pela Hebrew University in Jerusalem. A informática teórica, especialmente os lower bounds e os algoritmos, foram o seu berço académico contudo tem também grande interesse pela programação em várias linguagens. O seu tópico de investigação atual é em sistemas e aplicações de machine learning para engenharia de software e algoritmos numéricos.

Junte-se a nós no dia 27 de Abril, às 14:30, na sala B016 da FEUP, para a apresentação de “Fluent API: A software engineering technique with type theoretical implications”.

Abstract:

 A chain of method calls in an OO language, such as a.b().c(d).e(f,g).h().i()… is what the industry calls fluent API. In such a chain, the return value of all but the last invocation, is the receiver of the next invocation. The technique is advertised and used as a powerful software engineering tool. The technique is also used to embed domain specific languages (DSLs), such as SQL, in a host general programming language, such as Java. In this talk, I will present the technique, and the fundamental theoretical questions: How should one design the classes and methods so that fluent API works the way it is supposed to? What is required from the type system of the host programming language to admit certain chains, and forbid others?

The presentation will survey a series of publications showing deep correspondence between type systems and the theory of automata: finite state automata, pushdown automata, etc.

Posted in DEI Talks, Eventos, Notícias.