<?xml version="1.0" ?>

<documento html="default" latex="article">

<titulo> Joćo Saraiva
</titulo>

<autor>
Joćo Saraiva <br/>
<link href="mailto:jas@di.uminho.pt"> jas@di.uminho.pt </link>
</autor>

<instituicao>

<tabela htmlview="html">

<linha>
<elem>Departamento de Informįtica  </elem>
</linha>


<linha>
<elem>Universidade do Minho</elem>
</linha>

<linha>
<elem>tel. office: +351 - 253 - 60 4479</elem>
</linha>

<linha>
<elem>tel. secretary: +351 - 253 - 60 4470</elem>
</linha>

<linha>
<elem>fax: +351 - 253 - 60 4471</elem>
</linha>

<linha>
<elem>mobile: +351 - 96 - 4200918 (private)</elem>
</linha>


<linha>
<elem>email: jas@di.uminho.pt </elem>
</linha>

</tabela>

</instituicao>

<par/>

<cor cor="green"> <bold>Joćo Saraiva in 100 words:</bold>
</cor>


After having studying systems and software engineering
(<it>licenciatura em Engenharia em Sistema e Informįtica</it>,
1986-1991) and Computer Science (MSc. defended in July 1993) at the
Department of Informatics at Minho University, I went to Utrecht
University, The Netherlands, where I worked under Prof. Dr. Doaitse
Swierstra supervision on my Ph.D. thesis. I defended the thesis in
Utrecht in December 1999, and, then, I returned to Minho University
where I am now an auxiliar professor at the Department of Informatics.
In July 2000, I was appointed the research coordinator of the
department in the research institute Algoritmi.

<par/>

<capitulo nome="Teaching Activities">

In recent years, I have been involved in teaching the following
courses:


<itemize>
<item> 
<link href="http://www.di.uminho.pt/~jas/Teaching/Courses/mpiii.html">
Métodos de programaēćo III 
</link>

<itemize>
<item> This course is briefly described in the paper I have written
for <link
href="http://www.di.uminho.pt/~jas/Research/Papers/FDPE02/fdpe02.ps.gz">
FDPE'02
</link>
</item>
</itemize>

</item>


<item>  
<link href="http://www.di.uminho.pt/~jas/Teaching/Courses/pli.html">
Processamento de Linguagens 
</link>

<par/>

To support this course, I have written the following lecture notes:

<itemize>
<item> <it>Especificaēćo e Processamento de Linguagens</it>, <it>(in Portuguese) </it>, 168 pages, 1995 <link
href="http://www.di.uminho.pt/~jas/Teaching/LectureNotes/esp_proc_ling.ps.gz">
postscript
</link>
</item>

<item> <it>Language Processing (with a functional flavour), (in preparation)
</it>
</item>

<item>The paper <it>Generating Spreadsheet-like Tools from Strong
Attribute Grammars</it> presented at
<link  href="http://gpce.org/GPCE03">
GPCE'03 </link> includes as running example a student project proposed
in one instance of this course.
</item>

</itemize>

</item>


<item> 
<link href="http://www.di.uminho.pt/~jno/html/afp.html">
Advanced Functional Programming
</link>
</item>


</itemize>


<link href="http://www.di.uminho.pt/~jas/Teaching/Projects/proj.html">
And I keep a list of student projects both for Master Projects and
Final Assignment Projects (in Portuguese)
</link>






</capitulo>


<capitulo nome="Research Activities">


<seccao nome="Useful Software">

<itemize>
<item> 
<link href="http://www.di.uminho.pt/~jas/Research/LRC/lrc.html">
<it>Lrc: </it> A generator of incremental language-based tool
based on higher-order attribute grammars. 
</link> 

<br/>

Lrc is a generator for graphical, easy to use, language-oriented
tools.  Lrc accepts as input a Higher Order Attribute Grammar
specifying a particular language and generates incremental attribute
evaluators. Lrc generates tools that have advanced interactive
interfaces and these interfaces are specified within the AG
formalism. Furthermore, the interface is itself incrementally
computed. Lrc is now beeing used in Academia (both in teaching and in
research) and in industry (<link href="http://www.ordina.nl"> ordina
</link>).  This system is described in the paper <link
href="http://www.di.uminho.pt/~jas/Research/Papers/CC98/cc98.ps.gz">
cc98 </link> and in my PhD thesis (see publications section).
Obviously, this homepage was produced by a tool generated by Lrc.

<br/>
</item>

<item> 

