Functional programming Books

26 products


  • Functional Programming in Java: Harness the Power

    Pragmatic Bookshelf Functional Programming in Java: Harness the Power

    1 in stock

    Book SynopsisImagine writing Java code that reads like the problem statement, code that's highly expressive, concise, easy to read and modify, and has reduced complexity. With the functional programming capabilities in Java, that's not a fantasy. This book will guide you from the familiar imperative style through the practical aspects of functional programming, using plenty of examples. Apply the techniques you learn to turn highly complex imperative code into elegant and easy-to-understand functional-style code. Updated to the latest version of Java, this edition has four new chapters on error handling, refactoring to functional style, transforming data, and idioms of functional programming. Don't struggle with the limitations of the imperative style; instead learn to combine object-oriented programming with the functional style to reduce the accidental complexity. Harness the functional programming capabilities of Java to create applications where the program reveals its intentions and your team can quickly understand and modify code to align with changing business requirements. Unlock the power of lambda expressions and the Streams API to turn the oft-written spaghetti code into highly concise, expressive, elegant, and maintainable code. See how Streams make the arduous task of parallelizing code as easy as flipping a switch when superior speed is necessary. Apply design patterns built around lambda expressions, safely manage resource allocations, use memoization, and learn to transform data into different forms, all while honoring immutability, and providing thread safety to leverage lazy evaluation for efficiency and parallel execution for performance. Move beyond the basics, explore the idioms for writing functional programs. Learn to think functionally by refactoring legacy code into the functional style. And, if your code runs aground due to failures, learn to properly handle errors the functional way. Don't drown in theory; instead learn the practical functional programming techniques to create superior Java code. What You Need: Java version 8 or newer.

    1 in stock

    £40.84

  • Grokking Functional Programming

    Manning Publications Grokking Functional Programming

    15 in stock

    Book Synopsis"An absolutely wonderful book for someone that has tried and failed to understand functional programming." - William E. Wheeler Grokking Functional Programming is a practical book written especially for object-oriented programmers. It will help you map familiar ideas like objects and composition to FP concepts such as programming with immutable data and higher-order functions. You will learn how to write concurrent programs, how to handle errors and how to design your solutions with modularity and readability in mind. And you'll be pleased to know that we skip the academic baggage of lambda calculus, category theory, and the mathematical foundations of FP in favor of applying functional programming to everyday programming tasks. At the end of the book, you'll be ready to pick a functional language and start writing useful and maintainable software. about the technologyFunctional programming is more than just writing the same old code in Scala, Clojure, or Haskell. To grok FP—to really get it—you need to rewire your brain to see the world differently. We're here to help you flip the switch. Grokking Functional Programming teaches you first to break down problems in a new way so you can approach them from a FP mindset. Following carefully-selected examples with thorough, carefully-paced explanations, you'll immerse yourself in FP concept by concept. Along the way, exercises, checks for understanding, and even the occasional puzzler give you opportunities to think and practice what you're learning. what's insideDesigning with functions and types instead of objectsMultiple learning approaches to help you grok each new conceptA practical programming-first teaching styleProgramming with pure functions & immutable valuesWriting concurrent programs with a functional styleTesting functional programs about the readerThe book assumes that the reader has at least one year of experience developing software using a mainstream object-oriented programming language like Java. While examples use Scala, this is not a Scala book. The concepts will apply to any FP language, and no prior knowledge of Scala or FP is required. about the authorMichał Płachta started using Scala commercially in 2014 and has been an active contributor to the Scala and JVM communities since. He regularly speaks at conferences, runs workshops, and organizes meetups to help others become better at functional programming. You can find his blog at michalplachta.com.Trade Review"An absolutely wonderful book for someone that has tried and failed to understand functional programming." William E. Wheeler "A very practical manuscript." Ubaldo Pescatore "Nice introduction to functional programming. Sure to get Java, Javascript, and C# developers into functional programming." Anjan Bacchu

    15 in stock

    £32.39

  • Domain Modeling Made Functional : Pragmatic

    Pragmatic Bookshelf Domain Modeling Made Functional : Pragmatic

    1 in stock

    Book SynopsisYou want increased customer satisfaction, faster development cycles, and less wasted work. Domain-driven design (DDD) combined with functional programming is the innovative combo that will get you there. In this pragmatic, down-to-earth guide, you'll see how applying the core principles of functional programming can result in software designs that model real-world requirements both elegantly and concisely - often more so than an object-oriented approach. Practical examples in the open-source F# functional language, and examples from familiar business domains, show you how to apply these techniques to build software that is business-focused, flexible, and high quality. Domain-driven design is a well-established approach to designing software that ensures that domain experts and developers work together effectively to create high-quality software. This book is the first to combine DDD with techniques from statically typed functional programming. This book is perfect for newcomers to DDD or functional programming - all the techniques you need will be introduced and explained. Model a complex domain accurately using the F# type system, creating compilable code that is also readable documentation---ensuring that the code and design never get out of sync. Encode business rules in the design so that you have "compile-time unit tests," and eliminate many potential bugs by making illegal states unrepresentable. Assemble a series of small, testable functions into a complete use case, and compose these individual scenarios into a large-scale design. Discover why the combination of functional programming and DDD leads naturally to service-oriented and hexagonal architectures. Finally, create a functional domain model that works with traditional databases, NoSQL, and event stores, and safely expose your domain via a website or API. Solve real problems by focusing on real-world requirements for your software. What You Need: The code in this book is designed to be run interactively on Windows, Mac and Linux. You will need a recent version of F# (4.0 or greater), and the appropriate .NET runtime for your platform. Full installation instructions for all platforms at fsharp.org.

    1 in stock

    £36.57

  • Functional Programming in Kotlin

    Manning Publications Functional Programming in Kotlin

    15 in stock

    Book SynopsisFunctional Programming in Kotlin is a reworked version of the bestselling Functional Programming in Scala, with all code samples, instructions, and exercises translated into the powerful Kotlin language. In this authoritative guide, you’ll take on the challenge of learning functional programming from first principles, and start writing Kotlin code that’s easier to read, easier to reuse, better for concurrency, and less prone to bugs and errors. about the technologyKotlin is a new JVM language designed to interoperate with Java and offer an improved developer experience for creating new applications. It’s already a top choice for writing web services, and Android apps. Although it preserves Java’s OO roots, Kotlin really shines when you adopt a functional programming mindset. By learning the core principles and practices of functional programming outlined in this book, you’ll start writing code that’s easier to read, easier to test and reuse, better for concurrency, and less prone to bugs. about the book Functional Programming in Kotlin is a serious tutorial for programmers looking to learn FP and apply it to the everyday business of coding. Based on the bestselling Functional Programming in Scala, this book guides intermediate Java and Kotlin programmers from basic techniques to advanced topics in a logical, concise, and clear progression. In it, you'll find concrete examples and exercises that open up the world of functional programming. The book will deliver practical mastery of FP using Kotlin and a valuable perspective on program design that you can apply to other languages. what's inside Functional programming techniques for real-world applications Write combinator libraries Identify common structures and idioms in functional design Code for simplicity, modularity, and fewer bugs about the readerFor intermediate Kotlin and Java developers. No experience with functional programming is required. about the author Marco Vermeulen has almost two decades of programming experience on the JVM, with much of that time spent on functional programming using Scala and Kotlin. Rúnar Bjarnason and Paul Chiusano are the authors of Functional Programming in Scala, on which this book is based. They are internationally-recognized experts in functional programming and the Scala programming language.

    15 in stock

    £35.99

  • Learn Physics With Functional Programming: A

    No Starch Press,US Learn Physics With Functional Programming: A

    2 in stock

    Book SynopsisThis book teaches you to solve physics problems using the functional programming paradigm. Ideal for first-time programmers and science aficionados alike, it introduces the Haskell programming language and encourages the writing of beautiful code to match the elegant ideas of theoretical physics. Haskell's powerful system of types is capable of encoding important mathematical structures like vectors, derivatives, integrals, scalar fields, and differential equations.Table of ContentsAcknowledgments IntroductionPart I: A Haskell Primer for PhysicistsChapter 1: Calculating with HaskellChapter 2: Writing Basic FunctionsChapter 3: Types and EntitiesChapter 4: Describing MotionChapter 5: Working with ListsChapter 6: Higher-Order FunctionsChapter 7: Graphing FunctionsChapter 8: Type ClassesChapter 9: Tuples and Type ConstructorsChapter 10: Describing Motion in Three DimensionsChapter 11: Creating GraphsChapter 12: Creating Stand-Alone ProgramsChapter 13: Creating 2D and 3D Animations Part II: Expressing Newtonian Mechanics and Solving ProblemsChapter 14: Newton’s Second Law and Differential EquationsChapter 15: Mechanics in One DimensionChapter 16: Mechanics in Three DimensionsChapter 17: Satellite, Projectile, and Proton MotionChapter 18: A Very Short Primer on Relativity Chapter 19: Interacting ParticlesChapter 20: Springs, Billiard Balls, and a Guitar StringPart III: Expressing Electromagnetic Theory and Solving ProblemsChapter 21: ElectricityChapter 22: Coordinate Systems and FieldsChapter 23: Curves, Surfaces, and VolumesChapter 24: Electric ChargeChapter 25: Electric FieldChapter 26: Electric CurrentChapter 27: Magnetic FieldChapter 28: The Lorentz Force LawChapter 29: The Maxwell EquationsAppendix: Installing HaskellBibliographyIndex

    2 in stock

    £35.99

  • More OCaml Algorithms Methods and Diversions

    15 in stock

    £35.83

  • Thinking Functionally with Haskell

    Cambridge University Press Thinking Functionally with Haskell

    15 in stock

    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.

    15 in stock

    £44.99

  • Functional Thinking

    O'Reilly Media Functional Thinking

    2 in stock

    Book SynopsisIf you want to take advantage of functional programming features in Java and other languages, this in-depth guide takes you beyond syntax and demonstrates how you need to think in a new way.

    2 in stock

    £23.99

  • Clojure Cookbook

    O'Reilly Media Clojure Cookbook

    1 in stock

    Book SynopsisWith more than 150 detailed recipes, this cookbook shows experienced Clojure developers how to solve a variety of programming tasks with this JVM language. The solutions cover everything from building dynamic websites and working with databases to network communication, cloud computing, and advanced testing strategies.

    1 in stock

    £26.99

  • Becoming Functional

    O'Reilly Media Becoming Functional

    1 in stock

    Book SynopsisBecoming Functional will help you through the sometimes alien world of functional programming. Many functional programming books begin by focusing on the more difficult concepts such as recursion and immutability. This book lets you dive right in to functional programming by teaching the most useful implementation concepts first.

    1 in stock

    £19.19

  • Introducing ReScript

    APress Introducing ReScript

    1 in stock

    Book SynopsisThis book serves as a succinct guide on ReScript, a functional language for building web applications. Using examples of ReScript language features along with explanations of fundamental concepts in functional programming, this book will show web developers with a background in JavaScript how to effectively use ReScript to its full potential. In Introducing ReScript, you'll learn how to use features in ReScript that JavaScript lacks, such as type inference, null-safety, algebraic data types, pattern matching, and more. Along the way, you'll pick up functional programming concepts like immutability and higher-order functions. You'll also gain a sense of how ReScript works under the hood and how to leverage interoperability between ReScript and JavaScript. Whether you're a web developer interested in dabbling with functional programming or you just want to learn how to write safer and cleaner code for web applications, this book is a great way for you to get started with ReScript. Table of ContentsChapter 1, IntroChapter Goal: Learn what functional programming is, and the background of the ReScript language● What is ReScript?● Why should you learn ReScript?● What is functional programming?● Why should you learn functional programming?Chapter 2, BasicsChapter Goal: Learn the basic features of ReScript, like expressions and operators- Development environment setup- Hello, World in ReScript- Expressions- Operators- If expressions- Let expressions- Printing and debuggingChapter 3, FunctionsChapter Goal: learn how functions work in ReScript- Defining a function- Applying a function- Polymorphic functions- Anonymous functionsChapter 4, Lists and ArraysChapter Goal: learn the data structures for ordered data in ReScript, learn about immutable data structures- Building a list- Accessing a list- Mutating a list- Arrays and mutability- IterationChapter 5, Records and ObjectsChapter Goal: learn the ways to represent composite data types in ReScript- Records- ObjectsChapter 6, Pattern Matching and DestructuringChapter Goal: learn one of ReScript's most powerful features and how to work with the shape of your data- Pattern matching/switch- Destructuring with let- Destructuring in functionsChapter 7, Algebraic Data TypesChapter Goal: learn how represent complex data in ReScript's type system- Variants- Polymorphic Variants- Options- TuplesChapter 8, Higher Order ProgrammingChapter Goal:- Higher order functions- Map- Filter- Reduce- Generalizing to other data structures- Piping- CurryingChapter 9, ModulesChapter Goal: Introduce modules in ReScript, and how they can be used for higher order programming- What are modules- Scope/visibility- Signature- Import/Export- FunctorsChapter 10, Using ReScript in ProductionChapter Goal: learn about ReScript's interoperability with JavaScript- Calling ReScript from JavaScript- Calling JavaScript from ReScript- Embedding JavaScript in ReScript- Working with DOM- Working with JSON- Runtime representation

    1 in stock

    £22.49

  • Optics Using MATLAB

    SPIE Press Optics Using MATLAB

    1 in stock

    Book SynopsisOptics Using MATLAB® provides a functional overview of the development of MATLAB code that can be used to enhance and increase one’s understanding of optics though the use of visualization tools. The book ties a variety of optical topics to MATLAB programming activities and can act as a supplement to other textbooks or can stand alone. Part I focuses on a wide range of basic programming fundamentals using MATLAB and includes such topics as curve fitting, image processing, and file storage. Part II provides a review of selected topics in optics and demonstrates how these can be explored using MATLAB scripts. Part III discusses how to use MATLAB to improve the usability of custom programs through graphical user interfaces and incorporation of other programming languages. Those who need flexibility and special calculations in their optical design or optical engineering work will find value in the book’s explanations and examples of user-programmable software.Table of Contents Preface Acronyms and Abbreviations I MATLAB® Overview 1 Introduction to MATLAB 1.1 Getting Started with MATLAB 1.2 Anatomy of a Program 1.3 MATLAB Basic Functions and Operators 1.4 Simple Calculations using MATLAB 1.5 Vectorization and Matrix Indexing 1.6 MATLAB Scripts 1.7 MATLAB Functions 1.8 Practice Problems References 2 Plotting Mathematical Functions 2.1 Mathematical Functions 2.2 Visualization Functions: plot() 2.3 Visualization Functions: histogram() 2.4 Visualization Functions: 3D plotting 2.5 Visualization Functions: contour() and quiver() 2.6 Visualization Functions: images 2.7 Practice Problems References 3 Linear Amplifiers 3.1 Polynomial Synthesis and Curve Fitting 3.2 Polynomial Curve Fitting 3.3 Signal-to-Noise Ratio 3.4 Best Fit through the Data 3.5 Best Fit to the Data 3.6 Practice Problems References 4 Data and Data Files 4.1 Text versus Binary 4.2 Writing Data Files 4.3 Generating Data to be Saved 4.4 Reading and Using Data Files 4.5 Binary MAT Files 4.6 Binary Image Files 4.7 Practice Problem References 5 Images and Image Processing 5.1 Image Files 5.2 Image Commands 5.3 Image Size and Superpixels 5.4 Color Models and Conversions 5.5 Spatial Filtering 5.6 Practice Problems References II OPTICS APPLICATIONS 6 Ray Optics and Glass Equations 6.1 Lensmaker's Equation and Spot Size 6.2 Paraxial Region and Snell's Law 6.3 Matrix Approach to Ray Tracing 6.4 Ray Tracing through Multiple Elements 6.5 Glass Equations 6.6 Practice Problems References 7 Spectrometers 7.1 Dispersion in a Material 7.2 Prisms 7.3 Gratings 7.4 Blazed Gratings 7.5 Grisms 7.6 Spectrometers and Monochrometers 7.7 Practice Problems References 8 Modulation Transfer Function and Contrast 8.1 Image Quality 8.2 Spatial Frequency and Modulation Transfer Function 8.3 Point Spread Function 8.4 MTF Measurement 8.5 Effect of Annular Optics on MTF 8.6 Image Transformation 8.7 Practice Problems References 9 Diffraction and Interference 9.1 Interference 9.2 Coherence 9.3 Diffraction 9.4 Young's Double-Slit Experiment 9.5 Michelson Stellar Interferometer 9.6 Mach–Zhender Interferometer 9.7 Practice Problems References 10 Zernike Polynomials and Wavefronts 10.1 Wavefront Sensing in Adaptive Optics 10.2 Wavefront Aberrations 10.3 Zernike Polynomials 10.4 Wavefront Construction 10.5 Practice Problems References Further Reading 11 Polarizations 11.1 Polarized Light 11.2 Double Refraction 11.3 The Jones Calculus: Polarizers 11.4 The Jones Calculus: Phase Retarders 11.5 The Mueller Calculus 11.6 Jones-to-Mueller Transformation 11.7 Practice Problems References 12 Optical Interference Filters 12.1 Transfer Matrix for Thin Films 12.2 Antireflection Systems 12.3 High-Reflectance Systems 12.4 Bandpass Filters 12.5 Composite Filters 12.6 Index of Refraction Calculation 12.7 Practice Problems References 13 Metals and Complex Index of Refraction 13.1 Physical Vapor Deposition 13.2 Index of Refraction in Absorbing Media 13.3 Reflectivity of Metal Films 13.4 Absorption and Transmission in Metal Films 13.5 Impedance Matching 13.6 Practice Problems References III More with MATLAB 14 User Interfaces 14.1 Simple User Interfaces 14.2 Built-In Interfaces 14.3 Graphical User Interfaces: GUIDE 14.4 Applications: App Designer 14.5 Zernike GUI Project 14.6 Practice Problems References 15 Completing and Packaging Programs 15.1 P-Code 15.2 Publishing 15.3 Version Control 15.4 Interfacing with other Programming Languages 15.5 Object-Oriented Programming and More References Bibliography Index

    1 in stock

    £52.80

  • Functional Programming in Scala

    Manning Publications Functional Programming in Scala

    15 in stock

    Book SynopsisDESCRIPTION Functional programming (FP) is a programming style emphasizing functions that return consistent and predictable results regardless of a program's state. As a result, functional code is easier to test and reuse, simpler to parallelize, and less prone to bugs. Scala is an emerging JVM language that offers strong support for FP. Its familiar syntax and transparent interoperability with existing Java libraries make Scala a great place to start learning FP. Functional Programming in Scala is a serious tutorial for programmers looking to learn FP and apply it to the everyday business of coding. The book guides readers from basic techniques to advanced topics in a logical, concise, and clear progression. In it, they’ll find concrete examples and exercises that open up the world of functional programming. RETAIL SELLING POINTS Covers the practical benefits of Functional Programming Offers concrete examples and exercises Logically progresses from basic techniques to advance topics AUDIENCE No prior experience with FP or Scala is required. Perfect for programmers familiar with FP in other languages wishing to apply their knowledge in Scala. ABOUT THE TECHNOLOGY Functional programming (FP) is a programming style emphasizing functions that return consistent and predictable results regardless of a program's state. Scala is an emerging JVM language that offers strong support for FP.

    15 in stock

    £32.39

  • Spring in Action

    Manning Publications Spring in Action

    10 in stock

    Book Synopsis  DESCRIPTION Spring in Action, Fourth Edition continues the practical, hands-on style of the previous bestselling editions. Author Craig Walls has a special knack for crisp and entertaining examples that zoom in on the features and techniques really needed. The Spring framework is required knowledge for Java developers, and this edition brings readers up to speed with Spring 3.1 and then highlights some of the new Spring 3.2 features such as asynchronous Spring MVC Controllers. It also covers testing support for Spring MVC controllers and RestTemplate-based clients which enables a richer form of testing for controllers and clients without having to fire up a server or hitting an actual REST API—in other words no-network involved. RETAIL SELLING POINTS Written by esteemed Spring expert Offers practical solutions to real-world problems Contains concise, easy to follow examples AUDIENCE Written for Java developers and software architects. ABOUT THE TECHNOLOGY Applications are composed of several components. If these components are tightly coupled (that is, if they have too much knowledge of each other), then the application can be difficult to maintain, enhance, and test. The Spring framework promotes a technique known as dependency injection,

    10 in stock

    £46.72

  • SBT in Action:The simple Scala built tool

    Manning Publications SBT in Action:The simple Scala built tool

    10 in stock

    Book SynopsisDESCRIPTION Simple Build Tool: sbt. The idea of a high quality build tool for Scala is indeed simple, but sbt itself is richly-featured and powerful. Documentation for sbt is sparse, and the blogs, tutorials, and other bits scattered across the web demand a comprehensive, accurate picture of how to build Scala projects effectively and efficiently. This book will help transform ugly, complex builds into a streamlined, automated, and repeatable process. SBT in Action is first and foremost a tutorial about effectively building Scala projects. It introduces the sbt tool with a simple project that establishes the fundamentals of running commands and tasks. Next, it shows how to use the peripheral libraries in sbt to make common tasks simpler. This includes an I/O library to deal with files and how to parse user input in a meaningful fashion. Finally, it covers how to deploy software effectively. RETAIL SELLING POINTS Comprehensive and detailed guide Fills in the gaps of information on sbt Shows how to tame unwieldy complex builds AUDIENCE This book assumes readers are comfortable reading and writing Scala code. No experience with sbt required. ABOUT THE TECHNOLOGY Known as the de-facto Scala build tool, sbt is used to build other pieces of software. It uses Scala as its lingua franca, which means that all settings and files are typesafe by default, providing a level of safety in builds that is uncommon.

    10 in stock

    £39.50

  • R in Action

    Manning Publications R in Action

    15 in stock

    Book Synopsis   DESCRIPTION R is a powerful language for statistical computing and graphics that can handle virtually any data-crunching task. It runs on all important platforms and provides thousands of useful specialized modules and utilities. This makes R a great way to get meaningful information from mountains of raw data. R in Action, Second Edition is language tutorial focused on practical problems. Written by a research methodologist, it takes a direct and modular approach to quickly give readers the information they need to produce useful results. Focusing on realistic data analyses and a comprehensive integration of graphics, it follows the steps that real data analysts use to acquire their data, get it into shape, analyze it, and produce meaningful results that they can provide to clients. RETAIL SELLING POINTS Step-by-step guide to practical data analysis Gives quick access to the R language Written by seasoned researcher Uses over 130 graphics AUDIENCE This book is for social scientists, medical and pharmaceutical researchers, professors and students in quantitative fields, data analysts, data mining specialists, and statistical programmers who have a sense of what they want to do, but not how to do it in R. ABOUT THE TECHNOLOGY R is a powerful language for statistical computing and graphics that can handle virtually any data-crunching task. It runs on all important platforms and provides thousands of useful specialized modules and

    15 in stock

    £43.19

  • Learn Quantum Computing with Python and Q#: A

    Manning Publications Learn Quantum Computing with Python and Q#: A

    10 in stock

    Book SynopsisLearn Quantum Computing with Python and Q# demystifies quantum computing. Using Python and the new quantum programming language Q#, you’ll learn QC fundamentals as you apply quantum programming techniques to real-world examples including cryptography and chemical analysis. Learn Quantum Computing with Python and Q# builds your understanding of quantum computers, using Microsoft’s Quantum Development Kit to abstract away the mathematical complexities. You’ll learn QC basics as you create your own quantum simulator in Python, then move on to using the QDK and the new Q# language for writing and running algorithms very different to those found in classical computing. Key Features · The underlying mechanics of how quantum computers work · How to simulate qubits in Python · Q# and the Microsoft Quantum Developer Kit · How to apply quantum algorithms to real-world examples For readers with basic programming skills and some experience of linear algebra, calculus and complex numbers. About the technology Quantum computing is the next step in computing power and scalability, with the potential to impact everything from data science to information security. Using qubits, the fundamental unit of quantum information, quantum computers can solve problems beyond the scale of classical computing. Software packages like Microsoft's Quantum Development Kit and the Q# language are now emerging to give programmers a quick path to exploring quantum development for the first time. Christopher Granade completed his PhD in physics (quantum information) at the University of Waterloo’s Institute for Quantum Computing, and now works in the Quantum Architectures and Computation (QuArC) group at Microsoft. He works in developing the standard libraries for Q# and is an expert in the statistical characterization of quantum devices from classical data. Previously, Christopher helped Scott Aaronson prepare lectures into his recent book, Quantum Computing Since Democritus. Sarah Kaiser completed her PhD in physics (quantum information) at the University of Waterloo’s Institute for Quantum Computing. She has spent much of her career developing new quantum hardware in the lab, from satellites to hacking quantum cryptography hardware. Communicating what is so exciting about quantum is her passion, and she loves finding new demos and tools to help enable the quantum community to grow. When not at the keyboard, she loves kayaking and writing books about engineering for kids.

    10 in stock

    £43.19

  • Functional Programming in C#

    Manning Publications Functional Programming in C#

    7 in stock

    Book SynopsisFunctional Programming in C#, Second Edition is fully revised to cover new functional-inspired features in the most recent releases of C#, including tuples, async streams, pattern matching, and records. Each chapter is packed with awesome perspectives and epiphany moments. Functional Programming in C#, Second Edition teaches you to apply functional thinking to real-world problems using the C# language. You'll discover the principles and language features of functional programming, explore C#'s functional language features, and learn how to use them to write code that is concise, elegant, and robust. Through numerous real-world examples, you'll also learn the power of function composition, data flow programming, immutable data structures, and monadic composition with LINQ. Functional programming changes the way you think about code by concentrating your attention on generic, composable behaviours instead of more complex objects. It gives developers the power to get more done with less code, enables super-safe concurrency that's perfect for multicore processors, and makes your code easy to maintain long-term. C#'s flexibility lets you benefit fully from the application of functional techniques.Trade Review“A great book on becoming a master of Functional Programming.6” Najeeb Arif “You have to read this—it'll give you a whole new perspective on things.” Jedidja Bourgeois “This is an extremely good presentation of functional concepts to C# developers.” David Paccoud

    7 in stock

    £43.12

  • Functional Reactive Programming

    Manning Publications Functional Reactive Programming

    10 in stock

    Book SynopsisDESCRIPTION Most software applications must handle user or system-generated events. The most widely-accepted event handling model is the Observer pattern, in which an object "listens" for changes in the application's state and then reacts by executing a unit of code—the problems is that this approach is prone to bugs. Functional Reactive Programming (FRP) is an alternative to the Observer pattern. It’s designed to deal with events as a stream of values over time rather than as a series of unique responses to discrete changes in state, keeping logic tidy and eliminating the bugs that plague event handling code with no loss of expressiveness. FRP is useful anywhere the Observer pattern is common, including user interfaces, video games, networking, and industrial applications. Functional Reactive Programming teaches the concepts and applications of FRP. It begins with a careful walk-through of the FRP core operations and introduces the concepts and techniques needed to use FRP in any language. Following easy-to-understand examples, readers will learn how to use FRP in greenfield applications and how to refactor existing applications. Along the way, the book introduces the basics of functional programming in a just-in-time style, so readers never learn anything before they need to use it. By the end of the book, readers will be able to use FRP to spend more time adding features and less time fixing problems. KEY SELLING POINTS Step by step guide to developing FRP applications Think differently about data and events Spend less time fixing problems and more time adding features AUDIENCE This book presents examples in Java, C++, and JavaScript using the Sodium, Flapjax, and BaconJS libraries. No prior experience with functional programming is required. ABOUT THE TECHNOLOGY Reactive programming is a broad concept, where programs are event-based and viewed as a data flow. Functional Reactive Programming is a specific type of reactive programming that improves the quality of interactive applications, allowing developers to spend more time adding features and less time fixing problems.

    10 in stock

    £39.99

  • Julia for Data Analysis

    Manning Publications Julia for Data Analysis

    15 in stock

    Book SynopsisMaster core data analysis skills using Julia. Julia for Data Analysis is a fascinating, hands-on projects guide you through time series data, predictive models, popularity ranking, and more. With this book, you will learn how to: Read and write data in various formats Work with tabular data, including subsetting, grouping, and transforming Visualise your data using plots Perform statistical analysis Build predictive models Create complex data processing pipelines Julia was designed for the unique needs of data scientists: it's expressive and easy-to-use whilst also delivering super fast code execution. Julia for Data Analysis teaches you how to perform core data science tasks with this amazing language. It is written by Bogumił Kamiński, a top contributor to Julia, #1 Julia answerer on StackOverflow, and a lead developer of Julia's core data package DataFrames.jl. You will learn how to write production-quality code in Julia, and utilize Julia's core features for data gathering, visualisation, and working with data frames. Plus, the engaging hands-on projects get you into the action quickly. About the technology Julia is a huge step forward for data science and scientific computing. It is a powerful high-performance programming language with many developer-friendly features like garbage collection, dynamic typing, just-in-time compilation, and a flexible approach to concurrent, parallel, and distributed computing. Although Julia's strong numerical programming features make it a favorite of data scientists, it is also an awesome general purpose programming language. About the reader For data scientists familiar with Python or R. No experience with Julia required.Trade Review"A brilliant guide to data analysis with Julia." Kevin Cheung, Carleton University "One of the best structured and well-written presentations of language fundamentals and analysis concepts that I've encountered. I highly recommend this book." Maureen Metzger, Kumanu "A solid, hands-on, and really enjoyable introduction to Julia." Sonja Krause-Harder, Elastic

    15 in stock

    £41.39

  • Clojure Applied

    Pragmatic Bookshelf Clojure Applied

    1 in stock

    Book SynopsisThink in the Clojure way! Once you're familiar with Clojure, take the next step with extended lessons on the best practices and most critical decisions you'll need to make while developing. Learn how to model your domain with data, transform it with pure functions, manage state, spread your work across cores, and structure apps with components. Discover how to use Clojure in the real world, and unlock the speed and power of this beautiful language on the Java Virtual Machine. Clojure Applied gives you the practical, realistic advice and depth of field that's been missing from your development practice. You want to develop software in the most effective, efficient way possible. This book gives you the answers you've been looking for in friendly, clear language. Dive into the core concepts of Clojure: immutable collections, concurrency, pure functions, and state management. You'll finally get the complete picture you've been looking for, rather than dozens of puzzle pieces you must assemble yourself.First, explore the core concepts of Clojure development: learn how to model your domain with immutable data; choose the ideal collection; and write simple, pure functions for efficient transformation. Next you'll apply those core concepts to build applications: discover how Clojure manages state and identity; spread your work for concurrent programming; and create and assemble components. Finally, see how to manage external integration and deployment concerns by developing a testing strategy, connecting with other data sources, and getting your libraries and applications out the door. Go beyond the toy box and into Clojure's way of thinking. By the end of this book, you'll have the tools and information to put Clojure's strengths to work. What You Need: To follow along with the examples in the book, you will need Clojure 1.6, Leinegen 2, and Java 6 or higher.

    1 in stock

    £28.98

  • Learn Functional Programming with Elixir

    The Pragmatic Programmers Learn Functional Programming with Elixir

    1 in stock

    Book SynopsisElixir's straightforward syntax and this guided tour give you a clean, simple path to learn modern functional programming techniques. No previous functional programming experience required! This book walks you through the right concepts at the right pace, as you explore immutable values and explicit data transformation, functions, modules, recursive functions, pattern matching, high-order functions, polymorphism, and failure handling, all while avoiding side effects. Don't board the Elixir train with an imperative mindset! To get the most out of functional languages, you need to think functionally. This book will get you there. Functional programming offers useful techniques for building maintainable and scalable software that solves today's difficult problems. The demand for software written in this way is increasing - you don't want to miss out. In this book, you'll not only learn Elixir and its features, you'll also learn the mindset required to program functionally. Elixir's clean syntax is excellent for exploring the critical skills of using functions and concurrency. Start with the basic techniques of the functional way: working with immutable data, transforming data in discrete steps, and avoiding side effects. Next, take a deep look at values, expressions, functions, and modules. Then extend your programming with pattern matching and flow control with case, if, cond, and functions. Use recursive functions to create iterations. Work with data types such as lists, tuples, and maps. Improve code reusability and readability with Elixir's most common high-order functions. Explore how to use lazy computation with streams, design your data, and take advantage of polymorphism with protocols. Combine functions and handle failures in a maintainable way using Elixir features and libraries. Learn techniques that matter to make code that lives harmoniously with the language. What You Need: You'll need a computer and Elixir 1.4 or newer version installed. No previous functional programming or Elixir experience is required. Some experience with any programming language is recommended.

    1 in stock

    £32.78

  • Programming Clojure : Pragmatic Programmers

    Pragmatic Bookshelf Programming Clojure : Pragmatic Programmers

    1 in stock

    Book SynopsisDrowning in unnecessary complexity, unmanaged state, and tangles of spaghetti code? In the best tradition of Lisp, Clojure gets out of your way so you can focus on expressing simple solutions to hard problems. Clojure cuts through complexity by providing a set of composable tools--immutable data, functions, macros, and the interactive REPL. Written by members of the Clojure core team, this book is the essential, definitive guide to Clojure. This new edition includes information on all the newest features of Clojure, such as transducers and specs. Clojure joins the flexibility and agility of Lisp with the reach, stability, and performance of Java. Combine Clojure's tools for maximum effectiveness as you work with immutable data, functional programming, and safe concurrency to write programs that solve real-world problems. Start by reading and understanding Clojure syntax and see how Clojure is evaluated. From there, find out about the sequence abstraction, which combines immutable collections with functional programming to create truly reusable data transformation code. Clojure is a functional language; learn how to write programs in a functional style, and when and how to use recursion to your advantage. Discover Clojure's unique approach to state and identity, techniques for polymorphism and open systems using multimethods and protocols, and how to leverage Clojure's metaprogramming capabilities via macros. Finally, put all the pieces together in a real program. New to this edition is coverage of Clojure's spec library, one of the most interesting new features of Clojure for describing both data and functions. You can use Clojure spec to validate data, destructure data, explain invalid data, and generate large numbers of tests to verify the correctness of your code. With this book, you'll learn how to think in Clojure, and how to take advantage of its combined strengths to build powerful programs quickly. What You Need: Java 6 or higher Clojure 1.9

    1 in stock

    £37.99

  • Getting Clojure: Build Your Functional Skills One

    The Pragmatic Programmers Getting Clojure: Build Your Functional Skills One

    1 in stock

    Book SynopsisBehind every programming language lies a vision of how programs should be built. The vision behind Clojure is of a radically simple language framework holding together a sophisticated collection of programming features. Learning Clojure involves much more than just learning the mechanics of the language. To really get Clojure you need to understand the ideas underlying this structure of framework and features. You need this book: an accessible introduction to Clojure that focuses on the ideas behind the language as well as the practical details of writing code. Clojure attracts developers on the cutting edge and is arguably the best language for learning to program in the functional style without compromise. But this comes with a steep learning curve. Getting Clojure directly addresses this by teaching you how to think functionally as it teaches you the language. You'll learn about Clojure's powerful data structures and high-level functions, but you'll also learn what it means for a language to be functional, and how to think in Clojure's functional way. Each chapter of Getting Clojure takes a feature or two or three from the language, explains the syntax and the mechanics behind that feature so that you can make it work before digging into the deeper questions: What is the thinking behind the feature? And how does it fit in with the rest of the language? In Getting Clojure you'll learn Clojure's very simple syntax, but you'll also learn why that syntax is integral the way the language is constructed. You'll discover that most data structures in Clojure are immutable, but also why that leads to more reliable programs. And you'll see how easy it is to write Clojure functions and also how you can use those functions to build complex and capable systems. With real-world examples of how working Clojure programmers use the language, Getting Clojure will help you see the challenges of programming through the eye of experienced Clojure developers. What You Need: You will need to some background in programming. To follow along with the examples in the book, you will need Java 6 or new, Clojure 1.8 or 1.9, and Leiningen 2.

    1 in stock

    £36.57

  • Solving Engineering Mechanics Problems with

    New Academic Science Ltd Solving Engineering Mechanics Problems with

    15 in stock

    Book Synopsis

    15 in stock

    £38.00

  • Building Kotlin Applications: A comprehensive

    BPB Publications Building Kotlin Applications: A comprehensive

    1 in stock

    Book Synopsis

    1 in stock

    £33.24

© 2026 Book Curl

    • American Express
    • Apple Pay
    • Diners Club
    • Discover
    • Google Pay
    • Maestro
    • Mastercard
    • PayPal
    • Shop Pay
    • Union Pay
    • Visa

    Login

    Forgot your password?

    Don't have an account yet?
    Create account