Lisp HUG Maillist Archive

Promises & Output Panel

For those who are interested, I’m making a couple more packages that I use quite often available:

* Futures & Promises
* Output Panel

https://github.com/massung/future

The future package is a simple implementation of futures and promises. It handles conditions, joining, and there are a couple extremely helpful macros. Importantly (for those who’ve used promises in JS), the code distinguishes between futures, promises, producer, and consumer (many libraries don’t).

https://github.com/massung/output-panel

I find myself very often dealing with lists of things that do not lend themselves to be elegantly rendered in a list-panel. And a column-layout of output-panes is extremely inefficient (both in memory and performance). I also want to handle selection properly, filtering, and more.

The output-panel class subclasses both output-pane and collection. It also mimics the choice class in behavior. It is extremely customizable, and handles most things you’d be interested in out of the box: drawing, selection (none, single, and multiple), mouse selection, select all, sorting, double click actions, item filtering, and right-click menus. It’s also quite efficient.

Hope some of you find these useful,
Jeff M.
Updated at: 2020-12-10 08:33 UTC