Warenkorb
Kostenloser Versand
Unsere Operationen sind klimaneutral

Haskell Thompson

Haskell von Thompson

Haskell Thompson


10.00
Zustand - Sehr Gut
Nur noch 2

Zusammenfassung

This text introduces Haskell at a level appropriate for those with little or no prior experience of functional programming. The emphasis is on the process of crafting programs, solving problems and avoiding common errors.

Haskell Zusammenfassung

Haskell: Craft Functional Programming Thompson

Named in honor of Haskell Curry, whose work has had a profound influence on functional programming, the Haskell language is growing rapidly in popularity - especially as a vehicle to teach introductory programming concepts. This book introduces Haskell at a level appropriate for those with little or no prior experience of functional programming. The emphasis throughout is on crafting programs, solving problems and avoiding common pitfalls. In three parts the book *first builds a foundation, focusing on programming basic types and lists, using first-order, non-polymorphic programs *then looks at the three ideas of higher-order functions, polymorphism and type classes, which together give modern functional programming its distinctive flavour and power *finally discusses larger-scale programming, supported by an exploration of user-defined types, modules, lazy evaluation and IO programming using monads.Key Features *An analysis of program behavior and efficiency *A strong emphasis on software engineering and problem-solving techniques *An optional thread on proving that programs have the properties required of them which runs through the text *Software modification and re-use are emphasised in the discussion of design issues *Design advice is supplemented with examples and case studies of varying size and complexity *Appendices contain support material of various kinds - pointers to sites from which implementations of Haskell and Gofer can be obtained; common error messages; a glossary of programming terms; functions from parts of the Haskell standard preludes *Over 400 exercises of varying difficulty Haskell systems *The text is designed to be used with any Haskell implementation, such as Hugs (Haskell Users Gofer System) whose interface and error messages are described in some detail. Note that the Hugs system described is Hugs 1.01; the June 1996 Yale release of the system is similar, but implements the full Haskell module system rather than projects as stated in the text; full details of the small number of differences are given in the code files.*The material takes account of the latest revision to the language definition, Haskell 1.3 *The text can also be used with the Gofer system. 0201403579B04062001

Über Thompson

Simon Thompson is a Senior Lecturer in Computer Science at the University of Kent. His research and teaching interests include functional programming and logical aspects of computer science. 0201403579AB04062001

Inhaltsverzeichnis

I. BASIC FUNCTIONAL PROGRAMMING. 1. Introducing Functional Programming. What is Functional Programming? Haskell. Gofer and Hugs. Practical work. 2. Basic Types and Simple Programs. The numbers: Integers. Programming with integers. Syntax. Operators. Definitions: Patterns. Programming with Booleans. Characters and Strings. Floating point numbers. Programming with numbers and strings. Data structures: Tuples. Function Definitions. Programming with local definitions. Example: Quadratic equations. Design. 3. Reasoning About Programs. Informal proof: an introduction. Proof by Induction. Building induction proofs. 4. Data Structures: Lists. Lists in Haskell. Defining functions over lists. Designing functions over lists. Pattern matching. A library database. List comprehensions. Extended exercise: supermarket billing. Example: Text Processing. Definition forms. Program design. 5. Reasoning About Lists. Structural induction. Proofs by structural induction. Case studies. Generalizing the proof goal. II. ABSTRACTION. 6. Generalization. Functions as arguments. Polymorphism. Putting the two together. Using the higher-order functions. Generalizing: splitting up lists. 7. Functions as Values. Function composition. Functions as values and results. Partial Application. Examples. Currying and uncurrying. Example: creating an index. Design revisited. Verification. 8. Classes in Haskell. Introducing classes. Signatures and Instances. A tour of the built-in Haskell classes. More advanced features. 9. Checking Types. Monomorphic types. Polymorphic types. Polymorphic Type Checking. Type checking & classes. III. LARGER-SCALE PROGRAMMING. 10. Algebraic types. Introduction. Recursive Types. Polymorphic algebraic types. Case study: Program Errors. Design with Algebraic Data Types. Algebraic types and type classes. Reasoning about algebraic types. 11. Case study: Huffman Codes. Modules in Haskell. Modular design. Coding and decoding. Implementation - I. Building Huffman trees. Design. Implementation - II. 12. Abstract Data Types. Type representations. The Gofer abstract data type mechanism. Example: queues. The Haskell ADT mechanism. Design. Example: Simulation. Implementing the simulation. Example: Search trees. Case Study: Sets. Relations and graphs. Commentary. 13. Lazy Programming. Lazy evaluation. Calculation Rules. List comprehensions revisited. Data on demand. Case study: Parsing expressions. Infinite lists. Why infinite lists? Case study: Simulation. Proof revisited. 14. Input/Output and Interaction. Stream-based interactive programs. Using Monads for I/O. Monads for Functional Programming. 15. Program Behaviour. Complexity of functions. The complexity of calculations. Implementations of sets. Space behaviour. Folding revisited. Avoiding re-computation: memorization. Appendices. A: Functional and imperative programming. B: Further reading. C: Glossary. D: Understanding programs. E: Haskell operators. F: Implementations of Haskell. G: Gofer and Hugs errors. H: Some Useful Functions. Bibliography. Index. 0201403579T04062001

Zusätzliche Informationen

GOR001746241
9780201403572
0201403579
Haskell: Craft Functional Programming Thompson
Gebraucht - Sehr Gut
Broschiert
Pearson Education (US)
1996-09-16
528
N/A
Die Abbildung des Buches dient nur Illustrationszwecken, die tatsächliche Bindung, das Cover und die Auflage können sich davon unterscheiden.
Dies ist ein gebrauchtes Buch. Es wurde schon einmal gelesen und weist von der früheren Nutzung Gebrauchsspuren auf. Wir gehen davon aus, dass es im Großen und Ganzen in einem sehr guten Zustand ist. Sollten Sie jedoch nicht vollständig zufrieden sein, setzen Sie sich bitte mit uns in Verbindung.