Programming Clojure:
Provides information on the features and functions of Clojure and describes how to create powerful programs.
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Raleigh, NC [u.a.]
The Pragmatic Bookshelf
2009
|
Ausgabe: | P2.0 printing |
Schriftenreihe: | The pragmatic programmers
|
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Zusammenfassung: | Provides information on the features and functions of Clojure and describes how to create powerful programs. |
Beschreibung: | XXI, 280 S. graph. Darst. |
ISBN: | 9781934356333 1934356336 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV035969955 | ||
003 | DE-604 | ||
005 | 20100823 | ||
007 | t | ||
008 | 100125s2009 d||| |||| 00||| eng d | ||
020 | |a 9781934356333 |9 978-1-934356-33-3 | ||
020 | |a 1934356336 |c (pbk) : £23.99 pbk : £23.99 : CIP entry (Mar.) |9 1-934356-33-6 | ||
024 | 3 | |a 9781934356333 | |
035 | |a (OCoLC)280445623 | ||
035 | |a (DE-599)BVBBV035969955 | ||
040 | |a DE-604 |b ger | ||
041 | 0 | |a eng | |
049 | |a DE-739 | ||
050 | 0 | |a QA76.73.C565 | |
082 | 0 | |a 005.133 | |
084 | |a ST 250 |0 (DE-625)143626: |2 rvk | ||
084 | |a WIR 523f |2 stub | ||
100 | 1 | |a Halloway, Stuart Dabbs |e Verfasser |0 (DE-588)1022425757 |4 aut | |
245 | 1 | 0 | |a Programming Clojure |c Stuart Halloway |
250 | |a P2.0 printing | ||
264 | 1 | |a Raleigh, NC [u.a.] |b The Pragmatic Bookshelf |c 2009 | |
300 | |a XXI, 280 S. |b graph. Darst. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
490 | 0 | |a The pragmatic programmers | |
520 | 3 | |a Provides information on the features and functions of Clojure and describes how to create powerful programs. | |
630 | 0 | 4 | |a Java virtual machine |
650 | 4 | |a Clojure (Computer program language) | |
650 | 4 | |a Clojure (Computer program language) | |
650 | 0 | 7 | |a Clojure |0 (DE-588)7722643-4 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Java Virtual Machine |0 (DE-588)4541748-9 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Programmiersprache |0 (DE-588)4047409-4 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a Clojure |0 (DE-588)7722643-4 |D s |
689 | 0 | 1 | |a Java Virtual Machine |0 (DE-588)4541748-9 |D s |
689 | 0 | 2 | |a Programmiersprache |0 (DE-588)4047409-4 |D s |
689 | 0 | |8 1\p |5 DE-604 | |
856 | 4 | 2 | |m Digitalisierung UB Passau |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=018863985&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-018863985 | ||
883 | 1 | |8 1\p |a cgwrk |d 20201028 |q DE-101 |u https://d-nb.info/provenance/plan#cgwrk |
Datensatz im Suchindex
_version_ | 1804140992177111040 |
---|---|
adam_text | Contents
Foreword
xi
Acknowledgments
xiii
Preface
xv
Who This Book Is For
........................ xvi
What Is in This Book
........................ xvi
How to Read This Book
....................... xvii
Notation Conventions
........................ xix
Web Resources and Feedback
................... xx
Downloading Sample Code
..................... xxi
1
Getting Started
1
1.1
WhyClojure?
......................... 1
1.2
Clojure Coding Quick Start
................ 10
1.3
Exploring Clojure Libraries
. . .............. 17
1.4
Introducing Lancet
..................... 22
1.5
Wrapping Up
......................... 24
2
Exploring Clojure
25
2.1
Forms
............................. 25
2.2
Reader Macros
........................ 35
2.3
Functions
........................... 36
2.4
Vars,
Bindings, and Namespaces
............. 40
2.5
Flow Control
......................... 47
2.6
Where s My for Loop?
.................... 50
2.7
Metadata
........................... 54
2.8
Wrapping Up
......................... 57
3
Working with Java
59
3.1
Calling Java
......................... 60
3.2
Optimizing for Performance
................ 68
3.3
Creating and Compiling Java Classes in Clojure
.... 74
3.4
Exception Handling
..................... 81
3.5
Adding Ant Projects and Tasks to Lancet
........ 85
3.6
Wrapping Up
......................... 90
4
Unifying Data with Sequences
91
4.1
Everything Is a Sequence
................. 92
4.2
Using the Sequence Library
................ 97
4.3
Lazy and Infinite Sequences
................ 105
4.4
Clojure Makes Java Seq-able
............... 107
4.5
Calling Structure-Specific Functions
........... 113
4.6
Adding Properties to Lancet Tasks
............ 121
4.7
Wrapping Up
......................... 126
5
Functional Programming
127
5.1
Functional Programming Concepts
............ 128
5.2
How to Be Lazy
....................... 132
5.3
Lazier Than Lazy
...................... 140
5.4
Recursion Revisited
..................... 147
5.5
Wrapping Up
......................... 156
6
Concurrency
157
6.1
The Problem with Locks
.................. 158
6.2
Refs and Software Transactional Memory
........ 159
6.3
Use Atoms for Uncoordinated, Synchronous Updates
. 166
6.4
Use Agents for Asynchronous Updates
.......... 167
6.5
Managing Per-Thread State with
Vars
.......... 172
6.6
A Clojure Snake
....................... 176
6.7
Making Lancet Targets Run Only Once
......... 187
6.8
Wrapping Up
......................... 190
7
Macros
191
7.1
When to Use Macros
.................... 191
7.2
Writing a Control Flow Macro
............... 192
7.3
Making Macros Simpler
.................. 198
7.4
Taxonomy of Macros
.................... 204
7.5
Making a Lancet DSL
.................... 213
7.6
Wrapping Up
......................... 223
8
Multimethods
225
8.1
Living
Without
Multimethods
............... 226
8.2
Defining
Multimethods
................... 228
8.3
Moving Beyond Simple Dispatch
............. 230
8.4
Creating Ad Hoc Taxonomies
............... 232
8.5
When Should I Use Multimethods?
............ 236
8.6
Adding Type Coercions to Lancet
............. 240
8.7
Wrapping Up
......................... 245
9
Clojure in the Wild
247
9.1
Automating Tests
...................... 248
9.2
Data Access
......................... 252
9.3
Web Development
...................... 257
9.4
Farewell
............................ 265
A Editor Support
267
В
Bibliography
269
Index
271
|
any_adam_object | 1 |
author | Halloway, Stuart Dabbs |
author_GND | (DE-588)1022425757 |
author_facet | Halloway, Stuart Dabbs |
author_role | aut |
author_sort | Halloway, Stuart Dabbs |
author_variant | s d h sd sdh |
building | Verbundindex |
bvnumber | BV035969955 |
callnumber-first | Q - Science |
callnumber-label | QA76 |
callnumber-raw | QA76.73.C565 |
callnumber-search | QA76.73.C565 |
callnumber-sort | QA 276.73 C565 |
callnumber-subject | QA - Mathematics |
classification_rvk | ST 250 |
classification_tum | WIR 523f |
ctrlnum | (OCoLC)280445623 (DE-599)BVBBV035969955 |
dewey-full | 005.133 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.133 |
dewey-search | 005.133 |
dewey-sort | 15.133 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik Wirtschaftswissenschaften |
edition | P2.0 printing |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>02057nam a2200505 c 4500</leader><controlfield tag="001">BV035969955</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20100823 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">100125s2009 d||| |||| 00||| eng d</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781934356333</subfield><subfield code="9">978-1-934356-33-3</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">1934356336</subfield><subfield code="c">(pbk) : £23.99 pbk : £23.99 : CIP entry (Mar.)</subfield><subfield code="9">1-934356-33-6</subfield></datafield><datafield tag="024" ind1="3" ind2=" "><subfield code="a">9781934356333</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)280445623</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV035969955</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-739</subfield></datafield><datafield tag="050" ind1=" " ind2="0"><subfield code="a">QA76.73.C565</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.133</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">WIR 523f</subfield><subfield code="2">stub</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Halloway, Stuart Dabbs</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)1022425757</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Programming Clojure</subfield><subfield code="c">Stuart Halloway</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">P2.0 printing</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Raleigh, NC [u.a.]</subfield><subfield code="b">The Pragmatic Bookshelf</subfield><subfield code="c">2009</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">XXI, 280 S.</subfield><subfield code="b">graph. Darst.</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="490" ind1="0" ind2=" "><subfield code="a">The pragmatic programmers</subfield></datafield><datafield tag="520" ind1="3" ind2=" "><subfield code="a">Provides information on the features and functions of Clojure and describes how to create powerful programs.</subfield></datafield><datafield tag="630" ind1="0" ind2="4"><subfield code="a">Java virtual machine</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Clojure (Computer program language)</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">Clojure (Computer program language)</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Clojure</subfield><subfield code="0">(DE-588)7722643-4</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Java Virtual Machine</subfield><subfield code="0">(DE-588)4541748-9</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Programmiersprache</subfield><subfield code="0">(DE-588)4047409-4</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Clojure</subfield><subfield code="0">(DE-588)7722643-4</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Java Virtual Machine</subfield><subfield code="0">(DE-588)4541748-9</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="2"><subfield code="a">Programmiersprache</subfield><subfield code="0">(DE-588)4047409-4</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="8">1\p</subfield><subfield code="5">DE-604</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">Digitalisierung UB Passau</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=018863985&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-018863985</subfield></datafield><datafield tag="883" ind1="1" ind2=" "><subfield code="8">1\p</subfield><subfield code="a">cgwrk</subfield><subfield code="d">20201028</subfield><subfield code="q">DE-101</subfield><subfield code="u">https://d-nb.info/provenance/plan#cgwrk</subfield></datafield></record></collection> |
id | DE-604.BV035969955 |
illustrated | Illustrated |
indexdate | 2024-07-09T22:08:47Z |
institution | BVB |
isbn | 9781934356333 1934356336 |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-018863985 |
oclc_num | 280445623 |
open_access_boolean | |
owner | DE-739 |
owner_facet | DE-739 |
physical | XXI, 280 S. graph. Darst. |
publishDate | 2009 |
publishDateSearch | 2009 |
publishDateSort | 2009 |
publisher | The Pragmatic Bookshelf |
record_format | marc |
series2 | The pragmatic programmers |
spelling | Halloway, Stuart Dabbs Verfasser (DE-588)1022425757 aut Programming Clojure Stuart Halloway P2.0 printing Raleigh, NC [u.a.] The Pragmatic Bookshelf 2009 XXI, 280 S. graph. Darst. txt rdacontent n rdamedia nc rdacarrier The pragmatic programmers Provides information on the features and functions of Clojure and describes how to create powerful programs. Java virtual machine Clojure (Computer program language) Clojure (DE-588)7722643-4 gnd rswk-swf Java Virtual Machine (DE-588)4541748-9 gnd rswk-swf Programmiersprache (DE-588)4047409-4 gnd rswk-swf Clojure (DE-588)7722643-4 s Java Virtual Machine (DE-588)4541748-9 s Programmiersprache (DE-588)4047409-4 s 1\p DE-604 Digitalisierung UB Passau application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=018863985&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis 1\p cgwrk 20201028 DE-101 https://d-nb.info/provenance/plan#cgwrk |
spellingShingle | Halloway, Stuart Dabbs Programming Clojure Java virtual machine Clojure (Computer program language) Clojure (DE-588)7722643-4 gnd Java Virtual Machine (DE-588)4541748-9 gnd Programmiersprache (DE-588)4047409-4 gnd |
subject_GND | (DE-588)7722643-4 (DE-588)4541748-9 (DE-588)4047409-4 |
title | Programming Clojure |
title_auth | Programming Clojure |
title_exact_search | Programming Clojure |
title_full | Programming Clojure Stuart Halloway |
title_fullStr | Programming Clojure Stuart Halloway |
title_full_unstemmed | Programming Clojure Stuart Halloway |
title_short | Programming Clojure |
title_sort | programming clojure |
topic | Java virtual machine Clojure (Computer program language) Clojure (DE-588)7722643-4 gnd Java Virtual Machine (DE-588)4541748-9 gnd Programmiersprache (DE-588)4047409-4 gnd |
topic_facet | Java virtual machine Clojure (Computer program language) Clojure Java Virtual Machine Programmiersprache |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=018863985&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT hallowaystuartdabbs programmingclojure |