Media

post image


Building applications with Kotlin and Arrow.kt in style

  • May 31, 2022

A presentation by Simon Vergauwen presented on the official Kotlin YouTube channel.

Arrow Core Arrow Fx
post image

Super-charge your build with Arrow Analysis by Alejandro Serrano Mena

  • Kotlin Dev Day
  • May 30, 2022

Alejandro Serrano presents Arrow Analysis, a Kotlin compiler plug-in that does pre-and post-condition and type invariant checking at compile time.

analysis
post image

Extending kotlinx.serialization functionality with Arrow Meta with Karin-Aleksandra Monoid

  • Kotlin Dev Day
  • May 30, 2022

Karin-Aleksandra Monoid provides an overview of Arrow Meta features.

Arrow Meta
post image


Functional programming in Kotlin: exploring Arrow by Ties Van de Ven

  • Devoxx UK
  • May 18, 2022

A talk by Ties van de Ven that shows how Arrow helps to unleash the full FP power of Kotlin.

Arrow Core Arrow Optics
post image

Functional programming in Kotlin with Arrow

  • December 15, 2021

A presentation by Simon Vergauwen and Alejandro Serrano presented on the official Kotlin YouTube channel.

Arrow Core
post image


Functional programming in Kotlin: Exploring Arrow

  • Kotlin Dev Day Amsterdam
  • November 30, 2021

A talk by Ties van de Ven explaining how to use the Either monad in practice, and how to use Arrow Optics lenses.

Arrow Core Arrow Optics
post image

Arrow of Outrageous Error Handling

  • Android Worldwide
  • August 12, 2021

An Android Worldwide talk by David Rawson about error handling on Android using Arrow.

Arrow Core
post image

Hands-on Arrow

  • GDG Nuremberg
  • February 12, 2021

A video from the meetup of the Google Developer Group based in Nuremberg with a presentation by Karin-Aleksandra Monoid about using Arrow.

Arrow Core
post image

FP concepts with Arrow

  • Belfast KUG
  • January 20, 2021

A video from the Belfast Kotlin User Group with a presentation by Katie Levy and Shelby Cohen covering FP concepts with Arrow.

Arrow Core
post image

Functional Android

  • Kotlin London
  • January 13, 2021

In this talk from the January 13th, 2021 Kotlin London User Group meetup, Jorge Castillo shows how to seamlessly integrate the functional programming paradigm with our Android architecture to get the most out of both worlds.

Arrow Fx
post image


Roll your own Computation blocks in Kotlin

  • Lambda Lille
  • December 16, 2020

Computation blocks empower library authors and users to build ad-hoc operators and DSLs over any data-type getting rid of API complexity and simplifying composition. In this talk, we will learn how we can build Computation blocks over Kotlin suspend functions & the Arrow Continuations library’s reset / shift capabilities. We will demonstrate the composition of well known JVM data-types and patterns such as lists, futures, streams, and IOs, where callback chains can be simply replaced by a single suspended operator. The Kotlin suspension system provides enough capabilities to implement delimited continuations allowing us to ignore methods such as map & flatMap on your favorite data-type in favor of direct imperative syntax. Leveraging Kotlin suspension & thinking of Continuations as “The Mother of all Monads”, we will embark on this journey where we’ll build and roll our own computation blocks with Arrow Continuations.

Arrow Core Arrow Fx
post image

Fight Complexity with Functional Programming

  • All Things Open 2020
  • November 19, 2020

A Metric-driven approach to reduce Cognitive Complexity in a code base, using Functional Programming, demoed hands-on, by solving a complex real-world ubiquitous design challenge - REST API Bulk Request Validation, with an extensible Framework that separates what-to-do (Validations) from how-to-do (Validation Orchestration). Let’s do a case study of a successful implementation done by our team in the world’s largest SaaS org, Salesforce, using Kotlin and Arrow.

Arrow Core
post image

