Java Vavr Jackson 1.0.0 Alpha 3 We’re very happy to announce a guest post on the Vavr Blog written by Mincong Huang. He is a software engineer from Paris/France and works at DataDog, formerly nuxeo and hibernate
Fluent Java APIs Good morning! Yesterday, I wrote a parody post about Yours Truly. I stated that OOP and FP are basically the same — and I meant it. But you may have recognized that my example
Java Double Rainbow Man Last night I had a dream. It was like my brain tried to tell me something in order to protect itself from taking serious damage. The days before, I hadn't slept much. I'm
Vavr Vavr Support Roadmap ⭐️ Today, we released Vavr 0.10.0 ⭐️ Personally, 0.10.0 is a very important release to me, because it solves a gordic knot. There were new features pending for more than a
Purifying the API Surface Area This is my first "Vavr One Log" post in 2019. I would like to take the chance to outline what we've achieved so far and show the direction of our journey.
typescript Advanced TypeScript for Java Developers I'm thrilled to present my first TypeScript related post on the Vavr blog — also featuring a video. When I designed the Vavr library four years ago, my goal was to mimic in Java
Vavr 1.0 I believe in Java modules. It is happening — Vavr 1.0 will ship as a set of Java modules. In this article I want to share some fundamental design decisions and the rationale for slicing Vavr into modules.
Vavr One Log 03 - A Safe Try Sealed types It is an inadequacy of the previous Vavr version that Try was designed to be an interface. It allows 3rd party libraries to put their own implementations into the mix. // Java
Vavr One Log 02 - Simplifying Vavr The new structure of Vavr is taking shape. I still focus on searching ways to simplify Vavr, which means removing unnecessary things. Removing generated code Removing functions and tuples is the right decision.
Vavr One Log 01 - The Essence of Vavr One A few days ago I started to re-design Vavr 0.9 towards 1.0. We collected ideas for months, now is the time to put them into practice. The more I think about
Implementing Json Decoders using Vavr I'm really excited to feature our first guest post - thank you, Frederico! Hello! I'm Frederico Honório, a software engineer from Portugal and I'd like to show you a way to work with
Opinionated Database Access in Java Every now and then I get my hands on a Java project that requires to talk to a database. Depending on who of my team mates I'm talking to, database experts or Java
First Vavr Tutorial A few days ago a status message on Twitter led to a coding battle. (See the full conversation here and Lukas' great article about his SQL solution here.) In fact, competitions are a
Fast Forward >> Vavr 1.0 It has been a while since our last blog post and we have much to tell. Three months ago we released Vavr 0.9, the first release after our rebranding. We urgently needed
Java Collection Views Today we finished the first of three Java collection views: List view. And we put quite some effort into testing the view well against all of our sequential persistent collections. We are currently
Javaslang Changes Name to Vavr Hi all! You may have already noticed that we are rebranding Javaslang due to a trademark conflict with Java™. The name "Javaslang" consists of two parts, "Java" and "
Integrating Partial Functions into Javaslang We are planning to introduce partial functions in a future release of Javaslang. This new feature is mainly driven by one use-case, fusing the map() method with the concept of pattern matching, called
Interoperability between Java and Javaslang We distinguish between functions, values (sum-types) and tuples (product-types). Every type in Javaslang that represents a value is of type Value. The Nature of Values Values need a human readable string representation and
Declaration-Site Variance in a Future Java In our "Cats & Dogs" blog post we wrote about a security issue that raises when using mutable Java collections. In particular, type narrowing might lead to heap pollution in the
Javaslang 2.1.0-alpha is available Javaslang 2.1.0-alpha is available for testing! As usual, the API docs can be found on javadoc.io. Please provide us with feedback on our project page. The following info-graphic gives a
Why Java Collections Framework is a Cats & Dogs Library It is nothing new that shared mutable state is the root of all evil. Especially concurrent programming requires a proper synchronization of shared mutable state. But even in single-threaded environments mutability is a
Refactoring the Javaslang Organization An organization is organic. It lives! I plan to refactor the organization a bit as a first step towards our next major release Javaslang-3.0.0. We need small and simple parts that
Just one import to access Javaslang With Javaslang 2.0.0 we introduced javaslang.API, the best way to use language-level constructs like the pattern matching API and for-comprehensions. import static javaslang.API.*; class Example { String stringify(int n)
The agonizing death of an astronaut The questions pile up, which is why Some(null) is allowed in Javaslang. "Isn't Option meant to make computations null-safe?" "How can that be?" For example this code throws
Object-Functional Concurrent Programming with Javaslang Scala 2.12 will include Future improvements as Viktor Klang described on his Github-Blog "Letters from Klang". Javaslang's Future can also benefit from these ideas. But there came another improvement to