Home liberachat/#haskell: Logs Calendar

Logs on 2024-07-07 (liberachat/#haskell)

00:28:29 × noumenon quits (~noumenon@113.51-175-156.customer.lyse.net) (Quit: Leaving)
00:29:08 × joeyadams quits (~joeyadams@2603:6010:5100:2ed:e656:c92a:8e45:f003) (Quit: Leaving)
00:38:31 × gmg quits (~user@user/gehmehgeh) (Quit: Leaving)
00:54:29 × Tuplanolla quits (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
01:03:07 × nhar quits (~noah@c-73-237-54-185.hsd1.ga.comcast.net) (Ping timeout: 272 seconds)
01:06:45 × mhatta quits (~mhatta@www21123ui.sakura.ne.jp) (Remote host closed the connection)
01:13:01 mhatta joins (~mhatta@www21123ui.sakura.ne.jp)
01:14:38 rvalue- joins (~rvalue@user/rvalue)
01:15:13 × rvalue quits (~rvalue@user/rvalue) (Ping timeout: 246 seconds)
01:18:43 rvalue- is now known as rvalue
01:25:37 machinedgod joins (~machinedg@d173-183-246-216.abhsia.telus.net)
01:26:59 × Maxdamantus quits (~Maxdamant@user/maxdamantus) (Ping timeout: 264 seconds)
01:31:26 Maxdamantus joins (~Maxdamant@user/maxdamantus)
01:32:29 ftzm9 joins (~ftzm@085080243169.dynamic.telenor.dk)
01:33:31 nhar joins (~noah@c-73-237-54-185.hsd1.ga.comcast.net)
01:34:05 × ftzm quits (~ftzm@085080238199.dynamic.telenor.dk) (Ping timeout: 240 seconds)
01:34:05 ftzm9 is now known as ftzm
01:38:03 × nhar quits (~noah@c-73-237-54-185.hsd1.ga.comcast.net) (Ping timeout: 264 seconds)
01:48:13 swamp_ joins (~zmt00@user/zmt00)
01:48:46 waleee joins (~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
01:48:48 dagi78319 joins (~dagit@2001:558:6025:38:71c6:9d58:7252:8976)
01:49:36 fluffyballoon_ joins (45ce440a48@2a03:6000:1812:100::e2)
01:49:40 lain`_ joins (lain`@user/lain/x-9874679)
01:49:53 erisco_ joins (~erisco@d24-141-66-165.home.cgocable.net)
01:49:53 pmk_ joins (6afe4476a1@2a03:6000:1812:100::26d)
01:49:53 eso_ joins (a0662dfd5e@2a03:6000:1812:100::1266)
01:49:54 kuruczgy_ joins (55b66dd3ae@2a03:6000:1812:100::127f)
01:49:54 raghavgururajan_ joins (ea769b8000@2a03:6000:1812:100::242)
01:49:54 titibandit_ joins (e33ffbab65@user/titibandit)
01:49:54 jakzale_ joins (6291399afa@user/jakzale)
01:49:54 brettgilio_ joins (a35ba67324@2a03:6000:1812:100::260)
01:49:54 sm2n_ joins (ae95cb1267@user/sm2n)
01:49:55 ursa-major_ joins (114efe6c39@2a03:6000:1812:100::11f3)
01:49:55 b0o_ joins (0e4a0bf4c9@2a03:6000:1812:100::1bf)
01:49:55 alethkit_ joins (23bd17ddc6@sourcehut/user/alethkit)
01:49:55 JoelMcCracken_ joins (5ea8252fbb@2a03:6000:1812:100::10e3)
01:49:57 × eso quits (a0662dfd5e@2a03:6000:1812:100::1266) (Read error: Connection reset by peer)
01:49:58 × JoelMcCracken quits (5ea8252fbb@2a03:6000:1812:100::10e3) (Read error: Connection reset by peer)
01:49:58 × jakzale quits (6291399afa@user/jakzale) (Read error: Connection reset by peer)
01:49:58 × kuruczgy quits (55b66dd3ae@2a03:6000:1812:100::127f) (Read error: Connection reset by peer)
01:49:58 × fluffyballoon quits (45ce440a48@2a03:6000:1812:100::e2) (Read error: Connection reset by peer)
01:49:59 × tomsmeding quits (~tomsmedin@static.21.109.88.23.clients.your-server.de) (Remote host closed the connection)
01:49:59 × tjbc quits (~tjbc@user/fliife) (Quit: ZNC 1.8.2 - https://znc.in)
01:50:00 × red-snail quits (~snail@static.151.210.203.116.clients.your-server.de) (Read error: Connection reset by peer)
01:50:00 jakzale_ is now known as jakzale
01:50:02 × brettgilio quits (a35ba67324@2a03:6000:1812:100::260) (Read error: Connection reset by peer)
01:50:02 × sm2n quits (ae95cb1267@user/sm2n) (Read error: Connection reset by peer)
01:50:02 × gabiruh quits (~gabiruh@vps19177.publiccloud.com.br) (Quit: ZNC 1.7.5 - https://znc.in)
01:50:02 × raghavgururajan quits (ea769b8000@user/raghavgururajan) (Read error: Connection reset by peer)
01:50:03 × alethkit quits (23bd17ddc6@sourcehut/user/alethkit) (Read error: Connection reset by peer)
01:50:03 × xsarnik quits (xsarnik@lounge.fi.muni.cz) (Read error: Connection reset by peer)
01:50:03 × xstill_ quits (xstill@fimu/xstill) (Read error: Connection reset by peer)
01:50:03 fluffyballoon_ is now known as fluffyballoon
01:50:03 × catties quits (~catties@user/meow/catties) (Quit: n_n)
01:50:05 eso_ is now known as eso
01:50:05 dumptruckman_ joins (~dumptruck@69-164-210-35.ip.linodeusercontent.com)
01:50:09 × flukiluke quits (~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962) (Ping timeout: 268 seconds)
01:50:18 × dumptruckman quits (~dumptruck@69-164-210-35.ip.linodeusercontent.com) (Read error: Connection reset by peer)
01:50:18 dumptruckman_ is now known as dumptruckman
01:50:20 × ursa-major quits (114efe6c39@2a03:6000:1812:100::11f3) (Read error: Connection reset by peer)
01:50:21 × pmk quits (6afe4476a1@2a03:6000:1812:100::26d) (Read error: Connection reset by peer)
01:50:21 tomsmeding joins (~tomsmedin@static.21.109.88.23.clients.your-server.de)
01:50:22 × dagit quits (~dagit@2001:558:6025:38:71c6:9d58:7252:8976) (Remote host closed the connection)
01:50:22 JoelMcCracken_ is now known as JoelMcCracken
01:50:43 gabiruh joins (~gabiruh@vps19177.publiccloud.com.br)
01:50:44 catties joins (~catties@user/meow/catties)
01:50:44 × titibandit quits (e33ffbab65@user/titibandit) (Read error: Connection reset by peer)
01:50:44 titibandit_ is now known as titibandit
01:50:45 flukiluke joins (~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962)
01:50:45 × hololeap quits (~quassel@user/hololeap) (Remote host closed the connection)
01:50:45 kuruczgy_ is now known as kuruczgy
01:50:46 red-snail joins (~snail@static.151.210.203.116.clients.your-server.de)
01:50:46 tjbc joins (~tjbc@user/fliife)
01:50:46 × xerox quits (~edi@user/edi) (Ping timeout: 268 seconds)
01:50:46 × Vajb quits (~Vajb@n84f8idehd0ucclhxoj-1.v6.elisa-mobile.fi) (Ping timeout: 268 seconds)
01:50:46 × noctuks quits (cnRVbgraeY@user/noctux) (Ping timeout: 268 seconds)
01:50:46 xsarnik joins (xsarnik@lounge.fi.muni.cz)
01:51:06 × b0o quits (0e4a0bf4c9@2a03:6000:1812:100::1bf) (Read error: Connection reset by peer)
01:51:07 b0o_ is now known as b0o
01:51:07 xerox joins (~edi@user/edi)
01:51:07 noctuks joins (IEHAXjvqp6@user/noctux)
01:51:12 alethkit_ is now known as alethkit
01:51:23 × lain` quits (lain`@user/lain/x-9874679) (Ping timeout: 268 seconds)
01:51:24 × nullie quits (~nullie@nuremberg.nullie.name) (Ping timeout: 268 seconds)
01:51:24 × Ekho quits (~Ekho@user/ekho) (Ping timeout: 268 seconds)
01:51:24 × Typedfern quits (~Typedfern@182.red-83-37-43.dynamicip.rima-tde.net) (Ping timeout: 268 seconds)
01:51:25 × erisco quits (~erisco@d24-141-66-165.home.cgocable.net) (Ping timeout: 268 seconds)
01:51:25 × dminuoso quits (~weechat@user/dminuoso) (Ping timeout: 268 seconds)
01:51:25 erisco_ is now known as erisco
01:51:26 lain`_ is now known as lain`
01:51:49 hololeap joins (~quassel@user/hololeap)
01:51:49 brettgilio_ is now known as brettgilio
01:51:50 weechat2 joins (~weechat@user/dminuoso)
01:51:52 Typedfern joins (~Typedfern@182.red-83-37-43.dynamicip.rima-tde.net)
01:52:00 × zmt01 quits (~zmt00@user/zmt00) (Ping timeout: 268 seconds)
01:52:00 nullie joins (~nullie@2a01:4f8:c2c:6177::1)
01:52:01 xstill_ joins (xstill@fimu/xstill)
01:53:02 sm2n_ is now known as sm2n
01:54:04 ursa-major_ is now known as ursa-major
01:59:02 × dysthesis quits (~dysthesis@user/dysthesis) (Remote host closed the connection)
01:59:35 dysthesis joins (~dysthesis@user/dysthesis)
02:05:03 × op_4 quits (~tslil@user/op-4/x-9116473) (Remote host closed the connection)
02:05:33 op_4 joins (~tslil@user/op-4/x-9116473)
02:06:45 Ekho joins (~Ekho@user/ekho)
02:15:14 × machinedgod quits (~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 256 seconds)
02:26:35 harveypwca joins (~harveypwc@2601:246:d080:b40:1889:d9bf:2dd8:b288)
02:31:03 × mikess quits (~mikess@user/mikess) (Ping timeout: 256 seconds)
02:33:41 mikess joins (~mikess@user/mikess)
02:34:50 × dysthesis quits (~dysthesis@user/dysthesis) (Ping timeout: 260 seconds)
02:35:43 × td_ quits (~td@i53870914.versanet.de) (Ping timeout: 246 seconds)
02:37:42 td_ joins (~td@i53870903.versanet.de)
02:42:16 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
02:42:54 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Client Quit)
02:48:45 Abaddon joins (~Apollyon@user/Apollyon)
02:52:29 × xdminsy quits (~xdminsy@117.147.70.231) (Ping timeout: 240 seconds)
02:52:53 xdminsy joins (~xdminsy@117.147.70.231)
02:55:51 nhar joins (~noah@c-73-237-54-185.hsd1.ga.comcast.net)
03:00:49 × tabaqui quits (~root@87.200.123.114) (Quit: WeeChat 4.2.2)
03:03:45 Umeaboy joins (~Umeaboy@94-255-145-133.cust.bredband2.com)
03:05:45 × nhar quits (~noah@c-73-237-54-185.hsd1.ga.comcast.net) (Ping timeout: 256 seconds)
03:07:54 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
03:12:55 aforemny_ joins (~aforemny@2001:9e8:6cc4:ed00:8551:e69c:b7dd:ec64)
03:13:17 × aforemny quits (~aforemny@i59F516F8.versanet.de) (Ping timeout: 240 seconds)
03:23:15 × xdminsy quits (~xdminsy@117.147.70.231) (Ping timeout: 268 seconds)
03:49:46 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 268 seconds)
03:54:21 × harveypwca quits (~harveypwc@2601:246:d080:b40:1889:d9bf:2dd8:b288) (Quit: Leaving)
03:58:35 xdminsy joins (~xdminsy@117.147.70.231)
03:59:30 × Square quits (~Square@user/square) (Ping timeout: 252 seconds)
04:13:10 × waleee quits (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 264 seconds)
04:15:57 dysthesis joins (~dysthesis@user/dysthesis)
04:25:56 × rvalue quits (~rvalue@user/rvalue) (Read error: Connection reset by peer)
04:26:27 rvalue joins (~rvalue@user/rvalue)
04:40:52 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
04:44:55 × pavonia quits (~user@user/siracusa) (Read error: Connection reset by peer)
04:46:39 pavonia joins (~user@user/siracusa)
04:52:40 × Abaddon quits (~Apollyon@user/Apollyon) (Ping timeout: 268 seconds)
05:06:15 × xdminsy quits (~xdminsy@117.147.70.231) (Ping timeout: 268 seconds)
05:07:01 xdminsy joins (~xdminsy@117.147.70.231)
05:11:27 × xdminsy quits (~xdminsy@117.147.70.231) (Read error: Connection reset by peer)
05:19:42 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
05:22:12 × _d0t quits (~{-d0t-}@user/-d0t-/x-7915216) (Ping timeout: 255 seconds)
05:23:34 xdminsy joins (~xdminsy@117.147.70.231)
05:24:58 × dysthesis quits (~dysthesis@user/dysthesis) (Quit: dysthesis)
05:28:44 _d0t joins (~{-d0t-}@user/-d0t-/x-7915216)
05:44:57 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
05:45:19 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
05:45:52 × sefidel quits (~sefidel@user/sefidel) (Remote host closed the connection)
05:46:43 sefidel joins (~sefidel@user/sefidel)
05:52:35 × sand-witch quits (~m-mzmz6l@vmi833741.contaboserver.net) (Ping timeout: 260 seconds)
05:53:39 × xdminsy quits (~xdminsy@117.147.70.231) (Ping timeout: 264 seconds)
05:53:55 xdminsy joins (~xdminsy@117.147.70.231)
05:59:17 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 268 seconds)
06:01:54 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
06:07:56 × phma quits (~phma@host-67-44-208-74.hnremote.net) (Read error: Connection reset by peer)
06:09:00 phma joins (phma@2001:5b0:212a:e8b8:9807:a029:7b5e:a865)
06:16:37 takuan joins (~takuan@178-116-218-225.access.telenet.be)
06:18:26 × chiselfuse quits (~chiselfus@user/chiselfuse) (Remote host closed the connection)
06:19:25 chiselfuse joins (~chiselfus@user/chiselfuse)
06:23:55 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 246 seconds)
06:28:07 euleritian joins (~euleritia@dynamic-176-007-154-089.176.7.pool.telefonica.de)
06:33:11 sand-witch joins (~m-mzmz6l@vmi833741.contaboserver.net)
06:38:10 × Umeaboy quits (~Umeaboy@94-255-145-133.cust.bredband2.com) (Quit: Leaving)
06:56:49 <tomsmeding> hololeap: GHC.Generics has both `from` _and_ `to` ;)
06:58:05 <tomsmeding> essentially what it gives you is a normalised kind-of-sum-of-products (but not quite) representation of a data _type_, with some additional metadata on the type level; people typically induct on this type-level structure using a type class
06:58:31 <tomsmeding> whether you use this to take, transform, or produce data is up to you
07:00:07 × tt123109783 quits (~tt1231@2603:6010:8700:4a81:219f:50d3:618a:a6ee) (Quit: The Lounge - https://thelounge.chat)
07:00:26 <tomsmeding> my favourite method for getting familiar with what GHC.Generics really does, is doing `:k! Rep T` on some data types T in ghci, and doing `from x` for some values x
07:00:29 <tomsmeding> and seeing what comes out
07:01:00 <tomsmeding> the structure is sufficiently simple, and the metadata is sufficiently wordy, that you probably almost need no documentation at all any more at that point (if you're conversant with -XDataKinds)
07:03:07 tt123109783 joins (~tt1231@2603:6010:8700:4a81:219f:50d3:618a:a6ee)
07:04:11 acidjnk_new3 joins (~acidjnk@p200300d6e72cfb1245269f140bd925b3.dip0.t-ipconnect.de)
07:04:45 × qqe quits (~qqq@92.43.167.61) (Remote host closed the connection)
07:19:46 × lewisje quits (~lewisje@74.215.19.22) (Read error: Connection reset by peer)
07:21:08 × _xor quits (~xor@ip-208-102-243-175.dynamic.fuse.net) (Quit: Ping timeout (120 seconds))
07:21:35 lewisje joins (~lewisje@74.215.19.22)
07:22:18 rosco joins (~rosco@175.136.155.137)
07:23:20 _xor joins (~xor@ip-208-102-243-175.dynamic.fuse.net)
07:25:34 × euleritian quits (~euleritia@dynamic-176-007-154-089.176.7.pool.telefonica.de) (Read error: Connection reset by peer)
07:25:52 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
07:29:15 × sprout quits (~quassel@2a02-a448-3a80-0-6981-debe-91f4-8f74.fixed6.kpn.net) (Ping timeout: 256 seconds)
07:30:10 sprout joins (~quassel@2a02-a448-3a80-0-45f5-cd70-d2c3-af5d.fixed6.kpn.net)
08:09:53 soverysour joins (~soverysou@81.196.150.219)
08:09:53 × soverysour quits (~soverysou@81.196.150.219) (Changing host)
08:09:53 soverysour joins (~soverysou@user/soverysour)
08:20:12 × soverysour quits (~soverysou@user/soverysour) (Ping timeout: 252 seconds)
08:24:34 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
08:25:31 euleritian joins (~euleritia@77.22.252.56)
08:30:14 × chiselfuse quits (~chiselfus@user/chiselfuse) (Remote host closed the connection)
08:30:58 chiselfuse joins (~chiselfus@user/chiselfuse)
08:33:45 dysthesis joins (~dysthesis@user/dysthesis)
08:35:05 × euleritian quits (~euleritia@77.22.252.56) (Read error: Connection reset by peer)
08:35:14 euleritian joins (~euleritia@dynamic-176-007-154-089.176.7.pool.telefonica.de)
08:35:32 × euleritian quits (~euleritia@dynamic-176-007-154-089.176.7.pool.telefonica.de) (Read error: Connection reset by peer)
08:35:49 euleritian joins (~euleritia@77.22.252.56)
08:48:25 nhar joins (~noah@c-73-237-54-185.hsd1.ga.comcast.net)
08:52:48 × nhar quits (~noah@c-73-237-54-185.hsd1.ga.comcast.net) (Ping timeout: 255 seconds)
08:57:29 × euleritian quits (~euleritia@77.22.252.56) (Ping timeout: 268 seconds)
08:58:02 euleritian joins (~euleritia@dynamic-176-007-154-089.176.7.pool.telefonica.de)
09:04:17 × destituion quits (~destituio@2a02:2121:6bc:1a95:cb10:e092:4032:88f5) (Ping timeout: 268 seconds)
09:04:53 × euleritian quits (~euleritia@dynamic-176-007-154-089.176.7.pool.telefonica.de) (Ping timeout: 268 seconds)
09:07:11 euleritian joins (~euleritia@dynamic-176-001-139-117.176.1.pool.telefonica.de)
09:13:19 × mikess quits (~mikess@user/mikess) (Ping timeout: 272 seconds)
09:16:14 × euleritian quits (~euleritia@dynamic-176-001-139-117.176.1.pool.telefonica.de) (Remote host closed the connection)
09:16:22 euleritian joins (~euleritia@dynamic-176-001-139-117.176.1.pool.telefonica.de)
09:18:18 × rosco quits (~rosco@175.136.155.137) (Remote host closed the connection)
09:26:56 lol__ is now known as jcarpenter2
09:31:02 × tzh quits (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
09:40:09 soverysour joins (~soverysou@81.196.150.219)
09:40:09 × soverysour quits (~soverysou@81.196.150.219) (Changing host)
09:40:09 soverysour joins (~soverysou@user/soverysour)
09:50:31 × soverysour quits (~soverysou@user/soverysour) (Ping timeout: 268 seconds)
09:50:54 lxsameer joins (~lxsameer@Serene/lxsameer)
09:54:42 soverysour joins (~soverysou@user/soverysour)
09:59:39 × lxsameer quits (~lxsameer@Serene/lxsameer) (Ping timeout: 264 seconds)
10:01:14 lxsameer joins (~lxsameer@Serene/lxsameer)
10:08:03 × soverysour quits (~soverysou@user/soverysour) (Ping timeout: 264 seconds)
10:12:04 Guest74 joins (~Guest74@2001:569:fae8:6c00:c5eb:bd43:343:ea44)
10:13:51 × Guest74 quits (~Guest74@2001:569:fae8:6c00:c5eb:bd43:343:ea44) (Client Quit)
10:14:28 × dysthesis quits (~dysthesis@user/dysthesis) (Remote host closed the connection)
10:33:00 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
10:34:10 gmg joins (~user@user/gehmehgeh)
10:37:07 × tcard_ quits (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Remote host closed the connection)
10:37:23 tcard_ joins (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303)
10:45:58 sawilagar joins (~sawilagar@user/sawilagar)
10:46:02 × lxsameer quits (~lxsameer@Serene/lxsameer) (Ping timeout: 268 seconds)
10:58:40 lxsameer joins (~lxsameer@Serene/lxsameer)
11:02:16 × mrmr155334346 quits (~mrmr@user/mrmr) (Quit: Bye, See ya later!)
11:07:14 hwpplayer1 joins (~hwpplayer@user/hwpplayer1)
11:11:18 × lxsameer quits (~lxsameer@Serene/lxsameer) (Ping timeout: 268 seconds)
11:13:03 lxsameer joins (~lxsameer@Serene/lxsameer)
11:17:49 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
11:19:37 mrmr155334346 joins (~mrmr@user/mrmr)
11:24:20 × hwpplayer1 quits (~hwpplayer@user/hwpplayer1) (Read error: Connection reset by peer)
11:28:41 hwpplayer1 joins (~hwpplayer@user/hwpplayer1)
11:43:13 × hwpplayer1 quits (~hwpplayer@user/hwpplayer1) (Quit: hwpplayer1)
12:09:33 qqe joins (~qqq@92.43.167.61)
12:28:42 <hololeap> tomsmeding: I took a look at Generics again last night, and it seems like it might actually be a good fit, although all the information I need seems to be at the type level and I'm not sure what the best way would be to bring it down to the value level
12:30:17 <tomsmeding> hololeap: if you want info that's in a type-level string (i.e. a Symbol), and you're doing the induction via type classes, I wouldn't be surprised if you can just assert KnownSymbol on those
12:30:29 <tomsmeding> (but I'm not sure I've tried that particular trick)
12:31:50 <tomsmeding> ah there is even e.g. the Constructor class that asserts some stuff
12:31:59 <tomsmeding> so yeah, KnownSymbol it is
12:33:50 × op_4 quits (~tslil@user/op-4/x-9116473) (Remote host closed the connection)
12:33:58 puke joins (~puke@user/puke)
12:34:58 <hololeap> this is what the Rep looks like: https://bpa.st/DE3Q
12:36:12 op_4 joins (~tslil@user/op-4/x-9116473)
12:36:17 <hololeap> so I need some way to determine that e.g. ReinstallAtomsMode is an decendant of Portage, but not of the other constructors of PkgManager
12:37:17 <hololeap> here's the ADT: https://bpa.st/FNXQ
12:37:27 × leah2 quits (~leah@vuxu.org) (Ping timeout: 264 seconds)
12:38:12 <hololeap> I want to use this structure to automatically say "--mode=reinstall-atoms is only supported by the Portage package manager"
12:38:50 <hololeap> (or at the very least, "--mode=reinstall-atoms is not supported by X")
12:42:51 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
12:43:53 <hololeap> maybe I can rig something up with TypeFamilies
12:46:03 × lxsameer quits (~lxsameer@Serene/lxsameer) (Ping timeout: 260 seconds)
12:58:29 soverysour joins (~soverysou@81.196.150.219)
12:58:29 × soverysour quits (~soverysou@81.196.150.219) (Changing host)
12:58:29 soverysour joins (~soverysou@user/soverysour)
13:01:49 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
13:05:49 nhar joins (~noah@c-73-237-54-185.hsd1.ga.comcast.net)
13:10:56 × nhar quits (~noah@c-73-237-54-185.hsd1.ga.comcast.net) (Ping timeout: 268 seconds)
13:12:57 sp1ff joins (~user@c-73-11-70-111.hsd1.wa.comcast.net)
13:13:32 target_i joins (~target_i@user/target-i/x-6023099)
13:23:47 nhar joins (~noah@c-73-237-54-185.hsd1.ga.comcast.net)
13:29:34 <tomsmeding> hololeap: once you have this information (that ReinstallAtomsMode is only a descendant of Portage and not of other things), what are you going to do with that information?
13:29:57 <tomsmeding> is the idea that there is some partial function `ReinstallAtomsMode -> PkgManage` and you want to prevent it from failing?
13:30:08 <tomsmeding> because if so, that sounds like that function should just return a Maybe :p
13:30:33 <tomsmeding> thereby making this whole generics/whatever dance redundant
13:31:26 <tomsmeding> the moment you're asking for "does this field occur somewhere in this data type", it sounds to me like the data structures are the wrong way round
13:31:30 <tomsmeding> or something else is off
13:32:03 × nhar quits (~noah@c-73-237-54-185.hsd1.ga.comcast.net) (Ping timeout: 264 seconds)
13:33:57 × ubert quits (~Thunderbi@p200300ecdf008f0f0a6872e022c3958c.dip0.t-ipconnect.de) (Remote host closed the connection)
13:34:17 ubert joins (~Thunderbi@p200300ecdf008f0f0a6872e022c3958c.dip0.t-ipconnect.de)
13:37:14 <hololeap> tomsmeding: it's because the user is capable of doing --package-manager=paludis --mode=reinstall-atoms and they need to be told that it's unsupported
13:39:07 <hololeap> currently I have a big case statement that checks for any incompatible options, but it's big and annoying and error prone
13:40:33 <tomsmeding> hololeap: okay sure, but what would happen if you'd just remove that case statement?
13:40:39 <tomsmeding> would something crash? What would?
13:40:47 <tomsmeding> Can you do the check _there_ instead of crashing?
13:41:24 <tomsmeding> at the risk of cargo-culting, I'm trying to find out if this is a case where parse-don't-validate is applicable
13:42:29 <hololeap> that's actually what I was following. I have a model of all the possible command line combinations, and I'm trying to "parse" it into the ADT that encodes all the valid mode combinations
13:43:07 <tomsmeding> but then you need more than just the fact that ReinstallAtomsMode occurs within Portage, right? You also need a function that makes you a Portage given a ReinstallAtomsMode
13:44:46 <hololeap> https://github.com/gentoo-haskell/haskell-updater/blob/master/Distribution/Gentoo/CmdLine.hs#L37-L99
13:45:06 <hololeap> https://github.com/gentoo-haskell/haskell-updater/blob/master/Distribution/Gentoo/Types/HUMode.hs
13:46:29 <tomsmeding> I see, so you're doing exactly what I was suggesting, in a way
13:46:51 <hololeap> the "reinstall-atoms" mode is something that only makes sense with the portage package manager, since it has the features to implement it. it's a special mode that I made with portage's features in mind
13:47:49 <tomsmeding> have I been unnecessarily hung up on the phrasing of your original question, where you asked for how to "check if" instead of how to make a data type given one of the fields?
13:48:00 <tomsmeding> s/make a/make a value of a/
13:48:08 <hololeap> maybe :p
13:48:41 <tomsmeding> in any case this whole thing is only really relevant for ReinstallAtomsMode, right? The others are orthogonal
13:50:55 <hololeap> mostly, yes. however there is also a --target=... option which has a couple that are only valid with --mode=reinstall-atoms
13:51:01 <tomsmeding> right, I see
13:53:01 <hololeap> and I was planning on adding a couple more for that mode, so the case statement is getting unruley. I suppose the best thing to do would be to make reinstall-atoms mode a separate command with its own options
13:54:29 <tomsmeding> hololeap: am I correct that a "target" (whether it's a Target, a CustomTargets, or a ReinstallAtomsTarget) is always eventually a part of the "mode" (be it RunMode or ReinstallAtomsMode)?
13:55:10 <tomsmeding> if so, perhaps you can have a separate function first that tries to combine the cmdLineMode and the cmdLineTarget into `Either RunMode ReinstallAtomsMode`
13:55:34 <tomsmeding> then you cut down on the combinatorial explosion
13:57:03 <hololeap> yeah, that makes sense
13:57:37 <tomsmeding> to me that feels like a more appropriate solution here than trying to infer semantical structure from the data types
13:58:15 <tomsmeding> it's just a feeling that I have, but I suspect that the equivalence here (that ReinstallAtomsMode is a field of Portage precisely because it's valid with Portage) is somewhat accidental
13:58:26 <tomsmeding> what if there's another data type in between?
13:58:47 <tomsmeding> then suddenly the generics/Data/whatever magic would have to do inter-datatype analysis
13:58:59 <tomsmeding> even though semantically, nothing really changed
14:00:05 × poscat quits (~poscat@user/poscat) (Quit: Bye)
14:00:15 <hololeap> I kinda want to try the magical solution, just for the challenge, but you make good points :)
14:00:21 poscat joins (~poscat@user/poscat)
14:00:30 <tomsmeding> there's sensibility, and then there's fun :p
14:02:23 <tomsmeding> still, what would the magical solution even do, precisely?
14:02:43 <tomsmeding> you'd still need to provide a mapping from PkgManager to the constructors of Mode.PkgManager
14:03:41 <tomsmeding> one could write a function that creates a D from some T if there's only one constructor of D that has a field of type T (possibly nested in Either), and furthermore that constructor of D has no other fields
14:03:51 <tomsmeding> that's a bit of Generics magic there
14:04:17 <tomsmeding> but that really only replaces a very marginal bit of your code :p
14:12:37 × wlhn quits (~wlhn@dl46fx8hbfttwvhb-h1ly-3.rev.dnainternet.fi) (Quit: Leaving)
14:35:14 × qqe quits (~qqq@92.43.167.61) (Quit: leaving)
14:35:33 leah2 joins (~leah@vuxu.org)
14:37:18 Tuplanolla joins (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi)
14:45:11 × soverysour quits (~soverysou@user/soverysour) (Ping timeout: 272 seconds)
14:45:36 __monty__ joins (~toonn@user/toonn)
15:15:25 soverysour joins (~soverysou@81.196.150.219)
15:15:25 × soverysour quits (~soverysou@81.196.150.219) (Changing host)
15:15:25 soverysour joins (~soverysou@user/soverysour)
15:16:31 ubert1 joins (~Thunderbi@p200300ecdf008f0dcbf843fa6f22da0d.dip0.t-ipconnect.de)
15:17:22 × ubert quits (~Thunderbi@p200300ecdf008f0f0a6872e022c3958c.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
15:17:22 ubert1 is now known as ubert
15:19:03 Square joins (~Square@user/square)
15:40:54 machinedgod joins (~machinedg@d173-183-246-216.abhsia.telus.net)
15:42:39 mikess joins (~mikess@user/mikess)
15:57:38 × euleritian quits (~euleritia@dynamic-176-001-139-117.176.1.pool.telefonica.de) (Read error: Connection reset by peer)
15:59:50 euleritian joins (~euleritia@77.22.252.56)
16:01:35 × soverysour quits (~soverysou@user/soverysour) (Ping timeout: 260 seconds)
16:03:04 soverysour joins (~soverysou@81.196.150.219)
16:03:05 × soverysour quits (~soverysou@81.196.150.219) (Changing host)
16:03:05 soverysour joins (~soverysou@user/soverysour)
16:16:10 × euleritian quits (~euleritia@77.22.252.56) (Ping timeout: 264 seconds)
16:17:12 × raghavgururajan_ quits (ea769b8000@2a03:6000:1812:100::242) (Changing host)
16:17:12 raghavgururajan_ joins (ea769b8000@user/raghavgururajan)
16:17:19 euleritian joins (~euleritia@77.22.252.56)
16:17:48 raghavgururajan_ is now known as raghavgururajan
16:18:21 econo_ joins (uid147250@id-147250.tinside.irccloud.com)
16:20:13 × raghavgururajan quits (ea769b8000@user/raghavgururajan) (Remote host closed the connection)
16:20:22 raghavgururajan joins (ea769b8000@user/raghavgururajan)
16:21:34 yobson joins (~yobson@cpc91230-cmbg18-2-0-cust906.5-4.cable.virginm.net)
16:23:36 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
16:28:39 × machinedgod quits (~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 255 seconds)
16:28:40 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
16:29:24 × sp1ff quits (~user@c-73-11-70-111.hsd1.wa.comcast.net) (Remote host closed the connection)
16:31:14 × smalltalkman quits (uid545680@id-545680.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
16:31:47 × barthandelous01 quits (barth@triton.blinkenshell.org) (Ping timeout: 264 seconds)
16:32:04 barthandelous01 joins (barth@triton.blinkenshell.org)
16:41:49 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
16:43:20 nhar joins (~noah@c-73-237-54-185.hsd1.ga.comcast.net)
16:44:15 × mud quits (~mud@user/kadoban) (Ping timeout: 272 seconds)
16:46:50 mud joins (~mud@user/kadoban)
16:50:58 × nhar quits (~noah@c-73-237-54-185.hsd1.ga.comcast.net) (Ping timeout: 264 seconds)
16:56:38 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
16:58:50 lxsameer joins (~lxsameer@Serene/lxsameer)
16:59:43 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
17:10:58 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
17:32:56 × Feuermagier quits (~Feuermagi@user/feuermagier) (Quit: Leaving)
17:37:53 Sgeo joins (~Sgeo@user/sgeo)
17:37:58 <hololeap> tomsmeding: this is a lot cleaner and I feel better about maintaining it: https://github.com/hololeap/haskell-updater/commit/b9147e65149c2dcc7e52126a60a4bc6b0c02201a
17:41:32 <hololeap> it makes sense that the best structure for building the type mimics the shape of the type itself
17:42:42 <hololeap> I still want to get my hands dirty with some generics, but maybe some other time :p
17:49:44 <monochrom> Conversely, I should learn Data.Data properly too. :)
17:50:10 <hololeap> I couldn't figure out the bit I was stuck on with Data.Data, btw
17:56:21 × yobson quits (~yobson@cpc91230-cmbg18-2-0-cust906.5-4.cable.virginm.net) (Remote host closed the connection)
18:03:46 nhar joins (~noah@c-73-237-54-185.hsd1.ga.comcast.net)
18:04:46 × soverysour quits (~soverysou@user/soverysour) (Ping timeout: 264 seconds)
18:10:20 × nhar quits (~noah@c-73-237-54-185.hsd1.ga.comcast.net) (Ping timeout: 268 seconds)
18:10:58 nhar joins (~noah@c-73-237-54-185.hsd1.ga.comcast.net)
18:19:01 <[exa]> kinda wondering-- there are some reasonable tools for manipulating monad stacks nowadays. Is there anything cool to somehow manipulate the "compose stacks" of functors that are glued into higher-kinded data?
18:20:15 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds)
18:20:56 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
18:22:58 × nhar quits (~noah@c-73-237-54-185.hsd1.ga.comcast.net) (Ping timeout: 268 seconds)
18:27:43 tzh joins (~tzh@c-76-115-131-146.hsd1.or.comcast.net)
18:31:39 <tomsmeding> hololeap: looks great! Building mimicing the structure of the output type makes some sense, but not necessarily always; it's nice when it does, though :)
18:35:46 soverysour joins (~soverysou@81.196.150.219)
18:35:46 × soverysour quits (~soverysou@81.196.150.219) (Changing host)
18:35:46 soverysour joins (~soverysou@user/soverysour)
18:40:47 × soverysour quits (~soverysou@user/soverysour) (Ping timeout: 272 seconds)
18:45:59 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
18:47:56 soverysour joins (~soverysou@81.196.150.219)
18:47:56 × soverysour quits (~soverysou@81.196.150.219) (Changing host)
18:47:56 soverysour joins (~soverysou@user/soverysour)
18:49:43 kuribas joins (~user@ptr-17d51emtzrmz5rsjtv0.18120a2.ip6.access.telenet.be)
18:50:04 [exa] finds a package with Barbies
18:51:36 <kuribas> I am interested in joining Munihac. I could use my hasqlator library as a talk of project.
18:51:49 <kuribas> I wonder what is eligible for projects?
18:52:08 <kuribas> Would porting my library to postgresql qualify?
19:05:36 nhar joins (~noah@c-73-237-54-185.hsd1.ga.comcast.net)
19:06:45 × soverysour quits (~soverysou@user/soverysour) (Ping timeout: 268 seconds)
19:08:13 mreh joins (~matthew@host86-160-168-12.range86-160.btcentralplus.com)
19:10:46 × nhar quits (~noah@c-73-237-54-185.hsd1.ga.comcast.net) (Ping timeout: 246 seconds)
19:13:15 <[exa]> kuribas: there's a normal CfC here https://munihac.de/2024.html#cfc I guess you can just submit a proposa and you'll see
19:16:22 <[exa]> afaik the most crucial eligibility criterium for the projects is how accessible they are for a random haskell person around. That usually comprises sensible docs and a clear motivation for a usecase that people can easily accept as their own.
19:16:48 <kuribas> hmm, I might need to update my documentation before I submit then...
19:17:20 <kuribas> I think it would be a nice project, because it's fairly easy, and a good exercise in composability.
19:17:59 × kuribas quits (~user@ptr-17d51emtzrmz5rsjtv0.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
19:21:28 sp1ff joins (~user@c-73-11-70-111.hsd1.wa.comcast.net)
19:26:43 migas977 joins (~migas@static.140.65.63.178.clients.your-server.de)
19:28:27 × migas97 quits (~migas@static.140.65.63.178.clients.your-server.de) (Ping timeout: 252 seconds)
19:28:27 migas977 is now known as migas97
19:29:33 × SteelBlueSilk quits (~SteelBlue@user/SteelBlueSilk) (Ping timeout: 255 seconds)
19:29:57 machinedgod joins (~machinedg@d173-183-246-216.abhsia.telus.net)
19:31:19 SteelBlueSilk joins (~SteelBlue@c-98-42-249-36.hsd1.ca.comcast.net)
19:31:19 × SteelBlueSilk quits (~SteelBlue@c-98-42-249-36.hsd1.ca.comcast.net) (Changing host)
19:31:19 SteelBlueSilk joins (~SteelBlue@user/SteelBlueSilk)
19:31:27 × euleritian quits (~euleritia@77.22.252.56) (Ping timeout: 264 seconds)
19:32:05 euleritian joins (~euleritia@dynamic-176-003-015-111.176.3.pool.telefonica.de)
19:34:41 soverysour joins (~soverysou@user/soverysour)
19:38:03 corona4 joins (~corona4@2a01:14:123:fc60:95be:9605:ef34:c900)
19:39:45 × soverysour quits (~soverysou@user/soverysour) (Ping timeout: 268 seconds)
19:39:50 × rvalue quits (~rvalue@user/rvalue) (Read error: Connection reset by peer)
19:40:19 rvalue joins (~rvalue@user/rvalue)
19:42:49 × codaraxis quits (~codaraxis@user/codaraxis) (Quit: Leaving)
19:46:14 × corona4 quits (~corona4@2a01:14:123:fc60:95be:9605:ef34:c900) (Quit: Client closed)
19:49:48 waleee joins (~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
20:04:08 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
20:17:34 × iteratee quits (~kyle@162.218.222.207) (Ping timeout: 256 seconds)
20:19:55 iteratee joins (~kyle@162.218.222.207)
20:21:12 soverysour joins (~soverysou@81.196.150.219)
20:21:12 × soverysour quits (~soverysou@81.196.150.219) (Changing host)
20:21:12 soverysour joins (~soverysou@user/soverysour)
20:25:39 × soverysour quits (~soverysou@user/soverysour) (Ping timeout: 252 seconds)
20:39:57 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
20:46:04 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
20:49:09 × sawilagar quits (~sawilagar@user/sawilagar) (Quit: Leaving)
20:50:51 nhar joins (~noah@c-73-237-54-185.hsd1.ga.comcast.net)
20:54:34 × Inst quits (~Inst@user/Inst) (Ping timeout: 264 seconds)
20:55:32 × nhar quits (~noah@c-73-237-54-185.hsd1.ga.comcast.net) (Ping timeout: 256 seconds)
20:58:26 zmt00 joins (~zmt00@user/zmt00)
21:00:29 × swamp_ quits (~zmt00@user/zmt00) (Ping timeout: 240 seconds)
21:03:12 × infinity0 quits (~infinity0@pwned.gg) (Remote host closed the connection)
21:05:19 infinity0 joins (~infinity0@pwned.gg)
21:18:10 × lxsameer quits (~lxsameer@Serene/lxsameer) (Ping timeout: 246 seconds)
21:22:11 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
21:29:50 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 268 seconds)
21:39:20 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
21:41:17 emm joins (~emm@user/edmeme)
21:44:51 pavonia joins (~user@user/siracusa)
21:50:21 × target_i quits (~target_i@user/target-i/x-6023099) (Quit: leaving)
22:08:30 kraftwerk28 joins (~kraftwerk@164.92.219.160)
22:08:37 × kraftwerk28 quits (~kraftwerk@164.92.219.160) (Remote host closed the connection)
22:10:31 × acidjnk_new3 quits (~acidjnk@p200300d6e72cfb1245269f140bd925b3.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
22:16:58 × xdminsy quits (~xdminsy@117.147.70.231) (Ping timeout: 246 seconds)
22:21:37 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
22:22:27 × oo_miguel quits (~Thunderbi@78.10.207.46) (Ping timeout: 272 seconds)
22:23:03 × emm quits (~emm@user/edmeme) (Quit: WeeChat 4.3.3)
22:28:15 × gmg quits (~user@user/gehmehgeh) (Quit: Leaving)
22:29:00 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
22:33:57 × machinedgod quits (~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 268 seconds)
22:34:50 xdminsy joins (~xdminsy@117.147.70.227)
22:43:34 × mreh quits (~matthew@host86-160-168-12.range86-160.btcentralplus.com) (Ping timeout: 246 seconds)
22:50:25 × Tuplanolla quits (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
22:59:39 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
23:11:24 × hueso quits (~root@user/hueso) (Ping timeout: 255 seconds)
23:39:05 Guest42 joins (~Guest42@2a02-a46b-aaa5-1-b5e3-73be-4d72-a25c.fixed6.kpn.net)
23:46:52 × Guest42 quits (~Guest42@2a02-a46b-aaa5-1-b5e3-73be-4d72-a25c.fixed6.kpn.net) (Quit: Client closed)

All times are in UTC on 2024-07-07.