blog.vavr.io
  • Home
Daniel

Daniel

Kiel, Germany •
35 posts •

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

Daniel Daniel
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

Daniel Daniel
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

Daniel Daniel

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.

Daniel Daniel
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

Daniel Daniel
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.

Daniel Daniel

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

Daniel Daniel

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.

Daniel Daniel

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

Daniel Daniel

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

Daniel Daniel

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

Daniel Daniel

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

Daniel Daniel

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

Daniel Daniel

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 "

Daniel Daniel

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

Daniel Daniel

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

Daniel Daniel

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

Daniel Daniel

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

Daniel Daniel

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

Daniel Daniel

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

Daniel Daniel

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)

Daniel Daniel

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

Daniel Daniel

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

Daniel Daniel

Redundancy of the Java language

(Note: the original title of this blog post was "For-Comprehensions In-Depth" but this post is more than a description of another Javaslang feature. I want to broadcast a message.) We all

Daniel Daniel

Idiomatic Javaslang: The For-Comprehension

Rahel Lüthy gave a great example on how to simplify Java code by using Javaslang's For-Comprehension. The example was introduced by Kelsey Gilmore-Innis, Idiomatic Scala: The For-Comprehension. Rahel refactored it into a vegetarian

Daniel Daniel
blog.vavr.io © 2023
Latest Posts Twitter Ghost