| E. A. Ashcroft and W. W. Wadge. Lucid, a nonprocedural language with iteration. Communications of the ACM 20, 7 (July 1977), 519-526. 98 |
....language within a functional framework. In such languages, a program is generally executed to generate a structural netlist, whereas SAFLlike languages are behavioural descriptions that could be directly interpreted as a standard functional language, as well as compiled to hardware. Lucid [1] is a language intended for use as a formal system, which takes a rather di#erent approach to streams. Streams are described with the first and next primitives, and loops are generated by extracting elements from streams using the as soon as primitive. This sort of idea is used in synchronous ....
Edward A. Ashcroft and William W. Wadge. Lucid, a nonprocedural language with iteration. Communications of the ACM, 20(7):519--526, July 1977.
....provides channels for communication, it does not provide support for processing streamed data in a pure functional form. The approach we have taken here is to support streams of data as a new data type, extending the language. In comparison to some other streamprocessing languages (such as Lucid [1] and Lustre [6] our language, SASL, retains recursion for iteration, and has both stream and simple values. Streams are provided via a CONS primitive, so that the language is relatively accessible to programmers used to conventional functional languages. Streams are distinct from lazy lists in ....
....languages within a functional setting, rather than compiling an actual functional description. The functional parts of these languages are often used for macro generation of the hardware netlists. Similar approaches are seen in other languages like muFP [21] Ruby [5] and Hawk [4] Lucid [1] is a language that takes a stream like approach, intended for use as a formal system. The primitives first and next describe streams, and loops are described using streams from which a particular value can be extracted using the as soon as primitive. This concept is used by synchronous ....
E. A. Ashcroft and W. W. Wadge. Lucid, a nonprocedural language with iteration. Communications of the ACM, 20(7):519--526, July 1977.
....the syntax and semantics of Multidimensional Lucid (Section 3) Sections 4 and 5 give more precise operational semantics, de ning how eduction can be used for the language. Section 6 focuses on how to improve the eciency of this semantics. 2 Background The Lucid language was rst de ned [2, 3] in order to succinctly express loop invariants in while programs. Using equations such as X = 0 fby X 1 one could de ne in nite streams, here (0; 1; 2; n; The primitive (intensional) operators of Lucid allowed for more than just pipeline data ows. They could also be used ....
E. A. Ashcroft and W. WWadge. Lucid, a nonprocedural language with iteration. Communications of the ACM, pages 519-526, July 1977.
..... 40 5 Common errors 41 Foreword This document describes Lucid Synchrone [5] an experimental synchronous stream language dedicated to the implementation of reactive systems. Lucid Synchrone combines features of Lustre and ML languages. The name Lucid Synchrone is built from Lucid [1, 2] a data ow language managing streams and from the French word synchrone (for synchronous ) The main features of the language are the following: It is a strongly typed, higher order functional language managing in nite sequences or streams as primitive values. These streams are used for ....
E.A. Ashcroft and W.W. Wadge. Lucid, a non procedural language with iteration. Communications of the ACM, 20(7):519-526, 1977. 5
....fi[1] fi[2] Delta Delta Delta fi[10] Example 2. 1 A bounded universal quantification with local variable i, range formula 1 i 4 and body x[i] 2 Theta x[i Gamma 1] will have the same meaning as a conjunction x[1] 2 Theta x[0] x[2] 2 Theta x[1] x[3] 2 Theta x[2] x[4] = 2 Theta x[3] because fi 1; i 2; i 3; i 4g are all variable assignments that satisfy the range formula and Phi 8 is . We see that the meaning of a bounded quantification depends directly on the quantifier and the range formula used. We will study these in turn. 2.2 Quantifiers Two ....
....developed, e.g. by Harrison Khoshnevisan [17, 18] might be useful also in connection with our transformation, e.g. for improving the I P predicates. Besides Voronkov [31, 32] and ourselves [5] we know of no proposed construct for expressing iteration directly in logic programs. Lucid [3, 4] is not a logic programming language but is an interesting comparison because it has a concept of declarative iteration. Its next construct might be a useful addition to bounded quantifications, as it would make it possible to communicate values between iteration steps without having to 36 ....
Ashcroft, E. A. and Wadge, W. W., Lucid, a Nonprocedural Language with Iteration, Commun. ACM, 20(7):519--526 (1977).
....with hardware description languages [70, 85] since the synchronous data flow model is also a natural description of clocked digital cicuits. Only few approaches are based upon asynchronous data flow concepts [15] Theoretical foundations in data flow languages are based upon languages like Lucid [9] that have been developed independently from the DSP application area. One of today s most common DSP languages is SILAGE [110, 111] and its commercialized successor, DFL) It is characteristic for a class of languages that offer simple translation into efficient code at the cost of reduced ....
E.A. Ashcroft, Lucid, a Nonprocedural Language with Iteration, in: CACM 20, No. 7, July 1977, pp. 519-526
....in a variety of high level languages. Examples of languages that elegantly support computations over streams include modern lazy functional languages such as Haskell [18] hardware description languages such as MHDL [6] an extension of Haskell) data flow programming languages such as Lucid [4, 5], and synchronous programming languages such as Esterel [8, 9] Lustre [11] and Signal [7] These languages have been remarkably successful in supporting the rapid development of reliable systems. First, streams are the fundamental and most widely supported data structure in most of these ....
Ashcroft, E. A., and Wadge, W. W. Lucid, a non-procedural language with iteration. Communications of the ACM 20, 7 (1977), 519--526.
....consequence is that higher order, lexically scoped functions are supported in the presence of a dynamic binding discipline without the introduction of a separate closure type. Environments may be created statically or incrementally; an incrementally growing environment plays the role of a stream[2, 27], but does considerably more besides. Because such environments are time ordered and have elements that are accessible by name, they are an ideal representation for multipleversion data bases, persistent data structures and the environment that is incrementally constructed by the Symmetric Lisp ....
E.A. Ashcroft and W.W. Wadge. Lucid, a Nonprocedural Language with Iteration. Communications of the ACM, 20(7):519--526, July 1977.
....tool chain which allows signal processing applications to be implemented onto a specific parallel architecture [11] The structure of the chain is shown in figure 1. The heart of this tool chain is a semantics language named matrix [12] defined with both the functional [1, 3] and the data flow [2, 4, 19] paradigms. The use of a semantics methodology such as the denotational semantics [20] allows proving time and memory determinisms of the programs[9] The data flow semantics is expected to support the inner parallelism of the applications. In addition, it allows a graphical representation of the ....
....identifier value associations. In the current environment (see vector) or in the subenvironments, this name becomes a synonym of the expression: the language is said referencially transparent . A definition is written: name : value Stream allows to write in a functional way a recurrent equation [2]. A stream has two parts: state which contains the initial value and contract for computing its next values. It is written: state FOLLOWED BY contract All the streams of the program will be regenerated (the action that updates the state) in the same time. So, the flow streams are synchronous. ....
E. A. Ashcroft and W. W. Wadge. Lucid, a Nonprocedural Language with Iteration. j-CACM, 20(7):519--526, July 1977.
....language for controlling a digital audio signal processor, hence external sensors can trigger timed sequences similar to Music V scores. Assuming that these continuous time signals in Arctic are actually implemented as sequences of discrete values, Arctic bears a similarity to the languages Lucid [3] and Val [16] which are also functional or data flow languages for manipulating sequences. One major difference, however, is that in Arctic, variables are functions of a single global time, while in Lucid and Val, 2 Here, continuous time refers to functions of time in which time is thought of as ....
Ashcroft, E. A. and W. W. Wadge. Lucid, a Nonprocedural Language with Iteration. Communications of the ACM 20(7):519-526, July, 1977.
....Lucid by contrasting it with Original Lucid. We also illustrate the expressiveness of Indexical Lucid by solving selected multidimensional problems. 1 Background Lucid (Original Lucid) was invented in 1976 by Ashcroft and Wadge as a system for writing and proving properties about programs [2, 3]. The most unusual aspect of Lucid, in addition to being non procedural, is its dynamic view of computation: one in which data is in motion that is generated and consumed by stationary operations and functions. Because of this view, commonly known as dataflow, Original Lucid can be considered to ....
....the next (time = 1) value of y is 2 and at all times beyond this the value of y is always 3. There is no destructive assignment; the history of a variable is always available, and previous values of a variable can be used to define the value of other variables. The following is the syntax used in [3] to express the idea of an Original Lucid variable taking on different values at different times. The pair of equations given below define the variable even: first even = 2 next even = even 2 The first equation defines the first or initial value of the even stream (2) and the second equation the ....
E.A. Ashcroft and W.W. Wadge. Lucid, a nonprocedural language with iteration. CACM, 20(7):519--526, 1977.
....Domain T on Figure 19 (a) is associated to the matrix represented on Figure 19 (b) and T , the universal computation domain of Plotkin ( Plo78] is associated to the matrix of Figure 19 (c) Hence T is a concrete domain. Similarly N , the domain underlying the language LUCID ([AW77]) is a concrete domain. a) ffl Delta Delta Delta A A A ffl 0 ffl 1 (b) 0; 1 (c) 0; 1 0; 1 0; 1 0; 1 0; 1 q q q Figure 19: T and T ffl P P P P P h h h h h h h h h i i i i i ( q q q 3 D 3 ffl C C C C C 2 D 2 ffl C C C C C 1 D 1 ffl C C C C C ....
E. A. Ashcroft and W. W. Wadge. Lucid, a nonprocedural language with iteration. Communications of the ACM, 20:519--526, 1977.
....in a variety of high level languages. Examples of languages that elegantly support computations over streams include modern lazy functional languages such as Haskell [19] hardware description languages such as MHDL [7] an extension of Haskell) data flow programming languages such as Lucid [4, 5], and synchronous programming languages such as Esterel [9, 10] Lustre [12] and Signal [8] These languages have been remarkably successful in supporting the rapid development of reliable systems. First, streams (lazy lists) are the fundamental and most widely To appear in: ACM SIGPLAN Haskell ....
Ashcroft, E. A., and Wadge, W. W. Lucid, a nonprocedural language with iteration. Communications of the ACM 20, 7 (1977), 519--526.
....This is done by extending both the synchronous operational semantics, the clock calculus and the compiling technique of static data flow networks, to these more general networks. 1 Introduction 1. 1 Some milestones in data flow programming In the seventies, the Lucid language was proposed [5, 4] as a way of providing functional languages with stream based iterations. At the same time, Kahn [15] showed that the semantics of networks of asynchronous deterministic processes could be described as systems of recursive equations over streams, very similar to Lucid programs. Then, the concept ....
E.A. Ashcroft and W.W. Wadge. Lucid, a non procedural language with iteration. Communications of the ACM, 20(7):519--526, 1977.
.... hardware platforms on which an intensional language can be executed, it is easy to implement eduction efficiently on traditional architectures (see for example [RW94b, RW93] 5 Existing Intensional Systems and their Applications As we have already seen in previous sections of this article, Lucid [WA85, AW77] was the first (to our knowledge) intensional language developed. Lucid is actually a functional intensional language, in the sense that it supports (first order) user defined functions which operate on streams. The most comprehensive description of the language, its semantics, its applications ....
E. Ashcroft and W. W. Wadge. Lucid, a Nonprocedural Language with Iteration. Communications of the ACM, 20(7):519--526, July 1977.
No context found.
E. A. Ashcroft and W. W. Wadge. Lucid, a nonprocedural language with iteration. Communications of the ACM 20, 7 (July 1977), 519-526. 98
No context found.
E. A. Ashcroft and W. W. Wadge. Lucid, a nonprocedural language with iteration. Commun. ACM, 20(7):519--526, 1977.
No context found.
E. Ashcroft and W. Wadge. Lucid, a nonprocedural language with iteration. Communications of the ACM, 20(7):519--526, July 1977.
No context found.
E. A. Ashcroft and W. WWadge. Lucid, a nonprocedural language with iteration. Communications of the ACM, pages 519-526, July 1977.
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