balsoft / lambda-launcher

Application launcher in haskell. Mostly Just For Fun.
The Unlicense
72 stars 6 forks source link

Use streamly for concurrency #12

Closed anka-213 closed 3 years ago

anka-213 commented 3 years ago

As I mentioned in #7, streamly is a nice streaming library with good support for concurrency. I tried replacing the old forkIO + Chan method with streamly to learn about the library, and I'd say the change was very simple and the result is elegant.

Further possibilites would be to replace the list with a stream inside the plugins as well, but that is probably overkill.

balsoft commented 3 years ago

Thanks! This is in fact a lot more elegant than my solution with channels.

If you're actually using this, maybe you would also be interested in helping me with #11. I'm annoyed by it, but not annoyed enough to spend time on creating a custom widget that would focus the input field upon appliction startup.

anka-213 commented 3 years ago

I'm not actively using it, I was mostly just using it to experiment with streamly. ;) I was also surprised that it actually worked on MacOS without any changes. :) But, yes. I did notice that issue during testing, and it was indeed annoying.

balsoft commented 3 years ago

The fact that it runs out of the box on macOS is surprising to me as well, I never really thought about it. A testament to cross-platform-ity of GTK and Haskell, I guess.

Anyways, if you're not using it I guess it falls on me to fix the bug, thank you for your help anyways!