-
Notifications
You must be signed in to change notification settings - Fork 21
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
### Description This PR takes the content present in [media.arrow-kt.io](https://media.arrow-kt.io) and moves it under the new blog structure. As those were just links, some changes have been made in the current post structure, info, and layouts, to accommodate the info on there. ### Preview ![imagen](https://user-images.githubusercontent.com/7753447/227908127-6ddef774-fbf3-4c91-afbf-f54e58dcd571.png) ![imagen](https://user-images.githubusercontent.com/7753447/227908518-0141f479-1b88-4758-8ed1-dc0557c0e262.png) ![imagen](https://user-images.githubusercontent.com/7753447/227908663-df0e3abd-2ef8-4c5e-ae5d-8f878cfb4dd7.png) ![imagen](https://user-images.githubusercontent.com/7753447/227908750-e3685bd9-5dcf-4713-a1b8-99fa9a4227d0.png)
- Loading branch information
1 parent
9ca9d38
commit 42c5b88
Showing
108 changed files
with
1,110 additions
and
23 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
--- | ||
title: Handling exceptions in Arrow | ||
image: /img/blog-image-header.png | ||
category: articles | ||
tags: [core, articles] | ||
link: https://www.spantree.net/blog/2017/09/15/kotlin-exception-handling-with-kategory.html | ||
--- | ||
[@uris77](https://github.com/uris77) explains how to use [Try](https://arrow-kt.io/docs/apidocs/arrow-core-data/arrow.core/-try/) in real world examples. | ||
|
||
[Handling Kotlin Exceptions with Arrow – A Functional Approach](https://www.spantree.net/blog/2017/09/15/kotlin-exception-handling-with-kategory.html) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
--- | ||
title: Functional approach to Android architecture using Kotlin | ||
image: https://img.youtube.com/vi/qGef3sFAIxU/maxresdefault.jpg | ||
category: videos | ||
tags: [core, videos] | ||
link: https://www.youtube.com/watch?v=qGef3sFAIxU | ||
event: Mobilization 7, Łódź | ||
--- | ||
Move side effects to the edges of the system, implement a functional oriented architecture for Android apps based on purity. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
--- | ||
title: Functional Programming in Kotlin | ||
image: https://cdn-images-1.medium.com/max/600/1*NpQ5mqoY4SH5iwsWG35RqQ.jpeg | ||
category: tutorials | ||
tags: [core, fx, mtl, tutorials] | ||
link: https://medium.com/@JorgeCastilloPr/kotlin-functional-programming-does-it-make-sense-36ad07e6bacf | ||
--- | ||
An ongoing blog series introducing Functional Programming architectures from scratch | ||
|
||
[Kotlin Functional Programming: Does it make sense?](https://medium.com/@JorgeCastilloPr/kotlin-functional-programming-does-it-make-sense-36ad07e6bacf) | ||
|
||
[Kotlin Functional Programming I: Monad Stack](https://medium.com/@JorgeCastilloPr/kotlin-functional-programming-i-monad-stack-518d1bd8fbee) | ||
|
||
[Kotlin Functional Programming II: Monad Transformers](https://medium.com/@JorgeCastilloPr/kotlin-functional-programming-ii-monad-transformers-b1f020f14dd8) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
--- | ||
title: Kotlin for the Pragmatic Functionalist | ||
image: https://img.youtube.com/vi/s9oMED6ZikQ/maxresdefault.jpg | ||
category: videos | ||
tags: [core, videos] | ||
link: https://www.youtube.com/watch?v=s9oMED6ZikQ | ||
event: KotlinConf, San Francisco | ||
--- | ||
An introduction to Arrow and the enhancements it brings to Kotlin's standard library. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
--- | ||
title: Architectures Using Functional Programming Concepts | ||
image: https://img.youtube.com/vi/qI1ctQ0293o/maxresdefault.jpg | ||
category: videos | ||
tags: [core, videos] | ||
link: https://www.youtube.com/watch?v=qI1ctQ0293o | ||
event: KotlinConf, San Francisco | ||
--- | ||
Introductory talk to Functional architectures to be built on top of Arrow. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
--- | ||
title: "Happy path: Kotlin + Actors + Arrow" | ||
image: https://cdn-images-1.medium.com/max/600/1*kF_bpeNe0THMssFEa2enYA.jpeg | ||
category: articles | ||
tag: [core, articles] | ||
link: https://medium.com/@javipacheco/happy-path-kotlin-actors-arrow-proof-of-concept-322e9099d2ea | ||
--- | ||
[@javipacheco](https://github.com/javipacheco) creates a Proof of Concept architecture for Android using the Actor pattern and modelling the domain with [`Either`]({{ 'https://arrow-kt.io/docs/apidocs/arrow-core-data/arrow.core/-either/' | relative_url }}). | ||
|
||
[Happy Path: Kotlin + Actors + Arrow](https://medium.com/@javipacheco/happy-path-kotlin-actors-arrow-proof-of-concept-322e9099d2ea) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
--- | ||
title: Building a DSL… in Kotlin | ||
image: https://img.youtube.com/vi/qGef3sFAIxU/maxresdefault.jpg | ||
category: videos | ||
tags: [core, videos] | ||
link: https://www.youtube.com/watch?v=qGef3sFAIxU | ||
event: droidconSF, San Francisco | ||
--- | ||
Make DSLs stack safe, composable and reusable under different runtime requirements thanks to Arrow. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
--- | ||
title: Functional Programming in Kotlin with Arrow | ||
image: https://img.youtube.com/vi/IL5XzaCMKpQ/maxresdefault.jpg | ||
category: videos | ||
tags: [core, videos] | ||
link: https://www.youtube.com/watch?v=IL5XzaCMKpQ | ||
event: Lambda World, Cádiz | ||
--- | ||
A rundown of all the features included in the library, focusing on implementation details. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
--- | ||
title: Optics and Type Classes in Arrow | ||
image: https://speakerd.s3.amazonaws.com/presentations/4b938d99415a416c8f908ac5302a66cb/slide_0.jpg | ||
category: slidedecks | ||
tags: [core, optics, slidedecks] | ||
event: Kotlin Brooklyn Meetup | ||
link: https://speakerdeck.com/heyitsmohit/functional-programming-with-arrow | ||
--- | ||
[@msya](https://github.com/msya) explains how to use various optics and type classes in Arrow. He discusses optics such as | ||
[`Lens`]({{ '/docs/optics/lens' | relative_url }}) and [`Iso`]({{ '/docs/optics/iso' | relative_url }}). He also goes over the purpose for type classes and how [KEEP-87](https://github.com/Kotlin/KEEP/pull/87) will make it easier to implement them. | ||
|
||
[Functional Programming with Arrow](https://speakerdeck.com/heyitsmohit/functional-programming-with-arrow) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
--- | ||
title: It's all about morphisms | ||
image: https://img.youtube.com/vi/Eq8dv4H3RTE/maxresdefault.jpg | ||
category: videos | ||
tags: [core, videos] | ||
link: https://www.youtube.com/watch?v=Eq8dv4H3RTE | ||
event: Voxxed Days, Vienna | ||
--- | ||
[@uberto](https://github.com/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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
--- | ||
title: Introduction to Kotlin Arrow by Jacob Bass | ||
image: https://img.youtube.com/vi/tM2wEI-e80E/maxresdefault.jpg | ||
category: videos | ||
tags: [core, videos] | ||
link: https://www.youtube.com/watch?v=tM2wEI-e80E | ||
event: Kotlin Meetup, Sydney | ||
--- | ||
[@bassjacob](https://github.com/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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
--- | ||
title: Android Functional Validation | ||
image: https://i.vimeocdn.com/video/713283357_1280x720.jpg | ||
category: tutorials | ||
tags: [core, tutorials] | ||
link: https://player.vimeo.com/video/279931528 | ||
--- | ||
[@dcampogiani](https://github.com/dcampogiani) explores some data types in Arrow and uses them to validate a form on Android. | ||
|
||
[Video (in italian)](https://player.vimeo.com/video/279931528) | ||
|
||
* [Introduction](http://danielecampogiani.com/blog/2018/02/android-functional-validation-1-intro/) | ||
* [Option](http://danielecampogiani.com/blog/2018/02/android-functional-validation-2-option/) | ||
* [Either](http://danielecampogiani.com/blog/2018/02/android-functional-validation-3-either/) | ||
* [Validated](http://danielecampogiani.com/blog/2018/02/android-functional-validation-4-validated/) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
--- | ||
title: "1/n - How do I… in FP: Validation" | ||
image: https://images.unsplash.com/photo-1518169811655-27c3a4327016?ixlib=rb-0.3.5&q=80&fm=jpg&crop=entropy&cs=tinysrgb&w=600&fit=max&ixid=eyJhcHBfaWQiOjExNzczfQ&s=383b467064497d356a0b05b3a3d180be | ||
category: tutorials | ||
tags: [core, tutorials] | ||
link: https://www.enhan.eu/how-to-in-fp/ | ||
--- | ||
[Emmanuel Nhan](https://www.enhan.eu/author/enhan/) showcases different approaches to validation including examples for `ValidatedNel` from Arrow in this great and in depth post using Kafka Streams Config parameters as example. | ||
|
||
[1/n - How do I… in FP: Validation](https://www.enhan.eu/how-to-in-fp/) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
--- | ||
title: Higher Kinded Types in a Lower Kinded Language by Jacob Bass | ||
image: https://img.youtube.com/vi/ERM0mBPNLHc/maxresdefault.jpg | ||
category: videos | ||
tags: [core, videos] | ||
link: https://www.youtube.com/watch?v=ERM0mBPNLHc | ||
event: Yow! Lambda Jam, Sydney, Australia | ||
--- | ||
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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
--- | ||
title: Arrow 101 - Building an Android app using Functional Programming | ||
image: https://cdn-images-1.medium.com/max/2000/1*7HJJpOQE8M1-xXW0_5eePQ.png | ||
category: articles | ||
tags: [core, articles] | ||
link: https://medium.com/@lehen01/arrow-101-building-an-android-app-using-functional-programming-fe959675d96d | ||
--- | ||
[Leandro Ferreira](https://twitter.com/mLeandroBF) presents how to build a simple app using Arrow and how to implement solutions with Semigroups. | ||
|
||
[Arrow 101 — Building an Android app using Functional Programming](https://medium.com/@lehen01/arrow-101-building-an-android-app-using-functional-programming-fe959675d96d) | ||
|
||
[Arrow 101 — Modelling a real world problem with Semigroups](https://medium.com/@lehen01/arrow-101-modelling-a-real-world-problem-with-semigroups-d8f22cdf54c) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
--- | ||
title: "State of the functional ecosystem in Kotlin: Mid 2018 checkup" | ||
image: https://img.youtube.com/vi/q_1xPYQLyaU/maxresdefault.jpg | ||
category: videos | ||
tags: [core, optics, fx, incubator, videos] | ||
link: https://www.youtube.com/watch?v=q_1xPYQLyaU | ||
event: Conference for Kotliners, Budapest | ||
--- | ||
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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
--- | ||
title: Functional Programming in Kotlin with Arrow by Emmanuel Nhan | ||
image: https://image.slidesharecdn.com/fpkotlinsunnytech-180628144002/95/functional-programming-in-kotlin-with-arrow-sunnytech-2018-1-638.jpg | ||
category: slidedecks | ||
tags: [core, slidedecks] | ||
link: https://www.slideshare.net/EmmanuelNhan/functional-programming-in-kotlin-with-arrow-sunnytech-2018 | ||
event: Sunny Tech, Montpellier | ||
--- | ||
[@nhanmanu](https://twitter.com/nhanmanu) introduces Kotlin and how it is a good fit for functional programming. The talk goes through some interesting features of Kotlin, then show how to use them to enter the world of Higher Kinds and Typeclasses. In the last part, we explore some Arrow capabilities & built-in syntax, using validation as an example. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
--- | ||
title: Arrow and Functional Programming for Kotlin Developers | ||
image: https://img.youtube.com/vi/qYgilPqMOp0/maxresdefault.jpg | ||
category: videos | ||
tags: [core, videos] | ||
link: https://www.youtube.com/watch?v=qYgilPqMOp0 | ||
event: DroidJam India, Bangalore, India | ||
--- | ||
A beginner level introduction to Functional Programming for Kotlin and/or Android Developers or developers with OOP background. |
12 changes: 12 additions & 0 deletions
12
content/blog/2018-10-05-kotlin-conf-fp-in-kotlin-with-arrow.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
--- | ||
title: Architecting Typed FP Applications & Libraries in Kotlin with Λrrow | ||
image: https://img.youtube.com/vi/VOZZTSuDMFE/maxresdefault.jpg | ||
category: videos | ||
tags: [core, fx, videos] | ||
link: https://www.youtube.com/watch?v=VOZZTSuDMFE | ||
event: KotlinConf, Amsterdam | ||
--- | ||
|
||
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](https://github.com/47deg/arrow-architecture) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
--- | ||
title: Polyjokes - A polymorphic approach using Arrow | ||
image: /img/blog-image-header.png | ||
category: articles | ||
tags: [core, articles] | ||
link: https://github.com/dcampogiani/polyjokes | ||
--- | ||
[@dcampogiani](https://github.com/dcampogiani) is using a polymorphic approach to retrieve a random user and then a joke about him. | ||
|
||
[Polyjokes — A polymorphic approach using Arrow](https://github.com/dcampogiani/polyjokes) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
--- | ||
title: Simple Dependency Management in Kotlin | ||
image: https://img.youtube.com/vi/CR5h2Wq1yPE/maxresdefault.jpg | ||
category: videos | ||
tags: [core, videos] | ||
link: https://www.youtube.com/watch?v=CR5h2Wq1yPE | ||
event: AndroidTO, Toronto | ||
--- | ||
In this talk we introduce the concepts of Dependency Management as a language feature, typeclasses, and a live demo of [KEEP-87](https://github.com/Kotlin/KEEP/pull/87). You can follow along the example in [this folder](https://github.com/arrow-kt/arrow/tree/master/modules/docs/arrow-examples/src/test/kotlin/arrow/typeclasses). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
--- | ||
title: Manual documentation is dead. Long live automated documentation! Automated documentation with ΛNK | ||
image: https://img.youtube.com/vi/kr8iWE4Jfhc/maxresdefault.jpg | ||
category: videos | ||
tags: [core, incubator, videos] | ||
link: https://www.youtube.com/watch?v=kr8iWE4Jfhc | ||
event: droidconSF, San Francisco | ||
--- | ||
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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
--- | ||
title: Functional Hangman Game written with Arrow | ||
image: /img/blog-image-header.png | ||
category: articles | ||
tags: [core, fx, articles] | ||
link: https://lordraydenmk.github.io/2018/functional-hangman-in-kotlin-with-arrow/ | ||
--- | ||
[Functional Hangman](https://lordraydenmk.github.io/2018/functional-hangman-in-kotlin-with-arrow/) game - console application written with Arrow. Uses the `IO<A>` monad to push side effects to the edge of the system. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
--- | ||
title: "Getting started with FP in Kotlin and Arrow: Typeclasses" | ||
image: /img/blog-image-header.png | ||
category: articles | ||
tags: [core, fx, articles] | ||
link: http://www.smartjava.org/content/kotlin-arrow-typeclasses/ | ||
--- | ||
[Getting started with FP in Kotlin and Arrow: Typeclasses](http://www.smartjava.org/content/kotlin-arrow-typeclasses/) explores part of the Arrow library by explaining how you can use Arrow to create your own typeclasses and use the ones provided by Arrow to make your code more concise and better readable. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
--- | ||
title: "Webflux with Kotlin and Arrow" | ||
image: /img/blog-image-header.png | ||
category: articles | ||
tags: [core, fx, articles] | ||
link: http://www.smartjava.org/content/webflux-arrow/ | ||
--- | ||
[Webflux with Kotlin and Arrow](http://www.smartjava.org/content/webflux-arrow/) shows how you can use Arrow together with Spring Webflux to create a reactive REST application. This article explains how to use the `MonoK` and the `FluxK` Arrow extensions together with the `binding` function to make working with the `Mono` and `Flux` reactor constructs much easier and better understandable. |
8 changes: 8 additions & 0 deletions
8
content/blog/2019-02-10-imperative-functional-programming-arrow.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
--- | ||
title: From Imperative to Functional Programming using Arrow | ||
image: https://blog.frankel.ch/assets/resources/imperative-functional-programming/arrow-brand.svg | ||
category: tutorials | ||
tags: [core, fx, tutorials] | ||
link: https://blog.frankel.ch/imperative-functional-programming/1/ | ||
--- | ||
As its name implies, [From Imperative to Functional Programming using Arrow](https://blog.frankel.ch/imperative-functional-programming/1/) is a tale about migrating a simple Kotlin application written in imperative style to a fully function application with the help of the Arrow library. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
--- | ||
title: Immutable Conversations - Past and Future of Arrow | ||
image: https://img.youtube.com/vi/YtchNDjQuTU/maxresdefault.jpg | ||
category: videos | ||
tags: [core, fx, videos] | ||
link: https://www.youtube.com/watch?v=YtchNDjQuTU | ||
--- | ||
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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
--- | ||
title: Introducing Arrow Playground | ||
image: https://www.47deg.com/assets/img/blog/featured_images/2019-04-11-introducing-arrow-playground.png | ||
category: articles | ||
tags: [core, articles] | ||
link: https://www.47deg.com/blog/arrow-playground/ | ||
--- | ||
Arrow Playground is a JavaScript library that creates Kotlin-aware, including Arrow, editors capable of running code from HTML block elements. This is a fork of the original Kotlin Playground work done by the JetBrains team. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
--- | ||
title: How KEEP-87 & Typeclasses will change the way we write Kotlin | ||
image: https://quickbirdstudios.com/blog/wp-content/uploads/2019/05/xFirebird.jpg.pagespeed.ic.e0DeqxTqSE.webp | ||
category: articles | ||
tags: [core, articles] | ||
link: https://quickbirdstudios.com/blog/keep-87-typeclasses-kotlin/ | ||
--- | ||
Short introduction into the proposal [KEEP-87](https://github.com/Kotlin/KEEP/pull/87) and how it would be able to improve the language. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
--- | ||
title: "ArrowFx: Functional Programming for the masses" | ||
image: https://img.youtube.com/vi/uyqqoooKpmI/maxresdefault.jpg | ||
category: videos | ||
tag: [fx, videos] | ||
link: https://www.youtube.com/watch?v=uyqqoooKpmI | ||
event: Kotliners, Budapest | ||
--- | ||
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! |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
--- | ||
title: Modular functional programming with Kotlin | ||
image: https://blog.frankel.ch/assets/resources/imperative-functional-programming/arrow-brand.svg | ||
category: articles | ||
tag: [core, articles] | ||
link: https://www.msec.it/blog/modular-functional-programming-composition-with-kotlin/ | ||
--- | ||
This post proposes a possible solution in order to structure and compose a pure functional Kotlin application, in order to better manage and decouple modules, get simpler tests and manage the Dependency Injection at compile time. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
--- | ||
title: Self-contained example of testing with modules and Arrow FX | ||
image: https://blog.frankel.ch/assets/resources/imperative-functional-programming/arrow-brand.svg | ||
category: articles | ||
tags: [core, fx, articles] | ||
link: https://www.msec.it/blog/self-contained-example-of-testing-with-modules-and-arrow-fx/ | ||
--- | ||
This post shows a porting with Kotlin and Arrow FX of a self-contained testing example with Scala ZIO |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
--- | ||
title: Effect polymorphism with Arrow FX | ||
image: https://blog.frankel.ch/assets/resources/imperative-functional-programming/arrow-brand.svg | ||
category: articles | ||
tags: [fx, articles] | ||
link: https://www.msec.it/blog/effect-polymorphism-with-arrow-fx/ | ||
--- | ||
Wonder how to handle side effects in a very clean way while abstracting the real effect implementation? #Arrow #FX provides an easy way to do this, without the burden of Higher-Kinded Types. |
11 changes: 11 additions & 0 deletions
11
content/blog/2019-08-08-kotlin-and-arrow-the-functional-way.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
--- | ||
title: "Kotlin and Arrow: the functional way" | ||
image: https://pbs.twimg.com/media/D8xN-4jWkAAceCW.jpg | ||
category: videos | ||
tags: [core, videos] | ||
link: https://thoughtworks.wistia.com/medias/ifra1gzrho | ||
event: xConf, Barcelona, Spain | ||
--- | ||
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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
--- | ||
title: Arrow Meta - Enabling Functional Programming in the Kotlin Compiler | ||
image: https://img.youtube.com/vi/WKR384ZeBgk/maxresdefault.jpg | ||
category: videos | ||
tags: [meta, videos] | ||
link: https://www.youtube.com/watch?v=WKR384ZeBgk | ||
event: Lambda World, Cádiz, Spain | ||
--- | ||
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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
--- | ||
title: Arrow Fx & Arrow Meta - Functional Programming for the masses | ||
image: https://img.youtube.com/vi/DaognWtZCbs/maxresdefault.jpg | ||
category: videos | ||
tags: [meta, fx, videos] | ||
link: https://www.youtube.com/watch?v=DaognWtZCbs | ||
event: Functional JVM Meetup, Prague | ||
--- | ||
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. |
Oops, something went wrong.