Operating Systems
Programming Languages
Microsoft Technologies
Computer Science
Formal Methods
MM & Game Dev.
Theory Computing
DS & Algorithms
Software Engineering
Web Programming
Web Technologies

Contact Us | What's New | Missing Link | Feedback

CS -> Theory

Book Title : Applicative Programming and Specification
eBook download format(s) : gz
Author(s) : Stephen Gilmore
Section : CS -> Theory
Book Review:

Notes Description
Applicative, or functional, programs have many virtues. They are concise, secure and elegant. Applicative programs are easier to understand and easier to prove correct than programs written in imperative programming languages.

However, functional languages have some shortcomings. It may be said that some programming problems appear to be inherently state-based. The uniformity of representation which functional programming languages offer then becomes a handicap. Although a functional implementation of a solution to such a problem would be possible it might be an unnatural or obscure encoding of the solution.

Imperative programming languages have their strengths. They often provide explicit support for the construction of programs on a large scale by providing simple, robust modules which allow a large programming task to be decomposed into self-contained units which may be implemented in isolation. If these units are general and well designed they may be included in a library, facilitating their re-use in other programs. Modules also enable programs to be efficient) recompiled by avoiding the need to recompile parts of the program which have not changed.

These notes address the issues of combining the virtues of functional programming with the virtues of imperative programming. This is implemented using both the Standard ML programming language and Extended ML wide-spectrum language.

Standard ML Programming Language:

For most of these notes the focus will be on using the functional subset of the language so the notes will spend some time discussing functions, in particular recursive functions, and giving verification techniques for these. In the early sections of these notes the examples are all small integer functions. Later, Standard ML's sophisticated type system is presented.

The mechanism by which applicative programs are evaluated is discussed. This leads into the consideration of alternative evaluation strategies one of which is so-called lazy evaluation. This strategy has a profound effect on the style of programming which must be deployed.

The other elements of the Standard ML which are discussed are the mechanism used to signal that an exceptional case has been detected during processing and no consistent answer can be returned and the imperative features such as references and interactive input and output.

Extended ML Wide-spectrum Language:

These notes will also address the early part of the program development cycle: the commissioning of a software system and the gradual, disciplined construction which takes place before the final realization as a program. The Extended ML language will be used here to specify problems whose solution is to be implemented in Standard ML.

add to                 Digg!

You may use anyone of the download options

eBook VersionLook @ Amazon
Front Cover

Missing Link?, Report It and you may wish to find Similar Books from amazon.

Tell a Friend!

Similar Book titles in CS -> Theory section:
Type Theory and Functional Programming

Similar Book titles in Other sections:

Section: CS -> Compilers and Languages
Programming Languages: Application and Interpretation
Functional Programming and Parallel Graph Rewriting
Programming in Martin-Lof's Type Theory
Advanced Programming Language Design
Programming from Specifications, Second Edition
Show all..

Section: Data Structures and Algorithms
Concepts, Techniques, and Models of Computer Programming
Patterns for Adaptive Programming (AP)
Art of Programming Contest

Section: Formal Methods
Formal Specification and Documentation using Z: A Case Study Approach

Section: Multimedia & Game Development
Programming The Nintendo Game Boy Advance: The Unofficial Guide

Section: DB -> Datawarehousing
Information Modeling: Specification and Implementation

Section: DB -> DB / 2
Road Map to DB2 Programming

Section: DB -> Oracle
Oracle Programming with Visual Basic
Oracle PL/SQL Programming, 2nd Edition
Oracle PL/SQL Programming: Guide to Oracle8i Features
Advanced Oracle PL/SQL Programming with Packages (Nutshell Handbook)

Section: DB -> Others
Database Programming with Perl
Programming the Perl DBI
Teach Yourself Database Programming with Visual C++ 6 in 21 Day

Section: DB -> SQL
Embedded SQL Programming Guide

Section: DB -> SQL Server
SQL Server 2005 Stored Procedure Programming in T-SQL & .NET

