A lightweight Java framework built on modern functional programming principles for robust application development.
Pragmatica Lite is a Java framework that provides robust error handling, functional programming constructs, and distributed systems capabilities. Built on Java 24, it leverages modern language features to create reliable and maintainable applications.
The project is organized into the following modules:
Contains the essential functional programming abstractions including:
- Result types for safe error handling
- Option types for null-safety
- Promise implementations for asynchronous operations
- Functional interfaces and utilities
Provides common utilities and shared components used across the framework.
- Functional style - no NPE, no exceptions, type safety, etc.
- Option/Result/Promise monads with consistent and compatible APIs.
- Simple and convenient to use Promise-based asynchronous API.
The Pragmatica Lite Core contains implementation of basic monads:
Option<T>
, Result<T>
and Promise<T>
. See module README.md for more information.
Implementation of distributed clustering layer, based on modern leaderless Rabia consensus algorithm. See module README.md for more details.
Easy to use Netty-based networking layer.
Sample applications demonstrating framework usage.
As for now project packages are hosted at GitHub Packages. To use them use the following Maven repository:
<repositories>
<repository>
<id>github</id>
<url>https://maven.pkg.github.com/siy/pragmatica-lite</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</repositories>
Then add a necessary dependency:
<dependency>
<groupId>org.pragmatica-lite</groupId>
<artifactId>[MODULE_NAME]</artifactId>
<version>0.7.6</version>
</dependency>
Where [MODULE_NAME]
is one of the following:
- core
- cluster
- net-core
- common
Feel free to open pull requests with your changes.
Pragmatica Lite is licensed under the Apache License, Version 2.0.