Main features of a lazy functional language

Assignment Help Programming Languages
Reference no: EM132903805

CP50065E Functional Programming - University of West London

Learning outcome 1: Understand the functional model in which a program is a set of nested expressions.
Learning outcome 2: Design recursive functions using base and recursive cases.
Learning outcome 3: Understand the main features of a lazy functional language.
Learning outcome 4: Write, understand and analyse functional programs in Haskell.

Title Accounting program
Task details The purpose of this assignment is to apply knowledge gained throughout the module to a design and development project. To this end, implement a small program and write a short report about your implementation:

Accounting program
Write a text-based accounting program for recording transactions to and from an account. A transaction is either a cash withdrawal, a cash deposit, a transfer (to another account) or a receipt, and consists of the transaction value (in Pound Sterling, Dollar, or Euro), a reference field (for recording the purpose), and, if applicable, the sender/receiver account number. The program should have the following features:
Users will be able to deposit and withdraw an amount in cash. The account is in Pound Sterling, but transactions can be either in Pound Sterling, Dollar, or Euros, and should be recorded as such.

The program will have preset exchange rates for Pound Sterling, Dollar and Euro, but the user can change these between transactions.

Transactions can be cancelled. Upon cancellation, the original transaction is kept in the ledger but marked as reversed. And an additional correctional transaction be lodged. (For example, a user deposits 100 Pound Sterling in transaction A. Later, this transaction is cancelled.
Transaction A is then marked as reversed, and a correctional transaction A' is made, withdrawing 100 Pound Sterling.)

Users will further be able to list all transactions and all transaction data, optionally filtered by transaction type (deposit, withdrawal, transfer, receipt) or currency (Pound Sterling, Dollar or Euro), and/or sorted by value, or sender/receiver number.

Users will also be able to search transactions by sender/receiver account number.

Last but not least, users will be able to query the total current account balance and the average transaction value.

The program should have explanatory text as necessary and handle input errors etc. gracefully.

Implement application features in a command processing style. For example, depositing and withdrawing amounts might be recorded via commands such as
receive 100 pound "tax refund" 1234567890
for logging the receipt of 100 Pound Sterling from account no. 1234567890,
withdraw 100 dollar "pocket money" for logging the withdrawal of 100 Dollars, search 1234567890
for listing all transactions to and from account no. 1234567890,
list
to see all transactions, or
list filter "deposit+dollar"
for listing all deposits in dollar.

Report
Write a short report (less than 500 words). The report needs to include eight screenshots showing main application functions (withdraw, deposit, transfer, receive, list, search, cancel, set exchange rate), and detail how functional programming concepts were applied.
The report should also include a brief overall reflection of what went well, what did not go well, and what you would do differently if you were given a similar task in the future.

Attachment:- Functional Programming.rar

Reference no: EM132903805

Questions Cloud

What is the test statistic z : A factory that manufactures bolts is performing a quality control experiment. Each object should have a length of no more than 20 centimeters.
Corporate social responsibility : 1. "Our economy depends on nature, not the other way around, and companies will destroy the economy if they destroy nature"
Pressurize the suppliers and vendors to help the company : The Walmart Sustainability Hub is a website created by Walmart for its suppliers to learn about sustainability initiatives of Walmart and find opportunities to
What is the alternative hypothesis : A factory that manufactures screws is performing a quality control experiment. Each object should have a length of no more than 14 centimeters. The factory beli
Main features of a lazy functional language : Write a text-based accounting program for recording transactions to and from an account. A transaction is either a cash withdrawal, a cash deposit, a transfer
Calculate probability of no claims will be filed : An insurance company has determined that each week an average of five claims are filed in their Atlanta branch. What is the probability that during the next wee
Implementation of the performance management system : Kindly help with a research proposal please. My title is An investigation into the implementation of the Performance Management System
Contrast investors use of capital markets : Contrast investors' use of capital markets and their use of money markets.
Design recursive functions using base and recursive cases : Understand the functional model in which a program is a set of nested expressions and Design recursive functions using base and recursive cases

Reviews

Write a Review

Programming Languages Questions & Answers

  Write a haskell program to calculates a balanced partition

Write a program in Haskell which calculates a balanced partition of N items where each item has a value between 0 and K such that the difference b/w the sum of the values of first partition,

  Create an application to run in the amazon ec2 service

In this project you will create an application to run in the Amazon EC2 service and you will also create a client that can run on local machine and access your application.

  Explain the process to develop a web page locally

Explain the process to develop a Web page locally

  Write functions

These 14 questions covers java class, Array, link list , generic class.

  Programming assignment

If the user wants to read the input from a file, then the output will also go into a different file . If the user wants to read the input interactively, then the output will go to the screen .

  Write a prolog program using swi proglog

Write a Prolog program using swi proglog

  Create a custom application using eclipse

Create a custom Application Using Eclipse Android Development

  Create a application using the mvc architecture

create a application using the MVC architecture. No scripting elements are allowed in JSP pages.

  Develops bespoke solutions for the rubber industry

Develops bespoke solutions for the rubber industry

  Design a program that models the worms behavior

Design a program that models the worm's behavior.

  Writing a class

Build a class for a type called Fraction

  Design a program that assigns seats on an airplane

Write a program that allows an instructor to keep a grade book and also design and implement a program that assigns seats on an airplane.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd