Logs: liberachat/#haskell
| 2025-11-19 14:51:29 | <lucabtz> | i was reading on the wikipedia page about Yoneda's lemma it is related to continuation style programming. someone has a resource on this |
| 2025-11-19 14:52:12 | <int-e> | (I misspoke, that's just what the code looks like; I'm not reconstructing why that works) |
| 2025-11-19 15:01:40 | → | bggd joins (~bgg@2a01:e0a:819:1510:5811:6b25:6842:9300) |
| 2025-11-19 15:08:53 | × | merijn quits (~merijn@77.242.116.146) (Ping timeout: 244 seconds) |
| 2025-11-19 15:16:39 | → | pr1sm joins (~pr1sm@2600:1000:b16f:9264:f8ae:817d:7595:2bb4) |
| 2025-11-19 15:17:04 | × | spew quits (~spew@user/spew) (Quit: WeeChat 4.6.3) |
| 2025-11-19 15:18:07 | → | merijn joins (~merijn@77.242.116.146) |
| 2025-11-19 15:27:08 | × | tromp quits (~textual@2001:1c00:3487:1b00:8d4:6354:928b:6095) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2025-11-19 15:28:20 | × | pr1sm quits (~pr1sm@2600:1000:b16f:9264:f8ae:817d:7595:2bb4) (Remote host closed the connection) |
| 2025-11-19 15:28:29 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Quit: No Ping reply in 180 seconds.) |
| 2025-11-19 15:29:50 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 2025-11-19 15:34:31 | × | X-Scale quits (~ARM@6.67.114.89.rev.vodafone.pt) (Ping timeout: 240 seconds) |
| 2025-11-19 15:46:54 | → | X-Scale joins (~ARM@6.67.114.89.rev.vodafone.pt) |
| 2025-11-19 15:47:12 | → | Square3 joins (~Square@user/square) |
| 2025-11-19 15:49:19 | Catty | is now known as CatGPT |
| 2025-11-19 15:52:10 | CatGPT | is now known as Catty |
| 2025-11-19 15:56:58 | → | haritz joins (~hrtz@140.228.70.141) |
| 2025-11-19 15:56:58 | × | haritz quits (~hrtz@140.228.70.141) (Changing host) |
| 2025-11-19 15:56:58 | → | haritz joins (~hrtz@user/haritz) |
| 2025-11-19 15:57:20 | → | tromp joins (~textual@2001:1c00:3487:1b00:e845:fcad:fefd:4441) |
| 2025-11-19 15:57:40 | × | trickard__ quits (~trickard@cpe-62-98-47-163.wireline.com.au) (Ping timeout: 264 seconds) |
| 2025-11-19 15:59:28 | × | CiaoSen quits (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 264 seconds) |
| 2025-11-19 16:01:46 | → | trickard_ joins (~trickard@cpe-62-98-47-163.wireline.com.au) |
| 2025-11-19 16:05:11 | × | DetourNetworkUK quits (DetourNetw@user/DetourNetworkUK) (Read error: Connection reset by peer) |
| 2025-11-19 16:06:07 | → | DetourNetworkUK joins (~DetourNet@user/DetourNetworkUK) |
| 2025-11-19 16:07:50 | × | synchromesh quits (~john@2406:5a00:2412:2c00:b060:d053:cb8a:93d5) (Read error: Connection reset by peer) |
| 2025-11-19 16:09:03 | → | synchromesh joins (~john@2406:5a00:2412:2c00:b060:d053:cb8a:93d5) |
| 2025-11-19 16:14:57 | × | chele quits (~chele@user/chele) (Remote host closed the connection) |
| 2025-11-19 16:21:41 | → | humasect joins (~humasect@dyn-192-249-132-90.nexicom.net) |
| 2025-11-19 16:28:57 | → | Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915) |
| 2025-11-19 16:29:28 | × | merijn quits (~merijn@77.242.116.146) (Ping timeout: 264 seconds) |
| 2025-11-19 16:30:01 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 264 seconds) |
| 2025-11-19 16:30:19 | Lord_of_Life_ | is now known as Lord_of_Life |
| 2025-11-19 16:31:30 | × | lucabtz quits (~lucabtz@user/lucabtz) (Remote host closed the connection) |
| 2025-11-19 16:38:57 | → | _bo joins (~bo@98.red-83-56-255.dynamicip.rima-tde.net) |
| 2025-11-19 16:39:49 | × | trickard_ quits (~trickard@cpe-62-98-47-163.wireline.com.au) (Ping timeout: 244 seconds) |
| 2025-11-19 16:42:40 | → | trickard_ joins (~trickard@cpe-62-98-47-163.wireline.com.au) |
| 2025-11-19 16:48:02 | <pie_> | meanwhile im sitting here intimidated by basic locking |
| 2025-11-19 16:50:34 | <EvanR> | instead of basic locking, consider holding the exclusive resource in an MVar or TVar and accessing it using an appropriate bracket |
| 2025-11-19 16:50:57 | <EvanR> | which will return the resource to the MVar in case of the thread fails |
| 2025-11-19 16:51:13 | <EvanR> | MVar or TMVar* |
| 2025-11-19 16:52:36 | × | EvanR quits (~EvanR@2600:1700:ba69:10:40ed:456a:b2ec:28ad) (Quit: Leaving) |
| 2025-11-19 16:52:56 | → | EvanR joins (~EvanR@user/evanr) |
| 2025-11-19 16:57:57 | ← | _bo parts (~bo@98.red-83-56-255.dynamicip.rima-tde.net) (Leaving) |
| 2025-11-19 16:59:53 | → | tzh joins (~tzh@c-76-115-131-146.hsd1.or.comcast.net) |
| 2025-11-19 17:03:21 | × | humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection) |
| 2025-11-19 17:06:38 | → | spew joins (~spew@user/spew) |
| 2025-11-19 17:14:38 | → | sindu joins (~sindu@2.148.32.207.tmi.telenormobil.no) |
| 2025-11-19 17:14:43 | × | spew quits (~spew@user/spew) (Quit: WeeChat 4.6.3) |
| 2025-11-19 17:43:13 | × | tromp quits (~textual@2001:1c00:3487:1b00:e845:fcad:fefd:4441) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2025-11-19 17:47:12 | → | machinedgod joins (~machinedg@d75-159-126-101.abhsia.telus.net) |
| 2025-11-19 17:51:43 | × | machinedgod quits (~machinedg@d75-159-126-101.abhsia.telus.net) (Ping timeout: 240 seconds) |
| 2025-11-19 17:53:04 | × | kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.3)) |
| 2025-11-19 17:56:24 | → | tromp joins (~textual@2001:1c00:3487:1b00:e845:fcad:fefd:4441) |
| 2025-11-19 18:14:44 | × | tromp quits (~textual@2001:1c00:3487:1b00:e845:fcad:fefd:4441) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2025-11-19 18:14:50 | → | haltingsolver joins (~cmo@2604:3d09:207f:8000::d1dc) |
| 2025-11-19 18:18:27 | → | ouilemur joins (~jgmerritt@user/ouilemur) |
| 2025-11-19 18:19:17 | → | vanishingideal joins (~vanishing@user/vanishingideal) |
| 2025-11-19 18:29:34 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 2025-11-19 18:30:13 | → | tromp joins (~textual@2001:1c00:3487:1b00:e845:fcad:fefd:4441) |
| 2025-11-19 18:30:48 | → | target_i joins (~target_i@user/target-i/x-6023099) |
| 2025-11-19 18:39:38 | → | ft joins (~ft@p4fc2aaeb.dip0.t-ipconnect.de) |
| 2025-11-19 18:40:08 | → | Lycurgus joins (~juan@user/Lycurgus) |
| 2025-11-19 18:42:00 | × | Digit quits (~user@user/digit) (Ping timeout: 252 seconds) |
| 2025-11-19 18:42:23 | × | Googulator98 quits (~Googulato@2a01-036d-0106-0231-4475-80b4-5cdc-43d6.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-11-19 18:42:46 | → | Googulator98 joins (~Googulato@2a01-036d-0106-0231-4475-80b4-5cdc-43d6.pool6.digikabel.hu) |
| 2025-11-19 18:43:04 | → | Digitteknohippie joins (~user@user/digit) |
| 2025-11-19 18:43:50 | × | L29Ah quits (~L29Ah@wikipedia/L29Ah) (Read error: Connection reset by peer) |
| 2025-11-19 18:46:39 | Digitteknohippie | is now known as Digit |
| 2025-11-19 18:47:15 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 2025-11-19 18:48:28 | × | trickard_ quits (~trickard@cpe-62-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-11-19 18:48:42 | → | trickard_ joins (~trickard@cpe-62-98-47-163.wireline.com.au) |
| 2025-11-19 18:48:49 | × | metabulation quits (~wootehfoo@user/wootehfoot) (Quit: Leaving) |
| 2025-11-19 18:54:35 | → | weary-traveler joins (~user@user/user363627) |
| 2025-11-19 18:59:50 | × | tomboy64 quits (~tomboy64@user/tomboy64) (Ping timeout: 244 seconds) |
| 2025-11-19 19:01:42 | → | tomboy64 joins (~tomboy64@user/tomboy64) |
| 2025-11-19 19:05:29 | <[exa]> | merijn: can you re-use the postgresql one? |
| 2025-11-19 19:06:52 | <[exa]> | int-e tomsmeding: to solve the backtick situation I propose -XFronTicks that gives a proper ` id ´ |
| 2025-11-19 19:10:26 | <tomsmeding> | EvanR: and then you have two exclusive resources and you don't take the locks in the right order and you deadlock |
| 2025-11-19 19:13:40 | <[exa]> | tomsmeding: at least the deadlocks are usually solvable&preemptable if the locks are properly bracketed |
| 2025-11-19 19:17:43 | <tomsmeding> | [exa]: what do you mean with properly bracketed? Do you mean that the runtime would throw a "blocked indefinitely on MVar" exception and kill one of the threads? |
| 2025-11-19 19:18:46 | <tomsmeding> | because relying on that sounds like asking for trouble |
| 2025-11-19 19:19:19 | → | Inline joins (~inlinE@2001-4dd7-ae97-0-4674-ae6d-2607-c022.ipv6dyn.netcologne.de) |
| 2025-11-19 19:20:01 | → | jmcantrell joins (~weechat@user/jmcantrell) |
| 2025-11-19 19:20:26 | <[exa]> | "properly bracketed" = acquire all locks in predictable order ideally before any work starts, release them in reverse order. If you manage to have a global predictable order, there's no deadlocks. If there's still a deadlock, at least you get an exception which doesn't interrupt any actual work and retrying is cheap&safe |
| 2025-11-19 19:20:51 | <[exa]> | (it's got a name in DBMSes but I don't remember that name) |
| 2025-11-19 19:21:24 | → | aditya_an1l joins (~aditya_an@user/aditya-an1l:63825) |
| 2025-11-19 19:21:29 | <tomsmeding> | [exa]: if you take the locks in a globally consistent order there are no deadlocks |
| 2025-11-19 19:21:50 | <tomsmeding> | not due to those locks in any case |
| 2025-11-19 19:23:16 | <[exa]> | yap |
| 2025-11-19 19:25:09 | × | jmcantrell quits (~weechat@user/jmcantrell) (Quit: WeeChat 4.7.1) |
| 2025-11-19 19:25:26 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Quit: ljdarj) |
| 2025-11-19 19:25:43 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 2025-11-19 19:27:27 | → | Tuplanolla joins (~Tuplanoll@91-152-225-194.elisa-laajakaista.fi) |
| 2025-11-19 19:29:37 | → | jmcantrell joins (~weechat@user/jmcantrell) |
| 2025-11-19 19:34:34 | × | Googulator98 quits (~Googulato@2a01-036d-0106-0231-4475-80b4-5cdc-43d6.pool6.digikabel.hu) (Quit: Client closed) |
| 2025-11-19 19:34:59 | → | Googulator98 joins (~Googulato@2a01-036d-0106-0231-4475-80b4-5cdc-43d6.pool6.digikabel.hu) |
| 2025-11-19 19:35:54 | × | jmcantrell quits (~weechat@user/jmcantrell) (Ping timeout: 252 seconds) |
| 2025-11-19 19:44:38 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Quit: ljdarj) |
| 2025-11-19 19:44:52 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
All times are in UTC.