Writing Kotlin Compiler Plugins with Arrow Meta

  • Droidcon EMEA 2020
  • October 08, 2020

Lean how to write and test compiler plugins and IDE plugins with Arrow Meta.

Arrow Meta
post image

Type Proofs and FP for the Kotlin Type System

  • KTUG Munich June Meetup
  • June 16, 2020

Type Proofs is a new compiler plugin built on Arrow Meta enabling new features in the Kotlin type system, such as Type Classes, Union Types, Type Refinements, and many other extensions that make Functional Programming easier in Kotlin.

Type Proofs propositions are expressed as extension functions that unlock new relationships between types ad-hoc whilst remaining fully compatible with subtype polymorphism and the existing inheritance type system.

This talk demonstrates some of the new features the Arrow team is introducing in Arrow at the type level and IDE and how others can benefit from them when building libraries and applications.

Arrow Meta
post image

Asynchronisme et hexagone en Kotlin avec ArrowKt

  • Lambda Lille
  • June 11, 2020

J’aime bien le DDD et surtout les architectures hexagonales. Avoir un domaine auto-portant et non couplé à des blocs techniques comme Spring (ou autres) apporte beaucoup dans la testabilité et l’évolutivité de l’application. Les modèles d’asynchronismes (programmation réactive, retardée, coroutines…) empêchent la dissociation stricte de notre modèle métier et de notre code infra dans un langage comme Kotlin. Obligé d’utiliser une lib de coroutine ou autre programmation reactive. Deux solutions s’offrent alors :

  • Définir que les modèles d’asynchronisme sont des invariants de notre domaine et accepter ce couplage
  • Chercher comment modéliser notre domaine comme un ensemble de comportements asynchrones Dans ce talk nous allons voir comment réaliser la deuxième solution en utilisant la librairie Arrow et son modèle conceptuel d’asynchronisme pour nous permettre de découpler notre domaine de toute logique d’infrastructure.
Arrow Core
post image

Arrow Fx: Functional Domain Modeling with Kotlin

  • Kotliners 2020
  • June 05, 2020

Arrow Fx is a purely functional concurrency framework for Kotlin’s suspend system.

In this talk, we will learn how typed functional programming and functional domain modeling powered by Arrow Optics, Fx, and Meta can be applied to assemble powerful applications and architectures from small and simple building blocks.

Simon and Raul will cover important topics and patterns such as optics, union types, refined types, type classes, automatic task cancellation, safe resource handling, and compare how Arrow Fx differs from KotlinX coroutines.

Arrow Fx
post image

Type Proofs and FP for the Kotlin Type System

  • Chicago Kotlin User Group Meetup
  • May 27, 2020

Type Proofs is a new compiler plugin built on Arrow Meta enabling new features in the Kotlin type system, such as Type Classes, Union Types, Type Refinements, and many other extensions that make Functional Programming easier in Kotlin.

Type Proofs propositions are expressed as extension functions that unlock new relationships between types ad-hoc whilst remaining fully compatible with subtype polymorphism and the existing inheritance type system.

This talk demonstrates some of the new features the Arrow team is introducing in Arrow at the type level and IDE and how others can benefit from them when building libraries and applications.

Arrow Meta
post image

Android architectures with Arrow Fx

  • May 06, 2020

May 2020 Online Kotlin Meetup

Daniel Montoya Ramos - Senior Software Engineer @47deg Android Jetpack Compose

Dani will show a new way of building UI’s in Android using Jetpack Compose, comparing Imperative vs Declarative approaches. He’ll look at managing state changes, composing functions as well as some of the gotchas and wishes for the future.

Alberto Ballano - Senior Software Engineer @47deg Android architectures with Arrow Fx

Alberto will talk about typical Android architectures, and how can they benefit from Functional Programming techniques available in Arrow.

Arrow Fx
post image

