Logs on 2023-02-17 (liberachat/#haskell)
| 00:00:05 | × | theproffesor quits (~theproffe@user/theproffesor) (Ping timeout: 260 seconds) |
| 00:00:58 | × | mncheck quits (~mncheck@193.224.205.254) (Ping timeout: 246 seconds) |
| 00:01:43 | → | segfaultfizzbuzz joins (~segfaultf@108.211.201.53) |
| 00:16:42 | → | freeside joins (~mengwong@103.252.202.170) |
| 00:17:03 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 248 seconds) |
| 00:21:12 | × | freeside quits (~mengwong@103.252.202.170) (Ping timeout: 255 seconds) |
| 00:21:25 | → | mauke_ joins (~mauke@user/mauke) |
| 00:22:33 | × | mauke quits (~mauke@user/mauke) (Ping timeout: 255 seconds) |
| 00:22:33 | mauke_ | is now known as mauke |
| 00:24:56 | × | stackdroid18 quits (14094@de1.hashbang.sh) (Quit: hasta la vista... tchau!) |
| 00:46:23 | × | harveypwca quits (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving) |
| 00:49:15 | → | tomboy64 joins (~tomboy64@user/tomboy64) |
| 00:52:09 | → | wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com) |
| 00:52:09 | × | wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
| 00:52:09 | → | wroathe joins (~wroathe@user/wroathe) |
| 01:00:14 | × | tomboy64 quits (~tomboy64@user/tomboy64) (Quit: Off to see the wizard.) |
| 01:01:33 | × | king_gs quits (~Thunderbi@2806:103e:29:1779:fe23:2879:3575:ce6a) (Remote host closed the connection) |
| 01:01:52 | → | king_gs joins (~Thunderbi@2806:103e:29:1779:fe23:2879:3575:ce6a) |
| 01:02:08 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 01:04:10 | → | califax joins (~califax@user/califx) |
| 01:04:49 | × | gpncarl quits (~gpncarl@210.12.195.6) (Read error: Connection reset by peer) |
| 01:05:12 | → | freeside joins (~mengwong@103.252.202.170) |
| 01:05:14 | → | gpncarl joins (~gpncarl@210.12.195.6) |
| 01:07:28 | × | caryhartline quits (~caryhartl@cpe-76-184-187-103.tx.res.rr.com) (Quit: caryhartline) |
| 01:09:15 | × | zeenk quits (~zeenk@2a02:2f04:a214:1e00::7fe) (Quit: Konversation terminated!) |
| 01:10:56 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 01:13:04 | × | freeside quits (~mengwong@103.252.202.170) (Ping timeout: 246 seconds) |
| 01:13:51 | → | freeside joins (~mengwong@103.252.202.170) |
| 01:14:53 | → | tomboy64 joins (~tomboy64@user/tomboy64) |
| 01:17:04 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 01:18:21 | × | freeside quits (~mengwong@103.252.202.170) (Ping timeout: 255 seconds) |
| 01:18:49 | × | tomboy64 quits (~tomboy64@user/tomboy64) (Read error: Connection reset by peer) |
| 01:18:50 | → | tomboy65 joins (~tomboy64@user/tomboy64) |
| 01:24:52 | × | enoq quits (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq) |
| 01:37:35 | × | xff0x quits (~xff0x@2405:6580:b080:900:9a0c:738d:f5ce:fcbe) (Ping timeout: 252 seconds) |
| 01:37:56 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 01:43:06 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 255 seconds) |
| 01:44:11 | × | king_gs quits (~Thunderbi@2806:103e:29:1779:fe23:2879:3575:ce6a) (Ping timeout: 252 seconds) |
| 01:45:57 | → | king_gs joins (~Thunderbi@187.201.41.239) |
| 01:56:13 | × | waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Quit: WeeChat 3.8) |
| 01:57:14 | → | waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
| 02:04:38 | → | king_gs1 joins (~Thunderbi@2806:103e:29:1779:adfe:a3a2:67c6:583e) |
| 02:04:46 | × | king_gs quits (~Thunderbi@187.201.41.239) (Read error: Connection reset by peer) |
| 02:04:46 | king_gs1 | is now known as king_gs |
| 02:08:45 | ← | Sinbad parts (~Sinbad@user/sinbad) (WeeChat 3.8) |
| 02:12:07 | → | freeside joins (~mengwong@103.252.202.170) |
| 02:16:46 | × | freeside quits (~mengwong@103.252.202.170) (Ping timeout: 246 seconds) |
| 02:22:42 | → | rettahcay joins (~kaushikv@c-24-20-37-193.hsd1.or.comcast.net) |
| 02:23:13 | × | oldfashionedcow quits (~Rahul_San@user/oldfashionedcow) (Quit: WeeChat 3.8) |
| 02:23:36 | → | xff0x joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
| 02:24:22 | → | bilegeek joins (~bilegeek@2600:1008:b00e:a774:6a7c:cc22:f7ac:e202) |
| 02:25:10 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 02:27:52 | → | ddellacosta joins (~ddellacos@146.70.171.157) |
| 02:28:32 | × | gmg quits (~user@user/gehmehgeh) (Ping timeout: 255 seconds) |
| 02:31:58 | → | lackita joins (~user@73.114.250.252) |
| 02:35:43 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 02:39:10 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 246 seconds) |
| 02:40:48 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:c515:5d78:dd35:61fc) |
| 02:45:10 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:c515:5d78:dd35:61fc) (Ping timeout: 260 seconds) |
| 02:48:46 | → | cheater_ joins (~Username@user/cheater) |
| 02:50:22 | × | segfaultfizzbuzz quits (~segfaultf@108.211.201.53) (Ping timeout: 246 seconds) |
| 02:51:30 | × | cheater quits (~Username@user/cheater) (Ping timeout: 255 seconds) |
| 02:51:40 | cheater_ | is now known as cheater |
| 02:56:19 | → | khumba joins (~khumba@user/khumba) |
| 02:59:33 | → | lackita` joins (~user@73.114.250.252) |
| 03:01:20 | × | lackita quits (~user@73.114.250.252) (Ping timeout: 248 seconds) |
| 03:01:48 | × | jero98772 quits (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff) (Remote host closed the connection) |
| 03:04:51 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 03:21:09 | → | lackita`` joins (~user@73.114.250.252) |
| 03:23:33 | × | lackita` quits (~user@73.114.250.252) (Ping timeout: 268 seconds) |
| 03:30:05 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
| 03:35:02 | <sm> | how do you get a stack trace for a bad head or printf call again... ? build with profiling and -rtsopts, then +RTS -Xc or something ? |
| 03:35:11 | → | burnsidesLlama joins (~burnsides@119247164140.ctinets.com) |
| 03:39:26 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 03:39:39 | × | opticblast quits (~Thunderbi@172.58.82.191) (Ping timeout: 255 seconds) |
| 03:42:30 | × | terrorjack quits (~terrorjac@2a01:4f8:1c1e:4e8c::) (Quit: The Lounge - https://thelounge.chat) |
| 03:42:49 | → | freeside joins (~mengwong@103.252.202.170) |
| 03:42:59 | × | lackita`` quits (~user@73.114.250.252) (Ping timeout: 252 seconds) |
| 03:43:53 | → | terrorjack joins (~terrorjac@2a01:4f8:1c1e:4e8c::) |
| 03:44:09 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 255 seconds) |
| 03:46:50 | → | opticblast joins (~Thunderbi@172.58.82.191) |
| 03:47:45 | × | freeside quits (~mengwong@103.252.202.170) (Ping timeout: 255 seconds) |
| 03:49:27 | <sm> | no |
| 03:51:16 | × | td_ quits (~td@i5387092D.versanet.de) (Ping timeout: 246 seconds) |
| 03:51:16 | × | king_gs quits (~Thunderbi@2806:103e:29:1779:adfe:a3a2:67c6:583e) (Ping timeout: 252 seconds) |
| 03:52:01 | <sm> | boom! stack exec --profile -- hledger test +RTS -xc -RTS -- -p '/one space/' |
| 03:52:12 | → | razetime joins (~Thunderbi@117.193.4.84) |
| 03:53:11 | <sm> | but it shows nothing below Test.Tasty.CmdLine.defaultMainWithIngredients. Disappointing, haskell.... |
| 03:53:17 | → | td_ joins (~td@i53870917.versanet.de) |
| 03:54:35 | → | eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
| 03:55:40 | <sm> | oops, my mistake. It has printed about 50 stack traces. lol |
| 03:56:06 | <sm> | man it's a good thing bugs are rare |
| 03:57:02 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
| 03:57:02 | → | finn_elija joins (~finn_elij@user/finn-elija/x-0085643) |
| 03:57:02 | finn_elija | is now known as FinnElija |
| 03:57:49 | <albet70> | what's the relationship between foldr and foldr1? |
| 03:58:41 | <albet70> | foldr isn't natural, reduce is natural |
| 03:59:01 | <albet70> | foldl1 I mean |
| 04:03:32 | × | bilegeek quits (~bilegeek@2600:1008:b00e:a774:6a7c:cc22:f7ac:e202) (Quit: Leaving) |
| 04:16:03 | <jackdk> | foldr1 is partial on standard lists |
| 04:16:28 | <[Leary]> | azure_vermilion: The signature would need to be `(a -> b -> b) -> b -> [(k, a)] -> Map k b`. However, we don't need to consider the case of "folding down zero duplicates", so it's natural to "do `foldr1` rather than `foldr`". If this were for total-map instead, the `foldr` version would make sense and the supplied `b` would become the fallback value of the Map. |
| 04:16:40 | <[Leary]> | Oh, I didn't notice I was scrolled. |
| 04:17:15 | × | burnsidesLlama quits (~burnsides@119247164140.ctinets.com) () |
| 04:18:57 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 04:19:00 | × | ddellacosta quits (~ddellacos@146.70.171.157) (Quit: WeeChat 3.8) |
| 04:19:55 | → | freeside joins (~mengwong@103.252.202.170) |
| 04:26:35 | → | mbuf joins (~Shakthi@49.205.81.25) |
| 04:26:36 | × | Everything quits (~Everythin@46.185.124.65) (Quit: leaving) |
| 04:50:45 | × | codaraxis quits (~codaraxis@user/codaraxis) (Ping timeout: 255 seconds) |
| 04:54:36 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 04:59:45 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds) |
| 05:05:16 | → | falafel joins (~falafel@2607:fb91:143f:e47f:8a0c:7c12:4cf9:ecf7) |
| 05:07:50 | × | EvanR quits (~EvanR@user/evanr) (Remote host closed the connection) |
| 05:08:11 | → | EvanR joins (~EvanR@user/evanr) |
| 05:12:28 | × | thegeekinside quits (~thegeekin@189.180.66.126) (Ping timeout: 246 seconds) |
| 05:16:50 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds) |
| 05:21:43 | → | dsrt^ joins (~dsrt@c-24-30-76-89.hsd1.ga.comcast.net) |
| 05:25:08 | → | codaraxis joins (~codaraxis@user/codaraxis) |
| 05:36:32 | × | falafel quits (~falafel@2607:fb91:143f:e47f:8a0c:7c12:4cf9:ecf7) (Ping timeout: 255 seconds) |
| 05:37:03 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 248 seconds) |
| 05:53:38 | × | ormaaj quits (~ormaaj@user/ormaaj) (Quit: Reconnecting) |
| 05:54:02 | → | ormaaj joins (~ormaaj@user/ormaaj) |
| 06:04:06 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 255 seconds) |
| 06:10:58 | × | waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 252 seconds) |
| 06:11:02 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 06:12:22 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 06:18:02 | × | rburkholder quits (~blurb@96.45.2.121) (Remote host closed the connection) |
| 06:21:57 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 06:28:04 | × | tomboy65 quits (~tomboy64@user/tomboy64) (Ping timeout: 246 seconds) |
| 06:28:05 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 06:32:45 | × | jespada quits (~jespada@77.98.179.16) (Ping timeout: 252 seconds) |
| 06:34:27 | → | bgs joins (~bgs@212-85-160-171.dynamic.telemach.net) |
| 06:34:40 | × | Vajb quits (~Vajb@2001:999:404:9516:d621:6cbe:c71e:5686) (Ping timeout: 248 seconds) |
| 06:35:31 | → | Vajb joins (~Vajb@85-76-71-140-nat.elisa-mobile.fi) |
| 06:39:55 | → | king_gs joins (~Thunderbi@187.201.41.239) |
| 06:41:42 | → | tomboy65 joins (~tomboy64@user/tomboy64) |
| 06:41:42 | × | Vajb quits (~Vajb@85-76-71-140-nat.elisa-mobile.fi) (Read error: Connection reset by peer) |
| 06:42:14 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a5-27.dhcp.inet.fi) |
| 06:46:18 | × | mbuf quits (~Shakthi@49.205.81.25) (Quit: Leaving) |
| 06:48:09 | → | trev_ joins (~trev@109-252-35-99.nat.spd-mgts.ru) |
| 06:49:48 | → | Guest47 joins (~Guest47@180.150.112.145) |
| 06:51:28 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a5-27.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 06:52:44 | → | jespada joins (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) |
| 06:53:46 | → | Vajb joins (~Vajb@2001:999:502:6a4f:9704:5f5a:6e8e:4cd2) |
| 06:54:04 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
| 06:55:17 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 06:59:27 | × | king_gs quits (~Thunderbi@187.201.41.239) (Read error: Connection reset by peer) |
| 06:59:43 | → | king_gs joins (~Thunderbi@2806:103e:29:1779:51d4:7b92:8f3c:afa1) |
| 07:02:07 | × | jespada quits (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Ping timeout: 252 seconds) |
| 07:03:02 | → | michalz joins (~michalz@185.246.207.203) |
| 07:06:13 | × | Vajb quits (~Vajb@2001:999:502:6a4f:9704:5f5a:6e8e:4cd2) (Ping timeout: 246 seconds) |
| 07:06:21 | → | Vajb joins (~Vajb@2001:999:484:9db9:7ff5:c370:5511:7e1c) |
| 07:06:33 | × | gehmehgeh quits (~user@user/gehmehgeh) (Remote host closed the connection) |
| 07:07:52 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 07:10:30 | × | sefidel quits (~sefidel@user/sefidel) (Remote host closed the connection) |
| 07:12:32 | → | sefidel joins (~sefidel@user/sefidel) |
| 07:13:14 | × | tcard_ quits (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Quit: Leaving) |
| 07:15:03 | → | tcard joins (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) |
| 07:21:11 | × | phma_ quits (~phma@2001:5b0:211c:dd68:d177:f289:9796:1bf1) (Read error: Connection reset by peer) |
| 07:22:24 | × | opticblast quits (~Thunderbi@172.58.82.191) (Ping timeout: 255 seconds) |
| 07:23:47 | → | phma_ joins (~phma@host-67-44-208-65.hnremote.net) |
| 07:25:27 | → | Lycurgus joins (~juan@user/Lycurgus) |
| 07:25:48 | → | kenran joins (~user@user/kenran) |
| 07:33:23 | → | jespada joins (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) |
| 07:38:28 | → | akegalj joins (~akegalj@78.3.33.72) |
| 07:40:45 | → | use-value joins (~Thunderbi@2a00:23c6:8a03:2f01:f002:5d43:99c2:753f) |
| 07:43:13 | → | mncheckm joins (~mncheck@193.224.205.254) |
| 07:44:08 | → | andrewboltachev joins (~andrey@178.141.125.176) |
| 07:46:47 | × | Lycurgus quits (~juan@user/Lycurgus) (Quit: Exeunt: personae.ai-integration.biz) |
| 07:59:30 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 08:01:29 | → | Kuttenbrunzer joins (~Kuttenbru@2a02:8108:8b80:1d48::dfd9) |
| 08:02:40 | × | razetime quits (~Thunderbi@117.193.4.84) (Ping timeout: 248 seconds) |
| 08:03:16 | → | coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 08:04:15 | × | jespada quits (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Ping timeout: 255 seconds) |
| 08:05:47 | → | Tuplanolla joins (~Tuplanoll@91-159-68-152.elisa-laajakaista.fi) |
| 08:09:11 | → | jespada joins (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) |
| 08:12:40 | → | gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 08:18:35 | → | rburkholder joins (~blurb@96.45.2.121) |
| 08:18:55 | → | razetime joins (~Thunderbi@117.193.4.84) |
| 08:21:23 | × | Kuttenbrunzer quits (~Kuttenbru@2a02:8108:8b80:1d48::dfd9) (Quit: Where is it) |
| 08:22:23 | × | czy quits (~user@50.30.140.22) (Ping timeout: 252 seconds) |
| 08:24:19 | → | codaraxis__ joins (~codaraxis@user/codaraxis) |
| 08:24:29 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 255 seconds) |
| 08:25:19 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 08:26:51 | × | jespada quits (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Ping timeout: 248 seconds) |
| 08:27:26 | × | tomsmeding quits (~tomsmedin@static.21.109.88.23.clients.your-server.de) (Quit: ZNC 1.8.2 - https://znc.in) |
| 08:28:07 | → | tomsmeding joins (~tomsmedin@static.21.109.88.23.clients.your-server.de) |
| 08:28:16 | × | codaraxis quits (~codaraxis@user/codaraxis) (Ping timeout: 248 seconds) |
| 08:30:03 | → | Kuttenbrunzer joins (~Kuttenbru@2a02:8108:8b80:1d48::9fd1) |
| 08:30:24 | × | Kuttenbrunzer quits (~Kuttenbru@2a02:8108:8b80:1d48::9fd1) (Remote host closed the connection) |
| 08:32:21 | → | ircbrowse_tom joins (~ircbrowse@2a01:4f8:1c1c:9319::1) |
| 08:32:27 | Server | sets mode +Cnt |
| 08:34:23 | × | yahb2 quits (~yahb2@2a01:4f8:c0c:5c7b::2) (Remote host closed the connection) |
| 08:34:49 | → | yahb2 joins (~yahb2@static.56.27.47.78.clients.your-server.de) |
| 08:36:38 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
| 08:37:01 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 08:40:17 | × | Guest47 quits (~Guest47@180.150.112.145) (Quit: Client closed) |
| 08:43:07 | <hololeap> | I think I finally just got this and I want to check to see if I understand it correctly: logic :: (forall r. (a -> r -> r) -> r -> r) -> Logic a |
| 08:44:15 | <hololeap> | you would use this as: logic $ \(f :: a -> r -> r) (e :: r) -> ... |
| 08:44:59 | <hololeap> | f is a function that takes any value (x :: a) and some r and will return another r |
| 08:45:18 | <hololeap> | e is basically the r that signifies an early error state |
| 08:46:32 | <hololeap> | and f signifies continuing the computation which may continue or fail but it's out of your control if that's what you choose to return |
| 08:46:50 | <hololeap> | damn this is tricky |
| 08:51:51 | <hololeap> | I understand that it is essentially a list, but I'm trying to understand this other way of looking at it |
| 08:53:25 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 08:54:10 | × | ft quits (~ft@p3e9bc443.dip0.t-ipconnect.de) (Quit: leaving) |
| 08:55:47 | → | jespada joins (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) |
| 08:57:01 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 08:59:37 | × | gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8) |
| 09:02:39 | → | nihonium joins (~nihonium@46.148.105.76) |
| 09:11:14 | → | MajorBiscuit joins (~MajorBisc@c-001-018-019.client.tudelft.eduvpn.nl) |
| 09:19:02 | → | thongpv joins (~thongpv87@2402:9d80:3aa:dcd6:977e:e11f:15c9:9293) |
| 09:19:11 | → | zeenk joins (~zeenk@2a02:2f04:a214:1e00::7fe) |
| 09:28:59 | → | cfricke joins (~cfricke@user/cfricke) |
| 09:39:40 | → | chele joins (~chele@user/chele) |
| 09:48:33 | × | akegalj quits (~akegalj@78.3.33.72) (Ping timeout: 252 seconds) |
| 09:51:04 | → | ubert joins (~Thunderbi@2a02:8109:abc0:6434:f290:bfbc:97a0:5afc) |
| 09:54:55 | → | yoneda joins (~mike@193.206.102.122) |
| 09:55:56 | → | Kuttenbrunzer joins (~Kuttenbru@2a02:8108:8b80:1d48::9fd1) |
| 10:00:19 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
| 10:03:30 | × | xff0x quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 255 seconds) |
| 10:04:22 | → | thib joins (~Thunderbi@2a00:8a60:c000:1:8a13:bf74:b2:8d47) |
| 10:04:31 | thib | is now known as Guest9909 |
| 10:07:56 | → | akegalj joins (~akegalj@lns01-0595.dsl.iskon.hr) |
| 10:09:04 | × | king_gs quits (~Thunderbi@2806:103e:29:1779:51d4:7b92:8f3c:afa1) (Ping timeout: 248 seconds) |
| 10:09:37 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 246 seconds) |
| 10:10:04 | × | eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 10:11:04 | × | Kuttenbrunzer quits (~Kuttenbru@2a02:8108:8b80:1d48::9fd1) (Quit: Where is it) |
| 10:13:34 | → | myxokeph joins (~myxokeph@cpe-65-28-251-121.cinci.res.rr.com) |
| 10:13:36 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 10:32:53 | → | amano joins (~amano@45.8.223.209) |
| 10:33:56 | <amano> | Check out brick-tabular-list on hackage. It contains two tabular list widgets for brick terminal UI library. It is suitable for a list of different kinds of items that have different columns or a uniform spreadsheet. |
| 10:34:42 | × | amano quits (~amano@45.8.223.209) (Client Quit) |
| 10:48:09 | × | Guest9909 quits (~Thunderbi@2a00:8a60:c000:1:8a13:bf74:b2:8d47) (Quit: Guest9909) |
| 10:52:06 | × | jespada quits (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Ping timeout: 255 seconds) |
| 10:53:54 | → | jespada joins (~jespada@148.252.128.104) |
| 10:54:48 | × | dtman34 quits (~dtman34@76.156.89.180) (Ping timeout: 255 seconds) |
| 10:57:04 | → | dtman34 joins (~dtman34@76.156.89.180) |
| 10:58:42 | → | jonathanx joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
| 10:59:45 | <jonathanx> | I want to learn how to handle persistent database migrations properly. Right now the goal is a simple migration, but in the future I might need more complex ones. I noticed that there's a dedicated library for persistent migrations here: https://hackage.haskell.org/package/persistent-migration |
| 11:00:09 | <jonathanx> | Is the lib good, or should I go with defining migrations using the migration support in persistent? |
| 11:00:39 | <jonathanx> | (technically not a dichotomy, but any takes/recommendations would be appreciated) |
| 11:01:55 | × | phma_ quits (~phma@host-67-44-208-65.hnremote.net) (Read error: Connection reset by peer) |
| 11:08:02 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 11:10:32 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:c515:5d78:dd35:61fc) |
| 11:10:50 | → | phma_ joins (~phma@host-67-44-208-191.hnremote.net) |
| 11:12:43 | <Hecate> | jonathanx: I usually put migrations in their own folder like this: https://github.com/flora-pm/flora-server/tree/development/migrations |
| 11:15:00 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:c515:5d78:dd35:61fc) (Ping timeout: 260 seconds) |
| 11:17:36 | × | econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 11:19:50 | <[exa]> | jonathanx: migrations are hard™ |
| 11:20:51 | <[exa]> | I had luck with these given by selda, not totally optimal but worked well. |
| 11:33:50 | × | nihonium quits (~nihonium@46.148.105.76) (Remote host closed the connection) |
| 11:36:38 | → | codaraxis joins (~codaraxis@user/codaraxis) |
| 11:38:54 | × | codaraxis__ quits (~codaraxis@user/codaraxis) (Ping timeout: 255 seconds) |
| 11:42:57 | × | akegalj quits (~akegalj@lns01-0595.dsl.iskon.hr) (Ping timeout: 255 seconds) |
| 11:51:40 | → | king_gs joins (~Thunderbi@2806:103e:29:1779:8e16:45ff:feeb:cfcf) |
| 11:51:55 | × | razetime quits (~Thunderbi@117.193.4.84) (Remote host closed the connection) |
| 11:54:54 | → | elevenkb joins (~elevenkb@105.225.107.107) |
| 12:00:19 | → | xff0x joins (~xff0x@2405:6580:b080:900:1ef3:42f8:594a:9997) |
| 12:02:47 | × | elevenkb quits (~elevenkb@105.225.107.107) (Quit: Client closed) |
| 12:20:34 | → | akegalj joins (~akegalj@213.202.86.88) |
| 12:31:01 | × | cfricke quits (~cfricke@user/cfricke) (Ping timeout: 246 seconds) |
| 12:33:55 | → | lyle joins (~lyle@104.246.145.237) |
| 12:34:31 | × | gpncarl quits (~gpncarl@210.12.195.6) (Ping timeout: 246 seconds) |
| 12:34:34 | <merijn> | jonathanx: I think the best way to handle them is not letting persistent handle them xD |
| 12:35:02 | → | gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 12:35:15 | × | use-value quits (~Thunderbi@2a00:23c6:8a03:2f01:f002:5d43:99c2:753f) (Quit: use-value) |
| 12:35:23 | <merijn> | jonathanx: Alternately, you can be inspired by the giant atrocity I've built, I guess |
| 12:35:33 | <merijn> | 'https://github.com/merijn/Belewitte/blob/master/benchmark-analysis/src/Migration.hs |
| 12:43:22 | → | use-value joins (~Thunderbi@2a00:23c6:8a03:2f01:f002:5d43:99c2:753f) |
| 12:46:50 | × | kenran quits (~user@user/kenran) (Remote host closed the connection) |
| 12:48:46 | × | use-value quits (~Thunderbi@2a00:23c6:8a03:2f01:f002:5d43:99c2:753f) (Quit: use-value) |
| 12:51:16 | × | king_gs quits (~Thunderbi@2806:103e:29:1779:8e16:45ff:feeb:cfcf) (Remote host closed the connection) |
| 12:51:36 | → | king_gs joins (~Thunderbi@2806:103e:29:1779:b9af:9316:97a3:301e) |
| 12:51:58 | → | use-value joins (~Thunderbi@2a00:23c6:8a03:2f01:f002:5d43:99c2:753f) |
| 12:54:28 | × | cheater quits (~Username@user/cheater) (Read error: Connection timed out) |
| 12:57:04 | → | cheater joins (~Username@user/cheater) |
| 13:08:05 | × | king_gs quits (~Thunderbi@2806:103e:29:1779:b9af:9316:97a3:301e) (Quit: king_gs) |
| 13:08:13 | → | king_gs1 joins (~Thunderbi@187.201.41.239) |
| 13:10:31 | king_gs1 | is now known as king_gs |
| 13:27:30 | → | ft_ joins (~ft@p3e9bc443.dip0.t-ipconnect.de) |
| 13:29:15 | × | jespada quits (~jespada@148.252.128.104) (Read error: Connection reset by peer) |
| 13:31:13 | × | gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8) |
| 13:34:47 | → | jespada joins (~jespada@77.98.179.16) |
| 13:36:23 | × | king_gs quits (~Thunderbi@187.201.41.239) (Quit: king_gs) |
| 13:37:02 | ft_ | is now known as ft |
| 13:42:29 | <dminuoso_> | [exa]: They arent hard. |
| 13:42:57 | <dminuoso_> | Between all the problems a software developer may be required to solve, migrations tends to be one of the simpler things. |
| 13:43:48 | <dminuoso_> | I just have a migration table in which I keep a counter, and each schema change becomes appended to `[Connection -> IO ()]` |
| 13:44:03 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
| 13:44:03 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Write error: Broken pipe) |
| 13:44:04 | <dminuoso_> | It's super easy, and has a very simple hook for facilitating data migrations too |
| 13:44:37 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 13:44:40 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 13:44:45 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Quit: Lost terminal) |
| 13:45:05 | → | segfaultfizzbuzz joins (~segfaultf@108.211.201.53) |
| 13:45:05 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 13:47:04 | → | jero98772 joins (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff) |
| 13:50:17 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 255 seconds) |
| 13:51:28 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 13:52:07 | → | zer0bitz joins (~zer0bitz@2001:2003:f443:d600:74f8:d485:92d1:ab7d) |
| 13:54:48 | × | segfaultfizzbuzz quits (~segfaultf@108.211.201.53) (Ping timeout: 255 seconds) |
| 13:56:55 | × | cheater quits (~Username@user/cheater) (Read error: Connection reset by peer) |
| 13:57:39 | → | cheater joins (~Username@user/cheater) |
| 13:59:07 | → | rlj joins (~rlj@c-5eea659e-74736162.cust.telenor.se) |
| 14:04:27 | → | __monty__ joins (~toonn@user/toonn) |
| 14:06:48 | → | mbuf joins (~Shakthi@49.205.81.25) |
| 14:11:49 | × | Cale quits (~cale@cpe80d04ade0a03-cm80d04ade0a01.cpe.net.cable.rogers.com) (Ping timeout: 246 seconds) |
| 14:20:09 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Quit: No Ping reply in 180 seconds.) |
| 14:20:15 | × | califax quits (~califax@user/califx) (Quit: ZNC 1.8.2 - https://znc.in) |
| 14:20:36 | × | mbuf quits (~Shakthi@49.205.81.25) (Quit: Leaving) |
| 14:21:46 | → | califax joins (~califax@user/califx) |
| 14:22:14 | × | jpds quits (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 255 seconds) |
| 14:22:48 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 14:24:05 | ← | rettahcay parts (~kaushikv@c-24-20-37-193.hsd1.or.comcast.net) () |
| 14:24:06 | → | jpds joins (~jpds@gateway/tor-sasl/jpds) |
| 14:24:31 | → | thegeekinside joins (~thegeekin@189.180.66.126) |
| 14:28:29 | × | megaTherion quits (~therion@unix.io) (Remote host closed the connection) |
| 14:28:53 | → | xkuru joins (~xkuru@user/xkuru) |
| 14:29:03 | → | x_kuru joins (~xkuru@user/xkuru) |
| 14:29:03 | × | x_kuru quits (~xkuru@user/xkuru) (Client Quit) |
| 14:29:24 | × | xkuru quits (~xkuru@user/xkuru) (Max SendQ exceeded) |
| 14:29:52 | → | xkuru joins (~xkuru@user/xkuru) |
| 14:30:13 | → | megaTherion joins (~therion@unix.io) |
| 14:30:50 | → | ystael joins (~ystael@user/ystael) |
| 14:34:01 | × | megaTherion quits (~therion@unix.io) (Client Quit) |
| 14:35:40 | → | megaTherion joins (~therion@unix.io) |
| 14:37:18 | × | xkuru quits (~xkuru@user/xkuru) (Read error: Connection reset by peer) |
| 14:37:20 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 14:38:29 | → | azimut_ joins (~azimut@gateway/tor-sasl/azimut) |
| 14:38:33 | → | mbuf joins (~Shakthi@49.205.81.25) |
| 14:39:08 | → | zmt00 joins (~zmt00@user/zmt00) |
| 14:39:20 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds) |
| 14:39:34 | → | chexum_ joins (~quassel@gateway/tor-sasl/chexum) |
| 14:39:47 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 255 seconds) |
| 14:40:14 | × | jpds quits (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 255 seconds) |
| 14:40:14 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 255 seconds) |
| 14:40:35 | × | zmt01 quits (~zmt00@user/zmt00) (Ping timeout: 255 seconds) |
| 14:40:40 | → | jpds joins (~jpds@gateway/tor-sasl/jpds) |
| 14:41:46 | → | segfaultfizzbuzz joins (~segfaultf@108.211.201.53) |
| 14:42:33 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 14:42:56 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 255 seconds) |
| 14:43:32 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 14:43:40 | → | xkuru joins (~xkuru@185.218.108.33) |
| 14:43:43 | → | x_kuru joins (~xkuru@185.218.108.33) |
| 14:43:54 | × | x_kuru quits (~xkuru@185.218.108.33) (Remote host closed the connection) |
| 14:44:02 | × | xkuru quits (~xkuru@185.218.108.33) (Remote host closed the connection) |
| 14:44:22 | → | xkuru joins (~xkuru@185.218.108.33) |
| 14:44:41 | × | xkuru quits (~xkuru@185.218.108.33) (Changing host) |
| 14:44:41 | → | xkuru joins (~xkuru@user/xkuru) |
| 14:45:08 | → | x_kuru joins (~xkuru@185.218.108.33) |
| 14:45:26 | × | x_kuru quits (~xkuru@185.218.108.33) (Remote host closed the connection) |
| 14:45:46 | → | x_kuru joins (~xkuru@185.218.108.33) |
| 14:46:07 | × | segfaultfizzbuzz quits (~segfaultf@108.211.201.53) (Ping timeout: 246 seconds) |
| 14:46:34 | × | x_kuru quits (~xkuru@185.218.108.33) (Remote host closed the connection) |
| 14:46:46 | → | x_kuru joins (~xkuru@user/xkuru) |
| 14:50:13 | → | acidjnk joins (~acidjnk@p200300d6e715c461502375bc0f0db245.dip0.t-ipconnect.de) |
| 14:53:38 | × | x_kuru quits (~xkuru@user/xkuru) (Quit: Unvirtualizing) |
| 14:53:54 | → | x_kuru joins (~xkuru@user/xkuru) |
| 14:55:05 | × | x_kuru quits (~xkuru@user/xkuru) (Remote host closed the connection) |
| 14:55:28 | × | xkuru quits (~xkuru@user/xkuru) (Quit: Unvirtualizing) |
| 14:55:49 | → | xkuru joins (~xkuru@185.218.108.33) |
| 14:56:53 | × | azimut_ quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds) |
| 14:56:58 | × | xkuru quits (~xkuru@185.218.108.33) (Remote host closed the connection) |
| 14:57:08 | → | xkuru joins (~xkuru@user/xkuru) |
| 14:57:30 | → | mikoto-chan joins (~mikoto-ch@2001:999:480:87eb:9899:52f3:d50e:9bff) |
| 14:58:15 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 15:00:12 | × | xkuru quits (~xkuru@user/xkuru) (Client Quit) |
| 15:00:30 | → | xkuru joins (~xkuru@user/xkuru) |
| 15:02:30 | <kaol> | Cool, Vty is fine with opening a second instance on fds passed via unix socket. Just the thing I'd need for a multi-terminal roguelike. |
| 15:04:14 | → | Cale joins (~cale@cpe80d04ade0a03-cm80d04ade0a01.cpe.net.cable.rogers.com) |
| 15:04:15 | → | segfaultfizzbuzz joins (~segfaultf@108.211.201.53) |
| 15:08:52 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 246 seconds) |
| 15:08:52 | <[exa]> | kaol: oh wow pls elaborate |
| 15:08:52 | × | segfaultfizzbuzz quits (~segfaultf@108.211.201.53) (Ping timeout: 252 seconds) |
| 15:09:04 | → | tiny_user_ joins (~tiny_user@2a01:cb1d:2d9:1100:5866:9dfc:82dd:3c3) |
| 15:09:08 | × | tiny_user_ quits (~tiny_user@2a01:cb1d:2d9:1100:5866:9dfc:82dd:3c3) (Client Quit) |
| 15:09:49 | <kaol> | It could have a permanent inventory window or a list of objects in view or something like that. |
| 15:10:25 | → | infty joins (~infty@2a01:cb1d:2d9:1100:5866:9dfc:82dd:3c3) |
| 15:11:05 | <merijn> | kaol: Don't you want something like brick to just have that be the same UI? |
| 15:11:31 | <kaol> | Not that I have started with anything yet. Just trying out random stuff. |
| 15:13:07 | → | gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 15:13:24 | <[exa]> | kaol: how do you actually connect the terminals to that? |
| 15:13:37 | × | jespada quits (~jespada@77.98.179.16) (Remote host closed the connection) |
| 15:14:15 | → | jespada joins (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) |
| 15:15:56 | <kaol> | The way I did was that the new process bind&connects to the socket and sends 0 and 1 to the master process and it grabs them in mkVty config. The slave process can stick around waiting on socket read. |
| 15:16:31 | → | ddellacosta joins (~ddellacos@146.70.165.157) |
| 15:16:42 | → | mimmy_ joins (~mimmy@2607:fea8:6c0:e30:486b:73b7:a8b7:180b) |
| 15:16:43 | → | segfaultfizzbuzz joins (~segfaultf@108.211.201.53) |
| 15:16:53 | × | segfaultfizzbuzz quits (~segfaultf@108.211.201.53) (Client Quit) |
| 15:17:11 | × | mimmy quits (~mimmy@2604:a880:cad:d0::3e:1001) (Killed (NickServ (GHOST command used by mimmy_!~mimmy@2607:fea8:6c0:e30:486b:73b7:a8b7:180b))) |
| 15:17:20 | mimmy_ | is now known as mimmy |
| 15:17:41 | × | jespada quits (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Remote host closed the connection) |
| 15:18:03 | → | mimmy_ joins (~mimmy@2604:a880:cad:d0::3e:1001) |
| 15:18:05 | <geekosaur> | xterm and several others have a special mode for it, among other possibilities (see the -S option) |
| 15:18:21 | → | jespada joins (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) |
| 15:24:39 | × | hrberg quits (~quassel@171.79-160-161.customer.lyse.net) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 15:24:53 | <kaol> | I think I'll use a hexagonal grid. Two characters horizontally would be one cell and each other row would be offset by one column. It'd be a change. |
| 15:24:58 | → | hrberg joins (~quassel@171.79-160-161.customer.lyse.net) |
| 15:26:49 | <geekosaur> | it exists but isn't that common https://www.reddit.com/r/roguelikes/comments/25vufz/any_idea_why_hexagonal_roguelikes_are_not_so/ |
| 15:27:27 | × | mimmy quits (~mimmy@2607:fea8:6c0:e30:486b:73b7:a8b7:180b) (Quit: WeeChat 3.8) |
| 15:27:27 | mimmy_ | is now known as mimmy |
| 15:27:49 | <merijn> | kaol: brick is a higher level UI widget framework on top of vty |
| 15:28:04 | <merijn> | kaol: It's the successor to the now deprecated vty-ui |
| 15:28:41 | <merijn> | Should be much easier than using vty directly |
| 15:28:42 | <maerwald> | and still no windows support |
| 15:29:25 | <merijn> | maerwald: of course not, because windows developers don't care to work on windows support in vty and none windows devs don't care about doing it for them |
| 15:29:41 | <kaol> | Via WSL? Well, not my cup of tea anyhow. |
| 15:29:49 | <maerwald> | no, native |
| 15:30:29 | <maerwald> | merijn: I think that's rather a problem of early design decisions of the library |
| 15:30:37 | <merijn> | possibly |
| 15:30:53 | <merijn> | but the early design decisions were probably made for "not windows" :p |
| 15:31:58 | × | kritzefitz quits (~kritzefit@debian/kritzefitz) (Ping timeout: 246 seconds) |
| 15:32:29 | × | infty quits (~infty@2a01:cb1d:2d9:1100:5866:9dfc:82dd:3c3) (Ping timeout: 252 seconds) |
| 15:33:33 | → | harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
| 15:35:32 | × | ddellacosta quits (~ddellacos@146.70.165.157) (Ping timeout: 268 seconds) |
| 15:36:06 | <kaol> | Speaking of roguelikes, I did this thing: https://gitlab.com/kaol/titityy Because people don't agree what SGR 1 does. More low level stuff. |
| 15:37:56 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 15:44:55 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 15:47:12 | ← | hal[m] parts (~halfosswt@2001:470:69fc:105::2:e0ae) () |
| 15:54:25 | → | vglfr joins (~vglfr@145.224.100.62) |
| 15:54:40 | × | dsrt^ quits (~dsrt@c-24-30-76-89.hsd1.ga.comcast.net) (Remote host closed the connection) |
| 15:56:10 | × | mikoto-chan quits (~mikoto-ch@2001:999:480:87eb:9899:52f3:d50e:9bff) (Ping timeout: 252 seconds) |
| 15:56:18 | × | mimmy quits (~mimmy@2604:a880:cad:d0::3e:1001) (Killed (NickServ (GHOST command used by mimmy_!~mimmy@2607:fea8:6c0:e30:486b:73b7:a8b7:180b))) |
| 15:56:35 | → | mimmy joins (~mimmy@2604:a880:cad:d0::3e:1001) |
| 16:02:11 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 252 seconds) |
| 16:05:17 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 16:09:43 | × | mimmy quits (~mimmy@2604:a880:cad:d0::3e:1001) (Quit: ZNC 1.9.x-git-187-32d4a4d5 - https://znc.in) |
| 16:10:00 | → | mimmy joins (~mimmy@2604:a880:cad:d0::3e:1001) |
| 16:11:39 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 16:16:54 | ← | mimmy parts (~mimmy@2604:a880:cad:d0::3e:1001) (WeeChat 3.8) |
| 16:20:07 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 16:21:19 | × | mbuf quits (~Shakthi@49.205.81.25) (Quit: Leaving) |
| 16:22:50 | → | kritzefitz joins (~kritzefit@debian/kritzefitz) |
| 16:22:58 | → | p0lyph3m joins (~polyphem@2a02:810d:840:8754:ad77:3864:324d:fcd8) |
| 16:27:54 | → | enoq joins (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) |
| 16:28:34 | <raehik> | I want to write a generic deriver that uses a method from a typeclass internally, but I want to be able to swap that typeclass out |
| 16:29:01 | × | harveypwca quits (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving) |
| 16:29:35 | <raehik> | I can apparently do this by adding that inner typeclass as a typevar `cxt` in my generic typeclass, and threading a function `(forall a. cxt a => r)` through the term level |
| 16:30:03 | <raehik> | is this all sound and fine for performance? might it fall apart in weird ways? |
| 16:31:28 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 246 seconds) |
| 16:31:28 | → | razetime joins (~Thunderbi@117.193.4.84) |
| 16:33:16 | <raehik> | some clippings from my code to illustrate what I mean https://paste.tomsmeding.com/9FWPaGSB |
| 16:36:31 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 16:36:32 | <sm> | we need to find an urgent business use case for brick on windows so that someone will throw money at it |
| 16:39:42 | × | enoq quits (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Quit: enoq) |
| 16:41:37 | → | enoq joins (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) |
| 16:41:58 | mauke | throws brick at windows instead |
| 16:43:59 | × | ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 255 seconds) |
| 16:45:29 | <maerwald> | lol |
| 16:46:15 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 16:46:20 | <tomsmeding> | mauke++ |
| 16:46:39 | <tomsmeding> | sm: wouldn't that be fixing vty? Or is there some part of brick itself that's platform-dependent |
| 16:46:43 | <monochrom> | hololeap: (forall r. (a -> r -> r) -> r -> r)) is CPSed [a]. The "forall r" uses parametricity to ensure that you get nothing more than [a]. It is how you have [a] in System F. Equivalently, given xs::[a], (\op z -> foldr op z xs) has that type too, so you're looking at foldr or catamorphism. Probably Oleg loves CPSing for speed. |
| 16:48:38 | <monochrom> | But by the time you go to LogicT, this kind of CPS also helps gain streaming behaviour. |
| 16:49:07 | <monochrom> | LogicT would then be "ListT done right" CPSed. |
| 16:50:36 | → | czy joins (~user@50.30.140.23) |
| 16:53:54 | × | thongpv quits (~thongpv87@2402:9d80:3aa:dcd6:977e:e11f:15c9:9293) (Read error: Connection reset by peer) |
| 16:54:47 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 255 seconds) |
| 16:54:48 | × | dcoutts_ quits (~duncan@host86-167-90-212.range86-167.btcentralplus.com) (Ping timeout: 255 seconds) |
| 16:55:39 | × | chele quits (~chele@user/chele) (Remote host closed the connection) |
| 16:57:33 | × | czy quits (~user@50.30.140.23) (Ping timeout: 252 seconds) |
| 16:58:21 | → | merijn joins (~merijn@c-001-001-009.client.esciencecenter.eduvpn.nl) |
| 16:58:47 | <hololeap> | monochrom, I thought the "done right" was referring to the CPS |
| 17:00:46 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 17:01:10 | <[exa]> | dminuoso_: I'd argue they aren't hard if you have 10 years of sql practice and know how to build the database for the product right away. but yeah, it's not a super complex engineering problem |
| 17:02:35 | <hololeap> | but I have stared at it more and played around with it in ghci. I think I'm finally getting an intuition for it, especially realizing you can just use the Alternative api in many cases and the MonadLogic api in many others |
| 17:06:23 | <geekosaur> | "done right" has to do with ListT not being a proper monad transformer over e.g. IO, iirc |
| 17:11:06 | × | razetime quits (~Thunderbi@117.193.4.84) (Ping timeout: 252 seconds) |
| 17:11:27 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 17:11:54 | × | Cale quits (~cale@cpe80d04ade0a03-cm80d04ade0a01.cpe.net.cable.rogers.com) (Ping timeout: 255 seconds) |
| 17:13:41 | × | akegalj quits (~akegalj@213.202.86.88) (Ping timeout: 252 seconds) |
| 17:14:36 | × | merijn quits (~merijn@c-001-001-009.client.esciencecenter.eduvpn.nl) (Ping timeout: 255 seconds) |
| 17:15:18 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:c515:5d78:dd35:61fc) |
| 17:15:24 | <sm> | true tomsmeding I should say vty |
| 17:20:10 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:c515:5d78:dd35:61fc) (Ping timeout: 260 seconds) |
| 17:20:54 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 255 seconds) |
| 17:20:59 | → | gurkenglas joins (~gurkengla@dynamic-046-114-182-119.46.114.pool.telefonica.de) |
| 17:23:39 | → | falafel joins (~falafel@2607:fb91:143f:e47f:bde1:ba1c:68af:958a) |
| 17:27:58 | × | coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
| 17:28:33 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 255 seconds) |
| 17:31:35 | → | Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915) |
| 17:32:31 | <glguy> | kaol: I used the ability to connect vty to an arbitrary tty to make a stand-alone ssh server that presented a vty interface to clients upon connect once |
| 17:36:13 | × | gurkenglas quits (~gurkengla@dynamic-046-114-182-119.46.114.pool.telefonica.de) (Ping timeout: 246 seconds) |
| 17:37:40 | × | ec quits (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
| 17:38:02 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 17:38:16 | → | gurkenglas joins (~gurkengla@82.113.98.93) |
| 17:41:04 | → | merijn joins (~merijn@c-001-001-009.client.esciencecenter.eduvpn.nl) |
| 17:41:49 | → | eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
| 17:42:52 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 246 seconds) |
| 17:44:18 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 17:51:29 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 17:52:08 | × | MajorBiscuit quits (~MajorBisc@c-001-018-019.client.tudelft.eduvpn.nl) (Quit: WeeChat 3.6) |
| 17:52:11 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 248 seconds) |
| 17:55:20 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 17:55:51 | × | ubert quits (~Thunderbi@2a02:8109:abc0:6434:f290:bfbc:97a0:5afc) (Quit: ubert) |
| 17:56:37 | × | gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8) |
| 17:57:04 | → | oldfashionedcow joins (~Rahul_San@user/oldfashionedcow) |
| 18:02:15 | → | echoone joins (~echoone@2a02:8109:a1c0:5d05:8d6f:39bb:827f:c033) |
| 18:02:34 | → | econo joins (uid147250@user/econo) |
| 18:08:23 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
| 18:08:44 | ← | mauke[m] parts (~mauke@user/mauke) () |
| 18:09:15 | → | akegalj joins (~akegalj@lns01-0595.dsl.iskon.hr) |
| 18:10:24 | × | merijn quits (~merijn@c-001-001-009.client.esciencecenter.eduvpn.nl) (Ping timeout: 255 seconds) |
| 18:11:08 | × | mtjm quits (~mutantmel@2604:a880:2:d0::208b:d001) (Remote host closed the connection) |
| 18:12:44 | → | mtjm joins (~mutantmel@2604:a880:2:d0::208b:d001) |
| 18:15:31 | × | eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 18:18:58 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 18:20:16 | → | harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
| 18:20:43 | × | rlj quits (~rlj@c-5eea659e-74736162.cust.telenor.se) (Ping timeout: 260 seconds) |
| 18:22:03 | → | infty joins (~infty@2a01:cb1d:2d9:1100:cd1:c82a:937a:471b) |
| 18:23:59 | × | zeenk quits (~zeenk@2a02:2f04:a214:1e00::7fe) (Quit: Konversation terminated!) |
| 18:24:41 | <dminuoso_> | [exa]: I think there's generally an overreliance on libraries to solve relatively simple problems, which can often masquerade these ideas as something "complicated" |
| 18:25:04 | <dminuoso_> | You especially begin to lose an understanding of underlying machinery, since "its just a library problem" |
| 18:25:19 | → | Kuttenbrunzer joins (~Kuttenbru@2a02:8108:8b80:1d48::ccfa) |
| 18:26:06 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 18:29:09 | <[exa]> | yeah that doesn't help at all, very true |
| 18:29:12 | × | falafel quits (~falafel@2607:fb91:143f:e47f:bde1:ba1c:68af:958a) (Ping timeout: 255 seconds) |
| 18:31:55 | <gqplox[m]> | hello |
| 18:33:31 | <gqplox[m]> | i see in data.Bits there is xor |
| 18:33:33 | <gqplox[m]> | i want to make this xor function also work on chars, how can I do that? |
| 18:34:25 | → | ph88 joins (~ph88@ip5b426553.dynamic.kabel-deutschland.de) |
| 18:35:01 | <ph88> | what is the latest ghc/haskell edition ? was there something that enables some extensions by default ? |
| 18:35:13 | <Hecate> | gqplox[m]: turn Char into Int, use xor on Int, gqplox[m] |
| 18:35:22 | <Hecate> | ph88: GHC2021 |
| 18:36:50 | <ph88> | how do i set that in my configuration file ? |
| 18:37:13 | <oats> | gqplox[m], what Hecate said, use `fromEnum :: Char -> Int` and use the Bits instance of Int |
| 18:37:26 | <oats> | but now I'm wondering why Char doesn't have a Bits instance |
| 18:37:28 | <Hecate> | ph88: https://github.com/haskell-text/text-display/blob/main/text-display.cabal#L28-L29 that's how I do it |
| 18:37:48 | <ph88> | thanks Hecate |
| 18:37:55 | <Hecate> | oats: good question, sometimes people just are lazy |
| 18:38:12 | <ph88> | i think if you set it to Haskell2010 explicitly then you turn off GHC2021 language extensions |
| 18:38:26 | <ph88> | > GHC2021 is used by GHC if neither Haskell98 nor Haskell2010 is turned on explicitly. |
| 18:38:28 | <lambdabot> | <hint>:1:85: error: |
| 18:38:28 | <lambdabot> | parse error (possibly incorrect indentation or mismatched brackets) |
| 18:38:29 | <ph88> | https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/control.html |
| 18:38:51 | <gqplox[m]> | I can do this... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/2e6116175fbf47e1bd0a5e4ca94b9fb9891d2d67>) |
| 18:39:08 | <Hecate> | yeah, in my library I am still compatible with 8.10.7 ph88, but you want to replace Haskell2010 with GHC2021 |
| 18:39:16 | <ph88> | ok thanks |
| 18:40:00 | <Hecate> | gqplox[m]: https://stackoverflow.com/questions/59361341/xoring-strings-in-haskell |
| 18:40:25 | <Hecate> | https://wiki.haskell.org/Dealing_with_binary_data |
| 18:42:31 | → | OscarZ joins (~oscarz@95.175.104.39) |
| 18:42:51 | <gqplox[m]> | hmm sorry I think i'm not explaining myself properly. i am looking for a way to make a custom version of the built in xor that will work for any type i want, instead of calling it stringXor in that example. so then if I make other functions, e.g. function which returns true I cna do something similar to `Xorable a => a -> Bool` |
| 18:43:21 | <gqplox[m]> | as shown in that example* |
| 18:46:05 | <geekosaur> | https://hackage.haskell.org/package/AC-Boolean/docs/Data-Boolean.html ? |
| 18:46:06 | <Hecate> | gqplox[m]: looks to me like you'd have to define Bits instances |
| 18:46:54 | <gqplox[m]> | ah ok |
| 18:47:12 | <gqplox[m]> | how would i be able to do that? would you be able to show me a short example please? |
| 18:53:34 | × | acidjnk quits (~acidjnk@p200300d6e715c461502375bc0f0db245.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
| 18:57:42 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:c515:5d78:dd35:61fc) |
| 18:58:08 | → | czy joins (~user@host-140-23.ilcub310.champaign.il.us.clients.pavlovmedia.net) |
| 18:58:47 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 19:01:28 | → | waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
| 19:03:18 | → | acidjnk joins (~acidjnk@p200300d6e715c424f48fc920b5a5fc6d.dip0.t-ipconnect.de) |
| 19:03:43 | × | jle` quits (~jle`@cpe-23-240-75-236.socal.res.rr.com) (Ping timeout: 252 seconds) |
| 19:03:59 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 248 seconds) |
| 19:05:48 | → | jle` joins (~jle`@cpe-23-240-75-236.socal.res.rr.com) |
| 19:08:22 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:c515:5d78:dd35:61fc) (Remote host closed the connection) |
| 19:15:43 | × | hueso quits (~root@user/hueso) (Quit: No Ping reply in 180 seconds.) |
| 19:19:26 | <gqplox[m]> | nvm, i got it... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/8056a6918d77674fd2581ee7d1f7a447dbe00fa2>) |
| 19:22:41 | <gqplox[m]> | its cool though, less typing in ghci 😎... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/e6aa04b028a6e421a3ff6a2e740125ace2945adb>) |
| 19:24:00 | → | bitmapper joins (uid464869@id-464869.lymington.irccloud.com) |
| 19:24:56 | <akegalj> | I am going through linear base and can't wrap my head around how to think about linear compisition. Why doesn't (##.) :: (b -> c) -> (a %1-> b) -> (a %1-> c) typecheck? (from https://github.com/tweag/linear-base/blob/master/examples/Simple/Pure.hs#L206) |
| 19:28:30 | <[exa]> | akegalj: AFAIK, the result would be a linear function that would need to call a non-linear function |
| 19:28:40 | <geekosaur> | because the composition a %1-> c is not guaranteed to be linear if either component is not linear |
| 19:29:17 | <geekosaur> | so both a %1-> b and b %1-> c are required, aiui |
| 19:29:37 | × | czy quits (~user@host-140-23.ilcub310.champaign.il.us.clients.pavlovmedia.net) (Remote host closed the connection) |
| 19:30:49 | <tomsmeding> | yeah |
| 19:31:01 | <geekosaur> | the "other direction" isn't a problem: the composition a -> c is valid even if one of the component functions is linear, because %Many doesn't care |
| 19:31:30 | <tomsmeding> | akegalj: if you write 'g ##. f = \a -> g (f a)' with thattype signature, then you must use the 'a' exactly once, which f does, but then g promises nothing about how it uses the result of calling f on a |
| 19:31:47 | <tomsmeding> | so you violate the contract of using 'a' exactly once by passing it indirectly to g |
| 19:33:03 | <akegalj> | got it, thanks all |
| 19:33:55 | <akegalj> | I think this arrow notation is a bit confusing (compared to rust which anotates values) |
| 19:35:02 | <[exa]> | rust doesn't need to deal with functions so they are okay with annotating the values |
| 19:35:19 | <tomsmeding> | [exa]: rust does deal with functions? |
| 19:35:26 | → | falafel joins (~falafel@2607:fb91:143f:e47f:e7bf:6161:2d4d:85e6) |
| 19:35:28 | <[exa]> | really? |
| 19:35:31 | <tomsmeding> | furthermore, rust even has to deal with functions having mutable closures |
| 19:35:46 | <gqplox[m]> | why can't i do this?... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/bca44d9aca8c37b2594b07ebbdfbe87f180d8578>) |
| 19:35:52 | <[exa]> | so these are still decidable values basically? |
| 19:35:54 | <tomsmeding> | [exa]: Fn / FnOnce / FnMut? |
| 19:36:58 | <tomsmeding> | gqplox[m]: Prelude's (^) is just a top-level function |
| 19:37:15 | <tomsmeding> | so after you've defined your class, there are now two (^) declarations in scope: one from Prelude, and one from you |
| 19:37:21 | <tomsmeding> | haskell doesn't disambiguate between those based on types |
| 19:37:46 | <tomsmeding> | the only "type-based disambiguation" (in some sense) that haskell does is when you have one declaration, in a type class, and you have multiple instances of that type class |
| 19:37:57 | <tomsmeding> | gqplox[m]: quick fix: put 'import Prelude hiding ((^))' at the top of your file |
| 19:38:47 | <gqplox[m]> | ah, thank you |
| 19:39:17 | <gqplox[m]> | also, how come haskell doesn't disambiguate? as it knows everything necessary in order to right? |
| 19:40:21 | <tomsmeding> | :t (^) |
| 19:40:22 | <lambdabot> | (Integral b, Num a) => a -> b -> a |
| 19:40:48 | <tomsmeding> | gqplox[m]: if you'd add Integral and Num instances to Char, then the Prelude one would also apply |
| 19:41:07 | × | son0p quits (~ff@181.136.122.143) (Ping timeout: 252 seconds) |
| 19:41:13 | <tomsmeding> | sure, Char currently doesn't have such instances, but ghc in general does not draw conclusions from type class instances _not_ existing |
| 19:41:15 | <[exa]> | gqplox[m]: you'd basically get an ad-hoc overloading if you'd allow it to disambiguate these things, which is very fragile |
| 19:41:44 | <tomsmeding> | because the point of (simple) type classes is confluence, i.e. by adding more definitions your program is only going to get more defined, without any ambiguity |
| 19:42:03 | <c_wraith> | at a practical level, it forces whole-program compilation, because instances can always be added later. No pre-compiled libraries, no module-at-a-time compilation, etc... |
| 19:42:08 | <tomsmeding> | now with MultiParamTypeClasses, or FlexibleInstances, or the variety of ghc extensions to plain Haskell2010 type classes, that's not quite true any more, but it's the idea |
| 19:42:15 | <tomsmeding> | also that |
| 19:42:32 | <[exa]> | gqplox[m]: btw there's a paper somewhere that proves that adhoc overloading is either np-complete or plain out undecidable in haskell-style inference |
| 19:43:35 | <gqplox[m]> | c_wraith: ah good point |
| 19:43:39 | <gqplox[m]> | thanks guys :) |
| 19:44:51 | × | harveypwca quits (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving) |
| 19:46:52 | × | Kuttenbrunzer quits (~Kuttenbru@2a02:8108:8b80:1d48::ccfa) (Remote host closed the connection) |
| 19:49:43 | × | hgolden_ quits (~hgolden@cpe-172-251-233-141.socal.res.rr.com) (Remote host closed the connection) |
| 19:52:08 | → | hgolden joins (~hgolden@cpe-172-251-233-141.socal.res.rr.com) |
| 19:53:59 | <gqplox[m]> | also how can i simplify this?... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/4f5826edca8f74c1861daebea92bb94d683fb1f5>) |
| 19:54:35 | → | charukiewicz[m] joins (~charukiew@2001:470:69fc:105::ded4) |
| 19:54:39 | × | motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 252 seconds) |
| 20:00:36 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 20:02:13 | × | trev_ quits (~trev@109-252-35-99.nat.spd-mgts.ru) (Remote host closed the connection) |
| 20:05:29 | <akegalj> | when I define in ghci `data LinearHolder2 where LinearHolder2 :: a %1 -> b -> LinearHolder2" and ask its type it gives me "LinearHolder2 :: a -> b -> LinearHolder2" , where did multiplicity on a var dissapear? (ghc 9.2.4) |
| 20:05:36 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 255 seconds) |
| 20:05:48 | <kaol> | gqplox[m]: That'd require xor to be defined for all Integrals. |
| 20:07:13 | → | motherfsck joins (~motherfsc@user/motherfsck) |
| 20:08:10 | × | falafel quits (~falafel@2607:fb91:143f:e47f:e7bf:6161:2d4d:85e6) (Ping timeout: 260 seconds) |
| 20:08:29 | × | jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
| 20:08:29 | × | infty quits (~infty@2a01:cb1d:2d9:1100:cd1:c82a:937a:471b) (Remote host closed the connection) |
| 20:08:52 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:c515:5d78:dd35:61fc) |
| 20:09:17 | → | jpds joins (~jpds@gateway/tor-sasl/jpds) |
| 20:09:41 | <gqplox[m]> | i thought integral only has int + integer + word and they all support xor? |
| 20:10:02 | <tomsmeding> | gqplox[m]: until someone writes 'instance Integral String where' |
| 20:10:16 | <kaol> | Doesn't matter, it's open for arbitrary new instances. |
| 20:10:18 | <gqplox[m]> | oh right |
| 20:10:21 | <tomsmeding> | or until you import a package that happens to somewhere defined some instance like that |
| 20:10:21 | × | lyle quits (~lyle@104.246.145.237) (Quit: WeeChat 3.8) |
| 20:10:24 | <gqplox[m]> | i see |
| 20:10:28 | <tomsmeding> | unbeknownst to you |
| 20:10:51 | × | echoone quits (~echoone@2a02:8109:a1c0:5d05:8d6f:39bb:827f:c033) (Quit: Client closed) |
| 20:12:21 | <tomsmeding> | akegalj: I think that's only an artifact of printing |
| 20:13:25 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:c515:5d78:dd35:61fc) (Ping timeout: 260 seconds) |
| 20:13:40 | <tomsmeding> | akegalj: https://play-haskell.tomsmeding.com/saved/Doigv7Mi |
| 20:13:47 | <tomsmeding> | oh bad test |
| 20:14:28 | <geekosaur> | "some instance like that" <-- see acme-php 🙂 |
| 20:15:26 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:c515:5d78:dd35:61fc) |
| 20:15:46 | <tomsmeding> | akegalj: actually relevant test https://play-haskell.tomsmeding.com/saved/NVrgVJNB |
| 20:16:19 | <tomsmeding> | no still not |
| 20:16:20 | <tomsmeding> | I give up |
| 20:17:25 | → | coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 20:18:01 | <tomsmeding> | akegalj: sorry for the noise, this is an actually working example https://play-haskell.tomsmeding.com/saved/1Abckwst |
| 20:18:30 | <tomsmeding> | as you can see, with the %1 on the -> in LinearHolder2 it contains the a linearly and makes my f typecheck, but without, f doesn't typecheck |
| 20:18:53 | <tomsmeding> | because f must use x linearly in producing its output, but LinearHolder2' contains the a unrestrictedly |
| 20:18:54 | → | kenran joins (~user@user/kenran) |
| 20:19:11 | <tomsmeding> | so indeed the %1 is respected, it's just not printed when using :t |
| 20:20:16 | <akegalj> | tomsmeding: thanks for the example. Yes I figured there is no bug in typechecking |
| 20:20:42 | <akegalj> | tomsmeding: by the way, that service play-haskell is really nice. Good job! |
| 20:20:51 | <tomsmeding> | :) |
| 20:22:19 | <akegalj> | tomsmeding: also I like clean simple design |
| 20:22:31 | <tomsmeding> | me too |
| 20:23:42 | <tomsmeding> | akegalj: problem is that there are a couple of features (unimplemented) that would need additional UI elements, such as ghc flags for configuring the Core output, or running a code formatter, or version info of available packages, etc |
| 20:24:05 | <tomsmeding> | and I'm bad at UI design so not sure how to incorporate that in the UI without making the UI sucky :p |
| 20:24:16 | <tomsmeding> | I could just add buttons to the top bar but that doesn't really scale |
| 20:24:48 | <tomsmeding> | if you have UI suggestions, https://github.com/tomsmeding/play-haskell/issues :) |
| 20:25:32 | × | ec quits (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
| 20:25:55 | → | son0p joins (~ff@181.136.122.143) |
| 20:26:33 | → | pwug joins (~pwug@user/pwug) |
| 20:27:56 | <akegalj> | tomsmeding: hm, let me think. I didn't do any web frontend for a while (5y) so I am not sure what is even norm today |
| 20:28:41 | <geekosaur> | side menus with some opener widget at top left |
| 20:28:48 | <darkling> | Forget _normal_. What _works_? The two seem to be distressingly far apart much of the time... |
| 20:28:52 | <geekosaur> | not that I'm recommending it |
| 20:28:56 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 20:29:02 | <tomsmeding> | geekosaur: hamburger menu you mean? |
| 20:29:07 | <tomsmeding> | not a fan :p |
| 20:29:56 | <tomsmeding> | maybe the required additional UI concept here is a drop-down joined to a button |
| 20:30:00 | <akegalj> | tomsmeding: maybe one textbox for these flags to be typed from keyboard (not selected by menues)? |
| 20:30:16 | <akegalj> | its not user friendy but its clean |
| 20:30:25 | × | Midjak quits (~Midjak@82.66.147.146) (Quit: This computer has gone to sleep) |
| 20:30:31 | <tomsmeding> | akegalj: yeah those Core/GHC flags would need to be a plain text field, no way I'm going to list those all and keep that up to date in a drop down |
| 20:32:09 | <gqplox[m]> | where can I learn about the rules for this kind of thing?... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/b179e21607d7c1dac000b557123b13574fa5d28e>) |
| 20:33:02 | <gqplox[m]> | * where can I learn about the rules for this kind of thing?... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/c4398c8db148113c83ead22c21d88a6fe0ace72b>) |
| 20:34:35 | <tomsmeding> | @pl \x y -> xor (ord x) (ord y) |
| 20:34:35 | <lambdabot> | (. ord) . xor . ord |
| 20:35:11 | <tomsmeding> | gqplox[m]: j = xor `on` ord, where 'on' is from Data.Function |
| 20:36:05 | <gqplox[m]> | @pl (^) x y = chr $ ord (x) xor ord (y) |
| 20:36:05 | <lambdabot> | (line 1, column 10): |
| 20:36:05 | <lambdabot> | unexpected " " |
| 20:36:06 | <lambdabot> | expecting operator |
| 20:36:21 | <akegalj> | tomsmeding: maybe you could create a button/tab when clicked opens "configuration" view with advanced options. So there will be one view with text editor, basic-most-used options and output like its now and one with advanced configurations (where text editor and output are hidden) |
| 20:36:22 | <tomsmeding> | gqplox[m]: @pl takes an expression, start with \x y -> ... |
| 20:36:35 | <tomsmeding> | also don't forget the ` around xor |
| 20:37:16 | <tomsmeding> | gqplox[m]: but really, the kind of stuff that @pl tends to create is purely for playing around; it very rarely makes code easier to read |
| 20:37:57 | <geekosaur> | they didn't forget the backtick; the matrix bridge mangled it |
| 20:37:57 | <tomsmeding> | akegalj: or perhaps an additional toolbar below the current one, possibly higher than the current one, with extra stuff on it? |
| 20:38:02 | <tomsmeding> | that is toggleable |
| 20:38:07 | <tomsmeding> | geekosaur: >.> |
| 20:38:40 | <akegalj> | tomsmeding: tabs like this might work http://phrogz.net/JS/Tabtastic/index.html#overview |
| 20:38:42 | <tomsmeding> | gqplox[m]: see also https://wiki.haskell.org/Pointfree |
| 20:39:37 | <kaol> | Also known as pointless. |
| 20:39:45 | <tomsmeding> | (hence the name of @pl) |
| 20:41:47 | <mauke> | gqplox[m]: https://en.wikipedia.org/wiki/Lambda_calculus#Abstraction_elimination |
| 20:42:10 | <mauke> | gqplox[m]: also https://en.wikipedia.org/wiki/Combinatory_logic#Combinators_B,_C |
| 20:42:32 | <tomsmeding> | akegalj: I'm not sure I'm a fan of putting the whole interface in a tab, making all of it invisible when you open the "advanced" screen. But thanks for the suggestion, it's a neat lightweight tab lib, going to keep it in mind if I do something similar later |
| 20:42:36 | <mauke> | in haskell terms, S = ap, K = const, I = id, C = flip, B = (.) |
| 20:43:00 | → | opticblast joins (~Thunderbi@172.58.82.191) |
| 20:43:09 | <gqplox[m]> | woah cool, i didn't know about on |
| 20:43:13 | <kaol> | http://dirk.rave.org/combinatris/ |
| 20:43:38 | × | use-value quits (~Thunderbi@2a00:23c6:8a03:2f01:f002:5d43:99c2:753f) (Quit: use-value) |
| 20:43:38 | <gqplox[m]> | ah thanks, ill look into this |
| 20:44:16 | <akegalj> | tomsmeding: additional toolbar as you suggested might work. Just don't make it look like ms word :D |
| 20:44:24 | <tomsmeding> | akegalj: that's the danger |
| 20:45:24 | <tomsmeding> | kaol: that's hilarious |
| 20:47:27 | × | hpc quits (~juzz@ip98-169-35-163.dc.dc.cox.net) (Ping timeout: 255 seconds) |
| 20:49:27 | → | hpc joins (~juzz@ip98-169-35-163.dc.dc.cox.net) |
| 21:01:35 | → | merijn joins (~merijn@c-001-001-009.client.esciencecenter.eduvpn.nl) |
| 21:01:42 | → | kenran` joins (~user@user/kenran) |
| 21:02:03 | × | kenran` quits (~user@user/kenran) (Remote host closed the connection) |
| 21:04:04 | → | dcoutts_ joins (~duncan@host86-167-90-212.range86-167.btcentralplus.com) |
| 21:04:41 | × | kenran quits (~user@user/kenran) (Ping timeout: 252 seconds) |
| 21:06:28 | → | atwm joins (~atwm@82.180.149.97) |
| 21:08:15 | → | pavonia joins (~user@user/siracusa) |
| 21:08:32 | × | atwm quits (~atwm@82.180.149.97) (Remote host closed the connection) |
| 21:10:19 | <gqplox[m]> | whats the best way to make Int the default in ghci? |
| 21:12:05 | <geekosaur> | `default (Int, Double)` (or look up the one used by ExtendedDefaultRules and replace Integer with Int) |
| 21:12:53 | <gqplox[m]> | thank you |
| 21:13:39 | <mauke> | echo 'default (Int)' >> ~/.ghci |
| 21:14:23 | → | ddellacosta joins (~ddellacos@146.70.185.10) |
| 21:14:55 | <gqplox[m]> | oh cool i didn't know that |
| 21:15:09 | <gqplox[m]> | what stuff do you have in your .ghci? |
| 21:15:35 | → | lackita joins (~user@73.114.250.252) |
| 21:16:07 | <tomsmeding> | https://tomsmeding.com/vang/uLnyvc/.ghci |
| 21:16:21 | <lackita> | Hey, trying to figure out what code formatter to use and getting a little overwhelmed by the number of choices. What do y'all recommend? |
| 21:17:15 | <geekosaur> | none |
| 21:17:17 | <geekosaur> | 🙂 |
| 21:17:19 | <mauke> | cat |
| 21:17:39 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 21:17:50 | <tomsmeding> | potentially grep -v '^#' |
| 21:18:26 | <darkling> | mauke: That's fine, until it pushes all the column headings off your table. |
| 21:18:55 | <mauke> | l'; gjigsgurq3y2` |
| 21:20:18 | <lackita> | ah, I thought that might be the answer :D |
| 21:23:46 | <gqplox[m]> | if i have a list of bools, and I want to find how many are true, what should i do |
| 21:24:06 | <gqplox[m]> | i used length and filter id but i saw sum and from Enum online |
| 21:24:17 | tomsmeding | was going to suggest precisely those two options |
| 21:24:36 | <gqplox[m]> | will they be equally fast? |
| 21:24:48 | × | khumba quits (~khumba@user/khumba) () |
| 21:25:53 | <mauke> | I'd question why you have a list of bools in the first place |
| 21:26:59 | <gqplox[m]> | here is my function... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/91cc6b7e59001edf286c8a1d192f556d4de26bac>) |
| 21:27:10 | <tomsmeding> | gqplox[m]: if I compile them then after ghc's optimiser they literally call into the same function |
| 21:27:46 | <tomsmeding> | (which is actually pretty cool) |
| 21:27:53 | <kaol> | GHC is crazy good at this kind of stuff. |
| 21:28:11 | <tomsmeding> | for reference: in https://play-haskell.tomsmeding.com/saved/A4hfLVQ7 , both f and g end up calling $wgo1_r15I |
| 21:28:22 | <tomsmeding> | kaol: I'm most surprised that's actually deduplicated the workers |
| 21:28:32 | <tomsmeding> | *that it's |
| 21:29:01 | <eldritchcookie[m> | i finally found a use case for backpack, it can shield you from instances |
| 21:29:41 | <eldritchcookie[m> | so you can import a module without bringing its instances in scope |
| 21:30:14 | <gqplox[m]> | oh cool, that's interesting |
| 21:30:22 | × | lackita quits (~user@73.114.250.252) (Ping timeout: 246 seconds) |
| 21:30:28 | <gqplox[m]> | thx for the website too, didn't know about that |
| 21:30:35 | <gqplox[m]> | wait you made it? |
| 21:31:16 | <tomsmeding> | yes :) |
| 21:31:50 | <tomsmeding> | you're the second person tonight who said the playground is useful |
| 21:32:24 | <gqplox[m]> | oh i just realised i didn't even need the filter id lol... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/739fdbc744be031151a0d7e5d224285d30a5bcb6>) |
| 21:33:48 | <gqplox[m]> | yeah its very cool |
| 21:34:25 | <gqplox[m]> | oh cool you have the github link too, maybe after i get better i can read it and understand the code |
| 21:34:48 | <tomsmeding> | gqplox[m]: there's lots of plumbing though, very few interesting haskell tricks |
| 21:35:09 | × | merijn quits (~merijn@c-001-001-009.client.esciencecenter.eduvpn.nl) (Ping timeout: 255 seconds) |
| 21:35:35 | <tomsmeding> | between a webserver, job pools, page rendering, intricate linux sandboxing, and some IO, there's just a lot of "stuff" :p |
| 21:36:55 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 21:38:50 | <gqplox[m]> | haha, well all the "stuff" sounds interesting too :) |
| 21:39:28 | <tomsmeding> | potentially interesting tidbits: https://github.com/tomsmeding/play-haskell/blob/master/play-haskell-server/src/Data/Queue/Priority.hs ; https://github.com/tomsmeding/play-haskell/blob/master/snap-server-utils/src/Snap/Server/Utils/ExitEarly.hs |
| 21:39:54 | <tomsmeding> | the latter is most certainly already defined somewhere, but it's quite useful and I was too lazy to look up a usable library for it :p |
| 21:40:09 | → | pescvilek joins (~pescvilek@93-103-164-4.dynamic.t-2.net) |
| 21:41:01 | tomsmeding | wonderes if ExitEarly is not just ContT with a few helper functions |
| 21:41:41 | <c_wraith> | tomsmeding: not exactly, because r isn't quantified over |
| 21:41:50 | <c_wraith> | wait, no. that's codensity |
| 21:41:53 | <c_wraith> | ok, yes. |
| 21:41:56 | <c_wraith> | It is the same |
| 21:42:48 | × | dcoutts_ quits (~duncan@host86-167-90-212.range86-167.btcentralplus.com) (Ping timeout: 255 seconds) |
| 21:42:49 | <kaol> | I found "flip runContT return $ callCC $ \exit -> do ..." from my own code. |
| 21:43:11 | pescvilek | slaps c_wraith around a bit with a large trout |
| 21:43:17 | <c_wraith> | fair |
| 21:44:26 | → | echoone joins (~echoone@2a02:8109:a1c0:5d05:28c6:d9bf:bfde:b3ed) |
| 21:47:26 | <tomsmeding> | kaol: sounds similar :p |
| 21:47:52 | <pescvilek> | dcc |
| 21:48:05 | <tomsmeding> | I don't really see through callCC well enough to know if it's exactly equivalent, but given the generality of the concepts here, it can hardly be something else |
| 21:48:22 | <pescvilek> | techno |
| 21:48:40 | <kaol> | Cont is the mother of all monads. Or so they say. |
| 21:49:32 | <tomsmeding> | but the advantage of using ExitEarlyT is that you're sure nobody is mothering some monads around, they're just exiting early :) |
| 21:49:47 | × | andrewboltachev quits (~andrey@178.141.125.176) (Quit: Leaving.) |
| 21:50:02 | <pescvilek> | rasist |
| 21:51:16 | <mauke> | wow, actually on mIRC |
| 21:51:29 | × | Tuplanolla quits (~Tuplanoll@91-159-68-152.elisa-laajakaista.fi) (Quit: Leaving.) |
| 21:51:50 | tomsmeding | is off to bed, see you all later |
| 21:51:59 | <tomsmeding> | good luck with the spammer |
| 21:54:11 | <pescvilek> | ! |
| 21:58:12 | → | oldsk00l joins (~znc@ec2-13-40-71-143.eu-west-2.compute.amazonaws.com) |
| 21:59:00 | × | michalz quits (~michalz@185.246.207.203) (Remote host closed the connection) |
| 22:02:27 | <ddellacosta> | are there any libraries other than beam or persistent that support multiple DBs, in particular (all of) sqlite, postgres, and mysql? |
| 22:05:49 | × | echoone quits (~echoone@2a02:8109:a1c0:5d05:28c6:d9bf:bfde:b3ed) (Quit: Client closed) |
| 22:06:27 | <kaol> | HDBC at least. |
| 22:07:08 | <ddellacosta> | kaol: thanks, never heard of that one |
| 22:09:03 | → | docter_d joins (~{docter_d@2001:9e8:33ef:3200:4883:8c68:e59c:6913) |
| 22:09:57 | × | gurkenglas quits (~gurkengla@82.113.98.93) (Ping timeout: 252 seconds) |
| 22:12:30 | × | OscarZ quits (~oscarz@95.175.104.39) (Quit: Leaving) |
| 22:14:29 | → | notzmv joins (~zmv@user/notzmv) |
| 22:15:27 | × | Ranhir quits (~Ranhir@157.97.53.139) (Read error: Connection reset by peer) |
| 22:18:48 | × | mncheckm quits (~mncheck@193.224.205.254) (Ping timeout: 255 seconds) |
| 22:19:15 | × | pavonia quits (~user@user/siracusa) (Read error: Connection reset by peer) |
| 22:20:33 | → | Ranhir joins (~Ranhir@157.97.53.139) |
| 22:21:09 | <raehik> | As a library author writing some Generics, should I allow deriving instances for V1 (which would fail at runtime), or give a type error? |
| 22:21:44 | <raehik> | I started thinking the latter, but now I keep flip-flopping and I don't have a good corpus of generic code to inspect |
| 22:21:53 | → | pavonia joins (~user@user/siracusa) |
| 22:22:46 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 22:24:48 | × | pwug quits (~pwug@user/pwug) (Quit: Leaving) |
| 22:27:14 | × | ystael quits (~ystael@user/ystael) (Ping timeout: 255 seconds) |
| 22:33:26 | <c_wraith> | raehik: if the instance just can't exist, structurally, that seems like a great reason for a compile error |
| 22:36:29 | × | docter_d quits (~{docter_d@2001:9e8:33ef:3200:4883:8c68:e59c:6913) (Quit: Leaving) |
| 22:38:19 | <raehik> | c_wraith: thanks, yeah. I might make an issue on aeson and ask them why they write compiling instance to sate my uncertainty |
| 22:39:09 | → | gdown joins (~gavin@69.11.148.35) |
| 22:47:07 | <stefan-_> | is it possible to use variables inside pcre-heavy `re` quasiquoter? |
| 22:47:44 | <stefan-_> | e.g. sth like [re|foo${key}bar|] |
| 22:50:08 | × | dolio quits (~dolio@130.44.134.54) (Quit: ZNC 1.8.2 - https://znc.in) |
| 22:51:45 | → | dolio joins (~dolio@130.44.134.54) |
| 22:51:47 | <geekosaur> | doesn't look like it |
| 22:52:32 | → | gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 22:52:41 | <geekosaur> | also, doesn't that kinda defeat doing it at compile time? |
| 22:53:47 | × | dolio quits (~dolio@130.44.134.54) (Client Quit) |
| 22:53:58 | <geekosaur> | it's running the regex `compile` step at compile time, no runtime values would be available to it |
| 22:54:11 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 22:54:44 | × | coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
| 22:54:44 | → | dolio joins (~dolio@130.44.134.54) |
| 22:56:03 | → | falafel joins (~falafel@2607:fb91:143f:e47f:1b14:6f43:b1d6:67f0) |
| 22:57:45 | <stefan-_> | geekosaur, makes sense |
| 22:58:08 | <stefan-_> | maybe I can use https://hackage.haskell.org/package/pcre-light-0.4.1.0/docs/Text-Regex-PCRE-Light.html#v:compile |
| 22:58:48 | <stefan-_> | together with the `match` function then |
| 23:04:03 | × | programmeruser quits (21612@2a01:4f8:141:1272::2) (Quit: WeeChat 3.8) |
| 23:19:44 | × | bgs quits (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection) |
| 23:20:27 | × | opticblast quits (~Thunderbi@172.58.82.191) (Ping timeout: 255 seconds) |
| 23:21:40 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 23:22:32 | → | Inst_ joins (~Inst@2601:6c4:4081:54f0:d621:5cdd:9051:c240) |
| 23:23:22 | × | bitmapper quits (uid464869@id-464869.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 23:23:46 | <eldritchcookie[m> | is there any use case for backpack? everything i think about is either untrue or done better by typeclasses |
| 23:25:44 | × | Inst quits (~Inst@2601:6c4:4081:54f0:ca9:cf1a:975a:ad95) (Ping timeout: 255 seconds) |
| 23:28:14 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 23:31:51 | → | merijn joins (~merijn@c-001-001-009.client.esciencecenter.eduvpn.nl) |
| 23:33:44 | × | gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8) |
| 23:34:53 | <yushyin> | shouldn't the phd thesis contain an adequate motivation for backpack, have you read it? |
| 23:36:01 | × | telser quits (~quassel@user/telser) (Ping timeout: 246 seconds) |
| 23:36:22 | × | merijn quits (~merijn@c-001-001-009.client.esciencecenter.eduvpn.nl) (Ping timeout: 246 seconds) |
| 23:36:40 | → | telser joins (~quassel@user/telser) |
| 23:37:12 | × | johnw quits (~johnw@2600:1700:cf00:db0:b8eb:e4c3:8b35:7cbb) (Quit: ZNC - http://znc.in) |
| 23:37:12 | × | jwiegley quits (~jwiegley@2600:1700:cf00:db0:b8eb:e4c3:8b35:7cbb) (Quit: ZNC - http://znc.in) |
| 23:39:48 | × | vglfr quits (~vglfr@145.224.100.62) (Remote host closed the connection) |
| 23:40:34 | → | vglfr joins (~vglfr@145.224.100.62) |
| 23:46:03 | × | perrierjouet quits (~perrier-j@modemcable048.127-56-74.mc.videotron.ca) (Quit: WeeChat 3.8) |
| 23:47:31 | → | perrierjouet joins (~perrier-j@modemcable048.127-56-74.mc.videotron.ca) |
| 23:48:37 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 252 seconds) |
| 23:48:58 | × | falafel quits (~falafel@2607:fb91:143f:e47f:1b14:6f43:b1d6:67f0) (Ping timeout: 246 seconds) |
| 23:49:22 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Quit: Leaving) |
| 23:54:34 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 23:54:39 | × | oldsk00l quits (~znc@ec2-13-40-71-143.eu-west-2.compute.amazonaws.com) (Ping timeout: 255 seconds) |
| 23:55:16 | → | opticblast joins (~Thunderbi@172.58.82.191) |
| 23:56:35 | <eldritchcookie[m> | it does i haven't found but maybe i am reading the wrong document https://plv.mpi-sws.org/backpack/backpack-paper.pdf |
| 23:56:43 | <eldritchcookie[m> | it does? |
All times are in UTC on 2023-02-17.