On Jan 30, 2012, at 13:27, Matt S Trout wrote:
>> Tk is not a hard dependency at the moment, unless you want an event loop. AE
>> will not be a hard dependency (with my proposed patch), either.
>
> So far as I can tell, ReadLine simply wants to know when a filehandle is
> readable.
>
> So rather than adding yet another hard-coded piece of loop support (and one
> that as noted in my other message is unusable in some environments), perhaps
> we could simply add a callback interface
That's a very sane idea. It nicely sidesteps some maintenance pitfalls, like having to explicitly list supported libraries and optional dependencies.
> my $ae_cb = sub {
> my $cv = AE::cv;
> AE::io($_[0]->in, 0, sub { $cv->send });
> $cv->recv;
> };
> Term::ReadLine->new(..., read_callback => $ae_cb);
That's kind of a weird and AE-specific way to do that callback. A more portable API would have two methods: One to access the library's file handle, and another to be called when that handle is ready to be read.
--
Rocco Caputo <rcaputo@pobox.com>