[Haskell-cafe] Re: Projects that depend on the vty package?

Corey O'Connor coreyoconnor at gmail.com
Sat Dec 6 18:14:55 EST 2008


On Sat, Dec 6, 2008 at 2:21 PM, Simon Michael <simon at joyful.com> wrote:
> Hi Corey.. I noticed this thread via Haskell Weekly News.
>
> Corey O'Connor wrote:
>>
>> For further development of the vty package I'm really only paying
>> attention to the requirements that fall out of the Yi project. Are
>> there any other projects that depend on the vty package?
>
> Why yes! I just used it within the hledger project.

Thanks for the reply! I will try out hledger and verify (As much as I
can) that I don't introduce regressions with any changes I make.

I'm going to add the issues you outline below to VTY's issue tracker
(http://trac.haskell.org/vty/)
If you think of anything else feel free to file an issue there. Though
reports directly sent to me or added to the Yi issue tracker will work
as well.

> I expected renderBS to convert a multiline string into an Image of height >
> 1.

Agreed.
http://trac.haskell.org/vty/ticket/8

> It might be nice if the <-> and <|> combinators were more forgiving about
> mismatching dimensions, I get unexpected failures from them. After a failure
> like this my program quits but the terminal is not properly reset until I
> run "reset" manually.

Oh definitely. This bit me a few times when adding GUI tabs to Yi. I'd
much prefer not to have to worry about matching dimensions.
http://trac.haskell.org/vty/ticket/9

> I believe vty supports only whole-screen updates, and you could write more
> performant uis by careful use of *curses ? My experiment is quick enough for
> regular use on my macbook, but I can only move the cursor so fast and when I
> highlight the whole line that it's on there is noticeable double-display
> while I move. I haven't tried profiling yet. I'd welcome any tips on how to
> write a cross-platform TUI that updates instantly!

Some optimization is attempted on update. I haven't looked into the
details of how this is done yet. There is an issue with the current
process with regards to multi-byte characters. After I investigate
that issue I should know more.

Cheers,
Corey O'Connor


More information about the Haskell-Cafe mailing list