Cookies Policy
The website need some cookies and similar means to function. If you permit us, we will use those means to collect data on your visits for aggregated statistics to improve our service. Find out More
Accept Reject
  • Menu
Publications

Publications by Jácome Costa Cunha

2015

Watch Out for that Tree! A Tutorial on Shortcut Deforestation

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

Linear Programming Meets Block-based Languages

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

Telephone-based psychological crisis intervention: the Portuguese experience with COVID-19

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

Which Technologies are Most Frequently Used by Data Scientists?

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

A type-level approach to component prototyping

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

An Empirical Study on End-users Productivity Using Model-based Spreadsheets

Authors
Beckwith, Laura; Cunha, Jacome; Fernandes, JoaoPaulo; Saraiva, Joao;

Publication
CoRR

Abstract

  • 9
  • 14