Some questions about Fudgets library

I wonder why there is no Fudgets package in Hackage. I found this, but the fudgets link is broken: http://hackage.haskell.org/user/ThomasHallgren Nevertheless, there is a cabalized package in the Fudgets homepage, so it's strange it's not in Hackage. Also, is there an arrowized version of Fudgets? If not, why? Is there some fundamental reason that makes it impossible to port it to the arrows framework or simply nobody cared to port it? (Also, the license seems to not allow modifications.) I'm trying to write a bittorrent client in Haskell. I decided to use arrows for it and took a look at Fudgets and Yampa. I haven't decided yet which one to use. Fudgets seems more suitable and I like it more, but the fact that it doesn't use the arrow notation and classes is a bit annoying. I read that Fruit is more or less a mix of Fudgets and Yampa that uses arrows. Sadly, it's unmaintained, the web doesn't exist and it's not in Hackage. Is there any other Fudgets-like option? Greetings.

Hi Antonio,
I've long envisioned a reimplementation of Fudgets using Monadic Stream
Functions [1].
MSFs are like Yampa's SFs but with constrained side effects and without the
mandatory continuous time (but you can put it back).
I don't think there is a fundamental limitation other than finding the time
to do it. Sometimes there's issues with implementing arr in these kinds of
systems (because it lifts a pure function and so it creates a widget with
uninitialized state), but it can be worked out.
Ping me up if you want to talk about this. I was going to do something
along these lines by the end of my PhD, so I thought a bit about how to do
it. I also did some experiments for application debugging that used similar
ideas.
All the best,
Ivan
[1] https://github.com/ivanperez-keera/dunai/
On Thu, 11 Mar 2021 at 17:13, Antonio
I wonder why there is no Fudgets package in Hackage.
I found this, but the fudgets link is broken:
http://hackage.haskell.org/user/ThomasHallgren
Nevertheless, there is a cabalized package in the Fudgets homepage, so it's strange it's not in Hackage.
Also, is there an arrowized version of Fudgets? If not, why? Is there some fundamental reason that makes it impossible to port it to the arrows framework or simply nobody cared to port it? (Also, the license seems to not allow modifications.)
I'm trying to write a bittorrent client in Haskell. I decided to use arrows for it and took a look at Fudgets and Yampa. I haven't decided yet which one to use. Fudgets seems more suitable and I like it more, but the fact that it doesn't use the arrow notation and classes is a bit annoying.
I read that Fruit is more or less a mix of Fudgets and Yampa that uses arrows. Sadly, it's unmaintained, the web doesn't exist and it's not in Hackage. Is there any other Fudgets-like option?
Greetings. _______________________________________________ Haskell-Cafe mailing list To (un)subscribe, modify options or view archives go to: http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe Only members subscribed via the mailman list are allowed to post.

Thanks! Will take a look at it. Greetings, Antonio El Thu, Mar 11, 2021 at 05:20:57PM -0500, Ivan Perez escribió:
Hi Antonio,
I've long envisioned a reimplementation of Fudgets using Monadic Stream Functions [1].
MSFs are like Yampa's SFs but with constrained side effects and without the mandatory continuous time (but you can put it back).
I don't think there is a fundamental limitation other than finding the time to do it. Sometimes there's issues with implementing arr in these kinds of systems (because it lifts a pure function and so it creates a widget with uninitialized state), but it can be worked out. Ping me up if you want to talk about this. I was going to do something along these lines by the end of my PhD, so I thought a bit about how to do it. I also did some experiments for application debugging that used similar ideas.
All the best,
Ivan
[1] https://github.com/ivanperez-keera/dunai/
On Thu, 11 Mar 2021 at 17:13, Antonio
wrote: I wonder why there is no Fudgets package in Hackage.
I found this, but the fudgets link is broken:
http://hackage.haskell.org/user/ThomasHallgren
Nevertheless, there is a cabalized package in the Fudgets homepage, so it's strange it's not in Hackage.
Also, is there an arrowized version of Fudgets? If not, why? Is there some fundamental reason that makes it impossible to port it to the arrows framework or simply nobody cared to port it? (Also, the license seems to not allow modifications.)
I'm trying to write a bittorrent client in Haskell. I decided to use arrows for it and took a look at Fudgets and Yampa. I haven't decided yet which one to use. Fudgets seems more suitable and I like it more, but the fact that it doesn't use the arrow notation and classes is a bit annoying.
I read that Fruit is more or less a mix of Fudgets and Yampa that uses arrows. Sadly, it's unmaintained, the web doesn't exist and it's not in Hackage. Is there any other Fudgets-like option?
Greetings. _______________________________________________ Haskell-Cafe mailing list To (un)subscribe, modify options or view archives go to: http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe Only members subscribed via the mailman list are allowed to post.