<link href="http://www.di.uminho.pt/~jas/Research/HaLeX/HaLeX.html">
<it>HaLeX: </it>A Haskell Library to Model, Manipulate and
Animate Regular Languages.
</link> 

<par/>

This library introduces a number of \Haskell\ datatypes and the
respective functions that manipulate them, providing a clear,
efficient and concise way to define, to understand and to manipulate
regular languages in Haskell. For example, it allows the graphical
representation of finite automata and its animation, and the
definition of reactive finite automata. This library is described in
the paper <link
href="http://www.di.uminho.pt/~jas/Research/Papers/FDPE02/fdpe02.ps.gz">
fdpe02
</link>.

</item>

</itemize>

</seccao>



<seccao nome="Committees (Program, Organizing, Steering)">

<itemize>

<item> 
<link
href="http://sblp2004.ic.uff.br/cfp-sblp-04.text">
SBLP'04
</link>,
<it>8th Brazilian Symposium on Programming Languages</it>, Niteroi, RJ, Brazil - May, 2004. 
<it>(member of the program committee)</it>
<br/>
</item>



<item> 
<link
href="http://www.di.uminho.pt/LDTA04">
LDTA04
</link>,
4th Workshop on <it>Language Descriptions, Tools and
Applications</it>, ETAPS'04, Barcelona, March, 2004. 
<it>(member of the organizing committee)</it>
<br/>
</item>

<item> 
<link
href="http://www-sop.inria.fr/LDTA2003/">
LDTA03
</link>,
3nd Workshop on <it>Language Descriptions, Tools and
Applications</it>, ETAPS'03, Poland, April, 2003. <it>(workshop
co-chair and co-editor of the proceedings)</it>
<br/>
</item>

<item> <it>Applied Semantics II EU Working Group</it> APPSEM II,
<it>(member of the steering committee)</it>
<br/>
</item>

<item> 
<link
href=" http://www.cwi.nl/conferences/LDTA2002">
LDTA02
</link>, 
2nd Workshop on <it>Language Descriptions, Tools and
Applications</it>, ETAPS'02, Grenoble, France, April, 2002. <it>(member
of the program committee)</it>
<br/>
</item>


<item> 
<link
href="http://www.informatik.uni-freiburg.de/~thiemann/pepm02/">
PEPM02
</link>, 
2002 ACM SIGPLAN Workshop on <it>Partial Evaluation and
Semantics-Based Program Manipulation</it> (PEPM'02) Portland, Oregon, USA,
January, 2002. <it>(member of the program committee)</it>
<br/>

</item>
<item> Research Institute <it>Algoritmi</it>, University of Minho,
<it>(member of the steering committee, from July 2000 till February 2003)</it> <br/>
</item>

<item> 
<link
href="http://www-sop.inria.fr/oasis/Caminha00/">
APPSEM00
</link>, 
International Summer School on <it>Applied Semantics</it>,
Caminha, Portugal, July, 2000. (proceedings to be published as LNCS
Tutorial by Springer). <it>(member of the organizing committee and
co-editor of the proceedings)</it>
<br/>
</item>

<item> <link
href="www-sop.inria.fr/oasis/WAGA00/waga00.html">
WAGA00
</link>, 
3rd Workshop on <it>Attribute Grammars and their Applications,
WAGA'2000</it>, Ponte do Lima, Portugal, July, 2000.  <it>(member of the
organizing and program committee)</it>
<br/>
</item>

<item> 
<link
href="http://www.di.uminho.pt/afp98/">
AFP98
</link>, 
3rd International Summer School on <it>Advanced Functional
Programming</it>, LNCS Tutorial, volume 1608, Springer, Braga, Portugal,
September 1998. <it>(member of the organizing committee)</it>
<br/>
</item>

<item> <link
href="http://www.di.uminho.pt/afp98/ws_program.html">
WRTFP98
</link>, Workshop on <it>Research Themes on Functional Programming</it>,
Braga, Portugal, September, 1998. <it>(member of the organizing
committee and co-editor of the proceedings)</it>
<br/>
</item>

<item> Workshop on <it>Language Processing: OO-approaches and
Parallelism</it>, University of Minho, October 1993.
<link
href="http://www.di.uminho.pt/~jas/Research/Events/Programa2diagram.gif">
poster
</link>
<it>(member of the organizing committee)</it>
<br/>
</item>

</itemize>

</seccao>

</capitulo>



<capitulo nome="Selected Publications">

<itemize>


<item> Joćo Saraiva, Sérgio Schneider, <it>Embedding Domain Specific
Languages in the Attribute Grammar Formalism</it> (submitted for
publication)
<br/>
</item>

