Classpath problem(?) with NetLogo-Ersatz integration

2014-06-26 Thread Christophe Gragnic
Hi all,

I'm trying to play with NetLogo:
http://ccl.northwestern.edu/netlogo/
from Picolisp/Ersatz.

I managed to create a working .java with an empty NetLogo model,
but am stuck at translating this file to Picolisp. The .java is here:
http://stackoverflow.com/questions/24390853/expected-command-error-trying-to-embed-netlogo#24425658

In fact the main problem may be the classpath. Whatever I try in
the pil script, adjusting the -cp option to the `java` call, I get this error:

java.lang.ClassCastException: PicoLisp$NilSym cannot be cast to PicoLisp$Symbol

At this line:

(java Import org.nlogo.lite.InterfaceComponent)

Is it the right way to do this?
Is there something I must know in order to import from a .jar
in Ersatz?


chri

-- 

http://profgra.org/lycee/ (site pro)
http://delicious.com/profgraorg (liens, favoris)
https://twitter.com/profgraorg
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Re: Classpath problem(?) with NetLogo-Ersatz integration

2014-06-26 Thread Christophe Gragnic
On Thu, Jun 26, 2014 at 12:57 PM, Samuel Dennis Borlongan
srborlon...@gmail.com wrote:
 (javaImport org.nlogo.lite.InterfaceComponent)

 Note the lack of the space in the command javaImport. What may have happened
 is that the command (java) is invoke with the (null) parameters Import and
 org.nlogo.lite.InterfaceComponent, hence the error message.

Thanks for your answer. Now I understand that:

* javaImport is not in the official Ersatz,
* javaImport is defined in your interop lib:
http://picolisp.com/wiki/?javaiterop
* the files are here:
http://code.google.com/r/srborlongan-picolisp/source/browse#hg%2Fjava

What is still unclear:
* When running your ersatz/pil, why do I get this:
java.lang.UnsupportedClassVersionError: PicoLisp : Unsupported
major.minor version 52.0
My guess is that you compiled the .jar with Java  1.6. How can I use
the content of the `java` dir with my old Ersatz?
* I tried to load the files in `java` by hand and got a
java.lang.reflect.InvocationTargetException,
which is said to be a wrapper exception. Any idea about this
exception? or a way to unwrap?

Thanks.


chri

-- 

http://profgra.org/lycee/ (site pro)
http://delicious.com/profgraorg (liens, favoris)
https://twitter.com/profgraorg
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Re: Classpath problem(?) with NetLogo-Ersatz integration

2014-06-26 Thread Alexander Burger
Hi Christophe and Samuel,

 * When running your ersatz/pil, why do I get this:
 java.lang.UnsupportedClassVersionError: PicoLisp : Unsupported
 major.minor version 52.0
 My guess is that you compiled the .jar with Java  1.6. How can I use
 the content of the `java` dir with my old Ersatz?

You need to install an up-to-date JDK, and then

   $ cd ersatz
   $ ./mkJar

♪♫ Alex
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Re: Classpath problem(?) with NetLogo-Ersatz integration

2014-06-26 Thread Alexander Burger
On Thu, Jun 26, 2014 at 02:58:21PM +0200, Alexander Burger wrote:
$ cd ersatz
$ ./mkJar

Oops, this is a kind of chick-egg problem :)

