Давно я ничего не писал на LOR. И давно ничего про Nim не было. Итак, представляю библиотеку для работы с Java из Nim через JNI. И не надо говорить что не надо :-) У нас допустим есть пользователи, которые сидят на КриптоПро JCP и не хотят переходить на CSP. Вот и приходится в нативе пользовать джавовские библиотеки.
Библиотека позволяет работать как с low level, используя тонкую прослойку, так и high level, используя метапрограммирование по полной.
Ссылка на библиотеку: https://github.com/vegansk/jnim
Пример импорта коллекций из Java: https://github.com/vegansk/jnim/blob/master/src/javaapi/containers.nim, а их использование тут: https://github.com/vegansk/jnim/blob/master/tests/test_javaapi_containers.nim
Для тру, пример использования high level:
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`.}
# Initialize JVM
initJNI()
# Call!
System.`out`.println("This string is printed with System.out.println!")