Skip to content

yglukhov/jnim

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 

jnim - JNI library for Nim language Build Status nimble

Native language integration with Java VM has never been easier!

import jnim

# Import a couple of classes
jclass java.io.PrintStream of JVMObject:
  proc println(s: string)
jclass java.lang.System of JVMObject:
  proc `out`: PrintStream {.prop, final, `static`.}

# Call!
System.`out`.println("This string is printed with System.out.println!")

Overview

The list of the main features:

  • API splitted in two parts: low and high level.
  • It supports Java inheritance and generics.

The documentation is coming soon. Now you can look the examples in the tests directory. For example, tests/test_java_lang.nim and tests/test_java_util.nim shows how to use high level API.

If you want to run the tests, use nimble test command.

Installation

nimble install jnim

Thanks

  • The current version of the library is a complete rewrite done by @vegansk.
  • Also thanks a lot to all the contributors