Hi everyone, I am new to Kotlin (and Arrow), and ...
# arrow
b
Hi everyone, I am new to Kotlin (and Arrow), and have an interest to do a project adhering to the FP paradigm. I was wondering if you guys could give pointers on how to get started. Especially: there's a lot to learn about Kotlin itself, although not everything will be relevant for FP. What Kotlin basics would you say I should get down before moving to the use of Arrow? Thanks!
Good to know perhaps: my knowledge with FP is limited to understanding its core goals (referential transparancy, testability, pure vs effect, composition), and some vague ideas of more advanced notions like monads and type classes. My actual experience with FP is limited to merely on the 'tool" side of things: higher order functions, decorators (annotations), mapping/zipping/reducing, and partial application
p
Read these books: • Functional Programming in Kotlin (Marco Vermeulen @marc0der) • 2 old books * The Joy of Kotlin (Pierre-Yves Saumont) * Functional kotlin (Mario Arias & Rivu Chakraborty) => Coming soon: • From Objects to Function (Uberto Barbini @Uberto Barbini)
b
Thanks for the tips! I was eyeing "*Functional Programming in Kotlin*" already. I also noticed "*Functional Kotlin*" before, and noticed it has chapters on Arrow. But I wasn't sure if I should deem that important or not
That "*From Objects to Function*" book also sounds very promising. Nice list, I appreciate it. Maybe I should be less book-shy and read a few to really make the concepts land
How much prior Kotlin experience do you think I should have? Can I delve into these books as a relative Kotlin newbie?
p
All of these books are easy to read for a Java developer: "FP in Kotlin", cousin of Scala's red book, uses specifics such as coroutines. With "The Joy of Kotlin" you will build your own tools (see https://github.com/pysaumont/fpinkotlin). The last book is quite different since it uses a more pragmatic test-oriented approach to guide us...
b
Good to know, although I know no Java and come from Python (although more seriously then just tinkering scripts). No idea if that changes your answer?
u
They are all good books. My book is more about "ok monads are all and nice but how should I model my problem and build a complete app following FP principles?"
👏 1
So there is a lot about tdd and SW craftsmanship inside.
Coming from python won't change much, but if you're serious about kotlin on JVM you ll need to learn a lot of things about jvm, before or later. ;)
p
The 'Joy of K' assumes you have no Mathematical experience and no specific programming experience. To learn Kotlin and a bit of FP, I suggest '*Programming Kotlin*' by Verkat Subramaniam. In all cases, I think you should familiarize yourself with Kotlin first !
🙌 1
b
I love that approach @Uberto Barbini, and the product page of your book on the Progprag site really speaks to me too. Certainly going to keep my eyes on your book. Is June still the expected release date? "Programming Kotlin" sounds like a nice first step then perhaps, @PhBastiani. Thanks all!
u
I think June can be a bit ambitious now... But it shouldn't be much delayed. You can read the ebook now (it's 80% done) with pragprog beta.
🙌 2
b
@Uberto Barbini Is most of the undone work in the latter chapters, or is that hard to say? Put differently: can I work through most of the first half (or so) of the book without too much hassle? I understand you can't promise anything, and that there'll be typo's and all that
u
yes, I think so. Of the main point I've finished 11 chapters out of 12 and I'm working on the last. After that there is a chapter on architecture and 2 appendices. I think I'll finish them by June, but there will be the final review+edit that will take some other months.
2