2015
Authors
Fernandes, JP; Cunha, J; Saraiva, J; Pardo, A;
Publication
Central European Functional Programming School - 6th Summer School, CEFP 2015, Budapest, Hungary, July 6-10, 2015, Revised Selected Papers
Abstract
Functional programmers are strong enthusiasts of modular solutions to programming problems. Since software characteristics such as readability or maintainability are often directly proportional to modularity, this programming style naturally contributes to the beauty of functional programs. Unfortunately, in return of this beauty we often sacrifice efficiency: modular programs rely, at runtime, on the creation, use and elimination of intermediate data structures to connect its components. In this tutorial paper, we study an advanced technique that attempts to retain the best of this two worlds: (i) it allows programmers to implement beautiful, modular programs (ii) it shows how to transform such programs, in a way that can be incorporated in a compiler, into programs that do not construct any intermediate structure. © 2019, Springer Nature Switzerland AG.
2021
Authors
da Giao, H; Cunha, J; Pereira, R;
Publication
2021 IEEE SYMPOSIUM ON VISUAL LANGUAGES AND HUMAN-CENTRIC COMPUTING (VL/HCC 2021)
Abstract
Linear programming is a mathematical optimization technique used in numerous fields including mathematics, economics, and computer science, with numerous industrial contexts, including solving optimization problems such as planning routes, allocating resources, and creating schedules. As a result of its wide breadth of applications, a considerable amount of its user base is lacking in terms of programming knowledge and experience and thus often resorts to using graphical software such as Microsoft Excel. However, despite its popularity amongst less technical users, the methodologies used by these tools are often ad-hoc and prone to errors. To counteract this problem we propose creating a block-based language that allows users to create linear programming models using data contained inside spreadsheets. This language will guide the users to write syntactically and semantically correct programs and thus aid them in a way that current languages do not.
2021
Authors
Ribeiro, E; Sampaio, A; Goncalves, MM; Taveira, MD; Cunha, J; Maia, A; Matos, M; Goncalves, S; Figueiredo, B; Freire, T; Soares, T;
Publication
COUNSELLING PSYCHOLOGY QUARTERLY
Abstract
Portugal is one of the European countries that implemented early protective measures in the context of the COVID-19 pandemic. Portugal declared a state of emergency on 18 March, and a set of regional and national preventive public health measures was progressively implemented. Studies on the psychological impact of pandemics show evidence of the negative impact on mental health. Of particular concern are individuals with previous fragility (e.g. personal, family or occupational) and those undergoing life transitions. In this paper, we present a telephone-based psychological crisis intervention that was implemented to provide brief, appropriate, and timely psychological help. This intervention follows standard models of crisis intervention and is structured in five phases and five different intervention modules to take into account the impact of the pandemic on the mental health of specific risk groups. With these support services, we hope to help our community better cope with the immediate impact of the pandemic and to contribute to preventing serious mental health problems in the medium and long term.
2022
Authors
Pereira, P; Fernandes, JP; Cunha, J;
Publication
2022 IEEE Symposium on Visual Languages and Human-Centric Computing, VL/HCC 2022, Rome, Italy, September 12-16, 2022
Abstract
Data collection is pervasively bound to our digital lifestyle. A recent study reports that the growth of the data created and replicated in 2020 was even higher than in the previous years to an astonishing global amount of 64.2 zettabytes of data. There are numerous companies whose services/products rely heavily on data analysis, and mining the produced data has already revealed great value for businesses in different sectors. In order to be able to support the professionals that do this job, typically known as data scientists, we first need to characterize them. To contribute towards this characterization, we conducted a public survey and in this work we present the results about a particular aspects of their life: the tools they use and need. © 2022 IEEE Computer Society. All rights reserved.
2007
Authors
Barbosa, L; Cunha, J; Visser, J;
Publication
SYANCO'07: International Workshop on Synthesis and Analysis of Component Connectors - In conjunction with the 6th ESEC/FSE Joint Meeting
Abstract
Algebraic theories for modeling components and their interactions offer abstraction over the specifics of component states and interfaces. For example, such theories deal with forms of sequential composition of two components in a manner independent of the type of data stored in the states of the components, and independent of the number and types of methods offered by the interfaces of the combinators. General purpose programming languages do not offer this level of abstraction, which implies that a gap must be bridged when turning component models into implementations. In this paper, we present an approach to prototyping of component-based systems that employs so-called type-level programming (or compile-time computation) to bridge the gap between abstract component models and their type-safe implementation in a functional programming language. We demonstrate our approach using Barbosa's model of components as generalized Mealy machines. For this model, we develop a combinator library in Haskell, which uses type-level programming with two effects. Firstly, wiring between components is computed during compilation. Secondly, the well-formedness of the component compositions is guarded by Haskell's strong type system. Copyright 2007 ACM.
2011
Authors
Beckwith, Laura; Cunha, Jacome; Fernandes, JoaoPaulo; Saraiva, Joao;
Publication
CoRR
Abstract
The access to the final selection minute is only available to applicants.
Please check the confirmation e-mail of your application to obtain the access code.