Template-Oriented-Programming to Ship Faster, Part-1

  • Kotlin User Group, Hyderabad, Online Meetup
  • April 06, 2020

Learn about the magic of Ad-hoc polymorphism using Λrrow typeclasses with simple examples.

Arrow Core
post image

What could possibly go wrong? - A safer programming with Arrow

  • February 26, 2020

Your Kotlin app grabs data from an API, transforms it and saves the processed data in a database. However, there are so many things that could go wrong at runtime: the API might be inaccessible, the data is not what you expected or the data can’t be persisted in the database. You can start adding try catch blocks to your function in your objects, but there is a better way to do it: treat your impure functions as computations with context, pass them around just like other values, and make the necessary unsafe invocation from a single point of your app, your main function.

This talk will walk you through the core functional concepts of Arrow, you will learn how Some, Either and even IO are functor, applicative and monad. You can use the code example from this talk as a starting point for your Arrow-learning, to write safer, simpler and more elegant functional code in Kotlin.

Arrow Core
post image

FP with Kotlin/Arrow: Monad Comprehensions & Parallel Processing

  • February 26, 2020

Arrow has multiple libraries available for functional programming. In this talk we’ll focus on Arrow FX and learn how to handle IO in a functional way with an introduction to monadic composition. Then we’ll examine how to compose monads in a cleaner fashion with Arrow FX’s monad comprehensions. Finally, we’ll take a look at how to parallelize IO monads with parallel map strategies.

Arrow Fx
post image

Keep insisting - Arrow Meta

  • KotlinConf, Copenhagen
  • December 06, 2019

Arrow Meta is a library that empowers library and application authors with the ability to write plugins for the Kotlin compiler. Compiler plugins have access to all compiler phases and can intercept and modify the AST, descriptors, and IR intermediate lang for bytecode generation.

Arrow Meta
post image


Arrow Fx & Arrow Meta - Functional Programming for the masses

  • Functional JVM Meetup, Prague
  • November 27, 2019

In this meetup we discuss the new features of Arrow Fx to write “effectful” programs with an emphasis on simple and declarative programming for everyone. Additionally, we see how Arrow Meta works and how we can use it to improve the ergonomics of Functional Programming in Kotlin.

Arrow Meta Arrow Fx
post image

Arrow Meta - Enabling Functional Programming in the Kotlin Compiler

  • Lambda World, Cádiz, Spain
  • October 18, 2019

Arrow Meta is a library that empowers library and application authors with the ability to write plugins for the Kotlin compiler. Compiler plugins have access to all compiler phases and can intercept and modify the AST, descriptors, and IR intermediate lang for bytecode generation.

Arrow Meta
post image

Kotlin and Arrow: the functional way

  • xConf, Barcelona, Spain
  • August 08, 2019

Kotlin is a great language for developing server-side applications; it’s an object-oriented language and also a functional one, supporting features such as function types, lambdas or higher order functions. But…is this enough to switch completely from an imperative paradigm to a functional paradigm?

In this talk by Noe Luaces, we’ll see how features from Arrow library completes Kotlin in order to follow a pure functional way.

Arrow Core
post image

ArrowFx: Functional Programming for the masses

  • Kotliners, Budapest
  • June 07, 2019

In this talk we recap about the imminent future of Functional Programming in Kotlin. With ArrowFx you are able to encode “effectful” programs in a controlled way following the FP principles through a direct syntax. You’ll think you’re writing imperative code!

Arrow Fx
post image


Immutable Conversations - Past and Future of Arrow

  • March 12, 2019

In this episode, we capture a conversation between Arrow maintainers Raúl Raja and Paco Estevez as they discuss the past and future of the library which is designed to bring Functional Programming to Kotlin.

Arrow Core Arrow Fx
post image


Manual documentation is dead. Long live automated documentation! Automated documentation with ΛNK

  • droidconSF, San Francisco
  • November 24, 2018

