Hi,I'm trying to compile a lisp application and I get a lot of errors with java abcl. I thought that if I try to compile this lisp files outside of abcl with other systems, perhaps, I could then call this compiled functions lisp files from ABCL (look like a jar file of lisp compiled files). Is this possible?How can I compiled this files outside ABCL? Some examples?Thanks
On Tue, Feb 28, 2012 at 12:32 PM, scarbonell@ono.com scarbonell@ono.com wrote:
Hi,
I'm trying to compile a lisp application and I get a lot of errors with java abcl. I thought that if I try to compile this lisp files outside of abcl with other systems, perhaps, I could then call this compiled functions lisp files from ABCL (look like a jar file of lisp compiled files). Is this possible?
How can I compiled this files outside ABCL? Some examples?
You can't do such a thing. Compiled Lisp code is implementation dependent. In general, you can not even be sure that two different versions of the same implementation, or the same version on different platforms, will be able to execute each other's compiled code.
For ABCL specifically, FASLs (compiled files) are portable across platforms, and are generally compatible with several versions of ABCL unless something big changed in the compiler between those versions (in that case, the FASL version number is changed, too).
Cheers, Alessio
Hi,
Thanks for your help.
Because I've a lot of problems of java memory and Truncated class files, my intention is try to compile in the same platform with ABCL, but only compile, not to load from ABCL a file and then compile all files. If there are some way to compile all files with abcl and package... (I don't know if exists).
I see this web page and looks like, that you can load your fasl files (compiled abcl lisp files) from a jar file and then use it from Java, but I don't know who use it:
http://abcl-dev.blogspot.com/2009/09/loading-fasls-from-jar-files.html
Thanks
-----Mensaje original----- De: Alessio Stalla [mailto:alessiostalla@gmail.com] Enviado el: martes, 28 de febrero de 2012 13:59 Para: scarbonell@ono.com CC: armedbear-devel@common-lisp.net Asunto: Re: [armedbear-devel] compiling lisp files outside Java and calling it after with abcl
On Tue, Feb 28, 2012 at 12:32 PM, scarbonell@ono.com scarbonell@ono.com wrote:
Hi,
I'm trying to compile a lisp application and I get a lot of errors with
java
abcl. I thought that if I try to compile this lisp files outside of abcl with other systems, perhaps, I could then call this compiled functions
lisp
files from ABCL (look like a jar file of lisp compiled files). Is this possible?
How can I compiled this files outside ABCL? Some examples?
You can't do such a thing. Compiled Lisp code is implementation dependent. In general, you can not even be sure that two different versions of the same implementation, or the same version on different platforms, will be able to execute each other's compiled code.
For ABCL specifically, FASLs (compiled files) are portable across platforms, and are generally compatible with several versions of ABCL unless something big changed in the compiler between those versions (in that case, the FASL version number is changed, too).
Cheers, Alessio
On 2/29/12 10:42 , santi wrote:
Hi,
Thanks for your help.
Because I've a lot of problems of java memory and Truncated class files, my intention is try to compile in the same platform with ABCL, but only compile, not to load from ABCL a file and then compile all files. If there are some way to compile all files with abcl and package... (I don't know if exists).
I see this web page and looks like, that you can load your fasl files (compiled abcl lisp files) from a jar file and then use it from Java, but I don't know who use it:
http://abcl-dev.blogspot.com/2009/09/loading-fasls-from-jar-files.html
I've [posted a reply to this blog entry][1] which hopefully explains the current situation a bit better.
[1]: http://abcl-dev.blogspot.com/2009/09/loading-fasls-from-jar-files.html?showC...
On Wed, Feb 29, 2012 at 10:42 AM, santi scarbonell@ono.com wrote:
Hi,
Thanks for your help.
Because I've a lot of problems of java memory and Truncated class files, my intention is try to compile in the same platform with ABCL, but only compile, not to load from ABCL a file and then compile all files. If there are some way to compile all files with abcl and package... (I don't know if exists).
First, if you have memory issues, you should try increasing the maximum heap size of your JVM. The 64M default is increasingly limiting for Java applications, and while Lisp apps tend to waste less memory than Java apps with tons of frameworks, I myself raised the heap size to 256M just to be sure.
That said, you can compile and not load the files on abcl. It depends on what you're using to compile/load, with asdf it's a matter of using 'compile-op rather than 'load-op. But, the files you'll obtain will only be loadable by abcl anyway, as Mark explains in his post on the abcl blog. Still, splitting the compilation and the loading in two different sessions might help with memory issues if you really can't give more memory to the JVM.
Alessio
Hi,
Thanks to you and Mark for your answers, because I dont know that adsf exists. This is what I'm looking for.
I've tried to increasing the JVM memory but then I always obtain some memory problems (stack overflow). I supposed that this problem is because this lisp project try to load a lot of lisp files from some folders and abcl needs to compile a lot of files. The only way to compile the project was using Allegro CL or CLISP. With Allegro CL I use jlinker but there are little documentation and with CLISP I use Jacol but the same problem.
No problem with the machine compiled files, because I'll run always with abcl and Windows.
I'll try to compile all files and package with adsf and then try to load some .fasl into java with abcl and trying to load some lisp functions into java swing.
Thanks
-----Mensaje original----- De: Alessio Stalla [mailto:alessiostalla@gmail.com] Enviado el: miércoles, 29 de febrero de 2012 12:18 Para: santi CC: armedbear-devel@common-lisp.net Asunto: Re: [armedbear-devel] compiling lisp files outside Java and calling it after with abcl
On Wed, Feb 29, 2012 at 10:42 AM, santi scarbonell@ono.com wrote:
Hi,
Thanks for your help.
Because I've a lot of problems of java memory and Truncated class files,
my
intention is try to compile in the same platform with ABCL, but only compile, not to load from ABCL a file and then compile all files. If there are some way to compile all files with abcl and package... (I don't know
if
exists).
First, if you have memory issues, you should try increasing the maximum heap size of your JVM. The 64M default is increasingly limiting for Java applications, and while Lisp apps tend to waste less memory than Java apps with tons of frameworks, I myself raised the heap size to 256M just to be sure.
That said, you can compile and not load the files on abcl. It depends on what you're using to compile/load, with asdf it's a matter of using 'compile-op rather than 'load-op. But, the files you'll obtain will only be loadable by abcl anyway, as Mark explains in his post on the abcl blog. Still, splitting the compilation and the loading in two different sessions might help with memory issues if you really can't give more memory to the JVM.
Alessio
Greetings,
To build ABCL you don't need Lisp. All you have to do is go into the root of the ABCL distribution and type: ant
This will create dist/abcl.jar which is all you need.
You can run ABCL with: java -jar abcl.jar
If course, you must have apache ant installed first. Ant is just a build program like "make".
Hope this helps.
Blake McBride
On Thu, Mar 1, 2012 at 5:13 AM, santi scarbonell@ono.com wrote:
Hi,
Thanks to you and Mark for your answers, because I don’t know that adsf exists. This is what I'm looking for.
I've tried to increasing the JVM memory but then I always obtain some memory problems (stack overflow). I supposed that this problem is because this lisp project try to load a lot of lisp files from some folders and abcl needs to compile a lot of files. The only way to compile the project was using Allegro CL or CLISP. With Allegro CL I use jlinker but there are little documentation and with CLISP I use Jacol but the same problem.
No problem with the machine compiled files, because I'll run always with abcl and Windows.
I'll try to compile all files and package with adsf and then try to load some .fasl into java with abcl and trying to load some lisp functions into java swing.
Thanks
-----Mensaje original----- De: Alessio Stalla [mailto:alessiostalla@gmail.com] Enviado el: miércoles, 29 de febrero de 2012 12:18 Para: santi CC: armedbear-devel@common-lisp.net Asunto: Re: [armedbear-devel] compiling lisp files outside Java and calling it after with abcl
On Wed, Feb 29, 2012 at 10:42 AM, santi scarbonell@ono.com wrote:
Hi,
Thanks for your help.
Because I've a lot of problems of java memory and Truncated class files,
my
intention is try to compile in the same platform with ABCL, but only compile, not to load from ABCL a file and then compile all files. If
there
are some way to compile all files with abcl and package... (I don't know
if
exists).
First, if you have memory issues, you should try increasing the maximum heap size of your JVM. The 64M default is increasingly limiting for Java applications, and while Lisp apps tend to waste less memory than Java apps with tons of frameworks, I myself raised the heap size to 256M just to be sure.
That said, you can compile and not load the files on abcl. It depends on what you're using to compile/load, with asdf it's a matter of using 'compile-op rather than 'load-op. But, the files you'll obtain will only be loadable by abcl anyway, as Mark explains in his post on the abcl blog. Still, splitting the compilation and the loading in two different sessions might help with memory issues if you really can't give more memory to the JVM.
Alessio
armedbear-devel mailing list armedbear-devel@common-lisp.net http://lists.common-lisp.net/cgi-bin/mailman/listinfo/armedbear-devel
Hi,
I'm working with a lisp software called "Babylon". Babylon is a software from AI that works with frames, prolog....
What I'm trying to do is to load Babylon into a JVM and then call its functions using a Java interface, for example Java Swing or AWT. This is why I'm trying to use ABCL to load Babylon into JVM
Thanks
-----Mensaje original----- De: santi [mailto:scarbonell@ono.com] Enviado el: jueves, 01 de marzo de 2012 12:13 Para: 'Alessio Stalla' CC: 'armedbear-devel@common-lisp.net' Asunto: RE: [armedbear-devel] compiling lisp files outside Java and calling it after with abcl
Hi,
Thanks to you and Mark for your answers, because I dont know that adsf exists. This is what I'm looking for.
I've tried to increasing the JVM memory but then I always obtain some memory problems (stack overflow). I supposed that this problem is because this lisp project try to load a lot of lisp files from some folders and abcl needs to compile a lot of files. The only way to compile the project was using Allegro CL or CLISP. With Allegro CL I use jlinker but there are little documentation and with CLISP I use Jacol but the same problem.
No problem with the machine compiled files, because I'll run always with abcl and Windows.
I'll try to compile all files and package with adsf and then try to load some .fasl into java with abcl and trying to load some lisp functions into java swing.
Thanks
-----Mensaje original----- De: Alessio Stalla [mailto:alessiostalla@gmail.com] Enviado el: miércoles, 29 de febrero de 2012 12:18 Para: santi CC: armedbear-devel@common-lisp.net Asunto: Re: [armedbear-devel] compiling lisp files outside Java and calling it after with abcl
On Wed, Feb 29, 2012 at 10:42 AM, santi scarbonell@ono.com wrote:
Hi,
Thanks for your help.
Because I've a lot of problems of java memory and Truncated class files,
my
intention is try to compile in the same platform with ABCL, but only compile, not to load from ABCL a file and then compile all files. If there are some way to compile all files with abcl and package... (I don't know
if
exists).
First, if you have memory issues, you should try increasing the maximum heap size of your JVM. The 64M default is increasingly limiting for Java applications, and while Lisp apps tend to waste less memory than Java apps with tons of frameworks, I myself raised the heap size to 256M just to be sure.
That said, you can compile and not load the files on abcl. It depends on what you're using to compile/load, with asdf it's a matter of using 'compile-op rather than 'load-op. But, the files you'll obtain will only be loadable by abcl anyway, as Mark explains in his post on the abcl blog. Still, splitting the compilation and the loading in two different sessions might help with memory issues if you really can't give more memory to the JVM.
Alessio
On Thu, Mar 1, 2012 at 12:21 PM, santi scarbonell@ono.com wrote:
Hi,
I'm working with a lisp software called "Babylon". Babylon is a software from AI that works with frames, prolog....
Ok, let's try to be more scientific. The only mentions of Babylon I could find from a quick Google search date back to the late 90's. Is Babylon available for download somewhere? Is someone actively developing it? From your words, it seems like you're already running it on another Lisp implementation. Is that the case? If yes, which implementation?
ABCL fully implements ANSI Common Lisp, but Babylon might use implementation-specific extensions, or techniques like tail recursion that don't work well on ABCL (since you're mentioning stack overflows, that might be a reason).
What I'm trying to do is to load Babylon into a JVM and then call its functions using a Java interface, for example Java Swing or AWT. This is why I'm trying to use ABCL to load Babylon into JVM
If everything else fails, you can always run Babylon where you're running it now, develop a communication protocol to talk with it remotely, and use a JVM client with ABCL speaking the same protocol to do whatever GUI stuff you want. This is easier than it sounds in Lisp because, security and efficiency concerns aside, you can just send printed S-expressions back and forth.
Peace, Alessio
Hi alessio,
All you say it's correct.
Babylon was developed in 90's using MCL (Machintosh Common Lisp) but an internal readme says that it is portable to another lisp implementations: MCL, Allegro, CLisp, CMU, AKCL.... That is why I try to use jlinker with allegro or Jacol with CLisp, but always, people says "try working with ABCL because there are a big community and working...." and is a very powerfull tool to translate lisp to java. The documentation of Jacol or jlinker is very poor. It's suppose that Babylon it's only work on MAC, but there are a light version to work with SUN, and this is the version that I'm trying to compile and this is why I'm trying to add a java interface like Swing or AWT.
I attach Babylon, if anyone wants to try to compile with ABCL. The only think to compile is in make.cl and make-sun.cl to put some paths to your folders in your PC. For example in make.cl in the first line I put this to compile in D:\ folder
#-:MCL "D:\Babylon\" ;;; <--- change the pathname string here!!!!
If it's not possible to compile with ABCL, how do you try to do a communication protocol? Some idea or example? Web Services....?
Thanks for your help
-----Mensaje original----- De: Alessio Stalla [mailto:alessiostalla@gmail.com] Enviado el: jueves, 01 de marzo de 2012 23:46 Para: santi CC: armedbear-devel@common-lisp.net Asunto: Re: [armedbear-devel] compiling lisp files outside Java and calling it after with abcl
On Thu, Mar 1, 2012 at 12:21 PM, santi scarbonell@ono.com wrote:
Hi,
I'm working with a lisp software called "Babylon". Babylon is a software from AI that works with frames, prolog....
Ok, let's try to be more scientific. The only mentions of Babylon I could find from a quick Google search date back to the late 90's. Is Babylon available for download somewhere? Is someone actively developing it? From your words, it seems like you're already running it on another Lisp implementation. Is that the case? If yes, which implementation?
ABCL fully implements ANSI Common Lisp, but Babylon might use implementation-specific extensions, or techniques like tail recursion that don't work well on ABCL (since you're mentioning stack overflows, that might be a reason).
What I'm trying to do is to load Babylon into a JVM and then call its functions using a Java interface, for example Java Swing or AWT. This is
why
I'm trying to use ABCL to load Babylon into JVM
If everything else fails, you can always run Babylon where you're running it now, develop a communication protocol to talk with it remotely, and use a JVM client with ABCL speaking the same protocol to do whatever GUI stuff you want. This is easier than it sounds in Lisp because, security and efficiency concerns aside, you can just send printed S-expressions back and forth.
Peace, Alessio
Greetings Santi,
Speaking for myself, RAR format is a real problem. Every time I have to use it it is a research project. It seams like TAR, ZIP or JAR would be a far more convenient format since these formats are widely available and used on any operating system.
Just my 2 cents.
Thanks.
Blake McBride
On Fri, Mar 2, 2012 at 2:59 AM, santi scarbonell@ono.com wrote:
Hi alessio,
All you say it's correct.
Babylon was developed in 90's using MCL (Machintosh Common Lisp) but an internal readme says that it is portable to another lisp implementations: MCL, Allegro, CLisp, CMU, AKCL.... That is why I try to use jlinker with allegro or Jacol with CLisp, but always, people says "try working with ABCL because there are a big community and working...." and is a very powerfull tool to translate lisp to java. The documentation of Jacol or jlinker is very poor. It's suppose that Babylon it's only work on MAC, but there are a light version to work with SUN, and this is the version that I'm trying to compile and this is why I'm trying to add a java interface like Swing or AWT.
I attach Babylon, if anyone wants to try to compile with ABCL. The only think to compile is in make.cl and make-sun.cl to put some paths to your folders in your PC. For example in make.cl in the first line I put this to compile in D:\ folder
#-:MCL "D:\\Babylon\\" ;;; <--- change the pathname string
here!!!!
If it's not possible to compile with ABCL, how do you try to do a communication protocol? Some idea or example? Web Services....?
Thanks for your help
-----Mensaje original----- De: Alessio Stalla [mailto:alessiostalla@gmail.com] Enviado el: jueves, 01 de marzo de 2012 23:46 Para: santi CC: armedbear-devel@common-lisp.net Asunto: Re: [armedbear-devel] compiling lisp files outside Java and calling it after with abcl
On Thu, Mar 1, 2012 at 12:21 PM, santi scarbonell@ono.com wrote:
Hi,
I'm working with a lisp software called "Babylon". Babylon is a software from AI that works with frames, prolog....
Ok, let's try to be more scientific. The only mentions of Babylon I could find from a quick Google search date back to the late 90's. Is Babylon available for download somewhere? Is someone actively developing it? From your words, it seems like you're already running it on another Lisp implementation. Is that the case? If yes, which implementation?
ABCL fully implements ANSI Common Lisp, but Babylon might use implementation-specific extensions, or techniques like tail recursion that don't work well on ABCL (since you're mentioning stack overflows, that might be a reason).
What I'm trying to do is to load Babylon into a JVM and then call its functions using a Java interface, for example Java Swing or AWT. This is
why
I'm trying to use ABCL to load Babylon into JVM
If everything else fails, you can always run Babylon where you're running it now, develop a communication protocol to talk with it remotely, and use a JVM client with ABCL speaking the same protocol to do whatever GUI stuff you want. This is easier than it sounds in Lisp because, security and efficiency concerns aside, you can just send printed S-expressions back and forth.
Peace, Alessio
armedbear-devel mailing list armedbear-devel@common-lisp.net http://lists.common-lisp.net/cgi-bin/mailman/listinfo/armedbear-devel
armedbear-devel@common-lisp.net