On Thu, Jul 30, 2009 at 2:38 AM, Paul Reinerspaul.reiners@gmail.com wrote:
Some introductory user documentation I wrote on ABCL if anyone's interested:
http://www.automatous-monk.com/jvmlanguages/abcl/Armed_Bear_Common_Lisp.html
It's spread across a bunch of slides right now, because I first prepared it as a multi-slide presentation. I think I want to combine it all into one HTML page later this week when I get around to it. At the very least, I want to give each slide a meaningful title so that the Table of Contents is more meaningful.
Any criticism, constructive or destructive, is welcome.
Good work! It's nice to see introductory documentation for abcl.
Now the (constructive) criticism part :) I found an inaccuracy on Slide 10, regarding boxing/unboxing of values. Indeed boxing and unboxing is done automatically by ABCL. In your case, had you wrapped your ints in Fixnums instead of JavaObjects, you could have used them directly in Lisp. In general, since the user can't be expected to know how to map every Java type to Lisp and vice-versa, there are a couple of nice methods you can use in all cases:
public static LispObject JavaObject.getInstance(Object, boolean) converts (or wraps) a Java object to a Lisp object, if the boolean is true (else it just wraps it in a JavaObject).
public Object LispObject.javaInstance() converts (or unwraps) a Lisp object to Java. You can invoke this on any Lisp object, if it can't be converted, it will be returned as-is.
hth, Alessio