It includes how the ΛNK plugin works: from having a tool that evaluates and verifies your doc snippets at compile time, to generating code documentation that is always correct and up to date.

Arrow Core Arrow Incubator
post image

Simple Dependency Management in Kotlin

  • AndroidTO, Toronto
  • November 07, 2018

In this talk we introduce the concepts of Dependency Management as a language feature, typeclasses, and a live demo of KEEP-87. You can follow along the example in this folder.

Arrow Core
post image


Architecting Typed FP Applications & Libraries in Kotlin with Λrrow

  • KotlinConf, Amsterdam
  • October 05, 2018

This talk includes a comprehensive walkthrough of the most important patterns covered by the data types and type classes we find in Λrrow. Each pattern will be accompanied by code examples that illustrate how Λrrow brings Typed Functional Programming to Kotlin.

Sources and slides

Arrow Core Arrow Fx
post image

Arrow and Functional Programming for Kotlin Developers

  • DroidJam India, Bangalore, India
  • July 24, 2018

A beginner level introduction to Functional Programming for Kotlin and/or Android Developers or developers with OOP background.

Arrow Core
post image




State of the functional ecosystem in Kotlin: Mid 2018 checkup

  • Conference for Kotliners, Budapest
  • June 24, 2018

This talk focuses on the day-to-day problems Arrow solves, from small ideas to big concepts.

It includes an overview of all the modules available, and some of the 3rd party libraries made by the community.

Arrow Core Arrow Optics Arrow Fx Arrow Incubator
post image

Higher Kinded Types in a Lower Kinded Language by Jacob Bass

  • Yow! Lambda Jam, Sydney, Australia
  • June 22, 2018

It’s hard coming back down to the earth of a JVM based language after spending time with Haskell and OCaml. This talk will discuss functional programming in Kotlin with the Arrow library, how the abstractions it provides can improve your code, and how this magic that provides higher-kinded types works under the hood.

Arrow Core
post image

Introduction to Kotlin Arrow by Jacob Bass

  • Kotlin Meetup, Sydney
  • March 26, 2018

@bassjacob goes through how Funktionale and Kategory merged into Arrow, consolidating two of the most popular FP libraries in the Kotlin space into one powerhouse. The talk is an introduction to some FP concepts, how the libraries work, what features they bring to the table and where you might use them in your code.

Arrow Core
post image

It's all about morphisms

  • Voxxed Days, Vienna
  • March 21, 2018

@uberto gives a gentle introduction to Category Theory for programmers used to OOP but interested in Functional Programming. No Haskell knowledge required. We will explain main concepts behind functional programming with many diagrams and simple metaphors and examples. Some code will clarify how to translate these ideas in programs.

Arrow Core
post image

Functional Programming in Kotlin with Arrow

  • Lambda World, Cádiz
  • November 29, 2017

A rundown of all the features included in the library, focusing on implementation details.

Arrow Core
post image

Building a DSL… in Kotlin

  • droidconSF, San Francisco
  • November 24, 2017

Make DSLs stack safe, composable and reusable under different runtime requirements thanks to Arrow.

Arrow Core
post image

Architectures Using Functional Programming Concepts

  • KotlinConf, San Francisco
  • November 17, 2017

Introductory talk to Functional architectures to be built on top of Arrow.

Arrow Core
post image

Kotlin for the Pragmatic Functionalist

  • KotlinConf, San Francisco
  • November 09, 2017

An introduction to Arrow and the enhancements it brings to Kotlin’s standard library.

Arrow Core
post image

Functional approach to Android architecture using Kotlin

  • Mobilization 7, Łódź
  • October 20, 2017

Move side effects to the edges of the system, implement a functional oriented architecture for Android apps based on purity.

Arrow Core

Books

Recommended reading for learning Functional Programming in Kotlin from Arrow maintainers, users, and the Kotlin ecosystem:

Do you like Arrow?

Arrow Org
<