Section: Device Drivers
Data Link Provider Interface (DLPI) Specification
Device Driver Hardening Design Specification
Streams Programming Guide
UDI IA-32/IA-64 ABI Binding Specification Version 1.01
UDI PCI Bus Binding Specification Version 1.01
Show all..

Section: Microprocessor
Assembly Language Programming Tools for the IA-64 Architecture
IA-32 Intel Architecture Software Developer's Manual Volume 3: System Programming Guide
Programming PIC Microcontroller in C (CC5X compiler)
Programming PIC Microcontrollers in BASIC
8080A-8085 Assembly Language Programming
Show all..

Section: Peripherals
Accelerated Graphics Port Interface Specification
Advanced Configuration and Power Interface Specification Revision 2.0c
MultiRead Specification for CD-ROM, CD-R, CD-R/RW and DVD-ROM Devices
Plug and Play ISA Specification Version 1.0a
Plug and Play BIOS Specification Version 1.0A
Show all..

Section: Advanced Java
Principles of Object-Oriented Programming in Java
Tricks of Java Programming Gurus
Java Virtual Machine Specification, Second Edition
Practical Artificial Intelligence Programming in Java
Concurrent Programming Using Java
Show all..

Section: Java Enterprise Edition
Programming Jakarta Struts
Programming Jakarta Struts, 2nd Edition

Section: Java User Interface
Programming User Interfaces with JFC
Teach Yourself Internet Game Programming With Java in 21 Days
Java 3D API Specification

Section: Java Language
Code Conventions for the Java Programming Language
Essentials of the Java Programming Language, Part 1
Essentials of the Java Programming Language, Part 2
Peter Norton's Guide to Java Programming
Teach Yourself Java 1.1 Programming in 24 Hours
Show all..

Section: Java Networking
Web Programming with Java
Java Thin Client Programming

Section: Java Tools
Java Programming Guide for OS/390
IMS Version 7 and Java Application Programming

Section: Mathematics
Programming for Engineers with Mathematica
An Introduction to Linear Programming and the Simplex Algorithm

Section: Miscellaneous
Michael Abrash's Graphics Programming Black Book
Microsoft RPC Programming Guide
Concurrent Programming in Erlang

Section: Microsoft Certifications
Programming Desktop Applications With MS Visual Basic6 MCSD training kit

