[armedbear-devel] Embedding ABCL into IntelliJ IDEA and writing plugins
Anton Vodonosov
avodonosov at yandex.ru
Sun Aug 23 00:54:42 UTC 2009
Hello Alessio,
on Thursday, August 20, 2009, 12:45:44 PM Alessio wrote:
>> - ABCL is more suited to be embedded into J editor, than
>> into something else. For example Interpreter.kill method
>> stops ABCL like:
>>
>> if (jlisp) {
>> ... close input output streams
>> }
>> else
>> System.exit(status);
>>
>> I.e. if we call Interpretter.kill() in IDEA plugin, it will
>> exit whose IDEA process
> Keep in mind that, in general, the ABCL interpreter is a singleton,
> and "killing" it is not that easy: besides open streams, other data is
> kept around so reverting the interpreter to a clean state is quite
> complicated.
I think if streams are closed, it will stop read-eval-print loop.
There is a static method Interpreter.dispose() which assigns the
static field "interpreter" to null. Therefore I hope everything
will be garbage collected.
> Why are you trying to kill it in the first place?
Well, for example I want restart Lisp without closing IDEA. Or
just to stop Lisp if I don't need it anymore.
It was only example of where ABCL is more suited for J editor than
to anything else. Another example is method
Interpreter.createJLispInstance. It accepts input/output streams.
For non J editor case, there is no factory method with input/output
stream parameters.
But, as I said, it's a minor problem.
Best regards,
- Anton
More information about the armedbear-devel
mailing list