[ltk-user] [OT] Re: Mysterious breakage
Daniel Herring
dherring at tentpost.com
Tue Oct 5 02:41:39 UTC 2010
On Mon, 4 Oct 2010, Kenneth Tilton wrote:
> This link might help: http://common-lisp.net/project/cffi/
>
> It's time for LTk to lose the stream crutch. FFI isn't /that/ hard, and
> it only needs to be done by the LTk maintainers.
Yes Kenny, we know about the intarwebs and FFI. :)
Re HTML:
The HTML canvas owes a bit to its Tk ancestor. That said, none of the
webkit implementations were ready for writing standalone apps last I
checked (a few months ago); and I personally hate browser "apps".
Somehow writing CL glue to a handful of nonstandard layers that sanitize
the mass of overengineered, underperforming HTML technologies (including
Flash) just doesn't appeal to me. For all that effort, one could write a
better custom gui in C++ using the enjoyable Qt framework and implement a
simple FFI layer for passing application-specific data. Plus its more
reliably portable. For the squeamish, there are also bindings like
CommonQt.
Re FFI:
There was a Tk interface that used FFI.
http://www.cliki.net/Lisp-Tk
Didn't cells have such a beast as well?
The LTk design has some nice features over an FFI layer:
- better portability across ABI changes (the TCL language is the standard
API; the C interface is less so), generally easier to invoke wish than
locate a library, etc.
- it is trivial to install a small "thin app" and host all the
functionality (including gui code and upgrades) on a remote server
- it is trivial to bypass LTk and invoke Tk directly; this is useful when
binding new features, or when the LTk interface is suboptimal
- IMO it is generally easier to debug (echo the streams vs invoke gdb)
Streams aren't a crutch. Port 80, maybe; but streams, no.
If I were starting a new GUI toolkit today, I think it would be built on a
lower, simpler substrate with more possibilities for novel widgets and
user interactions: OpenGL/OpenAL and DirectX.
:)
- Daniel
More information about the ltk-user
mailing list