Complexity management is a major issue facing the professional programmer today. A programmer building an Internet-based application interacts with, on average, no less than a dozen technologies. These applications need nearly continuous operation: 24-7 availability in order to service hundreds to thousands of concurrent requests. Developers need the tools to manage that complexity and Monadic Design Patterns for the Web serves that need. Monadic Design Patterns for the Web aims to demystify the monad. Using web applications as an example, this book will show you how you can apply monadic design patterns to help you solve practical, real-world programming problems. Reading this book will arm you with important techniques that will help you manage complexity.
Author(s): L.G. Meredith
Edition: PrePrint
Publisher: Artima Press
Year: 2012
Language: English
Pages: 214
Contents......Page 7
List of Figures......Page 10
List of Tables......Page 11
List of Listings......Page 12
Acknowledgments......Page 13
Where are we?......Page 16
Where are we going?......Page 23
How will we get there?......Page 27
Core design patterns......Page 36
Variations in presentation......Page 40
Foundations......Page 47
Practice......Page 55
Code first, ask questions later......Page 59
What's behind the curtain?......Page 61
Synchrony, asynchrony, and buffering......Page 68
Foundations......Page 70
Parsing Requests, Monadically......Page 76
The trade-offs of embedded versus external parsing......Page 77
Parsing monadically......Page 80
Foundations......Page 93
The Domain Model as Abstract Syntax......Page 94
Our application domain model......Page 95
Translating concrete syntax to abstract syntax......Page 99
What does this have to do with monads?......Page 111
The project model......Page 113
Foundations......Page 114
Zippers and Contexts and URIs, Oh My!......Page 115
Practice......Page 116
Generic zipper -- differentiating navigation......Page 128
Constructing contexts and zippers from data types......Page 135
Applying zippers to our project......Page 140
Foundations......Page 142
Practice......Page 143
Conway games......Page 144
Recap of the monad API......Page 150
Realizing the monad API......Page 151
Sets, lists, and languages......Page 160
Containers and syntax......Page 168
Monad as container......Page 169
Monads and takeout......Page 170
Container and control......Page 174
Domain Model, Storage, and State......Page 175
Mapping our domain model to storage......Page 176
Storage and language-integrated query......Page 177
Foundations......Page 178
Putting it All Together......Page 179
Foundations......Page 180
The Semantic Web......Page 181
Referential transparency......Page 182
Composing monads......Page 183
Semantic application queries......Page 186
Foundations......Page 192
Glossary......Page 194
Bibliography......Page 210
About the Author......Page 213