I’m trying to mess around with arrow-meta on one o...
# arrow-meta
t
I’m trying to mess around with arrow-meta on one of my other projects (I wanted to try some of the stuff from the ArrowFx and Meta talk that @raulraja and @simon.vergauwen did) but when I try to follow the example here https://github.com/arrow-kt/arrow-meta-examples/blob/master/use-arrow-meta-compiler-plugin/build.gradle I get compilation errors. A section from my build.gradle which I think contains everything from that example
Copy code
buildscript {
    repositories {
        maven {
            url '<https://oss.jfrog.org/artifactory/oss-snapshot-local/>'
        }
    }
    dependencies {
        classpath "io.arrow-kt:gradle-plugin:1.3.61-SNAPSHOT"
    }
}

plugins {
    id "org.jetbrains.kotlin.jvm" version "1.3.61"
    id "org.jetbrains.kotlin.plugin.jpa" version "1.3.61"
    id "org.jetbrains.kotlin.plugin.spring" version "1.3.61"
    id "org.springframework.boot" version "2.1.7.RELEASE"
    id "com.adarshr.test-logger" version "2.0.0"
}

apply plugin: "java"
apply plugin: "war"
apply plugin: "kotlin"
apply plugin: "kotlin-spring"
apply plugin: "kotlin-jpa"
apply plugin: "kotlin-kapt"
apply plugin: "org.springframework.boot"
apply plugin: "io.spring.dependency-management"
apply plugin: "jacoco"
apply plugin: "io.arrow-kt.arrow"

repositories {
    jcenter()
    mavenCentral()
    maven { url "<https://splunk.jfrog.io/splunk/ext-releases-local>" }
    maven { url "<https://dl.bintray.com/arrow-kt/arrow-kt/>" }
    maven {
        url '<https://oss.jfrog.org/artifactory/oss-snapshot-local/>'
    }
}
dependencies {
    ...other dependencies 
    // Arrow
    implementation Dependencies.ArrowOptics
    implementation Dependencies.ArrowSyntax
    implementation Dependencies.ArrowFx
    kapt Dependencies.ArrowMeta
    compileOnly "io.arrow-kt:arrow-meta-prelude:1.3.61-SNAPSHOT"
}
The error message doesn’t seem super useful to me, but am I making a common mistake here or any suggestions on how to debug this? Thanks!
Oh and the arrow dependencies are
Copy code
object Dependencies {
    const val ArrowFx = "io.arrow-kt:arrow-fx:${Versions.Arrow}"
    const val ArrowOptics = "io.arrow-kt:arrow-optics:${Versions.Arrow}"
    const val ArrowSyntax = "io.arrow-kt:arrow-syntax:${Versions.Arrow}"
    const val ArrowMeta = "io.arrow-kt:arrow-meta:${Versions.Arrow}"
    ...
}
and arrow version is
const val Arrow = “0.10.5”
r
May want to wait for update to meta 1.4 because that errors show a suspend expression is not handled properly by IR lowering which is unrelated to meta
t
I see, thanks!
r
That is because that version of IR for 1.36 is incomplete but Meta is currently being upgraded to 1.4 by @Rachel
in that version they have issues lowering suspended lambdas and many other simple constructs that are supposed to be addressed in 1.4