Thinking functionally with Haskell:
"Richard Bird is famed for the clarity and rigour of his writing. His new textbook, which introduces functional programming to students, emphasises fundamental techniques for reasoning mathematically about functional programs. By studying the underlying equational laws, the book enables student...
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Cambridge
Cambridge Univ. Press
2015
|
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Zusammenfassung: | "Richard Bird is famed for the clarity and rigour of his writing. His new textbook, which introduces functional programming to students, emphasises fundamental techniques for reasoning mathematically about functional programs. By studying the underlying equational laws, the book enables students to apply calculational reasoning to their programs, both to understand their properties and to make them more efficient. The book has been designed to fit a first- or second-year undergraduate course and is a thorough overhaul and replacement of his earlier textbooks. It features case studies in Sudoku and pretty-printing, and over 100 carefully selected exercises with solutions. This engaging text will be welcomed by students and teachers alike"-- |
Beschreibung: | Hier auch später erschienene, unveränderte Nachdrucke |
Beschreibung: | XI, 344 S. graph. Darst. 25 cm |
ISBN: | 9781107087200 9781107452640 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV042395302 | ||
003 | DE-604 | ||
005 | 20160715 | ||
007 | t | ||
008 | 150306s2015 d||| |||| 00||| eng d | ||
010 | |a 2014024954 | ||
020 | |a 9781107087200 |c hardback |9 978-1-107-08720-0 | ||
020 | |a 9781107452640 |c paperback |9 978-1-107-45264-0 | ||
035 | |a (OCoLC)906743208 | ||
035 | |a (DE-599)GBV789348462 | ||
040 | |a DE-604 |b ger |e aacr | ||
041 | 0 | |a eng | |
049 | |a DE-91G |a DE-703 |a DE-634 | ||
050 | 0 | |a QA76.62 | |
082 | 0 | |a 005.1/14 | |
084 | |a ST 250 |0 (DE-625)143626: |2 rvk | ||
084 | |a DAT 362f |2 stub | ||
084 | |a 54.51 |2 bkl | ||
084 | |a DAT 544f |2 stub | ||
084 | |a 54.53 |2 bkl | ||
100 | 1 | |a Bird, Richard |d 1943- |e Verfasser |0 (DE-588)123092213 |4 aut | |
245 | 1 | 0 | |a Thinking functionally with Haskell |c Richard Bird |
264 | 1 | |a Cambridge |b Cambridge Univ. Press |c 2015 | |
300 | |a XI, 344 S. |b graph. Darst. |c 25 cm | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
500 | |a Hier auch später erschienene, unveränderte Nachdrucke | ||
520 | 1 | |a "Richard Bird is famed for the clarity and rigour of his writing. His new textbook, which introduces functional programming to students, emphasises fundamental techniques for reasoning mathematically about functional programs. By studying the underlying equational laws, the book enables students to apply calculational reasoning to their programs, both to understand their properties and to make them more efficient. The book has been designed to fit a first- or second-year undergraduate course and is a thorough overhaul and replacement of his earlier textbooks. It features case studies in Sudoku and pretty-printing, and over 100 carefully selected exercises with solutions. This engaging text will be welcomed by students and teachers alike"-- | |
650 | 0 | 7 | |a Funktionale Programmierung |0 (DE-588)4198740-8 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a HASKELL |0 (DE-588)4318275-6 |2 gnd |9 rswk-swf |
653 | |a aFunctional programming (Computer science) | ||
689 | 0 | 0 | |a Funktionale Programmierung |0 (DE-588)4198740-8 |D s |
689 | 0 | 1 | |a HASKELL |0 (DE-588)4318275-6 |D s |
689 | 0 | |5 DE-604 | |
856 | 4 | 2 | |m HBZ Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=027831093&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-027831093 |
Datensatz im Suchindex
_version_ | 1804153046915088384 |
---|---|
adam_text | Titel: Thinking functionally with Haskell
Autor: Bird, Richard
Jahr: 2015
Contents Preface page ix What is functional programming? 1 1.1 Functions and types 1 1.2 Functional composition 3 1.3 Example: common words 3 1.4 Example: numbers into words 7 1.5 The Haskell Platform 12 1.6 Exercises 14 1.7 Answers 17 1.8 Chapter notes 20 Expressions, types and values 22 2.1 A session with GHCi 22 2.2 Names and operators 25 2.3 Evaluation 27 2.4 Types and type classes 30 2.5 Printing values 33 2.6 Modules 35 2.7 Haskell layout 36 2.8 Exercises 37 2.9 Answers 42 2.10 Chapter notes 47 Numbers 49 3.1 The type class Num 49 3.2 Other numeric type classes 50 3.3 Computing floors 52 3.4 Natural numbers 56
59 61 62 63 63 65 66 68 69 70 73 75 77 82 87 89 89 95 97 101 105 107 109 110 110 113 117 122 125 127 131 135 144 145 145 149 154 156 159 Contents 3.5 Exercises 3.6 Answers 3.7 Chapter notes Lists 4.1 List notation 4.2 Enumerations 4.3 List comprehensions 4.4 Some basic operations 4.5 Concatenation 4.6 concat, map and filter 4.7 zip and zipWith 4.8 Common words, completed 4.9 Exercises 4.10 Answers 4.11 Chapter notes A simple Sudoku solver 5.1 Specification 5.2 Lawful program construction 5.3 Pruning the matrix of choices 5.4 Expanding a single cell 5.5 Exercises 5.6 Answers 5.7 Chapter notes Proofs 6.1 Induction over natural numbers 6.2 Induction over lists 6.3 The function foldr 6.4 The function foldl 6.5 The function scanl 6.6 The maximum segment sum 6.7 Exercises 6.8 Answers 6.9 Chapter notes Efficiency 7.1 Lazy evaluation 7.2 Controlling space 7.3 Controlling time 7.4 Analysing time 7.5 Accumulating parameters
vii 164 167 172 175 180 181 181 183 187 189 191 193 199 203 209 210 210 212 215 221 226 228 231 234 237 239 239 244 247 251 254 259 263 267 275 276 276 279 281 Contents 7.6 Tupling 7.7 Sorting 7.8 Exercises 7.9 Answers 7.10 Chapter notes Pretty-printing 8.1 Setting the scene 8.2 Documents 8.3 A direct implementation 8.4 Examples 8.5 The best layout 8.6 A term representation 8.7 Exercises 8.8 Answers 8.9 Chapter notes Infinite lists 9.1 Review 9.2 Cyclic lists 9.3 Infinite lists as limits 9.4 Paper-rock-scissors 9.5 Stream-based interaction 9.6 Doubly-linked lists 9.7 Exercises 9.8 Answers 9.9 Chapter notes Imperative functional programming 10.1 The 10 monad 10.2 More monads 10.3 The State monad 10.4 The ST monad 10.5 Mutable arrays 10.6 Immutable arrays 10.7 Exercises 10.8 Answers 10.9 Chapter notes Parsing 11.1 Parsers as monads 11.2 Basic parsers 11.3 Choice and repetition
Contents viii 11.4 Grammars and expressions 285 11.5 Showing expressions 288 11.6 Exercises 291 11.7 Answers 294 11.8 Chapter notes 297 A simple equational calculator 298 12.1 Basic considerations 298 12.2 Expressions 304 12.3 Laws 310 12.4 Calculations 312 12.5 Rewrites 315 12.6 Matchings 317 12.7 Substitutions 319 12.8 Testing the calculator 321 12.9 Exercises 331 12.10 Answers 333 12.11 Chapter notes 337 Index 338
|
any_adam_object | 1 |
author | Bird, Richard 1943- |
author_GND | (DE-588)123092213 |
author_facet | Bird, Richard 1943- |
author_role | aut |
author_sort | Bird, Richard 1943- |
author_variant | r b rb |
building | Verbundindex |
bvnumber | BV042395302 |
callnumber-first | Q - Science |
callnumber-label | QA76 |
callnumber-raw | QA76.62 |
callnumber-search | QA76.62 |
callnumber-sort | QA 276.62 |
callnumber-subject | QA - Mathematics |
classification_rvk | ST 250 |
classification_tum | DAT 362f DAT 544f |
ctrlnum | (OCoLC)906743208 (DE-599)GBV789348462 |
dewey-full | 005.1/14 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.1/14 |
dewey-search | 005.1/14 |
dewey-sort | 15.1 214 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>02482nam a2200469 c 4500</leader><controlfield tag="001">BV042395302</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20160715 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">150306s2015 d||| |||| 00||| eng d</controlfield><datafield tag="010" ind1=" " ind2=" "><subfield code="a">2014024954</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781107087200</subfield><subfield code="c">hardback</subfield><subfield code="9">978-1-107-08720-0</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781107452640</subfield><subfield code="c">paperback</subfield><subfield code="9">978-1-107-45264-0</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)906743208</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)GBV789348462</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">aacr</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-91G</subfield><subfield code="a">DE-703</subfield><subfield code="a">DE-634</subfield></datafield><datafield tag="050" ind1=" " ind2="0"><subfield code="a">QA76.62</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.1/14</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 250</subfield><subfield code="0">(DE-625)143626:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">DAT 362f</subfield><subfield code="2">stub</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">54.51</subfield><subfield code="2">bkl</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">DAT 544f</subfield><subfield code="2">stub</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">54.53</subfield><subfield code="2">bkl</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Bird, Richard</subfield><subfield code="d">1943-</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)123092213</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Thinking functionally with Haskell</subfield><subfield code="c">Richard Bird</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Cambridge</subfield><subfield code="b">Cambridge Univ. Press</subfield><subfield code="c">2015</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">XI, 344 S.</subfield><subfield code="b">graph. Darst.</subfield><subfield code="c">25 cm</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">Hier auch später erschienene, unveränderte Nachdrucke</subfield></datafield><datafield tag="520" ind1="1" ind2=" "><subfield code="a">"Richard Bird is famed for the clarity and rigour of his writing. His new textbook, which introduces functional programming to students, emphasises fundamental techniques for reasoning mathematically about functional programs. By studying the underlying equational laws, the book enables students to apply calculational reasoning to their programs, both to understand their properties and to make them more efficient. The book has been designed to fit a first- or second-year undergraduate course and is a thorough overhaul and replacement of his earlier textbooks. It features case studies in Sudoku and pretty-printing, and over 100 carefully selected exercises with solutions. This engaging text will be welcomed by students and teachers alike"--</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Funktionale Programmierung</subfield><subfield code="0">(DE-588)4198740-8</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">HASKELL</subfield><subfield code="0">(DE-588)4318275-6</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">aFunctional programming (Computer science)</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Funktionale Programmierung</subfield><subfield code="0">(DE-588)4198740-8</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">HASKELL</subfield><subfield code="0">(DE-588)4318275-6</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">HBZ Datenaustausch</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=027831093&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-027831093</subfield></datafield></record></collection> |
id | DE-604.BV042395302 |
illustrated | Illustrated |
indexdate | 2024-07-10T01:20:23Z |
institution | BVB |
isbn | 9781107087200 9781107452640 |
language | English |
lccn | 2014024954 |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-027831093 |
oclc_num | 906743208 |
open_access_boolean | |
owner | DE-91G DE-BY-TUM DE-703 DE-634 |
owner_facet | DE-91G DE-BY-TUM DE-703 DE-634 |
physical | XI, 344 S. graph. Darst. 25 cm |
publishDate | 2015 |
publishDateSearch | 2015 |
publishDateSort | 2015 |
publisher | Cambridge Univ. Press |
record_format | marc |
spelling | Bird, Richard 1943- Verfasser (DE-588)123092213 aut Thinking functionally with Haskell Richard Bird Cambridge Cambridge Univ. Press 2015 XI, 344 S. graph. Darst. 25 cm txt rdacontent n rdamedia nc rdacarrier Hier auch später erschienene, unveränderte Nachdrucke "Richard Bird is famed for the clarity and rigour of his writing. His new textbook, which introduces functional programming to students, emphasises fundamental techniques for reasoning mathematically about functional programs. By studying the underlying equational laws, the book enables students to apply calculational reasoning to their programs, both to understand their properties and to make them more efficient. The book has been designed to fit a first- or second-year undergraduate course and is a thorough overhaul and replacement of his earlier textbooks. It features case studies in Sudoku and pretty-printing, and over 100 carefully selected exercises with solutions. This engaging text will be welcomed by students and teachers alike"-- Funktionale Programmierung (DE-588)4198740-8 gnd rswk-swf HASKELL (DE-588)4318275-6 gnd rswk-swf aFunctional programming (Computer science) Funktionale Programmierung (DE-588)4198740-8 s HASKELL (DE-588)4318275-6 s DE-604 HBZ Datenaustausch application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=027831093&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis |
spellingShingle | Bird, Richard 1943- Thinking functionally with Haskell Funktionale Programmierung (DE-588)4198740-8 gnd HASKELL (DE-588)4318275-6 gnd |
subject_GND | (DE-588)4198740-8 (DE-588)4318275-6 |
title | Thinking functionally with Haskell |
title_auth | Thinking functionally with Haskell |
title_exact_search | Thinking functionally with Haskell |
title_full | Thinking functionally with Haskell Richard Bird |
title_fullStr | Thinking functionally with Haskell Richard Bird |
title_full_unstemmed | Thinking functionally with Haskell Richard Bird |
title_short | Thinking functionally with Haskell |
title_sort | thinking functionally with haskell |
topic | Funktionale Programmierung (DE-588)4198740-8 gnd HASKELL (DE-588)4318275-6 gnd |
topic_facet | Funktionale Programmierung HASKELL |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=027831093&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT birdrichard thinkingfunctionallywithhaskell |