Newest at the top
| 2025-12-18 21:24:08 +0100 | <int-e> | Other languages had you write dozens of lines of marshalling code by hand for the most trivial functions. |
| 2025-12-18 21:24:07 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-18 21:23:31 +0100 | <int-e> | And fwiw, as FFIs go Haskell's is actually pretty nice, especially considering how old it is. |
| 2025-12-18 21:22:55 +0100 | <monochrom> | (It's what gtk2hs does.) |
| 2025-12-18 21:22:35 +0100 | <monochrom> | (How better? You can send a f**king IO action as a message too. It doesn't even need to be data!) |
| 2025-12-18 21:22:00 +0100 | omidmash | (~omidmash@user/omidmash) omidmash |
| 2025-12-18 21:21:53 +0100 | <monochrom> | And is particularly sweet in Haskell because Haskell has a much better API for sending messages to worker threads and/or pools. |
| 2025-12-18 21:21:47 +0100 | omidmash | (~omidmash@user/omidmash) (Quit: Ping timeout (120 seconds)) |
| 2025-12-18 21:21:38 +0100 | Googulator72 | (~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-12-18 21:21:06 +0100 | <monochrom> | If you want tight control on which thread does what, the technique of "worker thread pool" has been well known for decades. |
| 2025-12-18 21:20:41 +0100 | Googulator75 | (~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) |
| 2025-12-18 21:19:28 +0100 | <int-e> | C libraries don't control from which threads they're called either |
| 2025-12-18 21:19:27 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-18 21:19:17 +0100 | <monochrom> | You can assume that the end user has made the correct choice between forkIO and forkOS. |
| 2025-12-18 21:18:23 +0100 | qqe | (~qqq@185.54.20.98) |
| 2025-12-18 21:18:17 +0100 | <haskellbridge> | <Liamzee> Still, if I'm trying to build a library wrapper, I can't control whether the end user is using forkIO or forkOS |
| 2025-12-18 21:17:42 +0100 | <haskellbridge> | <Liamzee> yes, I've used it. |
| 2025-12-18 21:17:36 +0100 | <haskellbridge> | <Liamzee> So, now I'm thinking no-inline unsafePerformIO global locks. ??? |
| 2025-12-18 21:17:36 +0100 | <monochrom> | Have you heard of forkOS? |
| 2025-12-18 21:16:47 +0100 | <monochrom> | I am not interested in blaming C, or blaming anything, at least for now. |
| 2025-12-18 21:16:33 +0100 | <haskellbridge> | <Liamzee> I've been trying to build a wrapper around the tinyfiledialogs library, and it turns out that traverse_ forkIO, on Macos, at least, will cause the script runner to jam buffers |
| 2025-12-18 21:16:03 +0100 | <haskellbridge> | <Liamzee> From experienced production devs: is it cursed? |
| 2025-12-18 21:15:51 +0100 | <haskellbridge> | <Liamzee> I mean you can always blame C etc for it |
| 2025-12-18 21:15:39 +0100 | <monochrom> | Is Haskell concurrency + FFI cursed? |
| 2025-12-18 21:14:10 +0100 | <haskellbridge> | <Liamzee> is the real reason people don't want to use Haskell as an orchestrator that Haskell concurrency + FFI is cursed? |
| 2025-12-18 21:12:58 +0100 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection) |
| 2025-12-18 21:08:39 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2025-12-18 21:03:39 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-18 20:55:13 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2025-12-18 20:52:45 +0100 | lockna | (~obr@2001:4bb8:103:9f41:2b3f:110b:6da3:4d72) (Remote host closed the connection) |
| 2025-12-18 20:52:12 +0100 | l0ckna | (~obr@2001:4bb8:103:9f41:2b3f:110b:6da3:4d72) |
| 2025-12-18 20:52:10 +0100 | lockna | (~obr@2001:4bb8:103:9f41:2b3f:110b:6da3:4d72) |
| 2025-12-18 20:51:55 +0100 | lockna | (~obr@2001:4bb8:103:9f41:2b3f:110b:6da3:4d72) (Remote host closed the connection) |
| 2025-12-18 20:51:21 +0100 | lockna | (~obr@2001:4bb8:103:9f41:2b3f:110b:6da3:4d72) |
| 2025-12-18 20:49:55 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-18 20:39:19 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2025-12-18 20:39:08 +0100 | pavonia | (~user@user/siracusa) siracusa |
| 2025-12-18 20:34:11 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2025-12-18 20:33:40 +0100 | Lord_of_Life_ | Lord_of_Life |
| 2025-12-18 20:32:56 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 240 seconds) |
| 2025-12-18 20:32:20 +0100 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) Lord_of_Life |
| 2025-12-18 20:29:51 +0100 | CiaoSen | (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen |
| 2025-12-18 20:28:52 +0100 | wootehfoot | (~wootehfoo@user/wootehfoot) (Ping timeout: 244 seconds) |
| 2025-12-18 20:28:19 +0100 | shaeto | (~Shaeto@94.25.234.244) (Client Quit) |
| 2025-12-18 20:27:37 +0100 | shaeto | (~Shaeto@94.25.234.244) |
| 2025-12-18 20:26:50 +0100 | shaeto | (~Shaeto@94.25.234.244) (Quit: WeeChat 4.1.1) |
| 2025-12-18 20:22:55 +0100 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-12-18 20:20:55 +0100 | weary-traveler | (~user@user/user363627) user363627 |
| 2025-12-18 20:20:21 +0100 | Tuplanolla | (~Tuplanoll@88-114-88-95.elisa-laajakaista.fi) Tuplanolla |
| 2025-12-18 20:19:06 +0100 | talismanick | (~user@2601:644:8502:d340::cd3d) talismanick |