[Ecls-list] new ECL list member/ ECL project

Juan Jose Garcia Ripoll lisp at arrakis.es
Mon Jan 23 07:04:05 UTC 2006


On Sat, 2006-01-21 at 04:45 -0500, Dustin Long wrote:
> Hi all,
> I've been messing around with ECL for the past month or so, impressed 
> with its ability to create actual Windows applications using Common 
> Lisp. After a sufficient amount of hacking, I produced a working example 
> of ECL embedded in a Visual Basic application, and have made a 
> noob-level tutorial on how to recreate such a setup. Please if you will, 
> post a link to said tutorial in the news listing, on useset, or on the 
> main site, in order to help newcomers better figure out the maze of lisp 
> life. Thanks, and thanks for all the hard work on ECL,
> Dustin

Hi Dustin,

congratulations for you nice application. First of all, regarding the
complaints some people had about the navigation panel, you can solve it
by fixing the width in pixels of the text in the "body" element from the
stylesheet.

As for your intro, it is quite well explained. There is one point you
mention, which is input/output of data from the lisp code. You should
know that input and output are by default directed to the stdin/stdout
of your C program. Windows programs sometimes have these streams closed
and therefore ECL will fail to produce output.

A simple fix is to redirect all interaction to a null stream:
	(setf *terminal-io* (make-broadcast-stream))

More than a solution this can be characterized as a hack, because at
some point your lisp will run on some error and it will need some
interaction on your side.

If you do not want your program to be interactive, you can handle all
errors using cl_safe_eval(). But if you want to allow for some responses
from the user, you should then build Gray streams using something like
Julian Stecklina's code in Xchat. At some point one should add a simple
applet to examples/ showing how to do it.

Hope this helps somehow.

Juanjo






More information about the ecl-devel mailing list