Section: Microsoft C Sharp (C#)
C# COM+ Programming
C Sharp Network Programming
Programming C# (2nd Edition)
Mastering Windows 2000 Programming with Visual C++
Mastering CSharp Database Programming
Show all..

Section: Microsoft COM/DCOM/ActiveX/ATL
ActiveX Programming Unleashed
Activex Programming With Visual C++ 5
Programming Distributed Applications With COM And Microsoft Visual Basic 6.0
Teach Yourself Activex Programming in 21 Days
Programming ADO
Show all..

Section: Microsoft .(dot) net
Applied Microsoft .Net Framework Programming
Programming Microsoft.NET
Web Programming with Visual J++

Section: Office Development
Programming Microsoft Visual Interdev 6
Programming Microsoft Office 2000 Web Components
Programming Microsoft Outlook and Microsoft Exchange

Section: Microsoft Visual Basic
Programming Microsoft Visual Basic 6
Web Programming with Visual Basic
COM+ Programming with Visual Basic
Programming VB .NET: A Guide for Experienced Programmers

Section: Microsoft Visual C++
Programming Visual C++, 5th Edition
Teach Yourself Database Programming with VC++ 6 in 21 Days
Programming Windows with MFC
Mastering Windows 2000 Programming with Visual C++

Section: MS Web Technologies
Programming Microsoft Internet Explorer 5
Programming Active Server Pages

Section: Windows Development
Programming the Microsoft Windows Driver Model, Second Edition
Tricks of the Windows Game Programming Gurus (2nd Edition)
Programming Windows CE
Programming Server Side Applications For Microsoft Windows 2000
Programming Applications For Microsoft Windows
Show all..

Section: Networking
Programming Principles in Java: Architectures and Interfaces

Section: GNU/Linux OS
Advanced Linux Programming
Introduction to Socket Programming
Teach Yourself Shell Programming in 24 Hours
Effective AWK Programming
X Window and Motif Programming Guide
Show all..

Section: Embedded and RTOS
Real-time Systems Specification, Verification and Analysis
Programming Embedded Systems in C and C++

Section: Solaris OS
Programming Interfaces Guide
Streams Programming Guide
Multithreaded Programming Guide

Section: OS Theory
Programming the Be Operating System
Spring Concepts, Internals Architecture and Programming
HOPE: A Programming Model for Optimism
BIOS Boot Specification Version 1.01
Plug and Play BIOS Specification Version 1.0A
Show all..

Section: Unix OS
Nextstep Programming: Step One : Object-Oriented Applications/Book and Disk
The Unix Programming Environment
Volume 7A: XView Programming Manual

Section: Assembly Language
Windows Assembly Language & Systems Programming: 16- And 32-Bit Low-Level Programming for the PC and Windows
Introduction to RISC Assembly Language Programming
Programming from the Ground Up
The Art of Assembly Language Programming
Win32 Programming for x86 Assembly Language
Show all..

Section: C Language
Introduction to C and C++ Programming
C Programming Tutorial (K&R version 4)
Writing Bug-Free C Code for Windows: A Programming Style That Automatically Detects Bugs in C Code
Programming in C: A Tutorial
C Programming
Show all..

Section: COBOL Programming
ZingCOBOL: A Beginner's Guide to Programming in COBOL
COBOL Programming Course
COBOL Programming Guide
VisualAge COBOL for Windows Programming Guide
COBOL Programming Standards
Show all..

Section: C++ Language
An Introduction to C++ and Object Oriented Programming
An Introduction to C++ Programming
C++ in Action: Industrial Strength Programming Techniques
C++ Programming for Scientists
C++ Programming HOW-TO
Show all..

Section: Other Programming
Ada 95: The Craft of Object-Oriented Programming
Pascal Programming
Principles of Programming Languages
Programming Language Examples Alike Cookbook
Prolog Programming: A First Course
Show all..

Section: Perl Scripting
Advanced Perl Programming
Effective Perl Programming: Writing Better Programs With Perl
Practical Perl Programming
Programming Perl 5.0 CGI Web Pages for Microsoft Windows NT
Programming Perl, 3rd Edition
Show all..

Section: Ruby Programming
Programming Ruby - The Pragmatic Programmer's Guide

Section: Scripting
Practical Programming in Tcl and Tk
The Scheme Programming Language, Second Edition
Tclwise - Guide to the Tcl Programming Language
The Scheme Programming Language, Third Edition
GUI Programming with Python: QT Edition
Show all..

Section: Smalltalk
Smalltalk/V Mac Tutorial and Programming Handbook
Smalltalk-80: The Interactive Programming Environment

Section: Redbooks Draft
Programming the Cell Broadband Engine Examples and Best Practices
ABCs of z/OS System Programming Volume 8
ABCs of z/OS System Programming Volume 9
ABCs of z/OS System Programming Volume 3
ABCs of z/OS System Programming Volume 10
Show all..

Section: Redbooks
ABCs of z/OS System Programming Volume 9
IBM System S Programming Guide
ABCs of z/OS System Programming Volume 7
ABCs of z/OS System Programming Volume 10
ABCs of z/OS System Programming Volume 2
Show all..

Section: Software Engineering
How to Design Programs: An Introduction to Programming and Computing
Programming from Specifications
Using Z: Specification, Refinement, and Proof
Reusable Software Components: Object-Oriented Embedded Systems Programming in C
Reasoned Programming
Show all..

Section: Web Programming
Web Client Programming with Perl
CGI Programming on the World Wide Web
CGI Programming Unleashed
Special Edition Using Perl 5 for Web Programming
Web Programming Unleashed
Show all..

Section: XML, XSL & UML
Introduction to XML Programming
XML Programming: Web Applications and Web Services With JSP and ASP

Similar Books from Amazon :

Tell a Friend!

©2008 - Home - Privacy Policy - Program Policy, Terms and Conditions