Friday, February 10, 2006

Lection 2 (2/10/06) : Rewriting

Today we will discuss rewriting. Below I will list all relevant resources.

Rewriting in Spiral


Handout: rewriting.txt
Demo transcript: rewriting-demo.txt
Lecture scratchpad: rewriting-scratch.txt

Papers

The main paper on the topic is

Nachum Dershowitz, Jean-Pierre Jouannaud.
Rewrite Systems, (766 citations),
Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics (B), 1990.
(PS.gz) (PS) (PDF)

Other interesting papers in the area:

Narciso Martí-Oliet and José Meseguer.
Rewriting Logic: Roadmap and Bibliography.
(abstract) (BibTeX entry) (gzip'ed Postscript)


José Meseguer.
Research Directions in Rewriting Logic.
Computational Logic, NATO Advanced Study Institute, Marktoberdorf, Germany, 1997. Springer-Verlag, 1998.
(abstract) (BibTeX entry) (gzip'ed Postscript)

Peter Csaba Ölveczky and José Meseguer.
Specifying Real-Time Systems in Rewriting Logic.
In 1st International Workshop on Rewriting Logic and its Applications (WRLA'96).
Electronic Notes in Theoretical Computer Science, Vol. 4. 1996
(abstract) (BibTeX entry) (gzip'ed Postscript)

For additional information refer to the Maude website.

Lecture 1 (12/23/05) : Namespaces

In reality we also went through OOP programming in Spiral. Since we had many new people, last Friday (2/3/06) I had to do a review session on namespaces. I will also have to repeat OOP.

Namespace redesign document is available thru SVN : spiral/doc/namespaces.tex

Status of the namespace redesign : implementation complete, testing .

Lection 0 (12/16/05): Basic GAP syntax and Spiral extensions.

GAP3 Manual : http://www.gap-system.org/Gap3/Doc3/manual.html
The manual is quite big, but of main interest is just the main syntax and data structures, and this part is quite compact. It should take only about 2 hours to become comfortable with GAP. Links to relevant chapters:

Friday, February 03, 2006

Namespace Discussion

---- CURRENT -------
load a (look in spiral/*)
load b (look in spiral/a/*)

inside mystuff
Import(A)

---- MAREK -------
SPIRAL_PATHS = [ "spiral/" ];
Load mystuff (spiral/mystuff/init.g and spiral/mystuff.g)
Include a (spiral/mystuff/a.gi)
Include b (spiral/mystuff/b.gi)
Load mystuff.A (spiral/mystuff/A/init.g)

-- inside mystuff
Import mystuff.A

Welcome to nSpiral

Spiralnotes was taken.