Media

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
<