Hi Antonio, I have contemplated publishing Fudgets on Hackage, and the reason for the broken link is that I uploaded a package candidate [1]. But Fudgets has remained essentially the same since the mid 90s, and while it still works and is available from the Fudgets home page [2], its age shows in many ways, and that's why I hesitate to publish it on Hackage... Best regards, Thomas H [1] https://hackage.haskell.org/package/fudgets-0.18.2/candidate [2] https://www.altocumulus.org/Fudgets/ On 2021-03-11 23:12, Antonio wrote:
I wonder why there is no Fudgets package in Hackage.
I found this, but the fudgets link is broken:
http://hackage.haskell.org/user/ThomasHallgren
Nevertheless, there is a cabalized package in the Fudgets homepage, so it's strange it's not in Hackage.
Also, is there an arrowized version of Fudgets? If not, why? Is there some fundamental reason that makes it impossible to port it to the arrows framework or simply nobody cared to port it? (Also, the license seems to not allow modifications.)
I'm trying to write a bittorrent client in Haskell. I decided to use arrows for it and took a look at Fudgets and Yampa. I haven't decided yet which one to use. Fudgets seems more suitable and I like it more, but the fact that it doesn't use the arrow notation and classes is a bit annoying.
I read that Fruit is more or less a mix of Fudgets and Yampa that uses arrows. Sadly, it's unmaintained, the web doesn't exist and it's not in Hackage. Is there any other Fudgets-like option?
Greetings. _______________________________________________ Haskell-Cafe mailing list To (un)subscribe, modify options or view archives go to: http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe Only members subscribed via the mailman list are allowed to post.

Hi Thomas, Oh, I didn't see that candidate. It's nice to have Fudgets in Hackage eventually. I'll try to arrowize it, but it will take quite some time. I'll probably finish my bittorrent client first with Fudgets as it's now, in order to have a good grasp of it, and later I'll take a dive into X11 and Fudgets internals to try to modernize it. Best regards, Antonio El Fri, Mar 12, 2021 at 12:28:07PM +0100, Thomas Hallgren escribió:
Hi Antonio,
I have contemplated publishing Fudgets on Hackage, and the reason for the broken link is that I uploaded a package candidate [1]. But Fudgets has remained essentially the same since the mid 90s, and while it still works and is available from the Fudgets home page [2], its age shows in many ways, and that's why I hesitate to publish it on Hackage...
Best regards, Thomas H
[1] https://hackage.haskell.org/package/fudgets-0.18.2/candidate [2] https://www.altocumulus.org/Fudgets/
On 2021-03-11 23:12, Antonio wrote:
I wonder why there is no Fudgets package in Hackage.
I found this, but the fudgets link is broken:
http://hackage.haskell.org/user/ThomasHallgren
Nevertheless, there is a cabalized package in the Fudgets homepage, so it's strange it's not in Hackage.
Also, is there an arrowized version of Fudgets? If not, why? Is there some fundamental reason that makes it impossible to port it to the arrows framework or simply nobody cared to port it? (Also, the license seems to not allow modifications.)
I'm trying to write a bittorrent client in Haskell. I decided to use arrows for it and took a look at Fudgets and Yampa. I haven't decided yet which one to use. Fudgets seems more suitable and I like it more, but the fact that it doesn't use the arrow notation and classes is a bit annoying.
I read that Fruit is more or less a mix of Fudgets and Yampa that uses arrows. Sadly, it's unmaintained, the web doesn't exist and it's not in Hackage. Is there any other Fudgets-like option?
Greetings. _______________________________________________ Haskell-Cafe mailing list To (un)subscribe, modify options or view archives go to: http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe Only members subscribed via the mailman list are allowed to post.
_______________________________________________ Haskell-Cafe mailing list To (un)subscribe, modify options or view archives go to: http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe Only members subscribed via the mailman list are allowed to post.

Hi, Finally, after much reading and thinking, I decided to not use fudgets for my bittorrent application, so my plan to modernize the Fudget library will be on hold for some time, at least until I finish the application. Anyway, I have now a pretty clear idea of how to modernize it, and will do it eventually (it'll be a quite radical rewriting). Why not use fudgets for bittorrent? Well, I come to the conclusion that fudgets are great for writing client/server applications, where there is bidirectional flow of information but requests only flow in one direction; but, for p2p applications, where both information and requests flow bidirectionally, fudgets are not the most natural way to implement them. So I'll search for a different abstraction or maybe switch to a logic language or functional-logic language. Best regards, Antonio Regidor Garcia
participants (4)
-
Antonio
-
Antonio R G
-
Ivan Perez
-
Thomas Hallgren