Abstract

AbstractZ is a widely used, model‐oriented specification language. Haskell is a programming language that was recently developed to serve as a standard for non‐strict, purely functional languages. Although functional languages have proved to be excellent prototyping tools, Haskell was designed as a general purpose language which could be used when building large software systems.This paper develops two designs for a computerized class roll. The development begins with a description of the requirements and initial specification. The next section delineates the designs and explains how each design targets a specific Haskell data structure: design one employs sequences to model lists, whereas design two uses a Z function to describe a Haskell array. The corresponding implementations follow, along with a critical analysis of each translation from Z notation to Haskell code. The paper demonstrates that Z design schemas map well to at least two Haskell data types, namely the list and the array. Furthermore, it includes insights into how software developers might translate similar Z designs to Haskell.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call