I know this could be more of a general question, b...
# arrow
j
I know this could be more of a general question, but maybe arrow users could give a little more context. I’m writing the first non-spring-arrow-using application in my company, trying to introduce them to a more functional way of doing things, specially with matters concerning error/exception handling. How could I write a good documentation explaining not only the application but also reinforcing the benefits of using Arrow.
s
Hey @João Gabriel Zó, Is the project sticking with Spring, or using a Kotlin framework like Ktor? There are some good talks on YouTube, and some examples projects that were build around them.

https://www.youtube.com/watch?v=g79A6HmbW5M

https://www.youtube.com/watch?v=IDMmmrRhUvQ

https://github.com/nomisRev/ktor-arrow-example
I hope that already helps a lot! but be sure to ask any additional questions you might have here 😉
j
I’m using Ktor for I am running away from Spring, and actually using your talk and project as a starting point. Thanks for it btw. I’ll check the other video tho. My main concern is how to convince them that Arrow is the way to go. My plan was to write a RFC-ish paper explaining why shift from Spring and introduce them to Arrow.
s
Okay, I think such a document might be useful for more people in this channel 😄 Spring vs Ktor is a different discussion I would say, but also a valid one. Using Arrow can be useful both in Spring, or Ktor. Some things that come to mind is that Arrow is build with Kotlin first in mind. So all its API are specialised for working efficiently with
inline
+
suspend
, and it supports Kotlin MPP (probably not relevant for you). Additionally, Arrow is fine-grained so you can include smaller modules in the beginning and add modules as your needs grow. (low risk)
If you have some doc/draft, I'd be happy to provide more feedback 🙂
https://github.com/arrow-kt/suspendapp Some other example, use-cases and a new Arrow lib 😉
j
I'll try and write a draft by the end of this week and definitely send it to you. Thank you so much! The suspendapp will help for sure