'mkJar' calls the local 'pil' in that directory, which in turn is based
on ErsatzLisp. So if there is no executable version of ErsatzLisp, you
should be able to change the first line of 'mkJar' to call some existing
instance of PicoLisp (e.g. #!/usr/bin/pil).

♪♫ Alex
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Re: Classpath problem(?) with NetLogo-Ersatz integration

2014-06-26 Thread Christophe Gragnic
Thanks.
I'm making progress, but I can't figure out how the interop files
in the java dir are loaded in Samuel's version. What I do for now
is to manually append the files to the `pil` call.
I'd like to understand and use the proper way !

-- 

http://profgra.org/lycee/ (site pro)
http://delicious.com/profgraorg (liens, favoris)
https://twitter.com/profgraorg
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Re: Classpath problem(?) with NetLogo-Ersatz integration

2014-06-26 Thread Samuel Dennis Borlongan
Try replacing the picolisp.jar file with the mainline jar.

What I usually do is to call mkJar with the original jar, which then builds
my version.

The problem with my version of the jar is that I've been running Java 8
since the beta existed 6 months ago, so every time I cal mkJarWin, the
resulting jar only works in Java 8.

Apologies.

Samuel Dennis R. Borlongan


On Thu, Jun 26, 2014 at 9:55 PM, Christophe Gragnic 
christophegrag...@gmail.com wrote:

 Thanks.
 I'm making progress, but I can't figure out how the interop files
 in the java dir are loaded in Samuel's version. What I do for now
 is to manually append the files to the `pil` call.
 I'd like to understand and use the proper way !

 --

 http://profgra.org/lycee/ (site pro)
 http://delicious.com/profgraorg (liens, favoris)
 https://twitter.com/profgraorg
 --
 UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe



Re: Classpath problem(?) with NetLogo-Ersatz integration

2014-06-26 Thread Christophe Gragnic
On Thu, Jun 26, 2014 at 5:54 PM, Samuel Dennis Borlongan
srborlon...@gmail.com wrote:
 Try replacing the picolisp.jar file with the mainline jar.

 What I usually do is to call mkJar with the original jar, which then builds
 my version.

 The problem with my version of the jar is that I've been running Java 8
 since the beta existed 6 months ago, so every time I cal mkJarWin, the
 resulting jar only works in Java 8.

Thanks Samuel. I managed to build the .jar using a C/ASM Picolisp
(irony!) but my problem is that I don't understand how to use your
interop lib: how to load the files in your java dir?
When I call ersatz/pil, javaImport is still NIL.
I guess I'm missing something obvious.


chri

-- 

http://profgra.org/lycee/ (site pro)
http://delicious.com/profgraorg (liens, favoris)
https://twitter.com/profgraorg
-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Re: Classpath problem(?) with NetLogo-Ersatz integration

2014-06-26 Thread Samuel Dennis Borlongan
You woud need to (load @java/java+.l) to load all the java
interoperability functions.

Question to the audience: should I then add said function to the ersatz
launch script as part of the changes? How do I add it to pil?
Another question to the audience: I could replace my jar with the mainline
jar, then advice users to mkJar so that they get a jar file containing my
changes. Is it advisable?

(As you may notice, I may be at least five years younger than you.)

Samuel Dennis R. Borlongan


On Fri, Jun 27, 2014 at 3:19 AM, Christophe Gragnic 
christophegrag...@gmail.com wrote:

 On Thu, Jun 26, 2014 at 5:54 PM, Samuel Dennis Borlongan
 srborlon...@gmail.com wrote:
  Try replacing the picolisp.jar file with the mainline jar.
 
  What I usually do is to call mkJar with the original jar, which then
 builds
  my version.
 
  The problem with my version of the jar is that I've been running Java 8
  since the beta existed 6 months ago, so every time I cal mkJarWin, the
  resulting jar only works in Java 8.

 Thanks Samuel. I managed to build the .jar using a C/ASM Picolisp
 (irony!) but my problem is that I don't understand how to use your
 interop lib: how to load the files in your java dir?
 When I call ersatz/pil, javaImport is still NIL.
 I guess I'm missing something obvious.


 chri

 --

 http://profgra.org/lycee/ (site pro)
 http://delicious.com/profgraorg (liens, favoris)
 https://twitter.com/profgraorg
 --
 UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe



Subscribe

2014-06-26 Thread Enrique Sánchez
Hello Enrique =?iso-8859-1?Q?S=E1nchez?= petenr...@gmail.com :-)
You are now subscribed


-- 
UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe


Re: Classpath problem(?) with NetLogo-Ersatz integration

2014-06-26 Thread Samuel Dennis Borlongan
I have now added the ersatz enhancements library to ersatz/pil, and
replaced the jar in my branch with mainline (users will now have to mkJar
to have a version that has the enhancements).


Samuel Dennis R. Borlongan


On Fri, Jun 27, 2014 at 8:16 AM, Samuel Dennis Borlongan 
srborlon...@gmail.com wrote:

 You woud need to (load @java/java+.l) to load all the java
 interoperability functions.

 Question to the audience: should I then add said function to the ersatz
 launch script as part of the changes? How do I add it to pil?
 Another question to the audience: I could replace my jar with the mainline
 jar, then advice users to mkJar so that they get a jar file containing my
 changes. Is it advisable?

 (As you may notice, I may be at least five years younger than you.)

 Samuel Dennis R. Borlongan


 On Fri, Jun 27, 2014 at 3:19 AM, Christophe Gragnic 
 christophegrag...@gmail.com wrote:

 On Thu, Jun 26, 2014 at 5:54 PM, Samuel Dennis Borlongan
 srborlon...@gmail.com wrote:
  Try replacing the picolisp.jar file with the mainline jar.
 
  What I usually do is to call mkJar with the original jar, which then
 builds
  my version.
 
  The problem with my version of the jar is that I've been running Java 8
  since the beta existed 6 months ago, so every time I cal mkJarWin, the
  resulting jar only works in Java 8.

 Thanks Samuel. I managed to build the .jar using a C/ASM Picolisp
 (irony!) but my problem is that I don't understand how to use your
 interop lib: how to load the files in your java dir?
 When I call ersatz/pil, javaImport is still NIL.
 I guess I'm missing something obvious.


 chri

 --

 http://profgra.org/lycee/ (site pro)
 http://delicious.com/profgraorg (liens, favoris)
 https://twitter.com/profgraorg
 --
 UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe