Experiences in Translating Z Designs to Haskell Implementations
نویسندگان
چکیده
Concrete s? P enrolled s? P ran (testlist ˆ nottested) ((testlist9 = testlist e {s?} ` nottested9 = nottested) ~ enrolled9 = enrolled\{s?} (testlist9 = testlist ` nottested 9 = nottested e {s?})) ((s? P tested ` tested9 = tested\{s?} ((s9 P ran testlist ` testlist9 = testlist e {s?} ` r! = cert) ` r! = cert) ~ (s? P/ tested ` tested9 = tested ~ (s? P/ ran testlist ` testlist9 = testlist ` r! = nocert)) ` r! = nocert)) of the Leave operation, Table I illustrates each of its predicates on both the abstract state Class and the concrete state ConClass. Schema CNotEnrolled appears below without explanation since its derivation is straightforward. To obtain predicates on the concrete state ConClass, one can perform a natural translation using schema ForSim from the previous section. This approach works well for the first and third predicates in the abstract column, but the second predicate translates as (ran (testlist ˆ nottested))9 = (ran (testlist ˆ nottested)) \ {s?} The left-hand side of this predicate needs to be in terms of testlist9 and nottested9, and the right-hand side can be expressed more clearly. Referring to schema ConClass, observe that a student is either a value of sequence testlist or sequence nottested, but not both. Therefore, the disjunction of two predicates represents a concrete equivalent of predicate enrolled9 = enrolled \ {s?}. If a student completed the exercises, then he or she must be removed from testlist; otherwise, the student is deleted from nottested. The Z operator e, range subtraction, specifies student removal from the appropriate set.
منابع مشابه
Hiding State in CλaSH Hardware Descriptions
Synchronous hardware can be modelled as a mapping from input and state to output and a new state. Functions in this form are referred to as transition functions. It is natural to use a functional language to implement transition functions. The CλaSH compiler is capable of translating Haskell code written in this form to VHDL. Modelling hardware using multiple components is convenient. Component...
متن کاملTranslating Haskell to Isabelle
We present partial translations of Haskell programs to Isabelle that have been implemented as part of the Heterogeneous Tool Set. The the target logic is Isabelle/HOLCF, and the translation is based on a shallow embedding approach.
متن کاملPAEAN: Portable and scalable runtime support for parallel Haskell dialects
Over time, several competing approaches to parallel Haskell programming have emerged. Different approaches support parallelism at various different scales, ranging from small multicores to massively parallel high-performance computing systems. They also provide varying degrees of control, ranging from completely implicit approaches to ones providing full programmer control. Most current designs...
متن کاملParallelizing DPLL in Haskell
We report on a case study of implementing parallel variants of the DavisPutnam-Logemann-Loveland algorithm for solving the SAT problem of propositional formulas in the functional programming language Haskell. We explore several state of the art programming techniques for parallel and concurrent programming in Haskell and provide the corresponding implementations. Based on our experimental resul...
متن کاملInternational experiences of urban renovation with an emphasis on public participation (Case study: Shahid Khoob Bakht neighborhood, Tehran, Iran)
Cities have been consisted of many eroded textures. The renovation designs have been provided due to many problems the residents face with.� These designs are not always successful. Lack of specific pattern or enough experience regarding the intervention in the eroded textures and no suitable and enough attention to the public cooperation are some of the reasons of these designs failure. Theref...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Softw., Pract. Exper.
دوره 24 شماره
صفحات -
تاریخ انتشار 1994