Cookies
O website necessita de alguns cookies e outros recursos semelhantes para funcionar. Caso o permita, o INESC TEC irá utilizar cookies para recolher dados sobre as suas visitas, contribuindo, assim, para estatísticas agregadas que permitem melhorar o nosso serviço. Ver mais
Aceitar Rejeitar
  • Menu
Publicações

Publicações por Jorge Sousa Pinto

2012

Ninth International Workshop on Rule-Based Programming, RULE 2008, Hagenberg, Austria, July 14-18, 2008

Autores
Kniesel, G; Pinto, JS;

Publicação
RULE

Abstract

2001

Combining interaction nets with externally defined programs

Autores
Fernández, M; Mackie, I; Pinto, JS;

Publicação
APPIA-GULP-PRODE 2001: Joint Conference on Declarative Programming, Évora, Portgual, September 26-28, 2001, Proceedings, Évora, Portugal, September 26-28, 2001.

Abstract

2012

Using Term Rewriting to Solve Bit-Vector Arithmetic Problems - (Poster Presentation)

Autores
Abal, I; Cunha, A; Hurd, J; Pinto, JS;

Publicação
Theory and Applications of Satisfiability Testing - SAT 2012 - 15th International Conference, Trento, Italy, June 17-20, 2012. Proceedings

Abstract
Among many theories supported by SMT solvers, the theory of finite-precision bit-vector arithmetic is one of the most useful, for both hardware and software systems verification. This theory is also particularly useful for some specific domains such as cryptography, in which algorithms are naturally expressed in terms of bit-vectors. Cryptol is an example of a domain-specific language (DSL) and toolset for cryptography developed by Galois, Inc.; providing an SMT backend that relies on bit-vector decision procedures to certify the correctness of cryptographic specifications [3]. Most of these decision procedures use bit-blasting to reduce a bit-vector problem into pure propositional SAT. Unfortunately bit-blasting does not scale very well, especially in the presence of operators like multiplication or division. © 2012 Springer-Verlag.

2006

A framework for point-free program transformation

Autores
Cunha, A; Pinto, JS; Proenca, J;

Publicação
IMPLEMENTATION AND APPLICATION OF FUNCTIONAL LANGUAGES

Abstract
The subject of this paper is functional program transformation in the so-called point-free style. By this we mean first translating programs to a form consisting only of categorically-inspired combinators, algebraic data types defined as fixed points of functors, and implicit recursion through the use of type-parameterized recursion patterns. This form is appropriate for reasoning about programs equationally, but difficult to actually use in practice for programming. In this paper we present a collection of libraries and tools developed at Minho with the aim of supporting the automatic conversion of programs to point-free (embedded in Haskell), their manipulation and rule-driven simplification, and the (limited) automatic application of fusion for program transformation.

2005

Recursion patterns and time-analysis

Autores
Barbosa, A; Cunha, A; Pinto, JS;

Publicação
ACM SIGPLAN NOTICES

Abstract
This paper explores sonic ideas concerning the time-analysis of functional programs defined by instantiating typical recursion patterns such as folds, unfolds. and hylomorphisms. The concepts in this paper are illustrated through a rich set of examples in the Haskell programming language. We concentrate on unfolds and folds (also known as anamorphisms and catamorphisms respectively) of recursively defined types, as well as the more general hylomorphism pattern. For the latter, we use as case-studies two famous sorting algorithms, mergesort and quicksort. Even though time analysis is not compositional, we argue that splitting functions to expose the explicit construction of the recursion tree and its later consumption helps with this analysis.

2008

Visual Programming with Interaction Nets

Autores
Hassan, A; Mackie, I; Pinto, JS;

Publicação
DIAGRAMMATIC REPRESENTATION AND INFERENCE, PROCEEDINGS

Abstract
Programming directly with diagrams offers potential advantages such as visual intuitions, identification of errors (debugging), and insight into the dynamics of the algorithm. the purpose of this paper is to put forward one particular graphical formalism, interaction nets, as a candidate for visual programming which has not only all the desired properties that one would expect, but also has other benefits as a language, for instance sharing computation.

  • 5
  • 11