jvm-batching: Provides batched marshalling of values between Java and Haskell.

[ bsd3, deprecated, ffi, java, jvm, library ] [ Propose Tags ]
Deprecated.

The hackage package has been superseded by the github repository which builds with Bazel. Please see https://github.com/tweag/inline-java/tree/master/jvm-batching#readme.


[Skip to Readme]
Versions [RSS] [faq] 0.1, 0.1.1, 0.1.2, 0.2.0 (info)
Dependencies base (>=4.7 && <5), bytestring, distributed-closure (>=0.3.5), inline-java (==0.10.*), jni (>=0.8.0 && <0.9), jvm (>=0.6.0 && <0.7), singletons (>=2.2), text, vector [details]
License BSD-3-Clause
Copyright 2017 LeapYear Technologies
Author Tweag I/O
Maintainer facundo.dominguez@tweag.io
Revised Revision 1 made by FacundoDominguez at 2021-05-04T14:58:51Z
Category FFI, JVM, Java
Home page http://github.com/tweag/inline-java/tree/master/jvm-batching#readme
Source repo head: git clone https://github.com/tweag/inline-java(jvm-batching)
Uploaded by FacundoDominguez at 2020-11-30T14:50:36Z
Distributions NixOS:0.2.0
Downloads 1171 total (22 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs not available [build log]
All reported builds failed as of 2020-11-30 [all 3 reports]

Modules

  • Language
    • Java
      • Language.Java.Batching
        • Language.Java.Batching.Jars

Downloads

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

For package maintainers and hackage trustees

Candidates


Readme for jvm-batching-0.2.0

[back to package description]

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.