Erly McJFace is an experimental replacement for the Erlang JInterface Java library
The current Erlang/OTP JInterface implementation, while functional, fails to provide the robustness and elegance of Erlang/OTP. The proposed redesign addresses fundamental issues while providing a modern, type-safe API that modern Java developers will find sensible and appropriate. By implementing proper supervision, process isolation, and even some OTP behaviors, we can create a library that can truly bridge Java and Erlang/OTP systems.
The key improvements include:
- True process isolation with supervision
- Type-safe, immutable term representation
- Non-blocking, reactive programming model
- Proper resource management
- Comprehensive error handling
- Full OTP behavior support
This redesign will result in a library that is not only more robust and maintainable but also more aligned with both Erlang/OTP principles and modern Java best practices.
Note that, due to our use of such features as pattern matching and sealed interfaces, this library requires Java 21 or later.