| Wadge, W. W., Ashcroft, E. A. Lucid, the Dataflow Programming Language. Academic Press 1985. |
....3.3. Let P be a Disjunctive Chronolog program and C 2 TDHBP . Then the following are equivalent: 1. C is true in all minimal temporal Herbrand models of P . 2. C is in MTMSP . 3. C is in exp(lfp(T P ) 4. C is a logical consequence of P . 4 Conclusions Temporal programming, either functional[WA85, RW96] or logic [OM94, Org91, PG95] have been widely used as a means for describing systems that are inherently dynamic. On the other hand the need to express uncertainty has led researchers in introducing disjunctive logic programming[LMR92] We have developed the syntax and declarative semantics of ....
W. W. Wadge and E. A. Ashcroft. Lucid, the dataflow Programming Language. Academic Press, 1985.
....by enumerating and evaluating (one by one) the set of all canonical instances of the goal clause. The above enumeration strategy is the standard technique which has been adopted for the Chronolog family of languages. The origins of this approach date back to the functional dataflow language Lucid [27], in which the basic data structures are streams. The Chronolog language, designed by the same research group, inherited the operators, the stream oriented nature, and some of the implementation decisions of Lucid. A similar idea as the enumeration strategy described above, has been used in Lucid ....
....branching time logic programming paradigm. Finally, an interesting direction for future work is the addition of negation in Cactus. Promising results in this direction (for the linear logic language Chronolog) are reported in [32] 7 Conclusions Temporal programming languages, either functional [27] or logic [1, 3, 33] have been widely used as a means for describing dynamic systems. However, most temporal languages use a linear notion of time a fact that makes them unsuitable for certain types of applications. In this paper we have introduced the branching time logic programming language ....
W. W. Wadge and E. A. Ashcroft. Lucid, the dataflow programming language. Academic Press, 1985. 21
....design called ActiveVRML [7] DirectX Animation is used from more mainstream imperative languages, and so mixes the functional and imperative approaches. There are also several languages designed around a synchronous data flow notion of computation. The generalpurpose functional language Lucid [21] is an example of this style of language, but more importantly are the languages Signal [11] and Lustre [4] which were specifically designed for control of real time systems. In Signal, the most fundamental idea is that of a signal, a time ordered sequence of values. Unlike Fran, however, time ....
W.W. Wadge and E.A. Ashcroft. Lucid, the Dataflow Programming Language. Academic Press U.K., 1985.
.... space time continuum becomes the different dimensions of the context of evaluation, and the laws are expressed naturally using intensional definitions [7] Lucid is a multidimensional intensional programming language whose semantics is based on the possible world semantics of intensional logic [1, 10]. It is a functional language in which expressions and their valuations are allowed to vary in an arbitrary number of dimensions. Intensional programming (in the sense of Lucid) has been successfully applied to resolve problems with a new perspective that enables a more natural understanding of ....
W. W. Wadge and E. A. Ashcroft. Lucid, the Dataflow Programming Language. Academic
....description to the various intermediate steps can be carried out with tools of guaranteed performance. Such an approach is standard in certain communities, where languages with strong formal properties are used to ensure robust design. Examples include ML [2] dataflow languages (e.g. Lucid [3], Haskell [4] and synchronous languages (e.g. Lustre, Signal, Esterel [5] There is a broad range of potential formalizations of a design, but most tools and designers describe the behavior of a design as a relation between a set of inputs and a set of outputs. This relation may be informal, ....
W. Wadge and E.A. Ashcroft, Lucid, the dataflow programming language, Academic Press, 1985.
....would have to be rejected. In other words, an effective stratification test for temporal logic programming should also examine for temporal circularities in the program. In [Wad81] W. Wadge developed the cycle sum test which ensures that a given temporal functional program of the language Lucid [WA85], is deadlock free. The test was later extended by S. Matthews [Mat95] to a wider context (but still in the area of functional programming) We show that the test is also applicable in the area of temporal logic programming with negation, and we demonstrate that programs that pass the test have a ....
W. W. Wadge and E. A. Ashcroft. Lucid, the Dataflow Programming Language. Academic Press, 1985.
....Lustre [46] and Silage [50] languages all have a visual and a textual syntax, the latter available in the commercial Mentor Graphics DSP Station as DFL. Other languages with related semantics, such as Sisal [73] are used primarily or exclusively with textual syntax. The language Lucid [92][96], while primarily used with textual syntax, has experimental visual forms [10] Hierarchy in graphical program structure can be viewed as an alternative to the more usual abstraction of subprograms via procedures, functions, or objects. It is better suited than any of these to a visual syntax, and ....
W. W. Wadge and E. A. Ashcroft, Lucid, the dataflow programming language, London Academic Press, 1985.
....determined, then the appropriate versions of each component are determined, and so on. In order for automatic software configuration to take place, a process called eduction must be used. Eduction, a form of demand driven lazy evaluation, was first proposed for the execution of dataflow languages (Wadge and Ashcroft 1985). Since then, it has been generalized for many other computer problems (Orgun and Ashcroft 1996) The eductive process for software configuration is as follows (Plaice and Wadge 1993) A version of a system is requested from a warehouse, in this case a software repository. To build that version, ....
Wadge, W.W. and Ashcroft, E.A. 1985. Lucid, the Dataflow Programming Language. Academic Press.
....DSP Station) allows an arbitrary mixture of visual and textual specification, both based on the applicative language Silage [35] Several other languages with related semantics, such as SIGNAL [9] 52] and Sisal [57] are used primarily or exclusively with textual syntax. The language LUCID [75][77], while primarily used with textual syntax, has experimental visual forms [7] Hierarchy in graphical program structure can be viewed as an alternative to the more usual abstraction of subprograms via procedures, functions, or objects. It is better suited than any of these to a visual syntax, and ....
W. W. Wadge and E. A. Ashcroft, Lucid, the dataflow programming language, London Academic Press, 1985.
....specific models and subsystems that relate only to time. The other possibility is that time is just another axis in a coordinate system, i.e. a t axis in a coordinate system already containing an x , y , and perhaps a z axis. This approach was used in an early spreadsheet language based on Lucid [23] known as Plane Lucid [6] which gave 2 D operators such as hsby and vsby for horizontally vertically spatially by (to the right below) to reference elements along the x and y axis of a spreadsheet grid and analogous operators such as fby meaning followed by (temporally next) to reference ....
W. Wadge and E. Ashcroft, Lucid, the Dataflow Programming Language, Academic Press, London, 1985.
....if a cell named foo had the formula earlier (foo 1) initially 1 until (foo 5) foo s temporal vector would be (1, t 1 ) 2, t 2 ) 3, t 3 ) 4, t 4 ) 5, t 5 ) 6, t 6 ) and its vt tuple at time t 6 would never expire. Fby is a syntactic alternative to earlier inspired by Lucid [Wadge and Ashcroft 1985], and in fact is internally implemented using earlier. It simply allows the initial value to precede the operator without a keyword, thus specifying an initial value for time t 1 and a sequence beginning at time t 2 . For example, 1 fby earlier (foo 1) until (foo 5) specifies the same ....
....time. Thus, any cell referencing the result cell on an animation form, or in fact referencing any other time varying cell, will also vary over time. This transitivity is also present in other time varying languages such as those termed synchronous or reactive languages, such as Lucid [Wadge and Ashcroft 1985; Du and Wadge 1990] and related languages such as Chronolog, Esterel and LUSTRE [Orgun and Wadge 1992; Liu and Orgun 1996; Halbwachs 1993] however, these languages did not extend support to the realm of graphics and animations. Fran [Elliott and Hudak 1997] is a recent Haskell based system that ....
W. Wadge and E. Ashcroft, Lucid, the Dataflow Programming Language, Academic Press, London, 1985.
....and Wise [78a] is implicit in the application of a list (See Figure 2.2) It is a generalization of Map1. The data recursion above is equivalent to rec: Z 1 [inc ] Z] Z] inc ] evaluates to a non terminating list of incrementation operations. A style of expression reminiscent of Lucid [WaAs86] is prevalent among Daisy programers. Iterations are embedded in recursively defined structure. For instance, one is more likely to see the fibonacci function defined as an indexing operation on a sequence, FIB = N. rec: U V] 1 V 1 [add ] U V] N:F ] than its function ....
Wadge and Aschroft. Lucid, the Data Flow Programming Language. 1986.
....equations It appears clearly that a system of boolean equations lies under each SIGNAL process. We hinted that during the presentation of the kernel of SIGNAL. We recapitulate these equations in Table 1. At this stage, the main difference between SIGNAL and the classical data flow languages [16] [25] is that in SIGNAL we manipulate synchronized data flow by means of clocks. The main purpose of synchronized data flow is that all the synchronizations (expressed in terms of equations over clocks) should be completely handled at compile time. For more details, see [17] 3 signal process clock ....
W. W. Wadge and E. A. Ashcroft. LUCID, the Dataflow Programming Language. Academic Press, 1985. 11
....all. As a consequence, we use the general algorithm whatever the rank of the reference. 4 Applications 4.1 Conversion to Single Assignment Form Single assignment programs have been proposed by several authors[27, 25] as a mean of specifying algorithms for highly parallel systems. Another point[6, 7] is that since a memory cell in such a program is defined only once, its contents may be considered as a variable in the mathematical sense and subjected to the familiar algebraic and analytic manipulations. The following algorithm may be used to convert a static control program to single ....
E. A. Ashcroft and W. W. Wadge. Lucid, the Data-flow Programming Language. Academic Press, 1985.
....and once by filter evens. In the general case the switch function would be applied to each input token n times. This could be serious if the test were expensive. The second method takes care of this problem by synchronizing all output streams using special padding symbols called hiatons [14]. Typical code looks like this: define filter odd even (lambda (int stream) let ( v (car int stream) if (even v) cons (cons v #) filter odd even (cdr int stream) cons (cons # v) filter odd even (cdr int stream) define filter odds (lambda (pair stream) let ( v (cdr ....
W. W. Wadge, and E. A. Ashcroft, Lucid, the Dataflow Programming Language, Academic Press (1985). 21 APPENDIX A The code for implementing imperative streams (define create-channel (lambda () (let ([channel (cons '() (cons '!no-consumer-cell? '!null?))])
....framework for abstract programs is provided by the applicative language AL. The language is derived from Ampl ( applicative multiprogramming language ) developed in [Bro86] Conceptually it can be compared to functional languages like Haskell [HJW 91] or dataflow languages like Lucid [WA85] AL contains means for the definition of stream processing functions, and moreover admits the definition of mutually recursive stream equations. Here is a simple numerical AL program: 1 In fact, there exists an implementation of Ampl, a predecessor of AL, on the SUN SPARCstation (see [Nue88] ....
W. Wadge and E. Ashcroft. Lucid, the dataflow programming language. Academic Press, 1985.
....of recurrence equations (SRE) as a mean of specifying parallel processes results from the convergence of several trends of research. A pioneer paper by Karp et.al. 17] was motivated by the study of explicit difference schemes for the solution of systems of differential equations. Other authors [18, 19] were interested in the mathematical simplicity of SRE and their use for proving program correctness. The last motivation [20] was the fact that in SRE parallelism detection (if not parallelism exploitation) is obvious. Hence, it is felt that SRE are well adapted to the specification of massively ....
E. A. Ashcroft and W. W. Wadge. Lucid, the Data-flow Programming Language. Academic Press, 1985.
....description to the various intermediate steps can be carried out with tools of guaranteed performance. Such an approach is standard in certain communities, where languages with strong formal properties are used to ensure robust design. Examples include ML [MTH90] dataflow languages (e.g. Lucid [WA85] Haskell [Dav92] and synchronous languages (e.g. Lustre, Signal, Esterel [Hal93] There is a broad range of potential formalizations of a design, but most tools and designers describe the behavior of a design as a relation between a set of inputs and a set of outputs. This relation may be ....
W. Wadge and E.A. Ashcroft. Lucid, the dataflow programming language. Academic Press, 1985.
....any top level expression (the expression that represents the whole program) is implicitly associated with a single port. 4. Programming in Pscheme 4.1. An application of multi ports A typical use of multi ports is stream based programming, as is often seen in data flow languages like Lucid [WA85]. For example, to calculate Fibonacci numbers, we observe that the infinite Fibonacci stream f satisfies f = 1 : 1 : add list f (cdr f) The stream f can be generated by an adding cell with feedback wires to its two inputs as shown in Figure 4. The input arcs are captured by multi ports in ....
W. Wadge and E. A. Ashcroft. Lucid, the Dataflow Programming Language, Academic Press, 1985. 9
No context found.
Wadge, W. W., Ashcroft, E. A. Lucid, the Dataflow Programming Language. Academic Press 1985.
No context found.
W. W. Wadge and E. A. Ashcroft. Lucid, the Dataflow Programming Language. Academic Press, Orlando, Florida, 1985. 98
No context found.
W. W. Wadge and E. A. Ashcroft. Lucid, the Dataflow Programming Language. Academic Press, 1985.
No context found.
W. Wadge and E. Ashcroft. Lucid, the Dataflow Programming Language. Academic Press, 1985. 25
No context found.
W. W. Wadge and E. A. Ashcroft. Lucid, the dataflow programming language. Academic Press U.K., 1985.
No context found.
W. W. Wadge and E. A. Ashcroft, Lucid, the Dataflow Programming Language. London, U.K.: Academic, 1985.
First 50 documents Next 50
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC