Email the Author

You can use this page to email Chris Penner about Optics By Example.

Please include an email address so the author can respond to your query

This message will be sent to Chris Penner

This site is protected by reCAPTCHA and the Google  Privacy Policy and  Terms of Service apply.

About the Book

Hi! I'm Chris, the author of Optics By Example!

Optics By Example is a one-stop comprehensive guide to mastering optics in functional programming languages. It covers everything you need to know to go from complete beginner to advanced. Each topic is accompanied by copious examples and exercises!

See the Sample for a complete list of chapters, but here are some highlights:

  • Complete introductions to Lenses, Folds, Traversals, Prisms and Isos
  • Learn the magic of Indexed optics
  • Composing Optics
  • Lenses & Records
  • Fixing "The Record Problem"
  • Application design techniques using Classy optics
  • Breakdowns of laws and limitations for each optic type
  • Virtual lenses
  • Validation lenses
  • A guide to fully polymorphic optics
  • A guide to "operator-style"
  • Learn to query, filter, and aggregate data with surgical precision
  • Learn how to use higher-order optics effectively
  • Learn to write custom versions of all optics types for your own applications
  • Manipulate data types with a clean and consistent interface
  • Learn the monadic DSLs for using lenses in real monad stacks

WHY OPTICS?

Optics have become a wonderful and powerful new way of working with immutable data structures. They're almost a necessity at this point; and the benefits they bring in terms of re-usability, simplification of code maintenance & refactoring, and expressivity are immense! However, learning to use optics can be tricky or even intimidating at first, it's not always clear how to build up a large complicated mutation or query from the building blocks of optics. Optics by example is here to help!

This book is great as a first guide to optics, as a reference guide for discovering and mastering the optics you need for day-to-day problems, and as a springboard into new ideas and tools which you may not have even heard of.


About the Author

Chris Penner’s avatar Chris Penner

@chrislpenner

Hey there! I'm a programmer, coffee lover and acrobat!

I love functional programming and I love writing, seems only natural to bring the two together (especially since it's a bit tougher to match coding and acrobatics!)

Hope you enjoy my book!

Logo white 96 67 2x

Publish Early, Publish Often

  • Path
  • There are many paths, but the one you're on right now on Leanpub is:
  • Optics-by-example › Email Author › New
    • READERS
    • Newsletters
    • Weekly Sale
    • Monthly Sale
    • Store
    • Home
    • Redeem a Token
    • Search
    • Support
    • Leanpub FAQ
    • Leanpub Author FAQ
    • Search our Help Center
    • How to Contact Us
    • FRONTMATTER PODCAST
    • Featured Episode
    • Episode List
    • MEMBERSHIPS
    • Reader Memberships
    • Department Reader Memberships
    • Author Memberships
    • Your Membership
    • COMPANY
    • About
    • About Leanpub
    • Blog
    • Contact
    • Press
    • Essays
    • AI Services
    • Imagine a world...
    • Manifesto
    • More
    • Partner Program
    • Causes
    • Accessibility
    • AUTHORS
    • Write and Publish on Leanpub
    • Create a Book
    • Create a Bundle
    • Create a Course
    • Create a Track
    • Testimonials
    • Why Leanpub
    • Services
    • TranslateAI
    • TranslateWord
    • TranslateEPUB
    • PublishWord
    • Publish on Amazon
    • CourseAI
    • GlobalAuthor
    • Marketing Packages
    • IndexAI
    • Author Newsletter
    • The Leanpub Author Update
    • Author Support
    • Author Help Center
    • Leanpub Authors Forum
    • The Leanpub Manual
    • Supported Languages
    • The LFM Manual
    • Markua Manual
    • API Docs
    • Organizations
    • Learn More
    • Sign Up
    • LEGAL
    • Terms of Service
    • Copyright Policy
    • Privacy Policy
    • Refund Policy

*   *   *

Leanpub is copyright © 2010-2025 Ruboss Technology Corp.
All rights reserved.

This site is protected by reCAPTCHA
and the Google  Privacy Policy and  Terms of Service apply.

Leanpub requires cookies in order to provide you the best experience. Dismiss