KO
|
EN
gitlite — search
Search
#typescript
#ai-agents
#ai
#dsh-plugin
#deepseek-harness
#open-source
#cli
#claude-code
#codex
#developer-tools
#react
#windows
ao-railway
★ 39
Open GitHub ↗
Railway Oriented Programming in Java
Download README (.md)
Explore Similar Repositories
ResultBoxes
:
An opinionated C# Results Library that focus on Railway Oriented Programming.
Monacs
:
Monacs - Collection of basic monads and functional extensions for C#
Danom
:
Option, Result and Choice types for C# to simplify functional programming.
solid-result
:
Unleash a pragmatic and observable use of Result Pattern and Railway-Oriented Programming in Ruby.
tsentials
:
Railway-oriented programming for TypeScript — Result<T>, Maybe<T>, Rule Engine, and DDD base classes with full async pipeline support
// repository documentation
Was this content helpful?
★ 0
(0 ratings)
Select Rating:
★
★
★
★
★
Submit Feedback
Recent Feedback
×
Download README
Do you want to download the
README.md
file for
ao-railway
?
Download (.md)
# ao-railway A library for Railway Oriented Programming with Java. See Scott Wlaschin's talk on the subject for more information: [Scott Wlaschin - Railway Oriented Programming - error handling in functional languages](https://vimeo.com/97344498 "Scott Wlaschin - Railway Oriented Programming - error handling in functional languages"). # Example Result.combine( Result.with(username, "Username cannot be empty"), Result.with(oldPassword, "Old password cannot be empty"), Result.with(newPassword, "New password cannot be empty")) .onSuccess(() -> userRepo.find(username)) .ensure(user -> user.isCorrectPassword(oldPassword), "Invalid password") .onSuccess(user -> user.changePassword(newPassword)) .onSuccess(user -> userRepo.update(user)) .onFailure(() -> logger.error("Password could not be changed")) .map(user -> user); Or start with `com.example.Main` class.