From: mel@iitb.fhg.de (Wolfgang Melchert)
Subject: Re: Ideas for time-series manipulation language
Organization: Institut fuer Informations- und Datenverarbeitung
Date: Fri, 21 Aug 1992 12:22:28 GMT

In  <Bt3Jt3.3Kn.2@cs.cmu.edu> tgl+@cs.cmu.edu (Tom Lane) writes:

> I'm thinking about designing a language in which discrete time series are a
> fundamental data type.  I have vague memories of having seen similar ideas
> before, so I'm hoping someone can point me to prior work.
> [...]
> So, if anyone can point me to related papers, language designs, working
> systems, etc, I'd appreciate it.

There exist some developments on so-called 'synchronous' functional
languages. In these languages the processing of 'streams' of same-type
data objects can be described. According objects of different streams
can be combined, and it is also possible to combine different objets 
of the same stream, for instance if movements in a stream of 'image' 
objects should be detected. The latter is described by using synchronous
`predecessor' or 'delay' functions, that execute a relative index
adressing of objects within a stream.

Two languages of this type are 'SIGNAL' and 'LUSTRE' (bibliography
below). Both are rather similar. Independendly of this languages 
(because I touched this bibliography only later) I have developed a 
synchronous functional language too, that bases on the same idea. 
The objective of my language is the programming of real-time image
processing systems. Sorry, I don't yet have publications on my 
language, but I am able to deliver a short english description
on the general principles if required.

Bibliography: 
-------------
The first two articles describe the language SIGNAL, the next two
the language LUSTRE, and the article of Beneviste & Berry concerns
general aspects.

(LaTeX source)

\bibitem[Gau\-tier et al. 87]{Gautier et al. 87}

{\em SIGNAL: A Declarative Language for Synchronous Programming
of Real-Time Systems.\/}
T. Gautier, P. Le Guernic, L. Besnard.
Functional Programming and Computer Architecture, Portland, OR,
1987, G. Kahn (Ed.), Springer Lecture
Notes in Computer Science 274, Berlin, 1987, 257--277.

\bibitem[Le Guer\-nic et al. 91]{Le Guernic et al. 91}

{\em Programming Real-Time Applications with SIGNAL.\/}
P. Le Guernic, T. Gautier, M. Le Borgne, C. Le Maire.
Proceedings of the IEEE, Vol. 79, No. 9, 1991, 1321--1336.

\bibitem[Cas\-pi et al. 87]{Caspi et al. 87}

{\em LUSTRE: A Declarative Language for Programming Synchronous Systems.\/}
P. Caspi, D. Pilaud, N. Halbwachs, J. A. Plaice.
14th ACM Symposium on Principles of Programming Languages, M"unchen,
1987, 178--188.

\bibitem[Halb\-wachs et al. 91]{Halbwachs et al. 91}

{\em The Synchronous Data Flow Programming Language LUSTRE.\/}
N. Halbwachs, P. Caspi, P. Raymond, D. Pilaud.
Proceedings of the IEEE, Vol. 79, No. 9, 1991, 1305--1319.

\bibitem[Be\-ne\-vis\-te \& Ber\-ry 91]{Beneviste a Berry 91}

{\em The Synchronous Approach to Reactive and Real-Time Systems.\/}
A. Beneviste, G. Berry.
Proceedings of the IEEE, Vol. 79, No. 9, 1991, 1270--1282.


--
Wolfgang Melchert                               e-mail: mel@iitb.fhg.de
Fraunhofer-Institut fuer Informations- und      phone:  +49-721-6091-264
Datenverarbeitung (IITB), Fraunhoferstrasse 1   fax:    +49-721-6091-413
D-7500 Karlsruhe 1, GERMANY                     
Newsgroups: comp.lang.functional