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 Jorge Sousa Pinto

2012

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

Authors
Kniesel, G; Pinto, JS;

Publication
RULE

Abstract

2001

Combining interaction nets with externally defined programs

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

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

Abstract

2010

GamaSlicer

Authors
da Cruz, D; Henriques, PR; Pinto, JS;

Publication
Proceedings of the Tenth Workshop on Language Descriptions, Tools and Applications - LDTA '10

Abstract

2012

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

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

Publication
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

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

Publication
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

Authors
Barbosa, A; Cunha, A; Pinto, JS;

Publication
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.

  • 5
  • 12