All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
Reify
/Reflect
instances forVector/IOVector Double
.
- The
Coercible
type class now also takes a single parameter, likeReify
andReflect
. This should make instance declarations less verbose. #97 - It is now possible to
-XGeneralizedNewtypeDeriving
all 3 type classes (Coercible
,Reify
,Reflect
) for the common use case of newtype-wrapped JVM object references. #97 - The
Reify
/Reflect
instances for()
is now mapped to a serializable small JVM object. This is a more useful instance for sparkle users.
- Marshalling lists of refs to a Java array.
- Implement push and pop family of functions for managing local references. This makes it possible to perform semi-automatic reclaiming of local references, by pushing new frames and deallocating whole groups of references at once when popping the frames.
- Benchmarks to quantify the cost of references.
newArray
, a polymorphic way to create new arrays on top of the raw newXXXArray JNI functions.getStaticField
, to get the values of fields using any of thegetStaticXXXField
JNI functions.CChar
instance forReify
.- Expose
jobject
to get Java references from Haskell values with a Coercible instance with a reference type.
- Simplify the
Reify
andReflect
machinery. These type classes now each take a single argument. TheUncurry
type class, to avoid overlapping instances insparkle
, has been removed. callStatic
takes aJNI.String
instead of a singleton.classOf
returns a JNI.String instead of a singleton.
- The Uncurry type family.
Reify
andReflect
instances forJ ty
.- Second parameter of Reflect/Reify.
- TH convenience function to produce Coercible and Reify instances for
newtype wrappers of Java references. This is less useful now that
we don't provide
Reify
andReflect
instances forJ ty
.
- Tests in conditional compilation for ghc-8.0.1.
- Use global refs in finalizers associated to IOVectors.
- Added TH convenience function to produce Coercible and Reify instances for newtype wrappers of Java references.
- Made Choice Coercible to a Java boolean.