Description
Provides batched marshalling of values between Java and Haskell.
Description
Please see README.md.
README.md
jvm-batching
Provides batched marshalling of values between Java and Haskell.
It provides reify and reflect instances for vectors, which marshal values in batches, which is more efficient than marshalling values one at a time.
instance (Interpretation a, BatchReify a) => Reify (V.Vector a) where
...
instance (Interpretation a, BatchReflect a) => Reflect (V.Vector a) where
...
See the documentation in Language.Hava.Batching for an overview on how the implementation works.
Using it as a dependency
Add jvm-batching
to the list of dependencies in your .cabal file. Then edit the Setup.hs
file to add the jvm-batching.jar
to the classpath.
import Distribution.Simple
import Language.Java.Inline.Cabal
import qualified Language.Java.Batching.Jars
main = do
jars <- Language.Java.Batching.Jars.getJars
defaultMainWithHooks (addJarsToClasspath jars simpleUserHooks)
Add a custom-setup
stanza to your .cabal file.
custom-setup
setup-depends:
base,
Cabal,
inline-java,
jvm-batching
Layout of source directories
This is a multi-language package. We use Maven's standard directory layout to organize source code in multiple languages side-by-side.