Home liberachat/#haskell: Logs Calendar

Logs on 2023-05-24 (liberachat/#haskell)

00:01:06 <maralorn> c_wraith: I think because that would lead to to many major bumps of the public api.
00:01:30 <c_wraith> there's a reason there are two fields for major.
00:02:03 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:6cda:5d2c:763a:75d3)
00:02:54 <maralorn> But consumer will need to pin both fields to be save.
00:03:21 <c_wraith> and.. good? a package that's frequently changing it's internals isn't stable by definition.
00:03:32 <c_wraith> *its
00:03:48 <hpc> isn't the point of internals to change them frequently?
00:04:02 <jackdk> People have conflated "version numbers as semantic information" and "version numbers as marketing information", I think.
00:04:09 × harveypwca quits (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving)
00:04:34 <c_wraith> the point of internals is that's where everything is that breaks your invariants.
00:05:11 × vandita quits (~vandit@178-164-206-99.pool.digikabel.hu) (Ping timeout: 240 seconds)
00:05:13 <hpc> that's probably where the problem here lies then
00:05:26 <hpc> maybe it should be called unsafe instead or something
00:06:10 <hpc> internal sounds like you're violating the promises of the packaging, and unsafe sounds like you're violating the promises of the api
00:06:20 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:6cda:5d2c:763a:75d3) (Ping timeout: 246 seconds)
00:07:05 <nitrix> I propose invariant and invarion't.
00:07:07 vandita joins (~vandit@178-164-206-56.pool.digikabel.hu)
00:07:21 × califax quits (~califax@user/califx) (Remote host closed the connection)
00:08:29 califax joins (~califax@user/califx)
00:08:48 × machinedgod quits (~machinedg@84-115-230-104.cable.dynamic.surfer.at) (Ping timeout: 268 seconds)
00:08:57 <c_wraith> unsafe is for things that break the runtime, via memory or type unsafety
00:13:20 × phma quits (~phma@host-67-44-208-203.hnremote.net) (Read error: Connection reset by peer)
00:13:48 phma joins (~phma@2001:5b0:215d:f508:c5da:3d99:1fd6:47ad)
00:23:10 wroathe joins (~wroathe@user/wroathe)
00:23:59 × wroathe quits (~wroathe@user/wroathe) (Client Quit)
00:24:12 wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com)
00:24:12 × wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
00:24:12 wroathe joins (~wroathe@user/wroathe)
00:43:35 × zeenk quits (~zeenk@2a02:2f04:a105:f00::7fe) (Quit: Konversation terminated!)
00:45:30 notzmv joins (~zmv@user/notzmv)
00:47:56 × quarkyalice quits (~alice@user/quarkyalice) (Remote host closed the connection)
00:53:56 <c_wraith> oh hey. 9.6.2. and it fixes the bug I found immediately playing around in 9.6.1. (someone had reported it before it was even released, though)
01:05:14 × Lycurgus quits (~juan@user/Lycurgus) (Quit: Exeunt: personae.ai-integration.biz)
01:08:17 × xff0x quits (~xff0x@ai098135.d.east.v6connect.net) (Ping timeout: 246 seconds)
01:09:14 × jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 268 seconds)
01:10:15 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
01:10:29 xff0x joins (~xff0x@178.255.149.135)
01:12:47 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 264 seconds)
01:15:35 × xff0x quits (~xff0x@178.255.149.135) (Ping timeout: 240 seconds)
01:16:24 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
01:17:44 xff0x joins (~xff0x@2405:6580:b080:900:6d82:a587:a8fb:8ee1)
01:20:23 × Nosrep quits (~Nosrep@user/nosrep) (Remote host closed the connection)
01:43:31 × hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 240 seconds)
01:54:29 hugo joins (znc@verdigris.lysator.liu.se)
01:54:38 nate2 joins (~nate@98.45.169.16)
01:59:19 × nate2 quits (~nate@98.45.169.16) (Ping timeout: 256 seconds)
02:03:11 × vandita quits (~vandit@178-164-206-56.pool.digikabel.hu) (Ping timeout: 264 seconds)
02:04:08 × pharonix71 quits (~pharonix7@user/pharonix71) (Ping timeout: 240 seconds)
02:04:26 vandita joins (~vandit@84-236-3-126.pool.digikabel.hu)
02:05:36 pharonix71 joins (~pharonix7@user/pharonix71)
02:07:59 × td_ quits (~td@i53870922.versanet.de) (Ping timeout: 240 seconds)
02:08:23 × xff0x quits (~xff0x@2405:6580:b080:900:6d82:a587:a8fb:8ee1) (Ping timeout: 256 seconds)
02:09:57 td_ joins (~td@i53870930.versanet.de)
02:12:53 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:6cda:5d2c:763a:75d3)
02:16:46 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
02:18:20 nate2 joins (~nate@98.45.169.16)
02:25:08 × ubert quits (~Thunderbi@p200300ecdf18b6df36e22024a437cc27.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
02:26:50 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
02:27:20 ubert joins (~Thunderbi@p548c91e0.dip0.t-ipconnect.de)
02:36:23 × mei quits (~mei@user/mei) (Ping timeout: 240 seconds)
02:40:26 mei joins (~mei@user/mei)
02:49:46 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
02:49:46 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
02:49:46 finn_elija is now known as FinnElija
02:55:07 xff0x joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
02:55:48 Mistyhands joins (~Mistyhand@217.155.19.212)
02:57:54 trev joins (~trev@user/trev)
03:00:09 × Mistyhands quits (~Mistyhand@217.155.19.212) (Read error: Connection reset by peer)
03:08:52 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 268 seconds)
03:18:23 × nate2 quits (~nate@98.45.169.16) (Ping timeout: 240 seconds)
03:23:48 × darchitect quits (~darchitec@2a00:23c6:3584:df01:ef79:bcf3:d062:3079) (Ping timeout: 240 seconds)
03:25:56 darchitect joins (~darchitec@host86-157-65-148.range86-157.btcentralplus.com)
03:40:29 × jrm quits (~jrm@user/jrm) (Quit: ciao)
03:41:54 jrm joins (~jrm@user/jrm)
03:48:09 × jrm quits (~jrm@user/jrm) (Quit: ciao)
03:49:33 jrm joins (~jrm@user/jrm)
04:06:56 × waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 248 seconds)
04:07:06 _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
04:08:41 × vandita quits (~vandit@84-236-3-126.pool.digikabel.hu) (Ping timeout: 268 seconds)
04:09:52 vandita joins (~vandit@77-234-92-242.pool.digikabel.hu)
04:10:31 × hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 240 seconds)
04:14:00 coot joins (~coot@89-69-206-216.dynamic.chello.pl)
04:17:30 czy joins (~user@host-140-24.ilcub310.champaign.il.us.clients.pavlovmedia.net)
04:18:28 freeside joins (~mengwong@122.11.248.245)
04:22:08 hugo joins (znc@verdigris.lysator.liu.se)
04:23:29 freeside_ joins (~mengwong@122.11.248.245)
04:23:34 × freeside quits (~mengwong@122.11.248.245) (Read error: Connection reset by peer)
04:25:46 mbuf joins (~Shakthi@49.207.178.186)
04:26:27 × mei quits (~mei@user/mei) (Remote host closed the connection)
04:28:51 mei joins (~mei@user/mei)
04:30:11 × freeside_ quits (~mengwong@122.11.248.245) (Ping timeout: 264 seconds)
04:36:09 freeside joins (~mengwong@122.11.248.245)
04:43:31 × freeside quits (~mengwong@122.11.248.245) (Ping timeout: 240 seconds)
05:00:11 × mei quits (~mei@user/mei) (Ping timeout: 264 seconds)
05:04:07 mei joins (~mei@user/mei)
05:06:18 freeside joins (~mengwong@122.11.248.245)
05:10:29 × freeside quits (~mengwong@122.11.248.245) (Ping timeout: 246 seconds)
05:12:18 cheater_ joins (~Username@user/cheater)
05:12:45 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 240 seconds)
05:13:41 takuan joins (~takuan@178-116-218-225.access.telenet.be)
05:13:41 thegeekinside joins (~thegeekin@189.141.107.10)
05:14:49 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
05:15:12 × cheater quits (~Username@user/cheater) (Ping timeout: 248 seconds)
05:15:15 cheater_ is now known as cheater
05:19:02 delYsid joins (~user@user/delYsid)
05:22:32 freeside joins (~mengwong@122.11.248.245)
05:26:48 × freeside quits (~mengwong@122.11.248.245) (Ping timeout: 240 seconds)
05:28:40 cheater_ joins (~Username@user/cheater)
05:31:25 freeside joins (~mengwong@202.161.55.11)
05:31:33 × _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection)
05:32:33 × cheater quits (~Username@user/cheater) (Ping timeout: 268 seconds)
05:32:35 cheater_ is now known as cheater
05:36:28 × freeside quits (~mengwong@202.161.55.11) (Ping timeout: 240 seconds)
05:45:40 michalz joins (~michalz@185.246.204.75)
05:49:27 wiosna joins (~karangura@c-73-93-95-154.hsd1.ca.comcast.net)
05:54:26 oo_miguel joins (~Thunderbi@77.252.47.84)
05:58:07 freeside joins (~mengwong@103.252.202.151)
06:02:46 × freeside quits (~mengwong@103.252.202.151) (Ping timeout: 268 seconds)
06:07:09 × gentauro quits (~gentauro@user/gentauro) (Read error: Connection reset by peer)
06:10:56 cheater_ joins (~Username@user/cheater)
06:12:49 gentauro joins (~gentauro@user/gentauro)
06:13:48 × cheater quits (~Username@user/cheater) (Ping timeout: 240 seconds)
06:13:51 cheater_ is now known as cheater
06:14:21 mncheckm joins (~mncheck@193.224.205.254)
06:15:28 × vandita quits (~vandit@77-234-92-242.pool.digikabel.hu) (Ping timeout: 240 seconds)
06:17:23 vandita joins (~vandit@176-241-19-16.pool.digikabel.hu)
06:27:35 harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67)
06:32:32 × wiosna quits (~karangura@c-73-93-95-154.hsd1.ca.comcast.net) (Ping timeout: 248 seconds)
06:34:40 × shriekingnoise quits (~shrieking@186.137.175.87) (Ping timeout: 248 seconds)
06:39:49 × echoreply quits (~echoreply@45.32.163.16) (Quit: WeeChat 2.8)
06:40:20 echoreply joins (~echoreply@45.32.163.16)
06:41:28 gurkenglas joins (~user@dynamic-046-114-181-020.46.114.pool.telefonica.de)
06:42:20 chomwitt joins (~chomwitt@2a02:587:7a18:d000:1ac0:4dff:fedb:a3f1)
06:43:22 <maerwald[m]> maralorn: why is it weird
06:44:13 <maerwald[m]> maralorn: https://nikita-volkov.github.io/internal-convention-is-a-mistake/
06:49:01 × stallmanator quits (~stallmana@user/stallmanator) (Ping timeout: 268 seconds)
06:52:18 acidjnk joins (~acidjnk@p200300d6e7072f976d29b515cdbc7698.dip0.t-ipconnect.de)
06:56:51 stallmanator joins (~stallmana@user/stallmanator)
07:03:20 nschoe joins (~q@2a04:cec0:c006:1374:b365:bd25:7c09:4372)
07:03:27 × nschoe quits (~q@2a04:cec0:c006:1374:b365:bd25:7c09:4372) (Client Quit)
07:04:22 <[Leary]> maralorn: Internals shouldn't be exposed just for binaries or tests anyway; that's what internal libraries are for.
07:09:54 lortabac joins (~lortabac@2a01:e0a:541:b8f0:95ad:d783:3e23:6a4a)
07:13:49 × phma quits (~phma@2001:5b0:215d:f508:c5da:3d99:1fd6:47ad) (Read error: Connection reset by peer)
07:14:54 phma joins (phma@2001:5b0:210f:3e28:a2ab:29ef:2389:7204)
07:25:37 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:6cda:5d2c:763a:75d3) (Remote host closed the connection)
07:27:48 × meinside quits (uid24933@id-24933.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
07:30:16 alternateved joins (~user@77-253-195-69.adsl.inetia.pl)
07:31:06 <jade[m]> I am writing an application with brick, which uses a custom state type and transition function. I need to perform IO actions depending on the state. Would I be right to assume that I need a monad transformer (maybe StateT) with IO to model this?
07:31:39 <jade[m]> I don't know much about either things (State monad and monad transformers)
07:31:43 titibandit joins (~titibandi@user/titibandit)
07:32:42 × mei quits (~mei@user/mei) (Remote host closed the connection)
07:34:57 × puke quits (~puke@user/puke) (Quit: puke)
07:35:08 mei joins (~mei@user/mei)
07:40:02 <sm> jade: IIRC brick types are a bit tricky at first but you don't need to add an extra transformer yourself. Maybe check some example apps ?
07:40:19 <jade[m]> will do so, thank yoi
07:40:24 <jade[m]> s/yoi/you
07:43:13 × thegeekinside quits (~thegeekin@189.141.107.10) (Ping timeout: 265 seconds)
07:44:43 <jade[m]> the problem is that all the example programs I read don't actually use IO-actions when changing state. The transition function is from `State -> State` and the IO is handled in the background
07:45:08 <jade[m]> I somehow want to use IO as my state
07:45:27 <sm> I think you can do IO in the event handlers, not the update function ?
07:45:34 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
07:45:59 Feuermagier joins (~Feuermagi@user/feuermagier)
07:46:34 <sm> ie in EventM you can do liftIO
07:46:37 <[Leary]> jade[m]: Maybe start here <https://github.com/jtdaugherty/brick/blob/master/docs/guide.rst#the-app-type>, and note that `EventM n s` has MonadState s` and `MonadIO`.
07:46:55 <jade[m]> ohh I see
07:47:00 <jade[m]> thank you very much, I just saw that
07:55:12 × gurkenglas quits (~user@dynamic-046-114-181-020.46.114.pool.telefonica.de) (Ping timeout: 248 seconds)
07:57:03 × mei quits (~mei@user/mei) (Remote host closed the connection)
07:59:28 mei joins (~mei@user/mei)
08:01:15 gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
08:03:11 × ubert quits (~Thunderbi@p548c91e0.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
08:03:14 meinside joins (uid24933@id-24933.helmsley.irccloud.com)
08:08:36 <delYsid> Yes, EventM has an MonadIO instance.
08:08:56 Lycurgus joins (~juan@user/Lycurgus)
08:09:26 puke joins (~puke@user/puke)
08:16:05 × vandita quits (~vandit@176-241-19-16.pool.digikabel.hu) (Ping timeout: 265 seconds)
08:17:18 × tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
08:17:45 vandita joins (~vandit@178-164-206-9.pool.digikabel.hu)
08:17:46 × titibandit quits (~titibandi@user/titibandit) (Remote host closed the connection)
08:18:07 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
08:21:40 MajorBiscuit joins (~MajorBisc@145.94.40.195)
08:21:44 × MajorBiscuit quits (~MajorBisc@145.94.40.195) (Client Quit)
08:23:28 CiaoSen joins (~Jura@dynamic-046-114-220-096.46.114.pool.telefonica.de)
08:23:31 × robobub quits (uid248673@id-248673.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
08:23:40 × harveypwca quits (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving)
08:24:00 × Lycurgus quits (~juan@user/Lycurgus) (Quit: Exeunt: personae.ai-integration.biz)
08:24:36 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 268 seconds)
08:26:05 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:6cda:5d2c:763a:75d3)
08:26:09 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
08:27:49 jorwas[m] joins (~jorwasmat@2001:470:69fc:105::3:60e7)
08:30:08 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:6cda:5d2c:763a:75d3) (Ping timeout: 240 seconds)
08:31:41 Pickchea joins (~private@user/pickchea)
08:34:52 titibandit joins (~titibandi@user/titibandit)
08:39:32 cheater_ joins (~Username@user/cheater)
08:41:42 × cheater quits (~Username@user/cheater) (Ping timeout: 265 seconds)
08:41:47 cheater_ is now known as cheater
08:48:58 cfricke joins (~cfricke@user/cfricke)
08:50:43 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 256 seconds)
08:52:40 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
08:56:06 ubert joins (~Thunderbi@2a02:8109:abc0:6434:50f1:64d6:2ce3:ee7c)
09:11:01 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
09:18:47 enoq joins (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7)
09:23:22 elmklod joins (~Elm@94.25.164.115)
09:35:32 × chomwitt quits (~chomwitt@2a02:587:7a18:d000:1ac0:4dff:fedb:a3f1) (Remote host closed the connection)
09:56:48 × use-value quits (~Thunderbi@2a00:23c6:8a03:2f01:75c2:a71f:beaa:29bf) (Ping timeout: 248 seconds)
10:05:01 <maralorn> maerwald: Yeah, I know that blogpost and I agree. Upholding the pvp is a good thing. I am just wondering whether we painted ourselves into a corner in the community if frequent package splitting is the correct solution.
10:05:39 eugenrh joins (~eugenrh@2a02:2f08:4707:3e00:454b:9ac4:8552:8de8)
10:07:30 dcoutts joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
10:07:59 × mncheckm quits (~mncheck@193.224.205.254) (Ping timeout: 240 seconds)
10:08:34 user____1 joins (~user@dynamic-046-114-181-020.46.114.pool.telefonica.de)
10:09:01 × vandita quits (~vandit@178-164-206-9.pool.digikabel.hu) (Ping timeout: 240 seconds)
10:10:05 × hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 246 seconds)
10:10:58 vandita joins (~vandit@94-21-131-107.pool.digikabel.hu)
10:11:35 × xff0x quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 264 seconds)
10:13:09 hugo joins (znc@verdigris.lysator.liu.se)
10:14:44 mc47 joins (~mc47@xmonad/TheMC47)
10:14:59 × user____1 quits (~user@dynamic-046-114-181-020.46.114.pool.telefonica.de) (Ping timeout: 268 seconds)
10:23:30 × mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection)
10:26:47 mncheckm joins (~mncheck@193.224.205.254)
10:27:58 freeside joins (~mengwong@103.252.202.151)
10:29:23 wiosna joins (~karangura@c-73-93-95-154.hsd1.ca.comcast.net)
10:32:23 × freeside quits (~mengwong@103.252.202.151) (Ping timeout: 240 seconds)
10:32:32 × acidjnk quits (~acidjnk@p200300d6e7072f976d29b515cdbc7698.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
10:33:36 × wiosna quits (~karangura@c-73-93-95-154.hsd1.ca.comcast.net) (Ping timeout: 248 seconds)
10:33:44 × stiell_ quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 240 seconds)
10:35:00 stiell_ joins (~stiell@gateway/tor-sasl/stiell)
10:36:50 × alternateved quits (~user@77-253-195-69.adsl.inetia.pl) (Remote host closed the connection)
10:37:03 × ft quits (~ft@p4fc2a88b.dip0.t-ipconnect.de) (Quit: leaving)
10:41:04 × [exa] quits (~exa@user/exa/x-3587197) (Ping timeout: 248 seconds)
10:42:41 abrantesasf joins (~abrantesa@189.115.192.139)
10:43:35 euandreh joins (~Thunderbi@189.6.18.7)
10:45:22 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
10:45:48 chexum joins (~quassel@gateway/tor-sasl/chexum)
10:50:26 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
10:50:46 freeside joins (~mengwong@103.252.202.151)
10:52:31 acidjnk joins (~acidjnk@p200300d6e7072f972cb35e063b39afc2.dip0.t-ipconnect.de)
10:54:47 × freeside quits (~mengwong@103.252.202.151) (Ping timeout: 240 seconds)
11:02:47 × mauke quits (~mauke@user/mauke) (Ping timeout: 240 seconds)
11:03:02 [exa] joins (~exa@srv3n.blesmrt.net)
11:09:46 × abrantesasf quits (~abrantesa@189.115.192.139) (Remote host closed the connection)
11:09:47 × ubert quits (~Thunderbi@2a02:8109:abc0:6434:50f1:64d6:2ce3:ee7c) (Quit: ubert)
11:10:02 ubert joins (~Thunderbi@2a02:8109:abc0:6434:f2d8:291c:9e98:bbba)
11:10:06 abrantesasf joins (~abrantesa@177.137.232.92)
11:10:47 freeside joins (~mengwong@103.252.202.151)
11:12:45 × mei quits (~mei@user/mei) (Read error: Connection reset by peer)
11:15:10 mei joins (~mei@user/mei)
11:15:12 × freeside quits (~mengwong@103.252.202.151) (Ping timeout: 248 seconds)
11:17:26 xff0x joins (~xff0x@2405:6580:b080:900:129:45c2:6814:da56)
11:21:47 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
11:32:26 chomwitt joins (~chomwitt@2a02:587:7a18:d000:1ac0:4dff:fedb:a3f1)
11:36:47 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
11:37:37 × vandita quits (~vandit@94-21-131-107.pool.digikabel.hu) (Ping timeout: 268 seconds)
11:41:31 × anpad quits (~pandeyan@user/anpad) (Quit: ZNC 1.8.2 - https://znc.in)
11:42:40 × stiell_ quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
11:43:11 vandita joins (~vandit@87-97-88-228.pool.digikabel.hu)
11:43:13 stiell_ joins (~stiell@gateway/tor-sasl/stiell)
11:43:35 anpad joins (~pandeyan@user/anpad)
11:45:46 freeside joins (~mengwong@103.252.202.151)
11:46:23 × xff0x quits (~xff0x@2405:6580:b080:900:129:45c2:6814:da56) (Ping timeout: 264 seconds)
11:48:03 xff0x joins (~xff0x@ai098135.d.east.v6connect.net)
11:49:31 × kritzefitz quits (~kritzefit@debian/kritzefitz) (Ping timeout: 240 seconds)
11:49:44 kritzefitz joins (~kritzefit@debian/kritzefitz)
11:50:01 × freeside quits (~mengwong@103.252.202.151) (Ping timeout: 240 seconds)
11:51:29 × acidjnk quits (~acidjnk@p200300d6e7072f972cb35e063b39afc2.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
11:53:06 × mei quits (~mei@user/mei) (Remote host closed the connection)
11:54:59 × bliminse quits (~bliminse@user/bliminse) (Quit: leaving)
11:55:31 mei joins (~mei@user/mei)
11:57:05 × kritzefitz quits (~kritzefit@debian/kritzefitz) (Ping timeout: 240 seconds)
11:59:56 kritzefitz joins (~kritzefit@debian/kritzefitz)
12:04:09 × abrantesasf quits (~abrantesa@177.137.232.92) (Remote host closed the connection)
12:06:48 × Pickchea quits (~private@user/pickchea) (Quit: Leaving)
12:07:01 stiell joins (~stiell@gateway/tor-sasl/stiell)
12:09:44 × stiell_ quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 240 seconds)
12:10:35 user_____ joins (~user@dynamic-046-114-181-020.46.114.pool.telefonica.de)
12:12:26 freeside joins (~mengwong@103.252.202.151)
12:15:41 notzmv joins (~zmv@user/notzmv)
12:16:59 × freeside quits (~mengwong@103.252.202.151) (Ping timeout: 256 seconds)
12:17:59 × kritzefitz quits (~kritzefit@debian/kritzefitz) (Ping timeout: 240 seconds)
12:18:14 kritzefitz joins (~kritzefit@debian/kritzefitz)
12:19:01 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
12:25:14 × chomwitt quits (~chomwitt@2a02:587:7a18:d000:1ac0:4dff:fedb:a3f1) (Remote host closed the connection)
12:26:45 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
12:30:22 delYsid parts (~user@user/delYsid) (ERC 5.4.1 (IRC client for GNU Emacs 30.0.50))
12:32:36 <zzz> ncf: did you mean Bool instead of Either?
12:32:55 <zzz> ncf: did you mean Bool instead of Either?
12:33:13 <ncf> when?
12:33:20 <zzz> oops, i had the chat scrolled WAY up
12:33:22 <zzz> sorry about that
12:33:40 <ncf> for the canonical sum type? no, i meant Either
12:33:58 <zzz> why is Either the canonical sum type?
12:34:17 <ncf> pretty much by definition
12:34:30 <ncf> check out https://ncatlab.org/nlab/show/sum+type
12:34:44 <ncf> Bool is the sum of two copies of the unit type
12:37:25 <jade[m]> is there a place to ask about Brick? I am facing an issue that's really annoying, and I assume that I'm simply doing something wrong in regards to the rendering
12:37:39 <zzz> jade[m]: try #haskell-game
12:38:38 <zzz> i'm guessing byorgey may be able to help too ^^
12:40:35 <zzz> ncf: i have zero formal education in type theory, but why was i under the impression that A+B , A and B being terms of a certain type, correponded to `data T = A | B` ?
12:41:31 Pickchea joins (~private@user/pickchea)
12:41:59 <ncf> i'm not sure what you mean by that
12:42:14 <ncf> A | B seems to indicate that A and B are constructors, so you couldn't take their sum
12:43:28 <jade[m]> I think they mean that sum types can be represented by that
12:44:09 <jade[m]> outside the context of haskell
12:44:15 freeside joins (~mengwong@103.252.202.151)
12:46:29 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:99bb:f82c:7f14:1d7d)
12:47:44 <[Leary]> zzz: For /types/ A and B, A+B corresponds to Either A B = Left A | Right B.
12:48:17 × freeside quits (~mengwong@103.252.202.151) (Ping timeout: 246 seconds)
12:48:29 <zzz> ok that makes sense
12:49:28 × kritzefitz quits (~kritzefit@debian/kritzefitz) (Ping timeout: 240 seconds)
12:50:44 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:99bb:f82c:7f14:1d7d) (Ping timeout: 246 seconds)
12:51:27 <zzz> i didn't follow the conversation, sorry about that
13:01:53 freeside joins (~mengwong@103.252.202.151)
13:04:38 kritzefitz joins (~kritzefit@debian/kritzefitz)
13:06:25 × freeside quits (~mengwong@103.252.202.151) (Ping timeout: 268 seconds)
13:07:10 freeside joins (~mengwong@103.252.202.151)
13:11:25 × freeside quits (~mengwong@103.252.202.151) (Ping timeout: 240 seconds)
13:26:00 Mistyhands joins (~Mistyhand@217.155.19.212)
13:26:41 × kritzefitz quits (~kritzefit@debian/kritzefitz) (Ping timeout: 256 seconds)
13:26:56 kritzefitz joins (~kritzefit@debian/kritzefitz)
13:28:59 acidjnk joins (~acidjnk@p200300d6e7072f97acd2533548afd1ac.dip0.t-ipconnect.de)
13:31:02 × Pickchea quits (~private@user/pickchea) (Quit: Leaving)
13:33:02 × nadja quits (~dequbed@banana-new.kilobyte22.de) (Quit: bye!)
13:34:13 use-value joins (~Thunderbi@2a00:23c6:8a03:2f01:10d5:28d5:b8f3:93f9)
13:34:21 × gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
13:35:23 use-value1 joins (~Thunderbi@2a00:23c6:8a03:2f01:a9c6:961f:4b03:e0c)
13:36:01 nadja joins (~dequbed@banana-new.kilobyte22.de)
13:36:17 × notzmv quits (~zmv@user/notzmv) (Quit: Using Circe, the loveliest of all IRC clients)
13:38:35 × use-value quits (~Thunderbi@2a00:23c6:8a03:2f01:10d5:28d5:b8f3:93f9) (Ping timeout: 264 seconds)
13:38:36 use-value1 is now known as use-value
13:40:01 wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com)
13:40:01 × wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
13:40:01 wroathe joins (~wroathe@user/wroathe)
13:43:41 × user_____ quits (~user@dynamic-046-114-181-020.46.114.pool.telefonica.de) (Ping timeout: 256 seconds)
13:49:36 thegeekinside joins (~thegeekin@189.141.107.10)
13:50:22 × Inst quits (~Inst@2601:6c4:4081:2fc0:6477:2ba8:415:e790) (Ping timeout: 250 seconds)
13:57:56 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 246 seconds)
14:10:10 bgs joins (~bgs@212-85-160-171.dynamic.telemach.net)
14:15:25 waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
14:17:46 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:99bb:f82c:7f14:1d7d)
14:29:51 wiosna joins (~karangura@c-73-93-95-154.hsd1.ca.comcast.net)
14:32:14 <jade[m]> I need to work with lenses now apparently and I really, really don't like it so far
14:32:30 <jade[m]> it seems so abitrary and unintuitive
14:32:39 shriekingnoise joins (~shrieking@186.137.175.87)
14:32:56 <probie> jade[m]: what about it feels arbitrary and unintuitive?
14:34:08 × wiosna quits (~karangura@c-73-93-95-154.hsd1.ca.comcast.net) (Ping timeout: 248 seconds)
14:34:13 <jade[m]> it just doesn't make sense to me how it fits in with the rest of haskell. Lenses seem to be this thing that are different to everything else ...
14:36:04 <jade[m]> I suppose I'm not really sure where to start ...
14:38:10 <probie> I've definitely felt like I'm writing "lens" and not Haskell before (at a previous job which used generic-lens with overloaded labels)
14:39:11 <geekosaur> how does that doffer from any other EDSL?
14:39:16 <geekosaur> *differ
14:39:28 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:95ad:d783:3e23:6a4a) (Ping timeout: 248 seconds)
14:39:35 <EvanR> you can start with old functional references which might seem more motivated, and work your way to the modern lens library
14:40:26 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:99bb:f82c:7f14:1d7d) (Remote host closed the connection)
14:40:48 <jade[m]> I'm mainly just bummed out that I'm required to use them for a very simple bricks application
14:41:04 <jade[m]> I just want to move up and down :c
14:42:10 <EvanR> what specific task is requiring lens
14:43:22 <EvanR> a common one is editing a field in a nested record
14:43:31 <EvanR> in which case lens is not required
14:44:33 <jade[m]> list wants me to use an event handler `handleListEvent :: (Foldable t, Splittable t, Ord n) => Event -> EventM n (GenericList n t e) ()`, but I need to return `Brick.EventM Name ApplicationState ()` which `zoom :: Zoom m n s t => LensLike' (Zoomed m c) t s -> m c -> n c` apparently lets me do ... provided I have a `LensLike' (Zoomed m c) t s`
14:46:05 <jade[m]> I have no idea about how to create such a LensLike thing for my application state
14:47:45 × rembo10 quits (~rembo10@main.remulis.com) (Quit: ZNC 1.8.2 - https://znc.in)
14:47:52 <probie> Where is zoom defined?
14:47:53 <ncf> makeLenses and (.)
14:48:13 <jade[m]> probie: https://hackage.haskell.org/package/brick-1.9/docs/Brick-Types.html#v:zoom
14:48:27 <jade[m]> ncf: I have no idea what to do with that information at all
14:48:35 <c_wraith> that's a re-export from lens
14:48:51 <c_wraith> https://hackage.haskell.org/package/lens-5.2.2/docs/Control-Lens-Zoom.html
14:48:52 <EvanR> https://hackage.haskell.org/package/lens-5.2.2/docs/Control-Lens-Zoom.html
14:49:01 <EvanR> echo
14:49:02 <EvanR> echo
14:49:58 rembo10 joins (~rembo10@main.remulis.com)
14:50:27 <probie> In the case of brick, it actually looks to be from microlens (not that it matters)
14:50:39 <jade[m]> <jade[m]> "list wants me to use an event..." <- can you maybe give me the code I would need to do this for my example?
14:50:39 <jade[m]> My `ApplicationState` is simply a newtype around a list of strings so far ...
14:51:24 <jade[m]> I also keep seeing this ''Stuff about lenses everywhere on the top level, but it's neither a binding nor an expression which just confuses me
14:51:45 <EvanR> prime prime is a naming convention, it's part of the name
14:51:54 Sgeo joins (~Sgeo@user/sgeo)
14:51:56 <probie> How do you create your `GenericList` and how to do you modify it?
14:52:36 <ncf> makeLenses ''Foo is a Template Haskell statement that generates the appropriate haskell code in-place
14:53:31 <jade[m]> I just want to move through my list 😭
14:53:57 × dcoutts quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 256 seconds)
14:56:02 abrantesasf joins (~abrantesa@189.115.192.139)
14:56:26 <ncf> zoom yourListLens (handleListEvent e)
14:56:31 <ncf> or something like that
14:57:26 × acidjnk quits (~acidjnk@p200300d6e7072f97acd2533548afd1ac.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
14:59:19 <ncf> i upgraded a project to brick 1 a few months ago, you can maybe look at that for inspiration https://github.com/utdemir/nix-tree/pull/47/files#diff-ed4121bec4643d6f6c9095d96834993febb1e67fba7e3d877559b7f3b1247add
15:00:21 tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net)
15:01:05 <EvanR> embrace the type system lego bricks xD
15:01:25 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:99bb:f82c:7f14:1d7d)
15:01:35 <EvanR> it might take all afternoon to put the puzzle together but at least it will look right
15:01:52 <jade[m]> these are the only times where I feel like imperative languages make all of this so much easier
15:02:04 <jade[m]> and I know I'll feel better when I learn about it and it all makes sense
15:02:20 <jade[m]> and I'll know that this is better, but for now I have my monthly grudge against FP
15:02:35 <EvanR> easier imperative language = someone doesn't explain anything and just gives a block of example code that can be pasted
15:03:19 <EvanR> not easier imperative language, have you looked at how phone UIs are programmed... shudder
15:03:42 <jade[m]> yes, I know I know 😄
15:03:52 <jade[m]> I'll get over this phase
15:06:13 <jade[m]> <ncf> "i upgraded a project to brick..." <- I'm trying to find what `B.<stuff>` means and then I see this... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/447335b4faaa2254fbc03eda262a50457014a5be>)
15:06:45 × cfricke quits (~cfricke@user/cfricke) (Ping timeout: 240 seconds)
15:07:21 <ncf> anyway, when it comes to lenses i would recommend trying to keep a clear mental barrier between interface and implementation (which the lens library makes very difficult...)
15:08:56 <ncf> the interface is rather simple: once you know what a lens is (hole in a data structure) and what a traversal is (0 or more holes in a data structure) and how they compose, you basically know all the theory you need
15:09:33 <ncf> the implementation is another story... lens uses the so-called van Laarhoven encoding of lenses, which can be a bit daunting (this is where all the Functor and Applicative and Over and Profunctor stuff comes in)
15:10:30 <ncf> but really i think in most cases you can just ignore that and use the provided basic lenses (_1, _2, ...) and let Template Haskell generate the rest for you
15:11:31 <jade[m]> mhm, I'm trying to find the definition for some of the lenses and I can't find them.
15:11:31 <jade[m]> Especially `modify` and `aeCurrPaneL` seem to be relevant for me?
15:11:51 <jade[m]> aeCurrPaneL seems to relate to the field aeCurrPane of the state monad
15:12:05 <ncf> aeCurrPaneL is specific to nix-tree, it's the lens associated with the aeCurrPane field of some data structure they use
15:12:46 <ncf> the question is: how do you go from your application state to the GenericList you want to modify?
15:12:48 <jade[m]> ok, what makes... (full message at <https://libera.ems.host/_matrix/media/v3/download/libera.chat/139acb91ceaa50ebfd118216c86e63ca15ec8d05>)
15:12:49 rf joins (~rf@2605:59c8:179c:f610:de71:b785:f508:5204)
15:12:57 <jade[m]> what nakes the state type change here?
15:13:14 <jade[m]> ncf: my application state carries a `[String]`
15:13:17 <ncf> zoom does
15:13:41 <ncf> hm, i don't know if brick can work with that
15:13:41 <jade[m]> jade[m]: which I use to build the `GenericList` in the render
15:13:52 <probie> With only a `[String]` how can you know where in the list you are?
15:14:03 <ncf> yeah, you need to carry the GenericList around in your state
15:14:09 <jade[m]> ohhhhh
15:14:11 <jade[m]> OHHHHHHH
15:14:14 <jade[m]> WAITTTTTATTATATAT
15:14:15 <jade[m]> AAAAAAAA
15:14:24 <jade[m]> I had an enlightenment
15:14:59 <ncf> great!
15:15:20 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds)
15:18:32 enoq_ joins (~enoq@194-208-133-121.lampert.tv)
15:19:23 × enoq quits (~enoq@2a05:1141:1f5:5600:b9c9:721a:599:bfe7) (Ping timeout: 264 seconds)
15:20:20 enoq_ is now known as enoq
15:21:34 <jade[m]> ok, I have remodled that, back to the same issue
15:21:59 <jade[m]> I need this zoom thing and I think I want to zoom on that list then
15:22:09 <ncf> yes
15:22:13 × zmt00 quits (~zmt00@user/zmt00) (Quit: Leaving)
15:23:24 zmt00 joins (~zmt00@user/zmt00)
15:25:27 <jade[m]> I prefixed my field with an underscore and used $(makeLenses ''ApplicationState)
15:25:48 × eugenrh quits (~eugenrh@2a02:2f08:4707:3e00:454b:9ac4:8552:8de8) (Ping timeout: 240 seconds)
15:25:53 gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
15:31:49 <jade[m]> what should I do now with zoom?
15:33:19 <ncf> zoom yourField whatever
15:33:31 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Remote host closed the connection)
15:33:43 <jade[m]> IT WORKS
15:33:46 wiosna joins (~karangura@c-73-93-95-154.hsd1.ca.comcast.net)
15:33:54 <jade[m]> aaaaaaaaaaaaa
15:33:57 <jade[m]> I'm done for today
15:33:59 <jade[m]> thank you very very much for the help
15:34:11 nyc joins (~nyc@2603-7000-a106-2fb5-0000-0000-0000-1f21.res6.spectrum.com)
15:34:24 <jade[m]> my last bug was ... apparently now it matters where you define stuff? like I need to define the lense above where I use it ?!
15:34:46 <ncf> yes, TH doesn't play well with reordering
15:34:55 <jade[m]> jesus christ
15:35:30 × nyc quits (~nyc@2603-7000-a106-2fb5-0000-0000-0000-1f21.res6.spectrum.com) (Changing host)
15:35:30 nyc joins (~nyc@user/nyc)
15:36:31 <jade[m]> all of that for this ...
15:36:37 jade[m] uploaded a video: (2726KiB) < https://libera.ems.host/_matrix/media/v3/download/the-apothecary.club/csQpZmKBFijPduABdEktGEyM/2023-05-24%2017-36-44.mp4 >
15:36:43 <jade[m]> please don't look at the code
15:36:46 bliminse joins (~bliminse@user/bliminse)
15:37:48 × wiosna quits (~karangura@c-73-93-95-154.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
15:49:49 shapr joins (~user@76.29.230.19)
15:53:18 mechap joins (~mechap@user/mechap)
16:04:03 dhil joins (~dhil@78.45.150.83.ewm.ftth.as8758.net)
16:04:26 freeside joins (~mengwong@103.252.202.151)
16:08:24 nick_ joins (~nick@wsip-174-78-110-18.pn.at.cox.net)
16:08:57 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:99bb:f82c:7f14:1d7d) (Remote host closed the connection)
16:09:20 × stiell quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
16:09:35 × freeside quits (~mengwong@103.252.202.151) (Ping timeout: 240 seconds)
16:10:16 stiell joins (~stiell@gateway/tor-sasl/stiell)
16:12:31 × CiaoSen quits (~Jura@dynamic-046-114-220-096.46.114.pool.telefonica.de) (Ping timeout: 240 seconds)
16:12:34 × gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
16:13:33 _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
16:15:36 econo joins (uid147250@user/econo)
16:19:08 × waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Quit: 1st update reboot in weeks)
16:19:47 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
16:20:28 waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
16:23:59 mc47 joins (~mc47@xmonad/TheMC47)
16:26:19 freeside joins (~mengwong@103.252.202.151)
16:28:38 user_____ joins (~user@dynamic-046-114-108-116.46.114.pool.telefonica.de)
16:29:11 wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com)
16:29:12 × wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
16:29:12 wroathe joins (~wroathe@user/wroathe)
16:31:01 × freeside quits (~mengwong@103.252.202.151) (Ping timeout: 265 seconds)
16:31:59 × waleee quits (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 256 seconds)
16:35:01 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
16:38:16 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 265 seconds)
16:46:31 × titibandit quits (~titibandi@user/titibandit) (Remote host closed the connection)
16:47:19 ddellacosta joins (~ddellacos@146.70.185.10)
16:54:21 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:99bb:f82c:7f14:1d7d)
16:59:11 acidjnk joins (~acidjnk@p200300d6e7072f97b50268228b627d0d.dip0.t-ipconnect.de)
17:00:23 titibandit joins (~titibandi@user/titibandit)
17:00:29 Tuplanolla joins (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi)
17:02:35 × shapr quits (~user@76.29.230.19) (Ping timeout: 264 seconds)
17:05:56 freeside joins (~mengwong@103.252.202.151)
17:06:28 × mc47 quits (~mc47@xmonad/TheMC47) (Quit: Leaving)
17:07:26 × ubert quits (~Thunderbi@2a02:8109:abc0:6434:f2d8:291c:9e98:bbba) (Remote host closed the connection)
17:09:59 × freeside quits (~mengwong@103.252.202.151) (Ping timeout: 240 seconds)
17:12:23 × dhil quits (~dhil@78.45.150.83.ewm.ftth.as8758.net) (Ping timeout: 240 seconds)
17:20:05 lyle joins (~lyle@104.246.145.237)
17:20:38 Inst joins (~Inst@2601:6c4:4081:2fc0:3966:9d9f:5237:b674)
17:24:17 <lyle> I have some code here: https://paste.tomsmeding.com/uFyta0yy
17:24:56 <lyle> I've pointed the line I don't understand in a comment. I'd like to know what the line does and what the name of the language feature is please.
17:27:01 <lyle> Ok, now I get it; it's just the case where the tree is empty. I thought it was some complicated type thing. Thanks.
17:27:32 <monochrom> Yeah it is no different from "f Nothing = 0; f (Just _) = 1"
17:27:59 <monochrom> "defining a function by pattern matching" :)
17:28:23 ec joins (~ec@gateway/tor-sasl/ec)
17:28:36 <lyle> I don't often see a function that has a pattern match and a case with guards, it threw me off a bit.
17:29:15 <monochrom> As usual, that happens most often when coding up binary-search-tree algorithms :)
17:29:24 × Inst quits (~Inst@2601:6c4:4081:2fc0:3966:9d9f:5237:b674) (Remote host closed the connection)
17:29:25 <[exa]> it's super convenient in such cases tho
17:29:46 Inst joins (~Inst@2601:6c4:4081:2fc0:3966:9d9f:5237:b674)
17:30:27 <[exa]> at the other end you can actually do patternmatches in the guards: | x == y, z <- x, ...
17:30:43 <monochrom> The mind compartmentalizes "unrelated" language features and does not realize how the grammar actually allows mixing them, even nesting them inside each other.
17:31:15 <monochrom> For example, few people have thought of "let { x = y where y=10 } in ..."
17:32:13 × ec quits (~ec@gateway/tor-sasl/ec) (Client Quit)
17:32:20 <monochrom> https://www.smbc-comics.com/comic/language :)
17:32:26 <int-e> > let x | x <- x = x where x = 42 in x
17:32:27 <lambdabot> 42
17:32:36 <monochrom> heh
17:33:01 × rf quits (~rf@2605:59c8:179c:f610:de71:b785:f508:5204) (Ping timeout: 240 seconds)
17:33:12 <monochrom> Yeah I have actual code that goes "f x = ... foo ... where foo | x<0 = ..."
17:33:45 <int-e> . o O ( who doesn't? )
17:33:51 <monochrom> Woe to those who must pronounce code and pronounce "|" as "where" though. >:D
17:33:55 <int-e> > [1 | False]
17:33:56 <lambdabot> []
17:34:57 <int-e> (that's silly with a literal `False` but sometimes useful with an actual condition)
17:35:21 <ncf> | is obviously pronounced "when"
17:35:58 <monochrom> You are ruining my point.
17:36:12 <monochrom> I mean, nice. :)
17:36:38 <monochrom> I now wonder what could be pronounced "whence". :)
17:36:58 <ncf> =>
17:37:11 <monochrom> I'm also thinking ::
17:37:40 <monochrom> OK how about one of them "whence" and one of them "hence" just for fun sake >:)
17:38:40 × abrantesasf quits (~abrantesa@189.115.192.139) (Remote host closed the connection)
17:46:01 × titibandit quits (~titibandi@user/titibandit) (Ping timeout: 240 seconds)
17:50:58 <nyc> monochrom: Cheers!
17:51:18 <monochrom> oh hi long time no see
17:55:35 shapr joins (~user@2600:1700:c640:3100:3f83:2dbd:933:12fd)
17:57:41 machinedgod joins (~machinedg@84-115-230-249.cable.dynamic.surfer.at)
18:04:48 Guest88 joins (~Guest88@136.226.18.211)
18:05:04 × Guest88 quits (~Guest88@136.226.18.211) (Client Quit)
18:07:06 × Inst quits (~Inst@2601:6c4:4081:2fc0:3966:9d9f:5237:b674) (Remote host closed the connection)
18:07:28 Inst joins (~Inst@2601:6c4:4081:2fc0:3966:9d9f:5237:b674)
18:15:13 phma_ joins (phma@2001:5b0:2172:dd28:7cbf:d1f6:57c5:3699)
18:15:21 <nyc> What's the term for when there's a case like Ctor :: Class c => c -> t ?
18:17:20 × phma quits (phma@2001:5b0:210f:3e28:a2ab:29ef:2389:7204) (Read error: Connection reset by peer)
18:18:31 × machinedgod quits (~machinedg@84-115-230-249.cable.dynamic.surfer.at) (Ping timeout: 240 seconds)
18:20:45 mikoto-chan joins (~mikoto-ch@ip-213-49-58-19.dsl.scarlet.be)
18:21:47 <nyc> This page says "implicit context to the data constructor": https://wiki.haskell.org/Data_declaration_with_constraint
18:22:05 × mbuf quits (~Shakthi@49.207.178.186) (Quit: Leaving)
18:22:40 <EvanR> basically Ctor will carry a dictionary for Class along with a function
18:23:14 <nyc> EvanR: Mostly I just needed the name for the construct to drop a comment in.
18:23:34 <EvanR> sometimes written as Class c *> c -> t to distinguish it as a product instead of a kind of function in itself
18:23:57 azimut joins (~azimut@gateway/tor-sasl/azimut)
18:24:05 <EvanR> you might get traction calling it "an existential"
18:24:16 freeside joins (~mengwong@103.252.202.151)
18:24:47 × ddellacosta quits (~ddellacos@146.70.185.10) (Ping timeout: 264 seconds)
18:28:48 × freeside quits (~mengwong@103.252.202.151) (Ping timeout: 248 seconds)
18:30:04 <[exa]> anyone using mustache to render stuff? I'm wondering how to (somehow easily) avoid it from expanding all substitued html to htmlentities
18:31:21 alexherbo2 joins (~alexherbo@2a02-842a-8180-4601-c838-cb30-96bb-1347.rev.sfr.net)
18:33:33 mmhat joins (~mmh@p200300f1c7066879ee086bfffe095315.dip0.t-ipconnect.de)
18:33:38 × mmhat quits (~mmh@p200300f1c7066879ee086bfffe095315.dip0.t-ipconnect.de) (Client Quit)
18:33:45 <[exa]> (ah ok it got solved by reading the source)
18:36:45 ec joins (~ec@gateway/tor-sasl/ec)
18:37:38 lortabac joins (~lortabac@2a01:e0a:541:b8f0:fc01:1c25:ea0c:77cb)
18:38:26 taupiqueur1 joins (~taupiqueu@2a02-842a-8180-4601-558f-7552-9093-6c65.rev.sfr.net)
18:39:11 rf joins (~rf@142.99.241.246)
18:39:47 × taupiqueur quits (~taupiqueu@2a02-842a-8180-4601-c838-cb30-96bb-1347.rev.sfr.net) (Ping timeout: 264 seconds)
18:40:13 × alexherbo2 quits (~alexherbo@2a02-842a-8180-4601-c838-cb30-96bb-1347.rev.sfr.net) (Ping timeout: 245 seconds)
18:40:56 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
18:41:11 × coot quits (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
18:41:46 alexherbo2 joins (~alexherbo@2a02-842a-8180-4601-558f-7552-9093-6c65.rev.sfr.net)
18:43:28 <sm> jade: you code to that ??
18:43:50 <sm> but, congrats on the brick app! :)
18:43:52 ec joins (~ec@gateway/tor-sasl/ec)
18:44:44 <sm> was going to suggest hledger-ui as another one to mine for clues but I guess you figured it out. Brick is hard to get going with, I agree
18:45:45 <geekosaur> `ghcup tui`?
18:46:05 <geekosaur> especially since the main widget is a big list
18:46:22 <geekosaur> s/main/primary
18:48:08 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
18:48:23 ec joins (~ec@gateway/tor-sasl/ec)
18:48:53 <sm> oh I was thinking that's not brick, but it is
18:50:32 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds)
18:51:19 × ec quits (~ec@gateway/tor-sasl/ec) (Client Quit)
18:51:30 ec joins (~ec@gateway/tor-sasl/ec)
18:55:59 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:fc01:1c25:ea0c:77cb) (Ping timeout: 264 seconds)
18:56:39 <jade[m]> <sm> "jade: you code to that ??" <- hm?
18:58:12 <sm> I heard your coding music :)
18:58:38 <jade[m]> ohhh, yeah
18:58:47 <EvanR> sm stop accessing the surveillance net without a warrant
19:00:30 <sm> well if by surveillance net you mean the chat log two screens up.. sorry :)
19:02:15 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:99bb:f82c:7f14:1d7d) (Remote host closed the connection)
19:02:30 lortabac joins (~lortabac@2a01:e0a:541:b8f0:f1d3:4e32:4039:9211)
19:07:35 alternateved joins (~user@77-253-195-69.adsl.inetia.pl)
19:11:42 dcoutts joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
19:14:15 gmg joins (~user@user/gehmehgeh)
19:14:34 freeside joins (~mengwong@103.252.202.151)
19:15:05 × rf quits (~rf@142.99.241.246) (Remote host closed the connection)
19:20:07 × freeside quits (~mengwong@103.252.202.151) (Ping timeout: 268 seconds)
19:22:39 boukenshaou joins (~Boukensha@223.178.84.76)
19:23:29 × boukenshaou quits (~Boukensha@223.178.84.76) (Client Quit)
19:24:05 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:99bb:f82c:7f14:1d7d)
19:29:22 × alternateved quits (~user@77-253-195-69.adsl.inetia.pl) (Ping timeout: 268 seconds)
19:33:09 zeenk joins (~zeenk@2a02:2f04:a105:f00::7fe)
19:36:47 × dcoutts quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 264 seconds)
19:37:17 quarkyalice joins (~alice@199.sub-97-136-32.myvzw.com)
19:37:17 × quarkyalice quits (~alice@199.sub-97-136-32.myvzw.com) (Changing host)
19:37:17 quarkyalice joins (~alice@user/quarkyalice)
19:42:12 × quarkyalice quits (~alice@user/quarkyalice) (Remote host closed the connection)
19:45:12 user_____ is now known as gurkenglas
19:45:20 mauke joins (~mauke@user/mauke)
19:57:33 freeside joins (~mengwong@103.252.202.151)
20:00:13 dcoutts joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
20:04:45 ft joins (~ft@p4fc2a88b.dip0.t-ipconnect.de)
20:04:59 × freeside quits (~mengwong@103.252.202.151) (Ping timeout: 264 seconds)
20:05:25 × _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection)
20:11:01 reach joins (~reach@2607:fea8:4c0:990:ed57:c522:1ec0:1db4)
20:11:15 titibandit joins (~titibandi@user/titibandit)
20:13:34 CiaoSen joins (~Jura@dynamic-046-114-220-057.46.114.pool.telefonica.de)
20:18:13 × taupiqueur1 quits (~taupiqueu@2a02-842a-8180-4601-558f-7552-9093-6c65.rev.sfr.net) (Quit: WeeChat 3.8)
20:27:18 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer)
20:27:38 × hgolden quits (~hgolden@cpe-172-251-233-141.socal.res.rr.com) (Remote host closed the connection)
20:28:22 freeside joins (~mengwong@103.252.202.151)
20:29:49 <Inst> what are some good examples of EDSL monads?
20:29:52 <Inst> I can think of Blaze
20:30:08 <Inst> or rather, monadic DSLs, which no one uses mDSL or MDSL for
20:33:30 <mauke> good old monadic parsers?
20:33:34 taupiqueur joins (~taupiqueu@2a02-842a-8180-4601-558f-7552-9093-6c65.rev.sfr.net)
20:36:21 waleee joins (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
20:36:36 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
20:37:03 coot joins (~coot@89-69-206-216.dynamic.chello.pl)
20:41:26 × trev quits (~trev@user/trev) (Quit: trev)
20:41:29 × freeside quits (~mengwong@103.252.202.151) (Ping timeout: 246 seconds)
20:42:43 <sm> Shake ?
20:46:41 ddellacosta joins (~ddellacos@146.70.165.234)
20:51:59 × dcoutts quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 240 seconds)
20:54:24 <monochrom> parsec, attoparsec, megaparsec, etc. IMO anyway.
20:56:19 <tomsmeding> Inst: if I'm not mistaken https://hackage.haskell.org/package/sbv also has a monad for the most generic use
20:56:53 <Inst> cool
20:57:16 × alexherbo2 quits (~alexherbo@2a02-842a-8180-4601-558f-7552-9093-6c65.rev.sfr.net) (Remote host closed the connection)
20:57:18 <Inst> thanks
21:00:19 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:f1d3:4e32:4039:9211) (Quit: WeeChat 2.8)
21:00:22 dcoutts joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
21:00:25 freeside joins (~mengwong@103.252.202.151)
21:04:36 pavonia joins (~user@user/siracusa)
21:04:59 × freeside quits (~mengwong@103.252.202.151) (Ping timeout: 264 seconds)
21:05:48 × michalz quits (~michalz@185.246.204.75) (Remote host closed the connection)
21:06:48 × gurkenglas quits (~user@dynamic-046-114-108-116.46.114.pool.telefonica.de) (Ping timeout: 268 seconds)
21:13:51 NinjaTrappeur joins (~ninja@user/ninjatrappeur)
21:14:49 × nick_ quits (~nick@wsip-174-78-110-18.pn.at.cox.net) (Ping timeout: 268 seconds)
21:15:45 <[exa]> Inst: hakyll has a few build-ish monads, and I'd say scotty-like routing might count as well
21:16:16 <[exa]> (also everyone's fav list comprehension is an eDSL right? :D )
21:17:29 <Inst> fvorite list comprehension? you mean the list comprehension construct?
21:17:44 <Inst> interestingly enough, I think wadler originally introduced monads as a generalization of list comprehensions
21:17:52 <Inst> what is meant by scotty-like routing?
21:18:52 <monochrom> Revisionism: E=monad because E for Eilenberg-Moore >:)
21:19:28 <monochrom> And KDSL is when you use Arrow because K for Kleisli arrows. >:D
21:19:39 <monochrom> Or you can say ADSL to confuse everyone
21:21:27 × reach quits (~reach@2607:fea8:4c0:990:ed57:c522:1ec0:1db4) (Remote host closed the connection)
21:21:51 reach joins (~reach@2607:fea8:4c0:990:ed57:c522:1ec0:1db4)
21:21:51 × lyle quits (~lyle@104.246.145.237) (Quit: WeeChat 3.8)
21:22:48 × bgs quits (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection)
21:24:03 cheater_ joins (~Username@user/cheater)
21:24:53 × cheater quits (~Username@user/cheater) (Ping timeout: 246 seconds)
21:24:58 cheater_ is now known as cheater
21:28:45 × reach quits (~reach@2607:fea8:4c0:990:ed57:c522:1ec0:1db4) (Remote host closed the connection)
21:29:07 reach joins (~reach@2607:fea8:4c0:990:ed57:c522:1ec0:1db4)
21:30:45 × titibandit quits (~titibandi@user/titibandit) (Remote host closed the connection)
21:33:44 × mechap quits (~mechap@user/mechap) (Quit: WeeChat 3.8)
21:34:25 × reach quits (~reach@2607:fea8:4c0:990:ed57:c522:1ec0:1db4) (Remote host closed the connection)
21:34:40 × coot quits (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
21:34:49 reach joins (~reach@2607:fea8:4c0:990:ed57:c522:1ec0:1db4)
21:38:51 Nosrep joins (~Nosrep@user/nosrep)
21:41:31 × reach quits (~reach@2607:fea8:4c0:990:ed57:c522:1ec0:1db4) (Ping timeout: 240 seconds)
21:42:35 abrantesasf joins (~abrantesa@189.115.192.139)
21:48:46 quarkyalice joins (~alice@199.sub-97-136-32.myvzw.com)
21:48:46 × quarkyalice quits (~alice@199.sub-97-136-32.myvzw.com) (Changing host)
21:48:46 quarkyalice joins (~alice@user/quarkyalice)
22:09:01 _abrantesasf_ joins (~abrantesa@177.137.232.92)
22:09:42 × abrantesasf quits (~abrantesa@189.115.192.139) (Ping timeout: 268 seconds)
22:16:18 × gmg quits (~user@user/gehmehgeh) (Quit: Leaving)
22:28:02 reach joins (~reach@2607:fea8:4c0:990:318c:8cd:c188:35f)
22:30:20 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:99bb:f82c:7f14:1d7d) (Remote host closed the connection)
22:31:52 × Tuplanolla quits (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.)
22:35:42 × taupiqueur quits (~taupiqueu@2a02-842a-8180-4601-558f-7552-9093-6c65.rev.sfr.net) (Quit: WeeChat 3.8)
22:36:32 taupiqueur joins (~taupiqueu@2a02-842a-8180-4601-558f-7552-9093-6c65.rev.sfr.net)
22:39:11 × acidjnk quits (~acidjnk@p200300d6e7072f97b50268228b627d0d.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
22:40:31 × reach quits (~reach@2607:fea8:4c0:990:318c:8cd:c188:35f) (Ping timeout: 240 seconds)
22:40:59 × jero98772 quits (~jero98772@2800:484:1d84:9000:8822:84bd:a4f4:947f) (Ping timeout: 264 seconds)
22:45:08 × CiaoSen quits (~Jura@dynamic-046-114-220-057.46.114.pool.telefonica.de) (Ping timeout: 240 seconds)
22:47:22 CiaoSen joins (~Jura@dynamic-046-114-222-184.46.114.pool.telefonica.de)
22:47:25 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:99bb:f82c:7f14:1d7d)
22:52:47 × mncheckm quits (~mncheck@193.224.205.254) (Ping timeout: 240 seconds)
22:52:51 jero98772 joins (~jero98772@2800:484:1d84:9000:8822:84bd:a4f4:947f)
23:01:01 × mikoto-chan quits (~mikoto-ch@ip-213-49-58-19.dsl.scarlet.be) (Ping timeout: 240 seconds)
23:02:08 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
23:02:44 ec joins (~ec@gateway/tor-sasl/ec)
23:02:59 × thegeekinside quits (~thegeekin@189.141.107.10) (Remote host closed the connection)
23:04:21 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:99bb:f82c:7f14:1d7d) (Remote host closed the connection)
23:09:10 reach joins (~reach@2607:fea8:4c0:990:318c:8cd:c188:35f)
23:10:58 × CalculusCats quits (NyaaTheKit@user/calculuscat) (Quit: Meow Meow Meow Meow Meow Meow Meow Meow)
23:13:11 CalculusCats joins (NyaaTheKit@user/calculuscat)
23:13:45 × eL_Bart0- quits (eL_Bart0@dietunichtguten.org) (Ping timeout: 240 seconds)
23:14:06 eL_Bart0 joins (eL_Bart0@dietunichtguten.org)
23:18:18 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
23:21:31 × reach quits (~reach@2607:fea8:4c0:990:318c:8cd:c188:35f) (Ping timeout: 240 seconds)
23:22:11 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:99bb:f82c:7f14:1d7d)
23:26:07 mauke_ joins (~mauke@user/mauke)
23:27:35 × mauke quits (~mauke@user/mauke) (Ping timeout: 240 seconds)
23:27:35 mauke_ is now known as mauke
23:29:59 × CiaoSen quits (~Jura@dynamic-046-114-222-184.46.114.pool.telefonica.de) (Ping timeout: 240 seconds)
23:32:10 × xameer quits (~xameer@144.48.225.48) (Remote host closed the connection)
23:33:43 xameer joins (~xameer@144.48.225.48)
23:35:31 × vandita quits (~vandit@87-97-88-228.pool.digikabel.hu) (Ping timeout: 240 seconds)
23:37:17 vandita joins (~vandit@178-164-206-43.pool.digikabel.hu)
23:38:03 × zeenk quits (~zeenk@2a02:2f04:a105:f00::7fe) (Quit: Konversation terminated!)
23:41:23 × mud quits (~mud@user/kadoban) (Ping timeout: 246 seconds)
23:50:22 × jero98772 quits (~jero98772@2800:484:1d84:9000:8822:84bd:a4f4:947f) (Ping timeout: 265 seconds)
23:52:55 × Mistyhands quits (~Mistyhand@217.155.19.212) (Read error: Connection reset by peer)
23:52:59 × enoq quits (~enoq@194-208-133-121.lampert.tv) (Remote host closed the connection)
23:54:38 freeside joins (~mengwong@103.252.202.151)
23:58:34 wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com)
23:58:34 × wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
23:58:34 wroathe joins (~wroathe@user/wroathe)
23:59:01 × freeside quits (~mengwong@103.252.202.151) (Ping timeout: 240 seconds)
23:59:51 × acarrico quits (~acarrico@dhcp-68-142-49-163.greenmountainaccess.net) (Quit: Leaving.)

All times are in UTC on 2023-05-24.