Regarding Lenses, Prisms and Optics

This page summarizes the projects mentioned and recommended in the original post on /r/javahelp

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • jackson

  • If you have a lot of instanceof checks and casting, then you should consider having your base class (Term) define all methods that all sub classes implement, which by default do nothing and/or return sensible values (which could be an Optional or a "null object"). For example, Jackson does this for its JSON tree structure and its base class JsonNode.

  • frege

    Frege is a Haskell for the JVM. It brings purely functional programing to the Java platform.

  • Or just go full on functional. There are several JVM based Haskell languages, e.g. Eta and Frege.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • kotlin

    The Kotlin Programming Language.

  • Another option could be to check out Kotlin. It's a JVM language that while still object-oriented has may functional syntax features.

  • eta

    The Eta Programming Language, a dialect of Haskell on the JVM

  • Or just go full on functional. There are several JVM based Haskell languages, e.g. Eta and Frege.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts