You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
 
 
straightway 5af1a9e564 Updated to gradle 5.6.4. 2 years ago
gradle/wrapper Updated to gradle 5.6.4. 2 years ago
src Fixed ktlin issues. 2 years ago
.gitattributes Moved dsl module to own repository. 4 years ago
.gitignore Adapted .gitignore to ignore idea project stuff. 4 years ago
LICENSE Added license 3 years ago
README.md Replaced GitHub by codeberg. 2 years ago
build.gradle Fixed ktlint issues. 2 years ago
detekt-config.yml Fixed detekt configuration and fixed or suppressed issues. 2 years ago
gradlew Moved dsl module to own repository. 4 years ago
gradlew.bat Moved dsl module to own repository. 4 years ago
projectDependencies.gradle Changed copyright in header: removed GitHub 2 years ago
projectSpecific.gradle Changed copyright in header: removed GitHub 2 years ago
settings.gradle Changed copyright in header: removed GitHub 2 years ago
version.gradle Changed copyright in header: removed GitHub 2 years ago

README.md

expr

Support for partially bound functional expressions with a nice string representation.

Example:

val add = FunExpr("+") { a: Int, b: Int -> a + b }.combinable
val increment = add - Value(1)
assertEquals(3, increment(2))
assertEquals(5, (add - Value(3) - Value(2))())
assertEquals("+-3-5", (add - Value(3) - Value(2)).toString())

For real life examples, see the straightway.testing.flow implementation.

Status

This software is in pre-release state. Every aspect of it may change without announcement or notification or downward compatibility. As soon as version 1.0 is reached, all subsequent changes for sub versions will be downward compatible. Breaking changes will then only occur with a new major version with according deprecation marking.

Include in gradle builds

To include this library in a gradle build, add

repositories {
    ...
    maven { url "https://pages.codeberg.org/straightway/repo" }
}

Then you can simply configure in your dependencies:

dependencies {
    compile "straightway:expr:<version>"
}