<item> Joćo Saraiva, <it> Component-based Programming for Higher-Order
Attribute Grammars</it>, proceedings of the ACM SIGPLAN SIGSOFT
Conference on Generative and Component-Based Software Engineering
(GPCE/PLI'02), Pittsburgh, USA, October 2002.
<link
href="http://www.di.uminho.pt/~jas/Research/Papers/GPCE02/gpce02.ps.gz"> ps
</link>,
<link
href="http://www.di.uminho.pt/~jas/Research/Papers/GPCE02/abstract.html"> abstract
</link>,
<link
href="http://www.di.uminho.pt/~jas/Research/Papers/GPCE02/slides.ps.gz">
slides </link>,
<link
href="http://www.di.uminho.pt/~jas/Research/Papers/GPCE02/gpce02.bib"> bibentry
</link>
<br/>
</item>


<item> Joćo Saraiva, <it>HaLeX: A Haskell Library to Model, Manipulate
and Animate Regular Languages</it>, proceedings of the ACM Workshop on
Functional and Declarative Programming in Education (FDPE/PLI'02),
Pittsburgh, USA, October 2002. 
<link
href="http://www.di.uminho.pt/~jas/Research/Papers/FDPE02/fdpe02.ps.gz"> ps
</link>,
<link
href="http://www.di.uminho.pt/~jas/Research/Papers/FDPE02/abstract.html"> abstract
</link>,
<link
href="http://www.di.uminho.pt/~jas/Research/Papers/FDPE02/slides.html">
slides </link>,
<link
href="http://www.di.uminho.pt/~jas/Research/Papers/FDPE02/fdpe02.html"> bibentry
</link>

<br/>
</item>

<item> Alcino Cunha, José Barros, Joćo Saraiva <it> Deriving
Animations from Recursive Definitions </it> proceedings of the 14th
International Workshop on the Implementation of Functional Languages,
Madrid, Spain, September 2002. 
<br/>
</item>




<item> Gille Barthes, Peter Dybjer, Luķs Pinto, Joćo Saraiva, <it>
Applied Semantics</it>, proceedings of the International Summer School
on Applied Semantics (APPSEM'00), volume 2395 of LNCS,
Springer-Verlag, August 2002.  <br/>
</item>

<item> Joćo Saraiva, Doaitse Swierstra, Matthijs Kuiper,
<it>Functional Incremental Attribute Evaluation</it>, proceedings of
the 9th International Conference on Compiler Construction,
CC/ETAPS'00, volume 1781 of LNCS, pages 279-294, Springer-Verlag, March 2000.
<link
href="http://www.di.uminho.pt/~jas/Research/Papers/CC00/cc00.ps.gz"> ps
</link>,
<link
href="http://www.di.uminho.pt/~jas/Research/Papers/CC00/abstract.html"> abstract
</link>,
<link
href="http://www.di.uminho.pt/~jas/Research/Papers/CC00/slides.ps.gz">
slides </link>, 
<link
href="http://www.di.uminho.pt/~jas/Research/Papers/CC00/cc00.bib"> bibentry
</link>
<br/>
</item>

<item> Joćo Saraiva, Matthijs Kuiper, Pedro Henriques <it>Tutorial on
Language-based Environments</it>, proceedings of the Brazilian
Symposium on Programming Languages SBLP'00, Recife, Brazil, March
2000.  <link
href="http://www.di.uminho.pt/~jas/Research/Papers/SBLP00/sblp00.ps.gz">
ps
</link>,
<link
href="http://www.di.uminho.pt/~jas/Research/Papers/SBLP00/abstract.html"> abstract
</link>,
<link
href="http://www.di.uminho.pt/~jas/Research/Papers/SBLP00/slides.ps.gz"> slides
</link>,
<link
href="http://www.di.uminho.pt/~jas/Research/Papers/SBLP00/sblp00.bib"> bibentry
</link>
<br/>
</item>


<item> Joćo Saraiva, <it> Purely Functional Implementation of
Attribute Grammars</it>, PhD thesis, Department of Computer Science,
Utrecht University, The Netherlands, December 1999. 
<link href="ftp://ftp.cs.uu.nl/pub/RUU/CS/phdtheses/Saraiva/"> pdf </link>,
<link
href="http://www.di.uminho.pt/~jas/Research/Papers/PhD/saraiva99.ps.gz"> ps
</link>,
<link
href="http://www.di.uminho.pt/~jas/Research/Papers/PhD/saraiva99.bib"> bibentry
</link>

<br/>

  <itemize>
  <item> I still have some hard-copies of my thesis (published as a
  book in The Netherlands). Send me an <link
  href="mailto:jas@di.uminho.pt"> email </link> and I'll be very pleased
  to mail you a copy.
  </item>
  </itemize>
<br/>

</item>


<item> Doaitse Swierstra, Pablo Azero, Joćo Saraiva, <it>Designing and
Implementing Combinator Languages</it>, proceedings of the Third
Summer School on Advanced Functional Programming (AFP'98), volume 1608
of LNCS, pages 150-206, Springer-Verlag, September 1999.

<link href="http://www.cs.uu.nl/people/doaitse/Papers/1999/AFP3.pdf"> 
pdf </link>
<br/>
</item>

<item> Joćo Saraiva, Doaitse Swierstra, <it>Data Structure Free
Compilation</it>, proceedings of the 8th International Conference on
Compiler Construction, CC/ETAPS'99, volume 1575 of LNCS, pages 1-16,
Springer-Verlag, March 1999.  

<link
href="http://www.di.uminho.pt/~jas/Research/Papers/CC99/cc99.ps.gz">
ps </link>, <link
href="http://www.di.uminho.pt/~jas/Research/Papers/CC99/abstract.html">
abstract </link>, <link
href="http://www.di.uminho.pt/~jas/Research/Papers/CC99/slides.ps.gz">
slides </link>, <link
href="http://www.di.uminho.pt/~jas/Research/Papers/CC99/cc99.bib">
bibentry
</link>
<br/>
</item>

<item> Joćo Saraiva, Doaitse Swierstra <it>Generic Attribute
Grammars</it>, proceedings od the 2nd Workshop on Attribute Grammars
and their Applications, WAGA/ETAPS'99, pages 185--204, Amsterdam, The
Netherlands, March 1999.
<link
href="http://www.di.uminho.pt/~jas/Research/Papers/WAGA99/waga99.ps.gz"> ps
</link>,
<link
href="http://www.di.uminho.pt/~jas/Research/Papers/WAGA99/abstract.html"> abstract
</link>,
<link
href="http://www.di.uminho.pt/~jas/Research/Papers/WAGA99/slides.ps.gz"> slides
</link>,
<link
href="http://www.di.uminho.pt/~jas/Research/Papers/WAGA99/waga99.bib"> bibentry
</link>
<br/>
</item>


<item> Joćo Saraiva, Doaitse Swierstra, Matthijs Kuiper,
<it>Strictification of Computations on Trees</it>, proceedings of the
3rd Latin-American Conference on Functional Programmaing (CLAPF'99 -
IFIP 2.8 working group, Recife, Brazil, March 1999.
<link
href="http://www.di.uminho.pt/~jas/Research/Papers/CLAPF99/clapf99.ps.gz"> ps
</link>,
<link
href="http://www.di.uminho.pt/~jas/Research/Papers/CLAPF99/abstract.html"> abstract
</link>,
<link
href="http://www.di.uminho.pt/~jas/Research/Papers/CLAPF99/slides.ps.gz"> slides
</link>,
<link
href="http://www.di.uminho.pt/~jas/Research/Papers/CLAPF99/clapf99.bib"> bibentry
</link>
<br/>
</item>

<item>Joćo Saraiva, Matthijs Kuiper <it>Lrc - A Generator for
Incremental Language-Oriented Tools</it>, proceedings of the 7th
International Conference on Compiler Construction, CC/ETAPS'98, volume
1383 of LNCS, pages 298-301, Springer-Verlag, April 1998
<link
href="http://www.di.uminho.pt/~jas/Research/Papers/CC98/cc98.ps.gz"> ps
</link>
<link
href="http://www.di.uminho.pt/~jas/Research/Papers/CC98/abstract.html"> abstract
</link>
<link
href="http://www.di.uminho.pt/~jas/Research/Papers/CC98/slides.ps.gz"> slides
</link>
<link
href="http://www.di.uminho.pt/~jas/Research/Papers/CC98/cc98.bib"> bibentry
</link>
<br/>
</item> 


<item>Joćo Saraiva, Matthijs Kuiper, Doaitse Swierstra <it>
Specializing Trees for Efficient Functional Decoration </it>,
proceedings of the Workshop on Specialization of Declarative Programs
and its Applications (part of ILPS'97), New York, USA, pages 63-72,
October 1997. (Also available as 
<link
href="http://www.cs.kuleuven.ac.be/publicaties/rapporten/cw/CW255.abs.html">
Technical Report CW 255</link>, Department of Computer Science,
Katholieke Universiteit Leuven , Belgium).  <br/>
</item>


<item>Joćo Saraiva, Matthijs Kuiper, Doaitse Swierstra <it>Effective
Function Cache Management for Incremental Attribute Evaluation </it>,
proceedings of the 9th International Workshop on Implementation of
Functional Languages, St Andrews, Scotland, pages 517--528, September,
1997.
<br/>
</item>

<item>Joćo Saraiva, Doaitse Swierstra, Matthijs Kuiper, Maarten
Pennings <it> Strictification of Lazy Functions </it>, Department of
Computer Science, Utrecht University, Technical Report UU-CS-1996-51,
November 1996. <link
href="ftp://ftp.cs.uu.nl/pub/RUU/CS/techreps/CS-1996/1996-51.ps.gz">
ps </link>
</item>

</itemize>

</capitulo>


<capitulo nome="Supervision">


<seccao nome="PhD Thesis">

<itemize>
<item> Rui Guerra, Department of Computer Science, Utrecht University, 2002 (start)
</item>
</itemize>

</seccao>


<seccao nome="Master Thesis">


<itemize>

<item> Rui Guerra, <it>Inverting Parsers</it>, Utrecht
University/University of Minho, August, 2002. (Dutch Master Thesis)
</item>

</itemize>

Since 1998, I am colaborating with Philips Research - Eindhoven in the
Da Vinci EU Exchange Program, under which several Portuguese students
have realized their final project (a Dutch Master thesis) at Philips
research. I co-supervised the following projects:

<itemize>

<item> J. M. A. Ferreira, <it>Browsing Assistant </it>, Philips
Research - Eindhoven and University of Minho, September, 2002.
</item>

<item> Luis António Pinto Fraga, <it>Remote access to home storage
devices</it>, Philips Research - Eindhoven and University of Minho,
December, 2001.
</item>


<item> Filipe Miguel dos Santos Pereira, <it>Building an assembly
bridge from Motorola 56k to REAL RD24 processors</it>, Philips
Research - Eindhoven and University of Minho, December, 2000.
</item>

<item> Orlando Ricardo da Silva Costa, <it>Optimizing Java Just In
Time Compilation for TriMedia</it>, Philips Research - Eindhoven and
University of Minho, July, 2000.
</item>

<item> Dario Oliveira Teixeira, <it>Java Just In Time Compilation for
TriMedia</it>, Philips Research - Eindhoven and University of Minho,
November, 1999.
</item>

<item> Rui Pedro Amaral Rodrigues, <it>Structure from Motion Patch
Matching for 3D reconstruction </it>, Philips Research - Eindhoven and
University of Minho, November, 1998.
</item>

</itemize>

</seccao>


</capitulo>

<capitulo nome="Travel Plans">


<par/>


<tabela htmlview="html" bgcolor="white">



<linha>
<elem>  </elem>
<elem> April, 2004: </elem> 
<elem> 
<link href="http://www.lsi.upc.es/etaps04/">ETAPS'04 </link>
</elem> 
</linha>



<linha>
<elem>  </elem>
<elem> September, 2003: </elem> 
<elem> <link  href="http://gpce.org/GPCE03">
GPCE'03 </link> </elem> 
</linha>



<linha>
<elem>  </elem>
<elem> April 21 - May 3, 2003: </elem> 
<elem> University of Minnesota, USA </elem> 
</linha>


<linha>
<elem>  </elem>
<elem> March, 2003: </elem> 
<elem> 
<link href="http://www.mimuw.edu.pl/etaps03/">ETAPS'03 </link>
</elem> 
</linha>

<linha>
<elem>  </elem>
<elem> February, 2003:</elem> 
<elem> Mozambique: Master Course </elem> 
</linha>

<linha>
<elem>  </elem>
<elem> September till December, 2002:</elem> 
<elem> Oxford University   </elem> 
</linha>


<linha>
<elem>  </elem>
<elem> October 3-8, 2002 </elem> 
<elem>    
<link href="http://pli2002.cs.brown.edu/"> PLI'02
</link>
</elem> 
</linha>


<linha>
<elem>  </elem>
<elem> September 16th - 18th, 2002 </elem> 
<elem>    
<link href="http://dalila.sip.ucm.es/ifl02/"> IFL'02
</link>
</elem> 
</linha>



<linha>
<elem> </elem>
<elem> July till August, 2002: </elem> 
<elem> Utrecht University  </elem> 
</linha>

</tabela>


</capitulo>


</documento>



