Leanpub Header

Skip to main content

Filters

Category: "Functional Programming"

Functional Programming

  1. Layerd FP in Scala
    Layerd FP in Scala
    Clean Architecture, Hexagonal and Onion with Scala 3 and ZIO
    Piotr Pruchniewicz

    Clean, Hexagonal, Onion—one dependency rule, three names. Walk a runnable multi-module SaaS billing service in Scala 3 and ZIO: a pure domain ring, ports and use cases in the middle, PostgreSQL + Flyway + JDBC and a thin HTTP shell on the outside—with full source in the PDF, not truncated snippets. See how ZLayer at the composition root keeps one repository for the whole graph, how webhook idempotency stays on the right side of the boundary, and how munit and zio-test (plus optional Docker) prove the architecture you intend to defend in code review.

  2. Event Sourcing in Scala
    Event Sourcing in Scala
    Scala 3, ZIO, PostgreSQL and the log beyond the database
    Piotr Pruchniewicz

    CRUD erases the story your system lived through; event sourcing keeps it. Build an account aggregate in Scala 3 and ZIO: past-tense events, a pure applyEvent fold, decide for invariants and idempotency, then wire an append-only PostgreSQL journal, transactions, and a balance projection—and trace one account from HTTP command to read model. When the log must leave the database, follow the same events through transactional outbox, Kafka, and at-least-once consumers without pretending you have magic consistency. For architects and implementers who want decision-grade ES + CQRS, not a toy demo.

  3. Saga Architecture in Scala
    Saga Architecture in Scala
    Functional Saga Architecture in Scala 3 and ZIO
    Piotr Pruchniewicz

    No distributed transaction spans your whole business process—so you design steps and compensations instead. In Scala 3 and ZIO, build a full order-placement saga from domain types and service algebras to orchestration and event-driven choreography, with tests that prove compensations fire when things break. Then see what it takes to move the same design toward production: outbox, idempotency, persistence, and how to choose between central coordination and decentralized reactions.

  4. Building Memory Matching Browser Games
    Building Memory Matching Browser Games
    MahJong, Hidden Pairs, and "In Sequence" Memory Matching Game Mechanics.
    Stephen Gose

    This chapter is part of the "Construct Gamer Starter Kit" collection and provides a guide to developing Memory Matching games, including MahJong, Hidden Pairs, and "Sequence 3+." The tutorial includes coding for both Construct v2 and v3, making it suitable for beginners and experienced web developers alike. It's perfect for anyone looking to create their own customized Memory Matching games with unique artwork and features.

  5. Scalapedia
    Scalapedia
    Encyclopedia of the Scala programming language
    Piotr Pruchniewicz

    Discover the complete world of Scala programming in one comprehensive encyclopedia. SCALAPEDIA takes you from language fundamentals to advanced functional programming, covering Cats, Cats Effect, ZIO, design patterns, architectural patterns, and performance optimization. With over 85 chapters spanning 10 major parts, this is the definitive guide for mastering Scala and building enterprise-grade applications. Whether you're starting your Scala journey or looking to deepen your expertise, SCALAPEDIA is your complete reference for modern functional programming in Scala.

  6. Functional programming in Modern Java

    Write code that you can understand without holding the entire system in your head. This book shows you how Java's modern functional features—records, sealed types, lambdas, streams—combine into a powerful approach to design. You'll learn: • How to eliminate race conditions without synchronized blocks • How to write tests that test business logic, not mock frameworks • How to compose complex behaviors from simple, reusable functions • How to manage deeply nested immutable data without boilerplate • How to adopt functional patterns incrementally in existing codebases Written for working developers. Filled with production-ready code examples.

  7. Mastering React.js Interviews
    Mastering React.js Interviews
    For Middle/Senior Developers
    Kristiyan Velkov

    This book is your ultimate roadmap to modern React.js interviews and standing out from the crowd.Built on 350+ real interview insights, it covers the exact topics top companies test—from security, accessibility, and performance to TypeScript, architecture, and deployment—so you can master every question with confidence and land the role you deserve.

  8. An Elm Primer for React Developers
    An Elm Primer for React Developers
    The Best Way to Learn Real Functional Programming
    Christian Ekrem

    Tired of React runtime errors despite TypeScript? Elm guarantees zero runtime exceptions—if it compiles, it works. This practical guide shows React developers how Elm's strict functional programming approach eliminates entire classes of bugs while teaching you real FP concepts that transfer to any language. Learn the pattern that inspired Redux, discover compile-time safety that catches errors TypeScript misses, and see side-by-side code comparisons from a production codebase with 150,000+ lines of Elm. Your React knowledge is your advantage—this book meets you where you are. Why this book exists: Christian believes Elm is the fastest and most effective way for developers to truly learn functional programming—not watered-down FP patterns, but real, uncompromising functional thinking. Whether you adopt Elm professionally or not, learning it will make you a better developer in any language. This book is his way of sharing that insight with React developers who are ready to level up.

  9. Elegant Design Principles
    Elegant Design Principles
    Foundations of Software Design Mastery
    Narayanan Jayaratchagan

    Elegant Design Principles distils decades of design wisdom into 95 actionable principles spanning core OO, SOLID/GRASP, package design, reliability and a forward‑looking AI‑first approach. Explore the Design Pyramid to understand how quality attributes, smells and principles interconnect; learn to manage complexity through high cohesion, low coupling and clear abstractions; and adopt modern practices like test‑driven development and semantic modularity. From novices seeking a roadmap to experts embracing AI‑assisted workflows, this book equips you to create systems that are robust, maintainable and elegant—today and in the AI‑driven future.

  10. Modern Software Design in Fortran
    No Description Available
  11. Functional Programming in Python

    Python is a multi-paradigm language. Beginners use it a procedural language.Intermediate users learn Object Oriented Python programming. Advanced user use the Functional Programming features of the language.This books helps you to become and advanced Python programmer who understand and can use the functional programming constructs of the language.

  12. Unwrapping Monads & Friends
    Unwrapping Monads & Friends
    Shining Light on Functional Programming's Scariest Concepts
    Kyle Simpson

    Are you scared by mathematical symbols or formal terms like "monad"? Unwrapping Monads & Friends offers a clear, approachable path through functional programming’s most intimidating concepts—no math degree required. If you've ever said "I kind of get it, but not really," this is the guide that finally makes it click.

  13. Building Trivia Quizzes & Dating Games
    Building Trivia Quizzes & Dating Games
    Creating "Educational Testing" Game Mechanics
    Stephen Gose

    This is a workbook from the Construct Game Starter Kit Collection. It leads you through three (3) "Trivia Quiz & Dating" games for both Construct v3 & v2 encoding. It's perfect for novices, experienced web developers, and just anyone wanting their own bespoke game, artwork, and features.

  14. Java 17 Backend Development
    Java 17 Backend Development
    Design backend systems using Spring Boot, Docker, Kafka, Eureka, Redis, and Tomcat
    GitforGits | Asian Publishing House

    This book offers beginners and backend developers with practical guidance on developing robust server-side applications with Java 17. Each chapter is structured around hands-on examples, real-world challenges, and step-by-step solutions tailored to Java professionals aiming to elevate their expertise in backend systems.

  15. Practical Ruby 3 Programming
    Practical Ruby 3 Programming
    Simpler than Python, offering concise syntax, reusable code, and maximum developer productivity
    GitforGits | Asian Publishing House

    In this book, we've gone through all the ins and outs of Ruby, turning theoretical ideas into real-world skills that let you build solid and fast applications. You've got the hang of writing clean, reusable code using blocks, procs, and lambdas, which really shows off Ruby's expressive syntax. You've also learned to handle complex data transformations effortlessly by diving into enumerators, making your programs powerful and elegant.