[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
more spam on extension language fu
From: |
dskr |
Subject: |
more spam on extension language fu |
Date: |
Wed, 5 Dec 2007 15:04:52 -0500 |
Hi,
One of the things I value most about Guile as an extension language is
the terrific set of facilities for introspection available. I've
always thought the included readline support was vile (mostly due to
readline itself) and so
I've been using my own pure-guile completion library for about 7 years.
=> (tab-complete-string "(socke" (current-module))
"(socket"
=> (tab-complete-string "(socket " (current-module))
"(socket family"
=> (tab-complete-string "(socket AF_IN" (current-module))
"(socket AF_INET"
=> (tab-complete-string "(socket AF_INET SOCK_ST" (current-module))
"(socket AF_INET SOCK_STREAM"
The big plus for me is that it has let me build GTK and AJAX
interfaces that get the benefit of completions
without the C-fu and fport orientation of the readline stuff. The fact
that this facility can be built in Scheme is a testament to Guile.
What's the point? The point is that Guile is my extension language and
also my interface for navigating my own sprawling code. I'm concerned
that many of the changes that would push Guile down the performance
path also impact the terrific and underused introspection features
that Guile already has.
Tab completion is a parlor trick. The fact that environments are
inspectable and that procedure source is recoverable mean that many
powerful lexical analysis tricks are easier in Guile than in many
other Scheme environments.
Cheers,
Dan Ridge
- more spam on extension language fu,
dskr <=