Installation instructions are needed
Currently there are no explanation how to attach this backend to Idris (neither in README nor in the wiki). I'd like to try it, but have no clue how to do it. Should I compile it before Idris? Or after Idris? Should I use any flags for compiling?
Thank you in advance.
Basically here's how the Java backend works:
- Install Idris first.
- Install Idris-java via
cabal install(quite the standard way of doing it) - Compile a simple program (you'll need the
.ibcfile before Java code generation)
$ idris --check hello.idr
$ idris-java -o hello hello.ibc
$ ./hello
hello is a self-contained executable (with compiled Java bytecode)
This repository, indeed, needs some more documentation to help people getting started...
@soimort Thank you, your solution is working.
The more usual is to use idris --codegen java hello.ibc -o hello, instructing idris to invoke idris-java itself.
The Idris wiki has horrendously out of date information for working with the different backend. Maybe it is a good idea for someone to update with moew current information, and to duplicate instructions for java here...
Right now I'm not sure, the back-end even works. Edwin did the refactoring without giving much thought to it and I didn't have the time yet, to fix/update it. I suspect that it is also terribly out of date with respect to the features of the newest Idris versions.
I just tried it with a fibonacci function and it worked. I haven't tried anything else.
How can one obtain the generated maven project and java source instead of the resulting executable?
All I can do with the result as is is a) run it as an executable file, in which case the fact that it's java is mostly irrelevant, or b) unpack it, getting a bunch of compiled classes and MANIFESTs.
Is the resulting executable file a valid JAR file? I can see that java can run it, and that unzip can unpack it, but is it going to work on other platforms?
I've added instructions on how to install. There are also basic instructions on how to use the JAVA_IO monad. I'm working on a short tutorial but I see this as separate. Unless someone objects I'll close this soon.
Great! Thank you!