i published another pre-release to maven central and github, fixing all known issues with both java 9 and 10. no command line flags are required. the artifact is org.db4j:kilim:2.0.0-18
the issue with java 9 illegal access was jdk classes moving to the jdk.internal namespace - kilim now ignores them again
the issue with java 10 is that java 10 refuses to load most pausable lambdas written in the style `() -> ...` due to some form of stricter validation, failing with:
java.lang.NoClassDefFoundError: Win$$Lambda$3
this means that classes that load and run under java 8 and 9 will fail to load with java 10. to use lambdas with java 10, they must be written in a new style: `fiber -> ...`, ie the last parameter must be a `Fiber`, and a default method without the fiber parameter should be defined. this style is now supported for java 8, 9 and 10. the fiber parameter shouldn't be accessed in the lambda body, and to call such a lambda, call the default method instead
for kilim-provided functional interfaces, this should be mostly transparent other than adding the fiber param to the lambda. eg, if you're using `Task.fork(() -> ...)` the only change is `Task.fork(dummy -> ...)`
kilim now builds and tests green with java 8, 9 and 10
these changes are somewhat experimental - i haven't tried any of my larger projects with them yet. this also changes treatment of pausable methods that have a fiber argument. previously, these weren't woven. it's possible that someone used this feature to hand-weave a pausable method
if so, there's a `<classifier>jdk9</classifier>` jar (maven -- org.db4j:kilim:2.0.0-18:jdk9) that includes the jdk.internal fix but not the change to weaving