Home liberachat/#haskell: Logs Calendar

Logs on 2021-12-06 (liberachat/#haskell)

00:00:32 <Axman6> Answer is: tes
00:00:35 <Axman6> yes*
00:00:57 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
00:01:35 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
00:10:34 adelon joins (~adelon@user/adelon)
00:10:44 × adelon quits (~adelon@user/adelon) (Client Quit)
00:33:34 curiousgay joins (~curiousga@77-120-141-90.kha.volia.net)
00:36:03 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
00:37:09 gzj joins (~GZJ0X@216.24.178.99.16clouds.com)
00:37:40 GZJ0X_ joins (~GZJ0X@216.24.178.99.16clouds.com)
00:38:37 Codaraxis joins (~Codaraxis@user/codaraxis)
00:38:42 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
00:41:42 × GZJ0X_ quits (~GZJ0X@216.24.178.99.16clouds.com) (Client Quit)
00:41:43 × gzj quits (~GZJ0X@216.24.178.99.16clouds.com) (Ping timeout: 256 seconds)
00:42:53 × madjestic quits (~madjestic@88-159-247-120.fixed.kpn.net) (Ping timeout: 252 seconds)
00:43:26 × jgeerds quits (~jgeerds@55d4ac73.access.ecotel.net) (Ping timeout: 252 seconds)
00:50:37 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
00:52:47 × acidjnk_new quits (~acidjnk@p200300d0c7271e180970d7f4a6232670.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
00:53:17 sprout joins (~quassel@2a02:a467:ccd6:1:38e1:73a2:ce5d:fb32)
00:56:36 × sprout_ quits (~quassel@2a02:a467:ccd6:1:bde9:c3fb:c9c:3dee) (Ping timeout: 245 seconds)
01:03:13 × TranquilEcho quits (~grom@user/tranquilecho) (Quit: WeeChat 2.8)
01:04:40 × Tuplanolla quits (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) (Quit: Leaving.)
01:10:33 × Midjak quits (~Midjak@may53-1-78-226-116-92.fbx.proxad.net) (Quit: This computer has gone to sleep)
01:11:21 mvk joins (~mvk@2607:fea8:5cdd:f000::9788)
01:14:36 × bollu quits (uid233390@id-233390.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
01:15:23 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:e52b:eca6:e736:3c6b)
01:20:12 × shapr quits (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Remote host closed the connection)
01:21:48 <boxscape> is there a way to prevent cabal repl from exiting when you hit Ctrl-C?
01:22:38 <geekosaur> not portably :(
01:23:05 <boxscape> hm okay
01:23:24 <boxscape> is there a non-portable way?
01:24:05 <geekosaur> on a posix system cabal could SIG_IGN SIGINT while running ghci. on windows there's no way to do this at all, iirc
01:24:47 <boxscape> If I'm understanding correctly that POSIX solution is something that cabal would have to implement, rather than a solution I as a user could use?
01:25:01 <geekosaur> this would probably require rewiring how cabal runs subprocesses completely, since it would have to use the posix subprocess interfaces to do this
01:25:14 <boxscape> okay
01:25:41 <boxscape> interestingly there is an issue from 7 years ago that claims it was fixed https://github.com/haskell/cabal/issues/1610
01:25:53 <boxscape> s/7/8
01:27:06 <geekosaur> mrr. wonder if it's a regression, and if so was it introduced by trying to improve windows support
01:27:12 × burnsidesLlama quits (~burnsides@dhcp168-020.wadham.ox.ac.uk) (Ping timeout: 268 seconds)
01:27:45 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:e52b:eca6:e736:3c6b) (Remote host closed the connection)
01:27:50 <boxscape> it's also entirely that it works on linux, I actually went into this thinking I need a linux solution because I'm on WSL2, but then I realized I'm calling the windows cabal from the WSL2 terminal at the moment
01:28:24 <geekosaur> that would make sense. there is very little provided on windows for ctrl-c handling
01:28:38 <boxscape> hm, right
01:28:38 <geekosaur> which is why I said "not portably"
01:30:19 × perrierjouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.3)
01:30:43 perrierjouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
01:31:03 × chenqisu12 quits (~chenqisu1@183.217.201.63) (Remote host closed the connection)
01:31:16 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:e52b:eca6:e736:3c6b)
01:34:50 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.3)
01:38:41 × machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 245 seconds)
01:41:40 × dsrt^ quits (~dsrt@68.101.58.90) (Remote host closed the connection)
01:42:30 × perrierjouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.3)
01:44:14 perrierjouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
01:52:28 × mjrosenb quits (~mjrosenb@pool-108-54-97-96.nycmny.fios.verizon.net) (Remote host closed the connection)
02:06:17 <nfd> dsal: sorry for ghosting your question last night; had/have my client misconfigured on this channel
02:06:37 <nfd> (lexeme was supposed to eat trailing spaces and tabs, and does)
02:07:58 nfd parts (~nfd@user/nfd) ()
02:08:02 nfd joins (~nfd@user/nfd)
02:11:16 × Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
02:11:26 wei2912 joins (~wei2912@116.88.103.128)
02:11:49 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds)
02:15:16 <dsal> nfd: yeah, just wondering how you defined it. It used to confuse me/lead to bugs
02:16:50 deadmarshal joins (~deadmarsh@95.38.119.139)
02:17:13 stevenxl joins (~stevenlei@174.128.182.152)
02:21:09 × deadmarshal quits (~deadmarsh@95.38.119.139) (Ping timeout: 252 seconds)
02:25:11 × neurocyte0132889 quits (~neurocyte@user/neurocyte) (Ping timeout: 252 seconds)
02:28:52 × xff0x quits (~xff0x@2001:1a81:5227:8600:e134:3a0d:618c:1205) (Ping timeout: 268 seconds)
02:30:21 xff0x joins (~xff0x@2001:1a81:5269:5600:e5f5:ee22:f6bb:9023)
02:30:41 <nfd> i actually *did* have a bug due to my exact definition consuming newlines
02:31:40 × zincy quits (~tom@2a00:23c8:970c:4801:8164:4807:4ccb:62f3) (Remote host closed the connection)
02:31:45 × tom_ quits (~tom@2a00:23c8:970c:4801:8164:4807:4ccb:62f3) (Remote host closed the connection)
02:31:47 zincy joins (~tom@2a00:23c8:970c:4801:5b6a:e81b:79dc:f684)
02:31:48 tom__ joins (~tom@2a00:23c8:970c:4801:5b6a:e81b:79dc:f684)
02:32:09 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
02:34:42 × hololeap quits (~hololeap@user/hololeap) (Ping timeout: 276 seconds)
02:36:51 hololeap joins (~hololeap@user/hololeap)
02:40:34 genieliu joins (~genieliu@103.37.140.24)
02:45:39 Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
02:51:41 × Techcable_ quits (~Techcable@168.235.93.147) (Ping timeout: 268 seconds)
03:02:39 × hololeap quits (~hololeap@user/hololeap) (Ping timeout: 276 seconds)
03:04:42 × lemonsnicks quits (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in)
03:05:29 hololeap joins (~hololeap@user/hololeap)
03:06:15 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
03:06:47 sagax joins (~sagax_nb@user/sagax)
03:08:27 × mvk quits (~mvk@2607:fea8:5cdd:f000::9788) (Ping timeout: 252 seconds)
03:18:36 lemonsnicks joins (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
03:19:05 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
03:21:17 × euandreh quits (~euandreh@2804:14c:33:9fe5:f767:b15a:e5b1:96f0) (Ping timeout: 268 seconds)
03:22:12 euandreh joins (~euandreh@2804:14c:33:9fe5:b36c:1fc0:956d:d06c)
03:28:41 × renzhi quits (~xp@2607:fa49:6500:b100::5cef) (Ping timeout: 268 seconds)
03:29:43 × InternetCitizen quits (~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Ping timeout: 252 seconds)
03:31:23 mbuf joins (~Shakthi@122.178.240.120)
03:33:00 genieliu_ joins (~genieliu@103.37.140.24)
03:33:59 × genieliu quits (~genieliu@103.37.140.24) (Ping timeout: 256 seconds)
03:34:07 × td_ quits (~td@muedsl-82-207-238-182.citykom.de) (Ping timeout: 252 seconds)
03:35:55 td_ joins (~td@muedsl-82-207-238-027.citykom.de)
03:37:08 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
03:37:08 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
03:37:08 finn_elija is now known as FinnElija
03:40:13 × _xor quits (~xor@72.49.199.147) (Ping timeout: 256 seconds)
03:41:49 × Gurkenglas quits (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 252 seconds)
03:47:49 × terrorjack quits (~terrorjac@static.3.200.12.49.clients.your-server.de) (Quit: The Lounge - https://thelounge.chat)
03:49:03 terrorjack joins (~terrorjac@2a01:4f8:1c1e:509a::1)
03:52:22 × waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Quit: WeeChat 3.3)
03:52:53 × kennyd quits (~bc8165b6@83.167.180.121) (Quit: CGI:IRC (Session timeout))
04:07:36 sprout_ joins (~quassel@2a02:a467:ccd6:1:39f3:76e9:9ca1:32bd)
04:10:47 × sprout quits (~quassel@2a02:a467:ccd6:1:38e1:73a2:ce5d:fb32) (Ping timeout: 252 seconds)
04:11:57 × genieliu_ quits (~genieliu@103.37.140.24) (Ping timeout: 256 seconds)
04:12:44 × cjb quits (~cjb@user/cjb) (Quit: rcirc on GNU Emacs 29.0.50)
04:25:16 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
04:29:25 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
04:34:28 Techcable joins (~Techcable@168.235.93.147)
04:40:19 × hgolden quits (~hgolden2@cpe-172-114-81-123.socal.res.rr.com) (Remote host closed the connection)
04:43:31 hgolden joins (~hgolden2@cpe-172-114-81-123.socal.res.rr.com)
04:44:56 genieliu joins (~genieliu@103.37.140.38)
04:44:56 × darchitect quits (~darchitec@2a00:23c6:3584:df00:7dec:bf13:8fa:748c) (Ping timeout: 245 seconds)
04:45:46 × darchite` quits (~user@2a00:23c6:3584:df00:7dec:bf13:8fa:748c) (Ping timeout: 268 seconds)
04:47:43 deadmarshal joins (~deadmarsh@95.38.119.139)
04:50:01 × genieliu quits (~genieliu@103.37.140.38) (Ping timeout: 252 seconds)
04:55:09 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
04:55:24 lavaman joins (~lavaman@98.38.249.169)
04:55:31 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
04:55:53 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 252 seconds)
04:58:46 on^ joins (~on@68.101.58.90)
05:02:45 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
05:12:04 × deadmarshal quits (~deadmarsh@95.38.119.139) (Quit: ZNC 1.8.2 - https://znc.in)
05:13:12 deadmarshal joins (~deadmarsh@95.38.119.139)
05:14:57 × slowButPresent quits (~slowButPr@user/slowbutpresent) (Quit: leaving)
05:18:13 famubu joins (~famubu@user/famubu)
05:18:56 genieliu joins (~genieliu@103.37.140.24)
05:19:04 <famubu> Hi. Can we say that 'Monad ⊂ Applicatives ⊂ Functors'?
05:19:12 <famubu> I was trying to learn about monads.
05:19:20 <sclv> yes, that's correct
05:19:27 <famubu> Thanks. :)
05:19:43 × deadmarshal quits (~deadmarsh@95.38.119.139) (Ping timeout: 252 seconds)
05:21:55 × zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!)
05:23:55 × genieliu quits (~genieliu@103.37.140.24) (Ping timeout: 256 seconds)
05:26:28 × glguy quits (x@libera/staff/glguy) (*.net *.split)
05:26:28 × on^ quits (~on@68.101.58.90) (*.net *.split)
05:26:28 × sprout_ quits (~quassel@2a02:a467:ccd6:1:39f3:76e9:9ca1:32bd) (*.net *.split)
05:26:28 × zincy quits (~tom@2a00:23c8:970c:4801:5b6a:e81b:79dc:f684) (*.net *.split)
05:26:28 × xff0x quits (~xff0x@2001:1a81:5269:5600:e5f5:ee22:f6bb:9023) (*.net *.split)
05:26:28 × stevenxl quits (~stevenlei@174.128.182.152) (*.net *.split)
05:26:28 × perrierjouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (*.net *.split)
05:26:28 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:e52b:eca6:e736:3c6b) (*.net *.split)
05:26:28 × Codaraxis quits (~Codaraxis@user/codaraxis) (*.net *.split)
05:26:29 × curiousgay quits (~curiousga@77-120-141-90.kha.volia.net) (*.net *.split)
05:26:29 × Alex_test quits (~al_test@178.34.163.11) (*.net *.split)
05:26:29 × AlexZenon quits (~alzenon@178.34.163.11) (*.net *.split)
05:26:29 × vgtw_ quits (~vgtw@c-2359205c.07-348-756d651.bbcust.telenor.se) (*.net *.split)
05:26:29 × pavonia quits (~user@user/siracusa) (*.net *.split)
05:26:29 × justSleigh quits (~justache@user/justache) (*.net *.split)
05:26:29 × bradparker quits (sid262931@id-262931.uxbridge.irccloud.com) (*.net *.split)
05:26:29 × tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (*.net *.split)
05:26:29 × connrs quits (~connrs@user/connrs) (*.net *.split)
05:26:29 × taktoa[c] quits (sid282096@id-282096.tinside.irccloud.com) (*.net *.split)
05:26:29 × alx741 quits (~alx741@186.178.109.217) (*.net *.split)
05:26:29 × shriekingnoise quits (~shrieking@186.137.144.80) (*.net *.split)
05:26:29 × flukiluke quits (~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962) (*.net *.split)
05:26:29 × Jonno_FTW quits (~come@api.carswap.me) (*.net *.split)
05:26:29 × gabiruh quits (~gabiruh@vps19177.publiccloud.com.br) (*.net *.split)
05:26:29 × zaquest quits (~notzaques@5.130.79.72) (*.net *.split)
05:26:29 × shailangsa quits (~shailangs@host86-186-142-82.range86-186.btcentralplus.com) (*.net *.split)
05:26:29 × int-e quits (~noone@int-e.eu) (*.net *.split)
05:26:29 × trillp quits (~user@69.233.98.238) (*.net *.split)
05:26:29 × JimL quits (~quassel@89-162-2-132.fiber.signal.no) (*.net *.split)
05:26:29 × wz1000 quits (~zubin@static.11.113.47.78.clients.your-server.de) (*.net *.split)
05:26:29 × jinsun quits (~quassel@user/jinsun) (*.net *.split)
05:26:29 × nickdaly quits (45ce440a48@2604:bf00:561:2000::e2) (*.net *.split)
05:26:29 × elvishjerricco quits (sid237756@id-237756.helmsley.irccloud.com) (*.net *.split)
05:26:29 × FragByte quits (~christian@user/fragbyte) (*.net *.split)
05:26:29 × halides quits (halides@imases.biss.ee) (*.net *.split)
05:26:29 × iqubic quits (~user@c-67-171-37-233.hsd1.wa.comcast.net) (*.net *.split)
05:26:29 × res0nat0r8 quits (~Fletch@dia.whatbox.ca) (*.net *.split)
05:26:29 × gdd quits (~gdd@129.199.146.230) (*.net *.split)
05:26:29 × EvanR quits (~evan@user/evanr) (*.net *.split)
05:26:29 × mud quits (~mud@user/kadoban) (*.net *.split)
05:26:29 × acowley quits (~acowley@c-68-83-22-43.hsd1.nj.comcast.net) (*.net *.split)
05:26:29 × MasseR quits (~MasseR@51.15.143.128) (*.net *.split)
05:26:29 × m5zs7k quits (aquares@web10.mydevil.net) (*.net *.split)
05:26:29 × arahael quits (~arahael@27-32-144-20.tpgi.com.au) (*.net *.split)
05:26:29 × ozzymcduff quits (~mathieu@81-234-151-21-no94.tbcn.telia.com) (*.net *.split)
05:26:29 × samhh quits (7569f027cf@2604:bf00:561:2000::e4) (*.net *.split)
05:26:29 × dibblego quits (~dibblego@haskell/developer/dibblego) (*.net *.split)
05:26:29 × jakzale quits (6291399afa@user/jakzale) (*.net *.split)
05:26:29 × Typedfern quits (~Typedfern@75.red-88-22-25.staticip.rima-tde.net) (*.net *.split)
05:26:29 × Flonk quits (~Flonk@vps-zap441517-1.zap-srv.com) (*.net *.split)
05:26:29 × stefan-_ quits (~cri@42dots.de) (*.net *.split)
05:26:30 × srk quits (~sorki@user/srk) (*.net *.split)
05:26:30 × theproffesor quits (~theproffe@user/theproffesor) (*.net *.split)
05:26:30 × obfusk quits (~quassel@a82-161-150-56.adsl.xs4all.nl) (*.net *.split)
05:26:30 × haasn quits (~nand@haasn.dev) (*.net *.split)
05:26:30 × bsima1 quits (9d7e39c8ad@2604:bf00:561:2000::dd) (*.net *.split)
05:26:30 × sus quits (zero@user/zeromomentum) (*.net *.split)
05:26:30 × Boarders_ quits (sid425905@id-425905.lymington.irccloud.com) (*.net *.split)
05:26:30 × JSharp quits (sid4580@id-4580.lymington.irccloud.com) (*.net *.split)
05:26:30 × ysh quits (sid6017@id-6017.ilkley.irccloud.com) (*.net *.split)
05:26:30 × whatif quits (~user@2400:8902::f03c:92ff:fe60:98d8) (*.net *.split)
05:26:30 × saolsen quits (sid26430@id-26430.lymington.irccloud.com) (*.net *.split)
05:26:30 × tapas quits (sid467876@id-467876.ilkley.irccloud.com) (*.net *.split)
05:26:30 × cbarrett quits (sid192934@id-192934.helmsley.irccloud.com) (*.net *.split)
05:26:30 × enemeth79 quits (sid309041@id-309041.lymington.irccloud.com) (*.net *.split)
05:26:30 × bjs quits (sid190364@user/bjs) (*.net *.split)
05:26:30 × sclv quits (sid39734@haskell/developer/sclv) (*.net *.split)
05:26:30 × mrianbloom quits (sid350277@id-350277.ilkley.irccloud.com) (*.net *.split)
05:26:30 × dmj` quits (sid72307@id-72307.hampstead.irccloud.com) (*.net *.split)
05:26:30 × acertain quits (sid470584@id-470584.hampstead.irccloud.com) (*.net *.split)
05:26:30 × Pent quits (sid313808@id-313808.lymington.irccloud.com) (*.net *.split)
05:26:30 × gaze___ quits (sid387101@id-387101.helmsley.irccloud.com) (*.net *.split)
05:26:30 × V quits (~v@anomalous.eu) (*.net *.split)
05:26:30 × SethTisue__ quits (sid14912@id-14912.ilkley.irccloud.com) (*.net *.split)
05:26:30 × hongminhee quits (sid295@id-295.tinside.irccloud.com) (*.net *.split)
05:26:30 × famubu quits (~famubu@user/famubu) (*.net *.split)
05:26:30 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (*.net *.split)
05:26:30 × hgolden quits (~hgolden2@cpe-172-114-81-123.socal.res.rr.com) (*.net *.split)
05:26:30 × Techcable quits (~Techcable@168.235.93.147) (*.net *.split)
05:26:30 × Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (*.net *.split)
05:26:30 × aweinstock quits (~aweinstoc@cpe-67-248-65-250.nycap.res.rr.com) (*.net *.split)
05:26:30 × Sgeo quits (~Sgeo@user/sgeo) (*.net *.split)
05:26:30 × juhp quits (~juhp@128.106.188.82) (*.net *.split)
05:26:30 × jle` quits (~jle`@cpe-23-240-75-236.socal.res.rr.com) (*.net *.split)
05:26:30 × dhruvasagar quits (~dhruvasag@49.207.222.205) (*.net *.split)
05:26:30 × mikoto-chan quits (~mikoto-ch@esm-84-240-99-143.netplaza.fi) (*.net *.split)
05:26:30 × nfd quits (~nfd@user/nfd) (*.net *.split)
05:26:30 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (*.net *.split)
05:26:30 × tv quits (~tv@user/tv) (*.net *.split)
05:26:30 × kritzefitz quits (~kritzefit@debian/kritzefitz) (*.net *.split)
05:26:30 × hrdl quits (~hrdl@mail.hrdl.eu) (*.net *.split)
05:26:30 × jlamothe quits (~jlamothe@198.251.61.229) (*.net *.split)
05:26:30 × lambdabot quits (~lambdabot@haskell/bot/lambdabot) (*.net *.split)
05:26:30 × gentauro quits (~gentauro@user/gentauro) (*.net *.split)
05:26:30 × noctux quits (~noctux@user/noctux) (*.net *.split)
05:26:30 × sweater quits (~sweater@206.81.18.26) (*.net *.split)
05:26:30 × dolio quits (~dolio@130.44.130.54) (*.net *.split)
05:26:30 × Logio quits (em@kapsi.fi) (*.net *.split)
05:26:31 × niko quits (~niko@libera/staff/niko) (*.net *.split)
05:26:31 × nisstyre quits (~wes@user/nisstyre) (*.net *.split)
05:26:31 × pragma- quits (~chaos@user/pragmatic-chaos) (*.net *.split)
05:26:31 × dka quits (~code-is-a@ns3059207.ip-193-70-33.eu) (*.net *.split)
05:26:31 × phma quits (~phma@host-67-44-208-5.hnremote.net) (*.net *.split)
05:26:31 × pie__ quits (~pie_bnc@user/pie/x-2818909) (*.net *.split)
05:26:31 × m1dnight_ quits (~christoph@christophe.dev) (*.net *.split)
05:26:31 × [exa] quits (~exa@user/exa/x-3587197) (*.net *.split)
05:26:31 × Hecate quits (~mariposa@user/hecate) (*.net *.split)
05:26:31 × dfordivam1 quits (~dfordivam@tk2-219-19469.vs.sakura.ne.jp) (*.net *.split)
05:26:31 × greyrat_ quits (~greyrat@ip202.ip-51-178-215.eu) (*.net *.split)
05:26:31 × eL_Bart0- quits (eL_Bart0@dietunichtguten.org) (*.net *.split)
05:26:31 × davl_ quits (~davl@207.154.228.18) (*.net *.split)
05:26:31 × MidAutumnMoon6 quits (~MidAutumn@user/midautumnmoon) (*.net *.split)
05:26:31 × jzsinatra quits (~jzsinatra@88-114-238-31.elisa-laajakaista.fi) (*.net *.split)
05:26:31 × statusbot quits (~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com) (*.net *.split)
05:26:31 × peutri quits (~peutri@ns317027.ip-94-23-46.eu) (*.net *.split)
05:26:31 × lyxia quits (~lyxia@poisson.chat) (*.net *.split)
05:26:31 × incertia quits (~incertia@d4-50-26-103.nap.wideopenwest.com) (*.net *.split)
05:26:31 × ikke quits (~kevin@alpine/developer/ikke) (*.net *.split)
05:26:31 × Athas quits (athas@sigkill.dk) (*.net *.split)
05:26:31 × haveo quits (~haveo@sl35.iuwt.fr) (*.net *.split)
05:26:31 × bens quits (~bens@www.typius.com) (*.net *.split)
05:26:31 × jjhoo quits (~jahakala@user/jjhoo) (*.net *.split)
05:26:31 × finsternis quits (~X@23.226.237.192) (*.net *.split)
05:26:31 × Benzi-Junior quits (~BenziJuni@88-149-66-61.du.xdsl.is) (*.net *.split)
05:26:31 × yahb quits (xsbot@user/mniip/bot/yahb) (*.net *.split)
05:26:31 × turlando quits (~turlando@user/turlando) (*.net *.split)
05:26:31 × Unode quits (~Unode@194.94.44.220) (*.net *.split)
05:26:31 × derelict quits (~derelict@user/derelict) (*.net *.split)
05:26:31 × asm quits (~alexander@user/asm) (*.net *.split)
05:26:31 × WhateverRabbit quits (~rabbit@206.81.18.26) (*.net *.split)
05:26:31 × adamCS quits (~adamCS@ec2-34-207-160-255.compute-1.amazonaws.com) (*.net *.split)
05:26:31 × terrorjack quits (~terrorjac@2a01:4f8:1c1e:509a::1) (*.net *.split)
05:26:31 × sagax quits (~sagax_nb@user/sagax) (*.net *.split)
05:26:31 × wei2912 quits (~wei2912@116.88.103.128) (*.net *.split)
05:26:31 × johnw quits (~johnw@2607:f6f0:3004:1:c8b4:50ff:fef8:6bf0) (*.net *.split)
05:26:31 × tito quits (tito@tilde.team) (*.net *.split)
05:26:31 × hook54321 quits (sid149355@user/hook54321) (*.net *.split)
05:26:31 × unyu quits (~pyon@user/pyon) (*.net *.split)
05:26:31 × img quits (~img@user/img) (*.net *.split)
05:26:31 × retroid_ quits (~retro@97e2ba2e.skybroadband.com) (*.net *.split)
05:26:31 × cyphase quits (~cyphase@user/cyphase) (*.net *.split)
05:26:31 × Feuermagier quits (~Feuermagi@user/feuermagier) (*.net *.split)
05:26:31 × dispater quits (~dispater@user/brprice) (*.net *.split)
05:26:31 × jamestmartin quits (~james@jtmar.me) (*.net *.split)
05:26:31 × vjoki quits (~vjoki@2a00:d880:3:1::fea1:9ae) (*.net *.split)
05:26:31 × filwisher quits (2e6936c793@2604:bf00:561:2000::170) (*.net *.split)
05:26:31 × yaroot quits (~yaroot@2409:12:ac0:2300:680e:dbff:fe1e:4953) (*.net *.split)
05:26:31 × rembo10 quits (~rembo10@remulis.com) (*.net *.split)
05:26:31 × ehamberg quits (sid18208@id-18208.hampstead.irccloud.com) (*.net *.split)
05:26:31 × sm2n quits (ae95cb1267@user/sm2n) (*.net *.split)
05:26:31 × jkoshy quits (99b9359beb@2604:bf00:561:2000::10f) (*.net *.split)
05:26:31 × TimWolla quits (~timwolla@2a01:4f8:150:6153:beef::6667) (*.net *.split)
05:26:31 × lukec quits (9dfd4d094e@2604:bf00:561:2000::10e) (*.net *.split)
05:26:31 × dagit quits (~dagit@2001:558:6025:38:6476:a063:d05a:44da) (*.net *.split)
05:26:32 × joeyh quits (joeyh@kitenet.net) (*.net *.split)
05:26:32 × ralu quits (~ralu@static.211.245.203.116.clients.your-server.de) (*.net *.split)
05:26:32 × infinity0 quits (~infinity0@occupy.ecodis.net) (*.net *.split)
05:26:32 × hays quits (rootvegeta@fsf/member/hays) (*.net *.split)
05:26:32 × TMA quits (tma@twin.jikos.cz) (*.net *.split)
05:26:32 × iphy quits (sid67735@id-67735.lymington.irccloud.com) (*.net *.split)
05:26:32 × whez quits (sid470288@id-470288.lymington.irccloud.com) (*.net *.split)
05:26:32 × _0x47_ quits (sid508683@id-508683.tinside.irccloud.com) (*.net *.split)
05:26:32 × awpr quits (uid446117@id-446117.lymington.irccloud.com) (*.net *.split)
05:26:32 × teehemkay_ quits (sid14792@id-14792.lymington.irccloud.com) (*.net *.split)
05:26:32 × angerman quits (sid209936@id-209936.ilkley.irccloud.com) (*.net *.split)
05:26:32 × ephemient quits (uid407513@id-407513.lymington.irccloud.com) (*.net *.split)
05:26:32 × gregberns__ quits (sid315709@id-315709.helmsley.irccloud.com) (*.net *.split)
05:26:32 × kaizen quits (sid501599@id-501599.helmsley.irccloud.com) (*.net *.split)
05:26:32 × MironZ quits (~MironZ@nat-infra.ehlab.uk) (*.net *.split)
05:26:32 × Kaiepi quits (~Kaiepi@156.34.44.192) (*.net *.split)
05:26:32 × micro quits (~micro@user/micro) (*.net *.split)
05:26:32 × russruss quits (~russruss@my.russellmcc.com) (*.net *.split)
05:26:32 × S11001001 quits (sid42510@id-42510.ilkley.irccloud.com) (*.net *.split)
05:26:32 × NiKaN quits (sid385034@id-385034.helmsley.irccloud.com) (*.net *.split)
05:26:32 × Cale quits (~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com) (*.net *.split)
05:26:32 × thaumavorio quits (~thaumavor@thaumavor.io) (*.net *.split)
05:26:32 × tnks quits (sid412124@id-412124.helmsley.irccloud.com) (*.net *.split)
05:26:32 × duckonomy quits (~duckonomy@177.ip-144-217-84.net) (*.net *.split)
05:26:32 × marienz quits (~marienz@libera/staff/marienz) (*.net *.split)
05:26:32 × davetapley quits (sid666@id-666.uxbridge.irccloud.com) (*.net *.split)
05:26:32 × rtpg quits (sid443069@id-443069.ilkley.irccloud.com) (*.net *.split)
05:26:32 × b20n quits (sid115913@id-115913.uxbridge.irccloud.com) (*.net *.split)
05:26:32 × lightandlight quits (sid135476@id-135476.helmsley.irccloud.com) (*.net *.split)
05:26:32 × caasih quits (sid13241@id-13241.ilkley.irccloud.com) (*.net *.split)
05:26:32 × edmundnoble quits (sid229620@id-229620.helmsley.irccloud.com) (*.net *.split)
05:26:32 × PotatoGim quits (sid99505@id-99505.lymington.irccloud.com) (*.net *.split)
05:26:32 × philpax_ quits (sid516926@id-516926.lymington.irccloud.com) (*.net *.split)
05:26:32 × jakesyl_ quits (sid56879@id-56879.hampstead.irccloud.com) (*.net *.split)
05:26:32 × Ekho quits (~Ekho@user/ekho) (*.net *.split)
05:26:32 × yushyin quits (3RNeQpThcJ@karif.server-speed.net) (*.net *.split)
05:26:32 × m4lvin quits (~m4lvin@w4eg.de) (*.net *.split)
05:26:32 × fryguybob quits (~fryguybob@cpe-74-67-169-145.rochester.res.rr.com) (*.net *.split)
05:26:32 × myme quits (~myme@40.51-175-185.customer.lyse.net) (*.net *.split)
05:26:32 × amk quits (~amk@109.255.169.126) (*.net *.split)
05:26:32 × averell quits (~averell@user/averell) (*.net *.split)
05:26:32 × Maxdamantus quits (~Maxdamant@user/maxdamantus) (*.net *.split)
05:26:32 × bbear quits (~znc@21212.s.t4vps.eu) (*.net *.split)
05:26:32 × darkstardevx quits (~darkstard@50.39.115.145) (*.net *.split)
05:26:32 × erisco quits (~erisco@d24-57-249-233.home.cgocable.net) (*.net *.split)
05:26:32 × dragestil quits (~znc@user/dragestil) (*.net *.split)
05:26:32 × welterde quits (welterde@thinkbase.srv.welterde.de) (*.net *.split)
05:26:32 × earthy quits (~arthurvl@2001:984:275b:1:ba27:ebff:fea0:40b0) (*.net *.split)
05:26:32 × cawfee quits (~root@2406:3003:2077:2758::babe) (*.net *.split)
05:26:32 × liskin quits (~liskin@xmonad/liskin) (*.net *.split)
05:26:32 × emergence quits (~emergence@vm0.max-p.me) (*.net *.split)
05:26:32 × leah2 quits (~leah@vuxu.org) (*.net *.split)
05:26:32 × defanor quits (~defanor@tart.uberspace.net) (*.net *.split)
05:26:32 × codedmart quits (codedmart@2600:3c01::f03c:92ff:fefe:8511) (*.net *.split)
05:26:32 × nshepperd quits (nshepperd@2600:3c03::f03c:92ff:fe28:92c9) (*.net *.split)
05:26:32 × Putonlalla quits (~sapekiis@it-cyan.it.jyu.fi) (*.net *.split)
05:26:32 × koolazer quits (~koo@user/koolazer) (*.net *.split)
05:26:32 × mikko quits (~mikko@2a02:7b40:d418:6a61::1) (*.net *.split)
05:26:32 × Taneb quits (~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0) (*.net *.split)
05:26:32 × bjobjo quits (~bjobjo@user/bjobjo) (*.net *.split)
05:26:32 × xnbya quits (~xnbya@2a01:4f8:c17:cbdd::1) (*.net *.split)
05:26:32 × bastelfreak quits (~bastelfre@basteles-bastelknecht.bastelfreak.org) (*.net *.split)
05:26:32 × Adran quits (~adran@botters/adran) (*.net *.split)
05:26:32 × energizer quits (~energizer@user/energizer) (*.net *.split)
05:26:32 × tomjaguarpaw quits (~tom@li367-225.members.linode.com) (*.net *.split)
05:26:32 × Arsen quits (arsen@managarm/dev/Arsen) (*.net *.split)
05:26:32 × immae quits (~immae@2a01:4f8:141:53e7::) (*.net *.split)
05:26:32 × cross quits (~cross@spitfire.i.gajendra.net) (*.net *.split)
05:26:32 × janus quits (janus@anubis.0x90.dk) (*.net *.split)
05:26:32 × phaazon quits (~phaazon@2001:41d0:a:fe76::1) (*.net *.split)
05:26:32 × sphynx quits (~xnyhps@2a02:2770:3:0:216:3eff:fe67:3288) (*.net *.split)
05:26:32 × dixie quits (~dixie@real.wilbury.sk) (*.net *.split)
05:26:32 × dunj3 quits (~dunj3@kingdread.de) (*.net *.split)
05:26:32 × cpape quits (~user@2a01:4f9:c010:632d::1) (*.net *.split)
05:26:32 × sm[i] quits (~user@plaintextaccounting/sm) (*.net *.split)
05:26:32 × xsarnik quits (xsarnik@lounge.fi.muni.cz) (*.net *.split)
05:26:32 × tubogram quits (~tubogram@user/tubogram) (*.net *.split)
05:26:32 × Axman6 quits (~Axman6@user/axman6) (*.net *.split)
05:26:39 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
05:27:14 geekosaur joins (~geekosaur@069-135-003-034.biz.spectrum.com)
05:27:14 famubu joins (~famubu@user/famubu)
05:27:14 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
05:27:14 on^ joins (~on@68.101.58.90)
05:27:14 hgolden joins (~hgolden2@cpe-172-114-81-123.socal.res.rr.com)
05:27:14 Techcable joins (~Techcable@168.235.93.147)
05:27:14 sprout_ joins (~quassel@2a02:a467:ccd6:1:39f3:76e9:9ca1:32bd)
05:27:14 terrorjack joins (~terrorjac@2a01:4f8:1c1e:509a::1)
05:27:14 sagax joins (~sagax_nb@user/sagax)
05:27:14 Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
05:27:14 zincy joins (~tom@2a00:23c8:970c:4801:5b6a:e81b:79dc:f684)
05:27:14 xff0x joins (~xff0x@2001:1a81:5269:5600:e5f5:ee22:f6bb:9023)
05:27:14 stevenxl joins (~stevenlei@174.128.182.152)
05:27:14 wei2912 joins (~wei2912@116.88.103.128)
05:27:14 nfd joins (~nfd@user/nfd)
05:27:14 perrierjouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
05:27:14 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:e52b:eca6:e736:3c6b)
05:27:14 Codaraxis joins (~Codaraxis@user/codaraxis)
05:27:14 curiousgay joins (~curiousga@77-120-141-90.kha.volia.net)
05:27:14 Alex_test joins (~al_test@178.34.163.11)
05:27:14 AlexZenon joins (~alzenon@178.34.163.11)
05:27:14 aweinstock joins (~aweinstoc@cpe-67-248-65-250.nycap.res.rr.com)
05:27:14 vgtw_ joins (~vgtw@c-2359205c.07-348-756d651.bbcust.telenor.se)
05:27:14 pavonia joins (~user@user/siracusa)
05:27:14 justSleigh joins (~justache@user/justache)
05:27:14 Sgeo joins (~Sgeo@user/sgeo)
05:27:14 juhp joins (~juhp@128.106.188.82)
05:27:14 jle` joins (~jle`@cpe-23-240-75-236.socal.res.rr.com)
05:27:14 bradparker joins (sid262931@id-262931.uxbridge.irccloud.com)
05:27:14 johnw joins (~johnw@2607:f6f0:3004:1:c8b4:50ff:fef8:6bf0)
05:27:14 dhruvasagar joins (~dhruvasag@49.207.222.205)
05:27:14 tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net)
05:27:14 tito joins (tito@tilde.team)
05:27:14 mikoto-chan joins (~mikoto-ch@esm-84-240-99-143.netplaza.fi)
05:27:14 connrs joins (~connrs@user/connrs)
05:27:14 taktoa[c] joins (sid282096@id-282096.tinside.irccloud.com)
05:27:14 hook54321 joins (sid149355@user/hook54321)
05:27:14 unyu joins (~pyon@user/pyon)
05:27:14 alx741 joins (~alx741@186.178.109.217)
05:27:14 shriekingnoise joins (~shrieking@186.137.144.80)
05:27:14 flukiluke joins (~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962)
05:27:14 Jonno_FTW joins (~come@api.carswap.me)
05:27:14 gabiruh joins (~gabiruh@vps19177.publiccloud.com.br)
05:27:14 shailangsa joins (~shailangs@host86-186-142-82.range86-186.btcentralplus.com)
05:27:14 zaquest joins (~notzaques@5.130.79.72)
05:27:14 int-e joins (~noone@int-e.eu)
05:27:14 img joins (~img@user/img)
05:27:14 retroid_ joins (~retro@97e2ba2e.skybroadband.com)
05:27:14 trillp joins (~user@69.233.98.238)
05:27:14 JimL joins (~quassel@89-162-2-132.fiber.signal.no)
05:27:14 wz1000 joins (~zubin@static.11.113.47.78.clients.your-server.de)
05:27:14 jinsun joins (~quassel@user/jinsun)
05:27:14 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
05:27:14 tv joins (~tv@user/tv)
05:27:14 nickdaly joins (45ce440a48@2604:bf00:561:2000::e2)
05:27:14 elvishjerricco joins (sid237756@id-237756.helmsley.irccloud.com)
05:27:14 FragByte joins (~christian@user/fragbyte)
05:27:14 halides joins (halides@imases.biss.ee)
05:27:14 iqubic joins (~user@c-67-171-37-233.hsd1.wa.comcast.net)
05:27:14 cyphase joins (~cyphase@user/cyphase)
05:27:14 res0nat0r8 joins (~Fletch@dia.whatbox.ca)
05:27:14 gdd joins (~gdd@129.199.146.230)
05:27:14 samhh joins (7569f027cf@2604:bf00:561:2000::e4)
05:27:14 EvanR joins (~evan@user/evanr)
05:27:14 mud joins (~mud@user/kadoban)
05:27:14 Feuermagier joins (~Feuermagi@user/feuermagier)
05:27:14 kritzefitz joins (~kritzefit@debian/kritzefitz)
05:27:14 Benzi-Junior joins (~BenziJuni@88-149-66-61.du.xdsl.is)
05:27:14 hrdl joins (~hrdl@mail.hrdl.eu)
05:27:14 acowley joins (~acowley@c-68-83-22-43.hsd1.nj.comcast.net)
05:27:14 MasseR joins (~MasseR@51.15.143.128)
05:27:14 m5zs7k joins (aquares@web10.mydevil.net)
05:27:14 arahael joins (~arahael@27-32-144-20.tpgi.com.au)
05:27:14 ozzymcduff joins (~mathieu@81-234-151-21-no94.tbcn.telia.com)
05:27:14 jlamothe joins (~jlamothe@198.251.61.229)
05:27:14 dibblego joins (~dibblego@haskell/developer/dibblego)
05:27:14 jakzale joins (6291399afa@user/jakzale)
05:27:14 dispater joins (~dispater@user/brprice)
05:27:14 jamestmartin joins (~james@jtmar.me)
05:27:14 lambdabot joins (~lambdabot@haskell/bot/lambdabot)
05:27:14 vjoki joins (~vjoki@2a00:d880:3:1::fea1:9ae)
05:27:14 Typedfern joins (~Typedfern@75.red-88-22-25.staticip.rima-tde.net)
05:27:14 Flonk joins (~Flonk@vps-zap441517-1.zap-srv.com)
05:27:14 stefan-_ joins (~cri@42dots.de)
05:27:14 srk joins (~sorki@user/srk)
05:27:14 theproffesor joins (~theproffe@user/theproffesor)
05:27:14 obfusk joins (~quassel@a82-161-150-56.adsl.xs4all.nl)
05:27:14 haasn joins (~nand@haasn.dev)
05:27:14 bsima1 joins (9d7e39c8ad@2604:bf00:561:2000::dd)
05:27:14 sus joins (zero@user/zeromomentum)
05:27:14 gentauro joins (~gentauro@user/gentauro)
05:27:14 noctux joins (~noctux@user/noctux)
05:27:14 sweater joins (~sweater@206.81.18.26)
05:27:14 dolio joins (~dolio@130.44.130.54)
05:27:14 filwisher joins (2e6936c793@2604:bf00:561:2000::170)
05:27:14 yaroot joins (~yaroot@2409:12:ac0:2300:680e:dbff:fe1e:4953)
05:27:14 rembo10 joins (~rembo10@remulis.com)
05:27:14 ehamberg joins (sid18208@id-18208.hampstead.irccloud.com)
05:27:14 Logio joins (em@kapsi.fi)
05:27:14 jkoshy joins (99b9359beb@2604:bf00:561:2000::10f)
05:27:14 sm2n joins (ae95cb1267@user/sm2n)
05:27:14 TimWolla joins (~timwolla@2a01:4f8:150:6153:beef::6667)
05:27:14 lukec joins (9dfd4d094e@2604:bf00:561:2000::10e)
05:27:14 dagit joins (~dagit@2001:558:6025:38:6476:a063:d05a:44da)
05:27:14 niko joins (~niko@libera/staff/niko)
05:27:14 nisstyre joins (~wes@user/nisstyre)
05:27:14 joeyh joins (joeyh@kitenet.net)
05:27:14 pragma- joins (~chaos@user/pragmatic-chaos)
05:27:14 dka joins (~code-is-a@ns3059207.ip-193-70-33.eu)
05:27:14 ralu joins (~ralu@static.211.245.203.116.clients.your-server.de)
05:27:14 infinity0 joins (~infinity0@occupy.ecodis.net)
05:27:14 hays joins (rootvegeta@fsf/member/hays)
05:27:14 phma joins (~phma@host-67-44-208-5.hnremote.net)
05:27:14 Axman6 joins (~Axman6@user/axman6)
05:27:14 TMA joins (tma@twin.jikos.cz)
05:27:14 iphy joins (sid67735@id-67735.lymington.irccloud.com)
05:27:14 _0x47_ joins (sid508683@id-508683.tinside.irccloud.com)
05:27:14 whez joins (sid470288@id-470288.lymington.irccloud.com)
05:27:14 awpr joins (uid446117@id-446117.lymington.irccloud.com)
05:27:14 teehemkay_ joins (sid14792@id-14792.lymington.irccloud.com)
05:27:14 angerman joins (sid209936@id-209936.ilkley.irccloud.com)
05:27:14 ephemient joins (uid407513@id-407513.lymington.irccloud.com)
05:27:14 gregberns__ joins (sid315709@id-315709.helmsley.irccloud.com)
05:27:14 kaizen joins (sid501599@id-501599.helmsley.irccloud.com)
05:27:14 MironZ joins (~MironZ@nat-infra.ehlab.uk)
05:27:14 Kaiepi joins (~Kaiepi@156.34.44.192)
05:27:14 micro joins (~micro@user/micro)
05:27:14 sm[i] joins (~user@plaintextaccounting/sm)
05:27:14 xsarnik joins (xsarnik@lounge.fi.muni.cz)
05:27:14 pie__ joins (~pie_bnc@user/pie/x-2818909)
05:27:14 m1dnight_ joins (~christoph@christophe.dev)
05:27:14 dfordivam1 joins (~dfordivam@tk2-219-19469.vs.sakura.ne.jp)
05:27:14 [exa] joins (~exa@user/exa/x-3587197)
05:27:14 Hecate joins (~mariposa@user/hecate)
05:27:14 greyrat_ joins (~greyrat@ip202.ip-51-178-215.eu)
05:27:14 eL_Bart0- joins (eL_Bart0@dietunichtguten.org)
05:27:14 davl_ joins (~davl@207.154.228.18)
05:27:14 russruss joins (~russruss@my.russellmcc.com)
05:27:14 MidAutumnMoon6 joins (~MidAutumn@user/midautumnmoon)
05:27:14 jzsinatra joins (~jzsinatra@88-114-238-31.elisa-laajakaista.fi)
05:27:14 statusbot joins (~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com)
05:27:14 hongminhee joins (sid295@id-295.tinside.irccloud.com)
05:27:14 SethTisue__ joins (sid14912@id-14912.ilkley.irccloud.com)
05:27:14 V joins (~v@anomalous.eu)
05:27:14 gaze___ joins (sid387101@id-387101.helmsley.irccloud.com)
05:27:14 Pent joins (sid313808@id-313808.lymington.irccloud.com)
05:27:14 acertain joins (sid470584@id-470584.hampstead.irccloud.com)
05:27:14 dmj` joins (sid72307@id-72307.hampstead.irccloud.com)
05:27:14 mrianbloom joins (sid350277@id-350277.ilkley.irccloud.com)
05:27:14 sclv joins (sid39734@haskell/developer/sclv)
05:27:14 bjs joins (sid190364@user/bjs)
05:27:14 enemeth79 joins (sid309041@id-309041.lymington.irccloud.com)
05:27:14 cbarrett joins (sid192934@id-192934.helmsley.irccloud.com)
05:27:14 tapas joins (sid467876@id-467876.ilkley.irccloud.com)
05:27:14 saolsen joins (sid26430@id-26430.lymington.irccloud.com)
05:27:14 whatif joins (~user@2400:8902::f03c:92ff:fe60:98d8)
05:27:14 ysh joins (sid6017@id-6017.ilkley.irccloud.com)
05:27:14 JSharp joins (sid4580@id-4580.lymington.irccloud.com)
05:27:14 Boarders_ joins (sid425905@id-425905.lymington.irccloud.com)
05:27:14 S11001001 joins (sid42510@id-42510.ilkley.irccloud.com)
05:27:14 NiKaN joins (sid385034@id-385034.helmsley.irccloud.com)
05:27:14 Cale joins (~cale@cpef48e38ee8583-cm30b7d4b3fc20.cpe.net.cable.rogers.com)
05:27:14 thaumavorio joins (~thaumavor@thaumavor.io)
05:27:14 peutri joins (~peutri@ns317027.ip-94-23-46.eu)
05:27:14 lyxia joins (~lyxia@poisson.chat)
05:27:14 tnks joins (sid412124@id-412124.helmsley.irccloud.com)
05:27:14 glguy joins (x@libera/staff/glguy)
05:27:14 duckonomy joins (~duckonomy@177.ip-144-217-84.net)
05:27:14 marienz joins (~marienz@libera/staff/marienz)
05:27:14 davetapley joins (sid666@id-666.uxbridge.irccloud.com)
05:27:14 rtpg joins (sid443069@id-443069.ilkley.irccloud.com)
05:27:14 b20n joins (sid115913@id-115913.uxbridge.irccloud.com)
05:27:14 lightandlight joins (sid135476@id-135476.helmsley.irccloud.com)
05:27:14 caasih joins (sid13241@id-13241.ilkley.irccloud.com)
05:27:14 edmundnoble joins (sid229620@id-229620.helmsley.irccloud.com)
05:27:14 PotatoGim joins (sid99505@id-99505.lymington.irccloud.com)
05:27:14 philpax_ joins (sid516926@id-516926.lymington.irccloud.com)
05:27:14 jakesyl_ joins (sid56879@id-56879.hampstead.irccloud.com)
05:27:14 Ekho joins (~Ekho@user/ekho)
05:27:14 incertia joins (~incertia@d4-50-26-103.nap.wideopenwest.com)
05:27:14 ikke joins (~kevin@alpine/developer/ikke)
05:27:14 Athas joins (athas@sigkill.dk)
05:27:14 haveo joins (~haveo@sl35.iuwt.fr)
05:27:14 bens joins (~bens@www.typius.com)
05:27:14 jjhoo joins (~jahakala@user/jjhoo)
05:27:14 yushyin joins (3RNeQpThcJ@karif.server-speed.net)
05:27:14 m4lvin joins (~m4lvin@w4eg.de)
05:27:14 fryguybob joins (~fryguybob@cpe-74-67-169-145.rochester.res.rr.com)
05:27:14 finsternis joins (~X@23.226.237.192)
05:27:14 myme joins (~myme@40.51-175-185.customer.lyse.net)
05:27:14 amk joins (~amk@109.255.169.126)
05:27:14 averell joins (~averell@user/averell)
05:27:14 yahb joins (xsbot@user/mniip/bot/yahb)
05:27:14 Maxdamantus joins (~Maxdamant@user/maxdamantus)
05:27:14 turlando joins (~turlando@user/turlando)
05:27:14 bbear joins (~znc@21212.s.t4vps.eu)
05:27:14 darkstardevx joins (~darkstard@50.39.115.145)
05:27:14 erisco joins (~erisco@d24-57-249-233.home.cgocable.net)
05:27:14 dragestil joins (~znc@user/dragestil)
05:27:14 Unode joins (~Unode@194.94.44.220)
05:27:14 welterde joins (welterde@thinkbase.srv.welterde.de)
05:27:14 derelict joins (~derelict@user/derelict)
05:27:14 earthy joins (~arthurvl@2001:984:275b:1:ba27:ebff:fea0:40b0)
05:27:14 cawfee joins (~root@2406:3003:2077:2758::babe)
05:27:14 liskin joins (~liskin@xmonad/liskin)
05:27:14 asm joins (~alexander@user/asm)
05:27:14 emergence joins (~emergence@vm0.max-p.me)
05:27:14 leah2 joins (~leah@vuxu.org)
05:27:14 WhateverRabbit joins (~rabbit@206.81.18.26)
05:27:14 defanor joins (~defanor@tart.uberspace.net)
05:27:14 codedmart joins (codedmart@2600:3c01::f03c:92ff:fefe:8511)
05:27:14 nshepperd joins (nshepperd@2600:3c03::f03c:92ff:fe28:92c9)
05:27:14 adamCS joins (~adamCS@ec2-34-207-160-255.compute-1.amazonaws.com)
05:27:14 Putonlalla joins (~sapekiis@it-cyan.it.jyu.fi)
05:27:14 koolazer joins (~koo@user/koolazer)
05:27:14 tubogram joins (~tubogram@user/tubogram)
05:27:14 mikko joins (~mikko@2a02:7b40:d418:6a61::1)
05:27:14 Taneb joins (~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0)
05:27:14 bjobjo joins (~bjobjo@user/bjobjo)
05:27:14 xnbya joins (~xnbya@2a01:4f8:c17:cbdd::1)
05:27:14 bastelfreak joins (~bastelfre@basteles-bastelknecht.bastelfreak.org)
05:27:14 Adran joins (~adran@botters/adran)
05:27:14 energizer joins (~energizer@user/energizer)
05:27:14 tomjaguarpaw joins (~tom@li367-225.members.linode.com)
05:27:14 Arsen joins (arsen@managarm/dev/Arsen)
05:27:14 immae joins (~immae@2a01:4f8:141:53e7::)
05:27:14 cross joins (~cross@spitfire.i.gajendra.net)
05:27:14 phaazon joins (~phaazon@2001:41d0:a:fe76::1)
05:27:14 janus joins (janus@anubis.0x90.dk)
05:27:14 sphynx joins (~xnyhps@2a02:2770:3:0:216:3eff:fe67:3288)
05:27:14 dixie joins (~dixie@real.wilbury.sk)
05:27:14 cpape joins (~user@2a01:4f9:c010:632d::1)
05:27:14 dunj3 joins (~dunj3@kingdread.de)
05:27:14 × AndrewYu quits (~andrew@user/andrewyu) (Max SendQ exceeded)
05:27:14 × d34df00d quits (~d34df00d@2600:1700:8c60:3a10::48) (Excess Flood)
05:27:14 × wolfshappen quits (~waff@irc.furworks.de) (Max SendQ exceeded)
05:27:14 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Max SendQ exceeded)
05:27:29 × zopsi quits (~zopsi@irc.dir.ac) (Max SendQ exceeded)
05:28:09 × koolazer quits (~koo@user/koolazer) (Max SendQ exceeded)
05:28:13 × on^ quits (~on@68.101.58.90) (Max SendQ exceeded)
05:28:13 × shailangsa quits (~shailangs@host86-186-142-82.range86-186.btcentralplus.com) (Max SendQ exceeded)
05:28:18 AndrewYu joins (~andrew@user/andrewyu)
05:28:19 zopsi joins (zopsi@2600:3c00::f03c:91ff:fe14:551f)
05:28:36 koolazer joins (~koo@user/koolazer)
05:28:52 geekosaur is now known as Guest1121
05:28:57 × tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Ping timeout: 256 seconds)
05:29:20 on^ joins (~on@68.101.58.90)
05:29:21 × litharge quits (litharge@libera/bot/litharge) (Remote host closed the connection)
05:29:24 litharge joins (litharge@libera/bot/litharge)
05:29:28 wolfshappen joins (~waff@irc.furworks.de)
05:29:50 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
05:30:02 × kevin[m]1 quits (~pnotequal@2001:470:69fc:105::a54) (Ping timeout: 240 seconds)
05:30:05 × fsckskye[m] quits (~kmatrixth@2001:470:69fc:105::1:3b2f) (Ping timeout: 250 seconds)
05:30:05 × iammrinal0[m] quits (~iammrinal@2001:470:69fc:105::1:2248) (Ping timeout: 250 seconds)
05:30:05 × ppseafield[m] quits (~elementpp@2001:470:69fc:105::1:250a) (Ping timeout: 250 seconds)
05:30:39 × glider quits (~glider@user/glider) (Ping timeout: 256 seconds)
05:30:47 × hook54321 quits (sid149355@user/hook54321) (Ping timeout: 268 seconds)
05:31:16 × carbolymer quits (~carbolyme@dropacid.net) (Remote host closed the connection)
05:31:26 glider joins (~glider@user/glider)
05:31:53 carbolymer joins (~carbolyme@dropacid.net)
05:32:37 hook54321 joins (sid149355@user/hook54321)
05:34:17 iammrinal0[m] joins (~iammrinal@2001:470:69fc:105::1:2248)
05:34:54 kevin[m]1 joins (~pnotequal@2001:470:69fc:105::a54)
05:34:59 ppseafield[m] joins (~elementpp@2001:470:69fc:105::1:250a)
05:35:01 fsckskye[m] joins (~kmatrixth@2001:470:69fc:105::1:3b2f)
05:36:57 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
05:37:33 × Hafydd quits (~Hafydd@user/hafydd) (*.net *.split)
05:37:33 × SquidDev quits (~SquidDev@autoclave.squiddev.cc) (*.net *.split)
05:37:33 × superbil quits (~superbil@1-34-176-171.hinet-ip.hinet.net) (*.net *.split)
05:37:33 × In0perable quits (~PLAYER_1@fancydata.science) (*.net *.split)
05:37:33 × Square quits (~a@user/square) (*.net *.split)
05:37:33 × mht-wtf quits (~mht@mht.wtf) (*.net *.split)
05:37:33 × remedan quits (~remedan@balak.me) (*.net *.split)
05:37:33 × drewolson quits (~drewolson@user/drewolson) (*.net *.split)
05:37:33 × nf quits (~n@monade.li) (*.net *.split)
05:37:33 × vaibhavsagar[m] quits (~vaibhavsa@2001:470:69fc:105::ffe) (*.net *.split)
05:37:33 × InternetManaging quits (~imjmatrix@2001:470:69fc:105::1:2ea5) (*.net *.split)
05:37:33 × jophish quits (~jophish@2001:470:69fc:105::670) (*.net *.split)
05:37:33 × kadoban quits (~kadoban@user/kadoban) (*.net *.split)
05:37:33 × soft quits (~soft@2001:470:69fc:105::c75) (*.net *.split)
05:37:33 × asdofindia-m quits (~akshaymat@2001:470:69fc:105::831) (*.net *.split)
05:37:33 × bb010g quits (~bb010g@2001:470:69fc:105::9a5) (*.net *.split)
05:37:33 × thomasjm[m] quits (~thomasjmm@2001:470:69fc:105::c6d9) (*.net *.split)
05:37:33 × utk quits (~utk@2001:470:69fc:105::1:2fe0) (*.net *.split)
05:37:33 × PigDude quits (~PigDude@159.203.16.199) (*.net *.split)
05:37:33 × fcortesi quits (~fcortesi@2001:470:69fc:105::f3a9) (*.net *.split)
05:37:33 × schuelermine[m] quits (~schuelerm@user/schuelermine) (*.net *.split)
05:37:33 × DemiMarieObenour quits (~alwayscur@2001:470:69fc:105::4886) (*.net *.split)
05:37:33 × Christoph[m] quits (~hpotsirhc@2001:470:69fc:105::2ff8) (*.net *.split)
05:37:33 × craige[m] quits (~craigemcw@2001:470:69fc:105::35f1) (*.net *.split)
05:37:33 × AWizzArd quits (~code@gehrels.uberspace.de) (*.net *.split)
05:37:33 × root1 quits (root@2600:3c02::f03c:92ff:fe1a:c779) (*.net *.split)
05:37:33 × |beowulf| quits (1000@sourcemage/mage/beowulf) (*.net *.split)
05:37:33 × ggVGc quits (~ggVGc@a.lowtech.earth) (*.net *.split)
05:37:33 × absence quits (~absence@hildring.pvv.ntnu.no) (*.net *.split)
05:37:33 × ft quits (~ft@shell.chaostreff-dortmund.de) (*.net *.split)
05:37:33 × kawpuh quits (~kawpuh@66.42.81.80) (*.net *.split)
05:37:33 × eco quits (~ubuntu@ec2-54-201-230-197.us-west-2.compute.amazonaws.com) (*.net *.split)
05:37:33 × byorgey quits (~byorgey@155.138.238.211) (*.net *.split)
05:37:33 × tdammers quits (~tdammers@77.109.72.177.res.static.edpnet.net) (*.net *.split)
05:37:33 × SoF quits (~skius@user/skius) (*.net *.split)
05:37:40 AWizzArd joins (~code@gehrels.uberspace.de)
05:37:42 absence joins (torgeihe@hildring.pvv.ntnu.no)
05:37:42 byorgey joins (~byorgey@155.138.238.211)
05:37:44 PigDude joins (~PigDude@159.203.16.199)
05:37:47 eco joins (~ubuntu@ec2-54-201-230-197.us-west-2.compute.amazonaws.com)
05:37:50 tdammers joins (~tdammers@77.109.72.177.res.static.edpnet.net)
05:37:51 drewolson joins (~drewolson@user/drewolson)
05:37:53 kawpuh joins (~kawpuh@66.42.81.80)
05:37:54 root1 joins (root@2600:3c02::f03c:92ff:fe1a:c779)
05:37:55 ggVGc joins (~ggVGc@a.lowtech.earth)
05:38:05 Hafydd joins (~Hafydd@owlchat.newnet.net)
05:38:05 ft joins (~ft@shell.chaostreff-dortmund.de)
05:38:07 mht-wtf joins (~mht@2a03:b0c0:3:e0::1e2:c001)
05:38:09 |beowulf| joins (1000@gabilgathol.bandrate.org)
05:38:11 × Hafydd quits (~Hafydd@owlchat.newnet.net) (Signing in (Hafydd))
05:38:11 Hafydd joins (~Hafydd@user/hafydd)
05:38:17 superbil joins (~superbil@1-34-176-171.hinet-ip.hinet.net)
05:38:19 SquidDev joins (~SquidDev@autoclave.squiddev.cc)
05:38:24 SoF joins (~skius@user/skius)
05:38:26 remedan joins (~remedan@balak.me)
05:38:31 nf joins (~n@monade.li)
05:38:43 |beowulf| is now known as Guest2359
05:39:29 yauhsien_ joins (~yauhsien@61-231-32-247.dynamic-ip.hinet.net)
05:39:34 asdofindia-m joins (~akshaymat@2001:470:69fc:105::831)
05:40:21 Square joins (~a@user/square)
05:40:56 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:e52b:eca6:e736:3c6b) (Remote host closed the connection)
05:41:24 genieliu joins (~genieliu@103.37.140.38)
05:41:29 InternetManaging joins (~imjmatrix@2001:470:69fc:105::1:2ea5)
05:42:13 Inoperable joins (~PLAYER_1@fancydata.science)
05:42:14 vaibhavsagar[m] joins (~vaibhavsa@2001:470:69fc:105::ffe)
05:43:16 _xor joins (~xor@dsl-50-5-233-169.fuse.net)
05:44:07 jophish joins (~jophish@2001:470:69fc:105::670)
05:45:15 bb010g joins (~bb010g@2001:470:69fc:105::9a5)
05:45:21 × yauhsien_ quits (~yauhsien@61-231-32-247.dynamic-ip.hinet.net) (Ping timeout: 245 seconds)
05:45:45 × xff0x quits (~xff0x@2001:1a81:5269:5600:e5f5:ee22:f6bb:9023) (Ping timeout: 252 seconds)
05:46:14 kadoban joins (~kadoban@user/kadoban)
05:46:28 craige[m] joins (~craigemcw@2001:470:69fc:105::35f1)
05:46:36 xff0x joins (~xff0x@2001:1a81:5269:5600:c51f:ff7b:f3d8:91b6)
05:46:37 Christoph[m] joins (~hpotsirhc@2001:470:69fc:105::2ff8)
05:46:46 DemiMarieObenour joins (~alwayscur@2001:470:69fc:105::4886)
05:46:47 schuelermine[m] joins (~schuelerm@user/schuelermine)
05:46:52 fcortesi joins (~fcortesi@2001:470:69fc:105::f3a9)
05:46:56 utk joins (~utk@2001:470:69fc:105::1:2fe0)
05:47:15 thomasjm[m] joins (~thomasjmm@2001:470:69fc:105::c6d9)
05:48:06 soft joins (~soft@2001:470:69fc:105::c75)
05:49:01 × genieliu quits (~genieliu@103.37.140.38) (Ping timeout: 240 seconds)
05:50:28 × joel135 quits (sid136450@id-136450.hampstead.irccloud.com) (*.net *.split)
05:50:28 × obviyus quits (sid415299@user/obviyus) (*.net *.split)
05:50:28 × meinside quits (uid24933@id-24933.helmsley.irccloud.com) (*.net *.split)
05:50:28 × mustafa quits (sid502723@rockylinux/releng/mustafa) (*.net *.split)
05:50:28 × stilgart_ quits (~Christoph@chezlefab.net) (*.net *.split)
05:50:28 × carter quits (sid14827@id-14827.helmsley.irccloud.com) (*.net *.split)
05:50:28 × a1paca_ quits (~a1paca@user/a1paca) (*.net *.split)
05:50:28 × raoul quits (~raoul@95.179.203.88) (*.net *.split)
05:50:28 × Firedancer quits (sid336191@id-336191.hampstead.irccloud.com) (*.net *.split)
05:50:28 × scav quits (sid309693@id-309693.helmsley.irccloud.com) (*.net *.split)
05:50:28 × SrPx quits (sid108780@id-108780.uxbridge.irccloud.com) (*.net *.split)
05:50:28 × teehemkay quits (sid14792@id-14792.lymington.irccloud.com) (*.net *.split)
05:50:28 × bw quits (sid2730@user/betawaffle) (*.net *.split)
05:50:28 × hendi quits (sid489601@id-489601.lymington.irccloud.com) (*.net *.split)
05:50:28 × gonz_____ quits (sid304396@id-304396.lymington.irccloud.com) (*.net *.split)
05:50:28 × jassob quits (~jassob@h-98-128-166-172.NA.cust.bahnhof.se) (*.net *.split)
05:50:28 × carmysilna quits (~brightly-@2001:470:69fc:105::2190) (*.net *.split)
05:50:28 × ongy[m] quits (~ongymatri@2001:470:69fc:105::5018) (*.net *.split)
05:50:28 × quantum quits (~quantum@user/quantum/x-8556232) (*.net *.split)
05:50:28 × siraben quits (~siraben@user/siraben) (*.net *.split)
05:50:28 × ServerStatsDisco quits (~serversta@2001:470:69fc:105::1a) (*.net *.split)
05:50:28 × acco[m] quits (~accotedom@2001:470:69fc:105::1:3236) (*.net *.split)
05:50:28 × RosarioPulella[m quits (~rosariopu@2001:470:69fc:105::a57) (*.net *.split)
05:50:28 × jkachmar quits (~jkachmar@2001:470:69fc:105::c72d) (*.net *.split)
05:50:28 × kosmikus[m] quits (~andresloe@2001:470:69fc:105::95d) (*.net *.split)
05:50:28 × justosophy[m] quits (~justosoph@2001:470:69fc:105::572f) (*.net *.split)
05:50:28 × xddq[m] quits (~xddqmatri@2001:470:69fc:105::bfd8) (*.net *.split)
05:50:28 × reza[m] quits (~rezaphone@2001:470:69fc:105::3eda) (*.net *.split)
05:50:28 × ilkecan[m] quits (~ilkecanma@2001:470:69fc:105::1:79b) (*.net *.split)
05:50:28 × SawyerBergeron[m quits (~sawyerber@2001:470:69fc:105::3036) (*.net *.split)
05:50:28 × ouroboros quits (~ouroboros@user/ouroboros) (*.net *.split)
05:50:28 × HurdyGurdyBurdy quits (~HurdyGurd@user/hurdygurdyburdy) (*.net *.split)
05:50:28 × samebchase quits (~thelounge@51.15.68.182) (*.net *.split)
05:50:28 × burakcank quits (~burakcank@has.arrived.and.is.ready-to.party) (*.net *.split)
05:50:28 × swistak quits (~swistak@185.21.216.141) (*.net *.split)
05:50:28 × noctuks quits (dzDZscEp9m@user/noctux) (*.net *.split)
05:50:28 × elcaro quits (~anonymous@45.32.191.75) (*.net *.split)
05:50:29 × Vq quits (~vq@90-227-195-41-no77.tbcn.telia.com) (*.net *.split)
05:50:29 × mrus quits (~mrus@149.28.224.172) (*.net *.split)
05:50:29 × wanko quits (~wanko@51.15.4.226) (*.net *.split)
05:50:36 teehemkay joins (sid14792@id-14792.lymington.irccloud.com)
05:50:37 wanko joins (~wanko@51.15.4.226)
05:50:37 elcaro joins (~anonymous@45.32.191.75)
05:50:40 swistak joins (~swistak@185.21.216.141)
05:50:42 stilgart joins (~Christoph@chezlefab.net)
05:50:46 joel135 joins (sid136450@id-136450.hampstead.irccloud.com)
05:50:51 meinside joins (uid24933@id-24933.helmsley.irccloud.com)
05:50:51 mustafa joins (sid502723@rockylinux/releng/mustafa)
05:50:51 jassob joins (~jassob@h-98-128-166-172.NA.cust.bahnhof.se)
05:50:52 scav joins (sid309693@id-309693.helmsley.irccloud.com)
05:50:56 hendi joins (sid489601@id-489601.lymington.irccloud.com)
05:50:59 noctuks joins (RIj3X4Rlia@karif.server-speed.net)
05:51:03 bw joins (sid2730@user/betawaffle)
05:51:06 Firedancer joins (sid336191@id-336191.hampstead.irccloud.com)
05:51:10 gonz_____ joins (sid304396@id-304396.lymington.irccloud.com)
05:51:14 HurdyGurdyBurdy joins (~HurdyGurd@user/hurdygurdyburdy)
05:51:14 × noctuks quits (RIj3X4Rlia@karif.server-speed.net) (Signing in (noctuks))
05:51:14 noctuks joins (RIj3X4Rlia@user/noctux)
05:51:18 carter joins (sid14827@id-14827.helmsley.irccloud.com)
05:51:19 obviyus joins (sid415299@id-415299.uxbridge.irccloud.com)
05:51:22 × obviyus quits (sid415299@id-415299.uxbridge.irccloud.com) (Changing host)
05:51:22 obviyus joins (sid415299@user/obviyus)
05:51:26 raoul joins (~raoul@95.179.203.88)
05:51:30 SrPx joins (sid108780@id-108780.uxbridge.irccloud.com)
05:51:36 mrus joins (~mrus@149.28.224.172)
05:51:50 burakcank joins (~burakcank@has.arrived.and.is.ready-to.party)
05:52:15 ouroboros joins (~ouroboros@user/ouroboros)
05:52:21 × stevenxl quits (~stevenlei@174.128.182.152) (Ping timeout: 252 seconds)
05:52:40 siraben joins (~siraben@user/siraben)
05:53:15 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:e52b:eca6:e736:3c6b)
05:53:18 a1paca joins (~a1paca@user/a1paca)
05:53:28 ilkecan[m] joins (~ilkecanma@2001:470:69fc:105::1:79b)
05:53:28 SawyerBergeron[m joins (~sawyerber@2001:470:69fc:105::3036)
05:55:44 Vq joins (~vq@90-227-195-41-no77.tbcn.telia.com)
05:56:38 ServerStatsDisco joins (~serversta@2001:470:69fc:105::1a)
05:56:41 justosophy[m] joins (~justosoph@2001:470:69fc:105::572f)
05:56:42 RosarioPulella[m joins (~rosariopu@2001:470:69fc:105::a57)
05:56:43 jkachmar joins (~jkachmar@2001:470:69fc:105::c72d)
05:56:44 xddq[m] joins (~xddqmatri@2001:470:69fc:105::bfd8)
05:56:45 acco[m] joins (~accotedom@2001:470:69fc:105::1:3236)
05:56:46 reza[m] joins (~rezaphone@2001:470:69fc:105::3eda)
05:56:46 carmysilna joins (~brightly-@2001:470:69fc:105::2190)
05:56:47 quantum joins (~quantum@user/quantum/x-8556232)
05:58:26 genieliu joins (~genieliu@103.37.140.24)
05:59:09 kosmikus[m] joins (~andresloe@2001:470:69fc:105::95d)
05:59:31 fef joins (~thedawn@user/thedawn)
06:00:04 lavaman joins (~lavaman@98.38.249.169)
06:00:16 ongy[m] joins (~ongymatri@2001:470:69fc:105::5018)
06:01:37 deadmarshal joins (~deadmarsh@95.38.119.139)
06:05:53 slowtyper joins (~slowtyper@user/slowtyper)
06:07:32 × xff0x quits (~xff0x@2001:1a81:5269:5600:c51f:ff7b:f3d8:91b6) (Ping timeout: 240 seconds)
06:08:15 shailangsa joins (~shailangs@host86-186-142-82.range86-186.btcentralplus.com)
06:08:49 xff0x joins (~xff0x@2001:1a81:5269:5600:91e5:b69c:2cfa:3fc5)
06:12:43 Codaraxis_ joins (~Codaraxis@user/codaraxis)
06:16:12 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:e52b:eca6:e736:3c6b) (Remote host closed the connection)
06:16:33 × Codaraxis quits (~Codaraxis@user/codaraxis) (Ping timeout: 252 seconds)
06:16:37 takuan joins (~takuan@178-116-218-225.access.telenet.be)
06:19:58 mvk joins (~mvk@2607:fea8:5cdd:f000::9788)
06:20:29 × hgolden quits (~hgolden2@cpe-172-114-81-123.socal.res.rr.com) (Quit: Konversation terminated!)
06:20:58 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:e52b:eca6:e736:3c6b)
06:21:59 hgolden joins (~hgolden2@cpe-172-114-81-123.socal.res.rr.com)
06:23:14 × xff0x quits (~xff0x@2001:1a81:5269:5600:91e5:b69c:2cfa:3fc5) (Ping timeout: 265 seconds)
06:24:00 xff0x joins (~xff0x@2001:1a81:5269:5600:a7f2:d756:85f3:34a8)
06:25:21 × deadmarshal quits (~deadmarsh@95.38.119.139) (Ping timeout: 252 seconds)
06:25:38 deadmarshal joins (~deadmarsh@95.38.229.189)
06:28:50 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 252 seconds)
06:36:31 max22- joins (~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr)
06:41:30 yauhsien joins (~yauhsien@61-231-32-247.dynamic-ip.hinet.net)
06:45:53 × yauhsien quits (~yauhsien@61-231-32-247.dynamic-ip.hinet.net) (Ping timeout: 252 seconds)
06:49:48 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:e52b:eca6:e736:3c6b) (Remote host closed the connection)
06:52:31 × pfurla quits (~pfurla@2804:14d:5c81:4104:9dad:b7eb:58e3:98e6) (Quit: gone to sleep. ZZZzzz…)
06:59:25 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
07:02:25 michalz joins (~michalz@185.246.204.40)
07:06:28 × hgolden quits (~hgolden2@cpe-172-114-81-123.socal.res.rr.com) (Quit: Konversation terminated!)
07:07:56 hgolden joins (~hgolden2@cpe-172-114-81-123.socal.res.rr.com)
07:10:01 sprout joins (~quassel@2a02:a467:ccd6:1:6993:39fb:9bc8:e953)
07:10:07 × genieliu quits (~genieliu@103.37.140.24) (Ping timeout: 265 seconds)
07:13:23 × sprout_ quits (~quassel@2a02:a467:ccd6:1:39f3:76e9:9ca1:32bd) (Ping timeout: 252 seconds)
07:15:06 × hgolden quits (~hgolden2@cpe-172-114-81-123.socal.res.rr.com) (Remote host closed the connection)
07:15:40 yauhsien joins (~yauhsien@61-231-32-247.dynamic-ip.hinet.net)
07:19:09 hgolden joins (~hgolden2@cpe-172-114-81-123.socal.res.rr.com)
07:20:33 × yauhsien quits (~yauhsien@61-231-32-247.dynamic-ip.hinet.net) (Ping timeout: 268 seconds)
07:23:39 × deadmarshal quits (~deadmarsh@95.38.229.189) (Ping timeout: 265 seconds)
07:25:47 genieliu joins (~genieliu@103.37.140.38)
07:26:39 _ht joins (~quassel@82-169-194-8.biz.kpn.net)
07:30:10 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
07:31:06 × fef quits (~thedawn@user/thedawn) (Ping timeout: 276 seconds)
07:31:18 deadmarshal joins (~deadmarsh@95.38.229.189)
07:34:09 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
07:34:27 dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net)
07:34:27 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
07:36:07 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
07:36:25 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
07:37:58 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
07:38:26 × xff0x quits (~xff0x@2001:1a81:5269:5600:a7f2:d756:85f3:34a8) (Ping timeout: 268 seconds)
07:38:39 notzmv joins (~zmv@user/notzmv)
07:39:15 xff0x joins (~xff0x@2001:1a81:5269:5600:2d41:b802:44a7:1f0c)
07:39:52 jakalx parts (~jakalx@base.jakalx.net) ()
07:40:39 jakalx joins (~jakalx@base.jakalx.net)
07:44:55 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
07:45:13 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
07:46:53 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
07:47:11 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
07:47:29 × Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 252 seconds)
07:50:12 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:e52b:eca6:e736:3c6b)
07:52:23 × famubu quits (~famubu@user/famubu) (Ping timeout: 256 seconds)
07:52:42 chele joins (~chele@user/chele)
07:53:07 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
07:53:24 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
07:53:56 jtomas joins (~jtomas@212.117.18.99)
07:54:21 × _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
07:55:33 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:e52b:eca6:e736:3c6b) (Ping timeout: 252 seconds)
07:55:41 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
07:55:59 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
07:59:39 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
08:04:57 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
08:06:37 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
08:06:54 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
08:07:01 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
08:08:13 × deadmarshal quits (~deadmarsh@95.38.229.189) (Ping timeout: 240 seconds)
08:08:30 dhouthoo joins (~dhouthoo@178-117-36-167.access.telenet.be)
08:11:07 bollu joins (uid233390@id-233390.helmsley.irccloud.com)
08:11:09 lortabac joins (~lortabac@2a01:e0a:541:b8f0:6538:452b:466b:b6bb)
08:13:15 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
08:13:33 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
08:15:13 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
08:15:30 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
08:19:44 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
08:26:25 cfricke joins (~cfricke@user/cfricke)
08:29:06 × Codaraxis_ quits (~Codaraxis@user/codaraxis) (Read error: Connection reset by peer)
08:29:26 Codaraxis_ joins (~Codaraxis@user/codaraxis)
08:31:32 gehmehgeh joins (~user@user/gehmehgeh)
08:32:50 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
08:41:03 × coolnickname quits (~coolnickn@73.194.7.51.dyn.plus.net) (Ping timeout: 256 seconds)
08:42:08 × LiaoTao quits (~LiaoTao@gateway/tor-sasl/liaotao) (Remote host closed the connection)
08:42:34 LiaoTao joins (~LiaoTao@gateway/tor-sasl/liaotao)
08:42:39 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
08:43:33 senoraraton joins (~senorarat@192-195-83-130.static.monkeybrains.net)
08:43:56 <senoraraton> Are there settings for cabal that I can change the default program Main.hs that it creates?
08:44:35 <merijn> senoraraton: Yes
08:44:45 <merijn> Or rather, I guess it depends what you mean? :p
08:45:11 <merijn> Do you mean change "what is the main module?" or "change the contents of the generated one?"
08:45:42 <senoraraton> I don't want it to print "Hello, Haskell!" I want it to print "Hack the Planet!"
08:46:20 <senoraraton> The one that Cabal generates. It would also be nice to rename the app directory to src.
08:46:29 <merijn> Pretty sure you can't change that. Also pretty sure that seems rather pointless?
08:47:35 yauhsien joins (~yauhsien@2402:7500:4e5:d897:1821:b278:c264:a86f)
08:47:45 <senoraraton> I have my reasons.
08:48:06 dminuoso stares
08:48:23 <dminuoso> Feel free to fork cabal, and make the modifications.
08:48:38 <merijn> Pretty much that, yeah
08:48:42 <arahael> Or write a wrapper.
08:48:57 <merijn> I doubt there's any interest to integrate anything like that into cabal-install
08:48:57 <arahael> (Pretty much as stack did)
08:49:21 <dminuoso> In the grand scheme of things, setting up a project is a one-time thing that occurs relatively rarely.
08:49:40 <dminuoso> I'd rather the cabal maintainers spend their previous time on features that are relevant to the actual workload of haskell development.
08:49:56 <senoraraton> Well, it is quite clear that you and I have different priorties!
08:50:00 <dminuoso> It is.
08:50:05 famubu joins (~famubu@14.139.174.50)
08:50:15 <dminuoso> s/previous/precious/
08:51:41 <lortabac> senoraraton: at my previous job we had our own scaffolding scripts, since we used microservices we created new projects quite often
08:52:05 machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca)
08:52:09 <lortabac> senoraraton: it's probably easier than forking cabal
08:53:07 <merijn> I mean, you can just manually modify the generated files however you want, turn them into some kinda "template repo" and just use that to initialise projects instead of cabal-install...
08:53:15 deadmarshal joins (~deadmarsh@95.38.114.2)
08:54:16 <lortabac> merijn: yes, that's more or less what we did, plus a bash script to replace the name and a couple of settings
08:56:21 <senoraraton> I wrote a bash script that just does the cabal setup, then it replaces the text. Was fairly trivial, I mostly wanted to know about cabal settings and if it was configurable.
08:56:47 × senoraraton quits (~senorarat@192-195-83-130.static.monkeybrains.net) (Quit: Lost terminal)
08:57:33 × deadmarshal quits (~deadmarsh@95.38.114.2) (Ping timeout: 256 seconds)
08:59:05 × Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
08:59:52 Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
09:00:09 × PotatoHatsue quits (~berberman@2001:470:69fc:105::b488) (Quit: You have been kicked for being idle)
09:00:09 × Deewiant quits (~deewiant@2001:470:69fc:105::2fd3) (Quit: You have been kicked for being idle)
09:00:33 × shriekingnoise quits (~shrieking@186.137.144.80) (Quit: Quit)
09:00:33 deadmarshal joins (~deadmarsh@95.38.114.2)
09:01:25 × jtomas quits (~jtomas@212.117.18.99) (Ping timeout: 240 seconds)
09:02:43 jtomas joins (~jtomas@212.117.18.99)
09:08:53 × Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
09:12:08 Vajb joins (~Vajb@nalkaylds2h97nzof-2.v6.elisa-mobile.fi)
09:15:54 × dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.3)
09:17:42 × Guest1121 quits (~geekosaur@069-135-003-034.biz.spectrum.com) (Remote host closed the connection)
09:18:04 geekosaur joins (~geekosaur@xmonad/geekosaur)
09:19:32 × LiaoTao quits (~LiaoTao@gateway/tor-sasl/liaotao) (Remote host closed the connection)
09:19:49 LiaoTao joins (~LiaoTao@gateway/tor-sasl/liaotao)
09:23:20 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
09:26:18 Katarushisu joins (~Katarushi@cpc147334-finc20-2-0-cust27.4-2.cable.virginm.net)
09:35:29 × on^ quits (~on@68.101.58.90) (Remote host closed the connection)
09:37:51 × yauhsien quits (~yauhsien@2402:7500:4e5:d897:1821:b278:c264:a86f) (Ping timeout: 252 seconds)
09:39:38 yauhsien joins (~yauhsien@61-231-32-247.dynamic-ip.hinet.net)
09:39:39 × tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
09:40:02 × hendi quits (sid489601@id-489601.lymington.irccloud.com) (Ping timeout: 240 seconds)
09:40:39 Tuplanolla joins (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi)
09:42:19 hendi joins (sid489601@id-489601.lymington.irccloud.com)
09:44:49 × yauhsien quits (~yauhsien@61-231-32-247.dynamic-ip.hinet.net) (Ping timeout: 252 seconds)
09:45:59 tromp joins (~textual@dhcp-077-249-230-040.chello.nl)
09:48:54 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
09:52:02 dsrt^ joins (~dsrt@68.101.58.90)
09:53:37 robosexual joins (~spaceoyst@5.167.241.206)
09:56:21 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
09:58:14 <merijn> hmm
09:58:44 <merijn> Is there something that somehow combines mapM and intercalate to run something in between each element? I guess not...
09:59:25 <dminuoso> https://hackage.haskell.org/package/monadlist-0.0.2/docs/Control-Monad-ListM.html#v:intercalateM
09:59:27 <dminuoso> Mmm
09:59:31 <dminuoso> Should be easy to carve out. :)
09:59:45 <dminuoso> Also
09:59:47 <dminuoso> https://hackage.haskell.org/package/semigroupoids-5.3.6/docs/Data-Semigroup-Foldable.html#v:intercalateMap1
10:00:05 <dminuoso> Given that semigroupoids is so ubiquitous, you might have access to that already.
10:00:29 <dminuoso> Ah, but its for Foldable1 only
10:00:54 <merijn> hmm
10:01:22 <dminuoso> merijn: Id just use sequence + intercalate
10:01:25 <merijn> I'm happy with none of this >.> Maybe I'll just do map + intercalate followed by sequence
10:01:28 <dminuoso> Plus some map
10:01:32 <dminuoso> Yeah
10:02:26 <dminuoso> Optics question, I want something like `itoFold :: IxFold i s a -> Fold s (i, a)`, does that exist?
10:04:02 cosimone joins (~user@2001:b07:ae5:db26:a7aa:8027:6b4e:2fb3)
10:04:34 acidjnk_new joins (~acidjnk@p200300d0c7271e18cc88fab5aa5aa2cc.dip0.t-ipconnect.de)
10:04:46 dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net)
10:04:53 <merijn> Wait, it's intersperse, not intercalate :p
10:04:55 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
10:05:41 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
10:06:49 × genieliu quits (~genieliu@103.37.140.38) (Ping timeout: 252 seconds)
10:08:34 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
10:09:01 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds)
10:09:54 Lord_of_Life_ is now known as Lord_of_Life
10:11:46 × cosimone quits (~user@2001:b07:ae5:db26:a7aa:8027:6b4e:2fb3) (Remote host closed the connection)
10:12:13 cosimone joins (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20)
10:12:57 <merijn> ugh...I had a neat combinator for unioning a bunch of maps while checking for duplicates
10:12:58 yauhsien joins (~yauhsien@61-231-32-247.dynamic-ip.hinet.net)
10:13:07 <merijn> But I can't find it in my own code >.>
10:15:01 × jtomas quits (~jtomas@212.117.18.99) (Ping timeout: 240 seconds)
10:15:37 × xff0x quits (~xff0x@2001:1a81:5269:5600:2d41:b802:44a7:1f0c) (Ping timeout: 252 seconds)
10:16:27 xff0x joins (~xff0x@2001:1a81:5269:5600:97b6:69e2:8ab7:379a)
10:17:39 × yauhsien quits (~yauhsien@61-231-32-247.dynamic-ip.hinet.net) (Ping timeout: 265 seconds)
10:19:05 InternetCitizen joins (~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net)
10:20:14 <[exa]> merijn: it's probably `traverse` anyway
10:20:44 <merijn> Naah, sequence + fold + unionWith or something along those lines
10:21:07 × deadmarshal quits (~deadmarsh@95.38.114.2) (Ping timeout: 252 seconds)
10:21:59 Gurkenglas joins (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de)
10:22:20 <merijn> dminuoso: ah, fuck, map + intersperse doesn't work
10:22:35 <merijn> dminuoso: Because it's parsers
10:22:49 <merijn> And I don't care about the interspersed type
10:24:11 <merijn> The alternative is some form of map that modifies "all but the last" element of a list :\
10:24:20 <merijn> Why this gotta be so ugly? >.<
10:25:21 <dminuoso> merijn: why doesnt that work?
10:25:34 <merijn> dminuoso: Because the intersperse parser is the wrong type
10:25:57 <dminuoso> Huh?
10:26:18 <merijn> dminuoso: I have a bunch of parser to run (in a list) and wanna run another one in between each
10:26:22 <merijn> So, kinda like, sepBy
10:26:54 <merijn> Except, sepBy doesn't work because I have a specific, finite few parsers to run, not arbitrarily many repeats
10:27:25 <merijn> So I guess I have to hand-write some custom sepBy-like combinator :\
10:28:43 <merijn> Well, I guess I was already doing that, but there seems to be no elegant/convenient way :\
10:29:09 <halides> https://paste-bin.xyz/20684 why do i need to paren the z-2?
10:29:50 <merijn> halides: Because prefix function application is higher precedence then operators
10:30:35 <merijn> halides: How else would you distinguish '(f z) - (2 3)' from 'f (z-2) 3' or any other bracketing you can think off?
10:31:23 <halides> ok, so just precedence, thanks :-)
10:31:27 jtomas joins (~jtomas@212.117.18.99)
10:32:42 × maerwald quits (~maerwald@user/maerwald) (Quit: gone)
10:33:23 maerwald joins (~maerwald@mail.hasufell.de)
10:34:40 CiaoSen joins (~Jura@p200300c9570204002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
10:34:45 × maerwald quits (~maerwald@mail.hasufell.de) (Changing host)
10:34:45 maerwald joins (~maerwald@user/maerwald)
10:34:46 darchitect joins (~user@2a00:23c6:3584:df00:7dec:bf13:8fa:748c)
10:35:06 <darchitect> greetings
10:38:13 xsebek joins (~xsebek@217.196.215.202)
10:39:22 <xsebek> Does anyone know how to get power function for the "matrix" in linear package?
10:40:01 <xsebek> I am looking for V n (V n a) -> Int -> V n (V n a) that would be like the ^ from Prelude
10:45:00 <xsebek> The Num instance only multiplies elements pair wise, but not the "matrix" :/
10:46:50 <jackdk> xsebek: first answer would be to build something out of `(!*!)` using iterated mutliplication, then rewrite with repeated squaring. Let me see if I can find a better answer
10:48:04 <phaazon> anyone has an input for AoC day 4?
10:48:12 <phaazon> (and expected output)
10:50:34 <xsebek> jackdk: that is what I did for AoC today, but getting it for free would be nice :)
10:51:01 genieliu joins (~genieliu@103.37.140.38)
10:51:11 <jackdk> I don't have a better answer for you sorry
10:51:15 Guest|46 joins (~Guest|46@188.27.78.223)
10:52:22 <dminuoso> Is there some extension that lets me have two classes with duplicate method names in the same file?
10:52:22 × Guest|46 quits (~Guest|46@188.27.78.223) (Client Quit)
10:53:03 [exa] tries googling for -XOverloadedOverlads
10:53:14 <dminuoso> Reason Im asking is Im generating classy lenses with optics, and I have something like `data Foo ...` and `data Bar = { foo :: Foo ... }` in the same file, and generating classy lenses for both will cause both generated classes to have some `foo` method
10:54:07 <xsebek> jackdk: thanks anyway, I just wanted to make sure I did not miss something obvious :)
10:55:49 × genieliu quits (~genieliu@103.37.140.38) (Ping timeout: 240 seconds)
10:59:20 yauhsien joins (~yauhsien@61-231-32-247.dynamic-ip.hinet.net)
11:03:21 × dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Ping timeout: 256 seconds)
11:04:30 genieliu joins (~genieliu@103.37.140.24)
11:06:19 deadmarshal joins (~deadmarsh@95.38.114.2)
11:11:10 shriekingnoise joins (~shrieking@186.137.144.80)
11:11:28 xkuru joins (~xkuru@user/xkuru)
11:11:47 × jtomas quits (~jtomas@212.117.18.99) (Ping timeout: 265 seconds)
11:18:54 ubert joins (~Thunderbi@p200300ecdf0ba2cae6b318fffe838f33.dip0.t-ipconnect.de)
11:19:56 <dminuoso> • An_AffineTraversal cannot be composed with A_Lens
11:20:01 <dminuoso> Mmm.
11:20:52 × bollu quits (uid233390@id-233390.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
11:21:14 <dminuoso> • An_AffineTraversal cannot be composed with An_AffineTraversal
11:21:20 <dminuoso> Wonderful, I think Im tripping up optics here
11:22:20 × darchitect quits (~user@2a00:23c6:3584:df00:7dec:bf13:8fa:748c) (Remote host closed the connection)
11:22:33 × cheater quits (~Username@user/cheater) (Ping timeout: 256 seconds)
11:23:25 × xsebek quits (~xsebek@217.196.215.202) (Ping timeout: 240 seconds)
11:25:38 darchitect joins (~darchitec@2a00:23c6:3584:df00:7dec:bf13:8fa:748c)
11:26:37 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
11:26:51 <darchitect> hey guys, do you think "TheHaskellBook" is the best book on haskell ?
11:27:09 <darchitect> in terms of a full grasp of the language, not just beginner stuff ..
11:28:08 <dminuoso> No.
11:28:14 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:28:25 <dminuoso> I dont think "the best book" exists on any given subject.
11:28:43 <dminuoso> Books target particular audiences, and opinions tend to vary.
11:28:47 <darchitect> yeah, of course, you're right
11:29:28 <darchitect> I guess I meant -> the best book for the language details as an overall "bible" similar to the "C++ Language" by Stroustrup
11:29:39 <darchitect> or the "C_Progrmaming_Language"
11:29:50 <dminuoso> There's no bible in Haskell
11:30:02 <dminuoso> Well, for language details, look at the Haskell Report
11:30:19 <dminuoso> Compared to C or C++, it's a very approachable and readable language standard.
11:30:27 <dminuoso> Even for beginners it can work
11:30:58 <dminuoso> But that will not teach you about how to solve problems or idiomatic solutions to problems.
11:30:59 <darchitect> makes sense
11:31:24 <dminuoso> There's a select few popular picks in niche topics
11:31:24 <darchitect> I also find a big blog "What I wish I knew.." etc..
11:31:30 <darchitect> that + the report will do for now I gues
11:31:47 kuribas joins (~user@ptr-25vy0i7z7uknhuz4b8c.18120a2.ip6.access.telenet.be)
11:31:53 <dminuoso> Like, for type level programming Thinking with Types by Sandy Maguire is received relatively well by the Haskell community
11:32:28 <dminuoso> But whether type level programming is a good idea is another topic altogether.
11:32:56 <dminuoso> darchitect: to me personally, browsing GHC source code helped me get a lot of ideas. :)
11:33:00 kennyd joins (~bc8165b6@cerf.good1.com)
11:33:04 <dminuoso> Few things beat the real world experience.
11:33:23 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
11:33:40 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:34:53 <darchitect> dminuoso: true that
11:35:12 <kuribas> IMO type level programming is over used, and proper abstractions (Applicative/Monoid/...) underused.
11:38:15 <kuribas> darchitect: if you "really" want to do type level programming, look at dependent types.
11:38:27 dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net)
11:39:33 <kuribas> In the end, a Type Family is just a type level function.
11:39:35 <dminuoso> kuribas: I think you're talking orthogonally to the subject of the discussion.
11:39:36 <Rembane> Idris and Agda are more ergonomic for type level programming than Haskell is.
11:39:46 Rembane joins the orthogonals
11:39:52 <kuribas> dminuoso: could be, I just jumped in and I miss context :)
11:40:02 <dminuoso> kuribas: I just brought up that book to talk about a book, this isn't even about type level programming.
11:40:11 <darchitect> thanks guys, I am a bit on the imperative side of the spectrum in terms of mindset atm, but I will look into it
11:40:18 <kuribas> dminuoso: oh right
11:40:42 <darchitect> I love haskell
11:40:53 <dminuoso> darchitect: For learning Haskell, I'm personally quite fond of CIS194 (both Joachim Breitners version as well as Brent Yorgeys)
11:41:00 <darchitect> but it does take its time to get to grips with
11:41:04 <dminuoso> So depending on what kind of list you're building, perhaps add it as well.
11:41:11 <dminuoso> CIS194 generally is well regarded as well
11:41:19 × famubu quits (~famubu@14.139.174.50) (Ping timeout: 256 seconds)
11:41:29 <kuribas> it seems to be missing transformers...
11:41:29 <dminuoso> It's a different approach than The Haskell Book, as its a uni course, but with well designed examples that build up on each other
11:41:42 <Rembane> darchitect: Also! Remember that you can come back here and ask questions! :)
11:43:11 <dminuoso> • A_Lens cannot be composed with A_Lens
11:43:18 <dminuoso> Hah, this is the perfect one now!
11:43:41 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
11:43:50 <darchitect> maaate I think CIS194 is exactly what I'm looking for
11:44:08 <kuribas> darchitect: one of the biggest advantages of learning FP is getting rid of global state.
11:44:13 jtomas joins (~jtomas@212.117.18.99)
11:44:22 <kuribas> darchitect: you can use the FP mindset also when programming in imperative languages.
11:44:40 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:44:40 <kuribas> In our company, all our java code uses immutability by default.
11:45:00 <kuribas> It makes everything easier to reason about.
11:45:02 <darchitect> kuribas: yeah deffinitely, I work as an ML engineer atm and have used partial functions (currying) in many occasions (to the amazement of colleagues :) )
11:46:08 <dminuoso> By ML engineer, do you mean it in the sense of SML? Or machine learning?
11:48:21 <darchitect> machine learning
11:48:40 <darchitect> we do most things in Python as you may presume
11:48:48 <darchitect> we do most things in Python as you may have guessed *
11:49:43 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
11:49:51 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
11:50:03 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:52:02 × shailangsa quits (~shailangs@host86-186-142-82.range86-186.btcentralplus.com) ()
11:55:01 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
11:55:37 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:58:37 jakalx joins (~jakalx@base.jakalx.net)
11:58:46 <Logio> functional programming in Python tends to make me feel like I'm in a cargo cult, hoping for correctness to emerge from the heavens
11:59:41 <Logio> "if a use @dataclass here, a type annotation there, and curry my functions, then maybe some day my programs will be composable"
12:00:01 <Logio> but they never are in Python :(
12:00:06 × yauhsien quits (~yauhsien@61-231-32-247.dynamic-ip.hinet.net) (Remote host closed the connection)
12:00:42 yauhsien joins (~yauhsien@61-231-32-247.dynamic-ip.hinet.net)
12:00:51 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
12:01:01 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
12:01:08 × Hecate quits (~mariposa@user/hecate) (Remote host closed the connection)
12:01:10 <kuribas> and lambda's are broken in Python
12:02:29 <sshine> broken?
12:03:33 <kuribas> like you cannot do statements in lambdas.
12:03:45 <sshine> Logio, composability isn't as valuable in languages that don't allow for high-level AST transforms, I think... otherwise I'm sure the extra wrapping causes eventual overhead that people will argue is bad.
12:04:15 aman joins (~aman@user/aman)
12:04:28 <kuribas> It's just like Python puts arbitrary limitations on things, and calls it "discipline".
12:05:10 <kuribas> And then has counter productive community standards.
12:05:12 <sshine> Logio, I seem to recall that even OCaml programmers will historically not use the composition operator (but I think the mentality has somewhat changed with flambda).
12:05:26 × yauhsien quits (~yauhsien@61-231-32-247.dynamic-ip.hinet.net) (Ping timeout: 265 seconds)
12:05:53 <sshine> kuribas, I suppose it does require discipline to be both arbitrary and consistent. :-P
12:06:07 <kuribas> sshine: that's one way to look at it :)
12:07:06 yauhsien joins (~yauhsien@61-231-32-247.dynamic-ip.hinet.net)
12:09:39 × InternetCitizen quits (~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Ping timeout: 252 seconds)
12:11:37 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
12:12:21 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
12:17:47 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
12:18:03 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
12:18:42 pfurla joins (~pfurla@201.17.118.230)
12:23:19 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
12:23:32 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
12:23:39 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
12:26:00 × rembo10 quits (~rembo10@remulis.com) (Quit: ZNC 1.8.2 - https://znc.in)
12:27:04 rembo10 joins (~rembo10@remulis.com)
12:29:07 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
12:29:24 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
12:30:16 × yauhsien quits (~yauhsien@61-231-32-247.dynamic-ip.hinet.net) (Remote host closed the connection)
12:30:51 yauhsien joins (~yauhsien@61-231-32-247.dynamic-ip.hinet.net)
12:35:43 × yauhsien quits (~yauhsien@61-231-32-247.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
12:37:01 × dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.3)
12:39:00 famubu joins (~famubu@14.139.174.50)
12:39:45 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
12:40:45 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
12:42:17 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
12:43:01 jgeerds joins (~jgeerds@55d4ac73.access.ecotel.net)
12:48:51 <merijn> hmm, Vector doesn't have a modify function that returns the old value?
12:53:06 × unyu quits (~pyon@user/pyon) (Quit: brb)
12:53:35 <[exa]> why such function though?
12:53:49 unyu joins (~pyon@user/pyon)
12:53:50 <dminuoso> glguy: Question, is there a particular reason config-schema uses * rather than -?
12:54:33 <merijn> [exa]: For the same reason nearly all Var/Ref types have one? Because an "update and get old (and/or new) value" is very useful?
12:54:49 × hololeap quits (~hololeap@user/hololeap) (Remote host closed the connection)
12:54:59 <[exa]> you mean for MVector?
12:55:12 <dminuoso> modify f (New p) = New (do { v <- p; f v; return v })
12:55:18 <dminuoso> Seems like you can trivially build your own
12:55:22 <merijn> Well, any vector, really
12:55:26 <merijn> dminuoso: Well yes
12:55:34 <merijn> but I don't want to if I don't have too >.<
12:56:11 hololeap joins (~hololeap@user/hololeap)
12:56:15 <merijn> dminuoso: It seems weird to have 'modifyM :: Vector a -> (a -> a) -> m ()', it's strictly less useful than the one returning 'm a'
12:57:19 <hpc> also not naming it modifyM_ makes it hard to add the return-y version
12:58:03 <merijn> In general there doesn't seem to be an "update a single value" function for immutable vector, which is also annoying
12:59:02 <merijn> The closest thing is 'modify :: Unbox a => (forall s. MVector s a -> ST s ()) -> Vector a -> Vector a'
12:59:35 × famubu quits (~famubu@14.139.174.50) (Changing host)
12:59:35 famubu joins (~famubu@user/famubu)
12:59:38 <merijn> I just wanna increment a single index and get the result >.>
13:00:47 <merijn> Have to manually index, then do bulk update, bah
13:00:51 yauhsien joins (~yauhsien@61-231-32-247.dynamic-ip.hinet.net)
13:01:50 <[exa]> merijn: for mutable vector there is `exchange` but not sure if that's there for normal vectors
13:03:11 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
13:11:39 slowButPresent joins (~slowButPr@user/slowbutpresent)
13:13:17 × gehmehgeh quits (~user@user/gehmehgeh) (Remote host closed the connection)
13:14:02 gehmehgeh joins (~user@user/gehmehgeh)
13:17:26 darchite` joins (~user@2a00:23c6:3584:df00:7dec:bf13:8fa:748c)
13:17:45 <darchite`> test
13:18:58 ub joins (~Thunderbi@p200300ecdf0ba2ca3910be5e8791151b.dip0.t-ipconnect.de)
13:19:15 <yushyin> passed
13:19:22 <pragma-> how do you know?
13:19:57 <yushyin> crystal ball
13:21:15 InternetCitizen joins (~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net)
13:21:27 __monty__ joins (~toonn@user/toonn)
13:26:18 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:6538:452b:466b:b6bb) (Quit: WeeChat 2.8)
13:26:22 <InternetCitizen> I was doing aoc day 4 and when it came to part 2 I wanted to use State to keep the last winning board and its drawn number as s
13:27:34 AlexNoo__ is now known as AlexNoo
13:27:36 × jgeerds quits (~jgeerds@55d4ac73.access.ecotel.net) (Ping timeout: 265 seconds)
13:27:37 <InternetCitizen> does this sound like a good use of State or are there better ways of exressing this? The other options was just to construct the list of winning boards recursively and call last at the end
13:29:33 <merijn> I'll let you know when my slacker ass finishes part 1 of day 4 xD
13:30:40 <InternetCitizen> hahaha
13:31:08 <merijn> \o/ it worked the first time!
13:31:21 <merijn> Well, second time, because I didn't read carefully, but close enough
13:31:37 <InternetCitizen> sweet, I had put a && instead of ||
13:31:52 <InternetCitizen> took me a good couple of mins to realize
13:31:56 lavaman joins (~lavaman@98.38.249.169)
13:32:23 <merijn> I did the product of unmarked squares, instead of product of last number and sum of unmarked squares :p
13:32:49 <InternetCitizen> oh
13:33:34 <merijn> I guess you could use State, but tbh, the 2nd one (like the first) seems a fairly straightforward fold
13:33:50 <aplainzetakind> My Python implementation of the same solution for today is faster than the Haskell implementation. Is this normal because numpy is basically C or what?
13:34:17 <merijn> aplainzetakind: That's impossible to say without seeing what your Haskell looks like
13:34:44 <maerwald> naive python is sometimes faster than naive Haskell, but not that often
13:34:46 <InternetCitizen> merijn: problem is I couldn't get it to work :Y I'm not too sure how State works that's why I wanted to jump on it
13:34:52 <geekosaur> and other details, e.g. -fllvm on m1 macs will be slower than ncg on other platforms
13:35:07 <aplainzetakind> merijn: https://gitlab.com/aplainzetakind/aoc2021/-/blob/master/Haskell/lib/AoC2021/Day06.hs
13:35:11 <merijn> InternetCitizen: the best way to understand State is to reimplement it yourself, tbh
13:35:21 <merijn> oh, I can't look at that xD
13:35:27 <merijn> Spoilers :p
13:35:39 <aplainzetakind> merijn: :)
13:35:56 <merijn> InternetCitizen: https://gist.github.com/merijn/098106abd45c940dab09
13:36:13 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
13:36:30 <merijn> InternetCitizen: Homework for understanding State is: Fill in the missing pieces :p
13:37:06 <maerwald> aplainzetakind: how did you run the code?
13:37:47 <maerwald> in ghci doesn't count
13:38:09 <aplainzetakind> maerwald: Ran the executable built with cabal build -O2
13:38:20 <aplainzetakind> And the measurement is done by criterion.
13:38:22 <geekosaur> -O2 is not always an optimization
13:38:52 <InternetCitizen> merijn: this is what I got https://paste.tomsmeding.com/m3lqvu7x
13:38:58 <aplainzetakind> geekosaur: Sometimes it's counterproductive?
13:39:03 <geekosaur> yes
13:39:14 <aplainzetakind> Hmm.
13:40:00 <geekosaur> usually it's no better than -O / -O1, sometimes it's worse
13:41:15 <aplainzetakind> Is -O1 always an optimization then?
13:41:20 <geekosaur> yes
13:41:37 <merijn> InternetCitizen: That's missing a lot of context :)
13:41:51 <geekosaur> -O1 is the optimizations that are well tested and work fairly well. -O2 is "optimizations" that sometinmes are optimizations but often aren't
13:42:14 simendsjo joins (~user@84.211.91.241)
13:42:26 <geekosaur> ghc manual strongly recommends -O1 last I checked, unless you have good reason to think the optimizations in -O2 will help your code
13:42:50 <maerwald> have never seen O2 slowing down code, but I also don't test for that very often
13:43:04 <aplainzetakind> Anyway, Same result with -O1.
13:43:16 <geekosaur> it's not that common, like I said earlier usually it's no better than -O1
13:44:22 <geekosaur> iirc the optimizations in -O1 are known to not have pessimal edge cases, the ones in -O2 have such cases
13:44:37 <geekosaur> but also have other edge cases where they speed things up significantly
13:45:13 × jtomas quits (~jtomas@212.117.18.99) (Remote host closed the connection)
13:45:36 <merijn> InternetCitizen: My (as usual) overengineered solution for day 4: https://github.com/merijn/AdventOfCode/blob/master/Day4.hs
13:47:07 × genieliu quits (~genieliu@103.37.140.24) (Ping timeout: 256 seconds)
13:47:38 lavaman joins (~lavaman@98.38.249.169)
13:49:07 <geekosaur> but the real hit you take is -O2 takes a lot longer to compile, so you really want to benchmark to see if that extra hit is worth any gains you might get
13:53:47 × xsperry quits (~xs@user/xsperry) (Ping timeout: 252 seconds)
13:54:49 cheater joins (~Username@user/cheater)
13:56:09 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:e52b:eca6:e736:3c6b)
13:59:14 × darchite` quits (~user@2a00:23c6:3584:df00:7dec:bf13:8fa:748c) (Remote host closed the connection)
14:00:23 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:e52b:eca6:e736:3c6b) (Ping timeout: 252 seconds)
14:03:59 stevenxl joins (~stevenlei@174.128.182.55)
14:06:34 × LiaoTao quits (~LiaoTao@gateway/tor-sasl/liaotao) (Remote host closed the connection)
14:06:51 LiaoTao joins (~LiaoTao@gateway/tor-sasl/liaotao)
14:07:40 jkaye joins (~jkaye@2601:281:8300:7530:1572:52e4:1190:1c22)
14:09:13 × max22- quits (~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr) (Ping timeout: 250 seconds)
14:11:30 × xkuru quits (~xkuru@user/xkuru) (Read error: Connection reset by peer)
14:11:30 × kennyd quits (~bc8165b6@cerf.good1.com) (Quit: CGI:IRC (Ping timeout))
14:11:55 xkuru joins (~xkuru@user/xkuru)
14:14:02 kspalaiologos joins (~kspalaiol@user/kspalaiologos)
14:15:38 xsperry joins (~xs@user/xsperry)
14:17:31 <__monty__> merijn: Where's the microbenchmarks though? : )
14:18:02 <merijn> __monty__: Microbenchmarks are way to hard to do :p
14:19:20 <dminuoso> Is there some more expressive way to write this small monadic code? https://gist.github.com/dminuoso/64e95c5284ca4a5bc7d81d93d349ddab
14:20:18 lbseale joins (~ep1ctetus@user/ep1ctetus)
14:20:48 <dminuoso> -- whenF :: Functor f => Bool -> (a -> a) -> f a -> f a
14:20:54 <dminuoso> This would seem a bit awkward for a one-offf
14:23:12 <geekosaur> yeh, I can think of ways to shorten it but I'm not sure they're clearer
14:24:38 × InternetCitizen quits (~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Ping timeout: 265 seconds)
14:24:40 <dminuoso> The other idea Im playing with is making a separate `buildNodeSingleArpNd__ pr = fillArpNdVlanInterfaces <$> buildNodeSingle__ pr` binding, and then just write `if r then buildNodeSingleArpNd__ prec else buildNodeSingle__ prec`
14:24:43 genieliu joins (~genieliu@111.193.167.10)
14:24:56 <dminuoso> It's a bit longer but feels a bit more readable
14:24:58 × curiousgay quits (~curiousga@77-120-141-90.kha.volia.net) (Quit: Leaving)
14:26:13 × simendsjo quits (~user@84.211.91.241) (Ping timeout: 256 seconds)
14:26:50 <byorgey> (if r then fmap fillArpNdVlanInterfaces else id) (buildNodeSingle__ prec) ?
14:27:17 <byorgey> dunno if that's better, just an idea
14:28:17 <geekosaur> that was the main one I was thinking of. as I said, not sure it's more readable
14:28:56 <byorgey> depends who's reading it I guess.
14:29:01 × famubu quits (~famubu@user/famubu) (Ping timeout: 240 seconds)
14:29:34 <dminuoso> Oh I have a cunning plan!
14:29:43 <kuribas> dminuoso: I like: whenMono :: Monoid m => Bool -> m -> m
14:30:03 <dminuoso> https://gist.github.com/dminuoso/b3b77ce2e30f8b923b3c24eeeca9407f geekosaur, byorgey. What do you think?
14:30:22 Sgeo joins (~Sgeo@user/sgeo)
14:30:24 <byorgey> oooooh, shiny
14:30:48 <byorgey> dminuoso: I like it
14:30:53 <kuribas> > let whenMono True m = m; whenMono False _ = mempty in \b f -> appEndo (whenMono b (Endo f))
14:30:55 <lambdabot> error:
14:30:55 <lambdabot> • No instance for (Typeable a0)
14:30:55 <lambdabot> arising from a use of ‘show_M87810610666469311768’
14:30:59 <kuribas> :t let whenMono True m = m; whenMono False _ = mempty in \b f -> appEndo (whenMono b (Endo f))
14:31:01 <lambdabot> Bool -> (a -> a) -> a -> a
14:31:01 <geekosaur> I kinda don't like the duplication, but I'm not sure it's worth factoring away
14:31:50 × hololeap quits (~hololeap@user/hololeap) (Remote host closed the connection)
14:32:20 <dminuoso> You have to opt for the lesser evil here I think.
14:32:54 <byorgey> :t let whenMono True m = m; whenMono False _ = mempty in \b -> fmap . appEndo . whenMono b . Endo
14:32:55 <lambdabot> Functor f => Bool -> (b -> b) -> f b -> f b
14:33:03 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
14:33:13 hololeap joins (~hololeap@user/hololeap)
14:33:30 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
14:33:44 <dminuoso> kuribas: Well, I really want a whenMonoM then, so I can write `whenMonoM (has_fun_flag FunArpNdSuppress) buildNodeSingle__`
14:33:51 dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net)
14:34:20 <dminuoso> Though, the Endo is real overkill here.
14:34:39 <dminuoso> At the end this is just the whenF I mentioned earlier
14:34:46 <dminuoso> With just an overly elaborate implementation
14:35:49 <kuribas> I wouldn't bother with something that trivial.
14:36:06 <kuribas> Whatever comes up first is fine IMO.
14:36:25 <kuribas> A bit of duplication cannot hurt.
14:38:12 InternetCitizen joins (~fuzzypixe@tchebychev.ensimag.fr)
14:39:55 madjestic joins (~madjestic@88-159-247-120.fixed.kpn.net)
14:43:00 × InternetCitizen quits (~fuzzypixe@tchebychev.ensimag.fr) (Ping timeout: 265 seconds)
14:48:43 bollu joins (uid233390@id-233390.helmsley.irccloud.com)
14:48:50 × xsperry quits (~xs@user/xsperry) (Remote host closed the connection)
14:48:57 slack1256 joins (~slack1256@191.125.99.212)
14:49:11 × yauhsien quits (~yauhsien@61-231-32-247.dynamic-ip.hinet.net) (Remote host closed the connection)
14:49:49 yauhsien joins (~yauhsien@61-231-32-247.dynamic-ip.hinet.net)
14:50:18 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
14:50:18 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
14:50:18 wroathe joins (~wroathe@user/wroathe)
14:51:16 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
14:51:30 max22- joins (~maxime@2a01cb0883359800374d9426cde47cad.ipv6.abo.wanadoo.fr)
14:52:02 mc47 joins (~mc47@xmonad/TheMC47)
14:52:38 × LiaoTao quits (~LiaoTao@gateway/tor-sasl/liaotao) (Remote host closed the connection)
14:52:52 LiaoTao joins (~LiaoTao@gateway/tor-sasl/liaotao)
14:54:36 × yauhsien quits (~yauhsien@61-231-32-247.dynamic-ip.hinet.net) (Ping timeout: 265 seconds)
14:55:05 × acidjnk_new quits (~acidjnk@p200300d0c7271e18cc88fab5aa5aa2cc.dip0.t-ipconnect.de) (Ping timeout: 265 seconds)
14:55:43 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
14:57:36 × dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.3)
14:59:40 × slack1256 quits (~slack1256@191.125.99.212) (Read error: Connection reset by peer)
14:59:47 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 252 seconds)
15:01:17 × lbseale quits (~ep1ctetus@user/ep1ctetus) (Read error: Connection reset by peer)
15:01:58 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
15:02:31 <hskpractice> is there any way to completely wipe the HLS caches?
15:03:08 <maerwald> ~/.cache/ghcide/
15:03:26 <maerwald> or ~/.cache/hie-bios/
15:03:29 <maerwald> I'm not sure
15:03:44 <maerwald> tools get constantly renamed
15:05:30 slack1256 joins (~slack1256@191.125.99.212)
15:05:50 xsperry joins (~xs@cpe-188-129-101-182.dynamic.amis.hr)
15:05:52 × xsperry quits (~xs@cpe-188-129-101-182.dynamic.amis.hr) (Changing host)
15:05:52 xsperry joins (~xs@user/xsperry)
15:06:54 <boxscape> Hmm I'm writing a library that converts Haskell source code to Template Haskell and I'm wondering if there's any value in having a pure function `String -> Exp` instead of only functions in Q like `String -> Q Exp`
15:07:02 <boxscape> both are very doable, though the latter is internally a bit cleaner
15:07:03 <hskpractice> :) thanks, maerwald
15:07:20 Hecate joins (~mariposa@163.172.211.189)
15:07:44 × Hecate quits (~mariposa@163.172.211.189) (Changing host)
15:07:44 Hecate joins (~mariposa@user/hecate)
15:07:52 × dsrt^ quits (~dsrt@68.101.58.90) (Remote host closed the connection)
15:10:54 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
15:10:54 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
15:10:54 wroathe joins (~wroathe@user/wroathe)
15:12:40 yauhsien joins (~yauhsien@61-231-32-247.dynamic-ip.hinet.net)
15:15:12 <vaibhavsagar[m]> boxscape: `String -> Exp` is strictly more general, so if you only have one IMO it should be that one
15:15:25 × pfurla quits (~pfurla@201.17.118.230) (Quit: gone to sleep. ZZZzzz…)
15:15:52 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 265 seconds)
15:16:29 shapr joins (~user@pool-100-36-247-68.washdc.fios.verizon.net)
15:17:14 <boxscape> hmm, the difference is that with `String -> Exp` the names are dynamically bound once you use the Exp, whereas with `String -> Q Exp` I could look up the real names while constructing the Exp (and so you could figure out which package etc. they are from once it's constructed), so it's not strictly more general in that sense. Although you could always have a function `Exp -> Q Exp` that converts the first kind into the second...
15:17:16 <dminuoso> boxscape: How do you make fresh names without Q?
15:17:56 <boxscape> dminuoso: they're not fresh, I'm using mkName, so they're bound to whatever's around once you use the Exp
15:18:21 <dminuoso> Ahh
15:18:23 <dminuoso> Right
15:19:08 <dminuoso> boxscape: Uh, but doesnt that thing already exist in form of `String -> Q Exp`?
15:19:15 × genieliu quits (~genieliu@111.193.167.10) (Ping timeout: 265 seconds)
15:19:30 <dminuoso> I distinctly remember being able to feed GHCi with just arbitrary strings to figure out the TH representation equivkly
15:19:36 × shapr quits (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Read error: Connection reset by peer)
15:20:00 <boxscape> dminuoso: As far as I can tell you have to write a wrapper around to be able to use it outside of GHCi, which is what I'm doing
15:20:09 shapr joins (~user@pool-100-36-247-68.washdc.fios.verizon.net)
15:20:29 <dminuoso> % runQ [d| instance Functor [] where |] >>= print
15:20:30 <yahb> dminuoso: [InstanceD Nothing [] (AppT (ConT GHC.Base.Functor) (ConT GHC.Types.[])) []]
15:20:37 <dminuoso> % :t runQ [d| instance Functor [] where |]
15:20:37 <yahb> dminuoso: Quasi m => m Language.Haskell.TH.Lib.Internal.Decs
15:20:50 <boxscape> right, you didn't supply a String there though, you supplied a TH bracket
15:21:42 <dminuoso> I wonder, is there no quasiquoter hidden inside that might be exported?
15:22:15 <dminuoso> % runQ [| x + x |] >>= print
15:22:16 <yahb> dminuoso: InfixE (Just (UnboundVarE x)) (VarE GHC.Num.+) (Just (UnboundVarE x))
15:22:36 <boxscape> more or less what I'm doing is taking a string, wrapping it in "[d|...|]" or some other bracket, and then spinning up a GHC monad to parse that String and interpret it into template haskell
15:22:45 <boxscape> with some AST massaging to prevent it from complain about names it can't find
15:22:52 <dminuoso> Ah, without actual TH being invoked you mean
15:22:54 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
15:22:56 <dminuoso> This is cute
15:23:01 <boxscape> right
15:23:23 <dminuoso> I do something similar in one of our projects, except its with haskell-src-exts-qq and using a quasiquoter
15:23:39 <dminuoso> Benefit is being able to capture outside identifiers in the QQs
15:24:05 <dminuoso> It's for module-level code generation
15:24:29 <boxscape> something similar is also provided by haskell-src-meta - my main idea here was to see if I could use GHC's parser instead of relying on haskell-src-exts
15:24:44 jakalx joins (~jakalx@base.jakalx.net)
15:26:04 <dminuoso> Nice to know about haskell-src-meta
15:26:15 lavaman joins (~lavaman@98.38.249.169)
15:28:13 × mvk quits (~mvk@2607:fea8:5cdd:f000::9788) (Ping timeout: 240 seconds)
15:30:35 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 252 seconds)
15:30:38 zebrag joins (~chris@user/zebrag)
15:31:58 _73 joins (~user@pool-96-233-64-53.bstnma.fios.verizon.net)
15:33:17 _73 parts (~user@pool-96-233-64-53.bstnma.fios.verizon.net) (ERC (IRC client for Emacs 27.2))
15:33:48 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection)
15:33:57 × stevenxl quits (~stevenlei@174.128.182.55) (Quit: leaving)
15:34:17 ChaiTRex joins (~ChaiTRex@user/chaitrex)
15:35:57 <boxscape> Hm I think I can actually put in a reasonably nice way to abstract over the two approaches, so I suppose I'll provide both
15:43:58 famubu joins (~famubu@14.139.174.50)
15:45:57 ec joins (~ec@gateway/tor-sasl/ec)
15:52:51 doyougnu joins (~doyougnu@c-73-25-202-122.hsd1.or.comcast.net)
15:54:55 burnsidesLlama joins (~burnsides@dhcp168-017.wadham.ox.ac.uk)
15:56:56 lbseale joins (~ep1ctetus@user/ep1ctetus)
15:57:54 myShoggoth joins (~myShoggot@97-120-85-195.ptld.qwest.net)
15:58:08 <myShoggoth> HF Office Hours will start in an hour: https://www.twitch.tv/myshoggoth
15:58:49 × alx741 quits (~alx741@186.178.109.217) (Ping timeout: 252 seconds)
15:58:56 curiousgay joins (~curiousga@77-120-141-90.kha.volia.net)
16:00:25 dminuoso idly notes that the impression of joining and almost randomly putting in a weblink without an immediately clear reference that this is on-topic is almost fishy.
16:00:34 lavaman joins (~lavaman@98.38.249.169)
16:00:59 <dminuoso> But thanks for the headsup, myShoggoth.
16:01:19 <maerwald> why would that need a reference?
16:01:23 <merijn> Whoo!
16:01:29 <merijn> Finally caught up with AoC again :p
16:01:32 <cigsender> you kinda have to know HF means Haskell Foundation :p
16:01:35 <dminuoso> ^-
16:01:39 <cigsender> merijn: nice! :)
16:01:42 <merijn> Right, so who had questions about Day 6 again? :p
16:03:06 geekosaur was thinking "twitch.tv/myshoggoth" does not look very official
16:03:21 <dminuoso> That as well. :)
16:03:37 <cigsender> i was worried it was going to take forever until i realized i could keep track of how many were at each stage instead of the stage of each fish :p
16:04:03 <dminuoso> myShoggoth: So perhaps a haskell.foundation/twitch link might give a better first impression! :)
16:04:13 <dminuoso> Or /stream or some such
16:04:37 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
16:04:39 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
16:05:01 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
16:05:12 × ec quits (~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
16:05:18 <merijn> aplainzetakind: So, I took a look at your day 6 and I'm pretty sure I know why it's slower
16:05:34 ec joins (~ec@gateway/tor-sasl/ec)
16:06:01 <merijn> cigsender: Same revelation for me, yeah :p
16:06:36 <merijn> "no answer in 5s...*think*...oh, this is going to run me out of memory..."
16:06:59 <merijn> The new one is effectively instant, despite using immutable vectors :p
16:07:21 <maerwald> dminuoso complaining about links today... :o
16:07:34 <dminuoso> maerwald: Im in no way complaining.
16:07:46 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:e52b:eca6:e736:3c6b)
16:07:49 <maerwald> that's a lvlup for nitpicking :p
16:08:13 <dminuoso> If you call giving constructive criticism a complaint, so be it. Not interested in arguing with you.
16:08:14 x88x88x joins (~x88x88x@149.28.53.172)
16:08:37 <geekosaur> ^
16:09:58 <Hecate> cigsender: hi <3
16:11:41 × wei2912 quits (~wei2912@116.88.103.128) (Quit: Lost terminal)
16:13:05 × perrierjouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.3)
16:13:05 alx741 joins (~alx741@186.178.108.139)
16:13:42 <cigsender> salut Hecate <3
16:13:54 × kspalaiologos quits (~kspalaiol@user/kspalaiologos) (Quit: Leaving)
16:14:08 perrierjouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
16:15:40 <cigsender> merijn: i used a map, but got the wrong answer the first try by using deleteFindMin instead of manually popping 0
16:16:00 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
16:16:08 <cigsender> mistakenly assumed there'd always be some ready :p
16:16:17 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
16:17:57 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
16:18:21 x88x88x- joins (~cheeg@gateway/vpn/pia/x88x88x)
16:19:11 × deadmarshal quits (~deadmarsh@95.38.114.2) (Ping timeout: 265 seconds)
16:20:12 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds)
16:21:34 <merijn> cigsender: You coulda used minView which returns the smallest key and the map with it removed
16:21:55 <merijn> ah, yeah
16:22:00 <merijn> I see what you mean :)
16:22:23 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 256 seconds)
16:22:34 <merijn> cigsender: I channeled my inner HPC spirit and realised that "arrays are the universal data structure" :p
16:23:10 <merijn> All problems are unboxed Vector problems! https://github.com/merijn/AdventOfCode/blob/master/Day6.hs
16:23:18 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
16:23:58 <aplainzetakind> merijn: I just saw what you wrote. So what is it?
16:25:08 <merijn> aplainzetakind: So, casual glance at Data.Matrix shows it's just using Vector with hand-rolled operations on it
16:25:17 <merijn> aplainzetakind: You used numpy for the python version?
16:25:49 × mbuf quits (~Shakthi@122.178.240.120) (Quit: Leaving)
16:25:52 <aplainzetakind> merijn: https://gitlab.com/aplainzetakind/aoc2021/-/blob/master/Python/aoc2021/days/day06.py
16:25:54 <aplainzetakind> Yep.
16:25:59 × chele quits (~chele@user/chele) (Remote host closed the connection)
16:26:06 bontaq joins (~user@ool-45779fe5.dyn.optonline.net)
16:26:30 <merijn> numpy uses BLAS/LAPACK for its matrix operations, which are libraries with decades worth of optimisation and vectorisation for matrix computations, which will outperform some hand-rolled matrix math on vectors any time
16:26:35 shailangsa joins (~shailangs@host86-186-136-27.range86-186.btcentralplus.com)
16:26:58 <aplainzetakind> And surely there's an equivalent Haskell library?
16:27:07 <merijn> hmatrix provides BLAS/LAPACK bindings
16:27:32 <merijn> Although the matrix solution seems rather overcomplicated for day 6. At least for me :p
16:27:57 jakalx joins (~jakalx@base.jakalx.net)
16:28:14 <aplainzetakind> It's pretty short. I first wrote a map solution and this one is simpler imo.
16:28:58 <merijn> aplainzetakind: Have a look at mine a few lines back :)
16:31:42 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
16:31:56 _ht joins (~quassel@82-169-194-8.biz.kpn.net)
16:32:14 × CiaoSen quits (~Jura@p200300c9570204002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 265 seconds)
16:33:39 <aplainzetakind> merijn: For some reason I never use Vector... It never occurs to me that it exists.
16:34:22 <aplainzetakind> merijn: How long does this one take for both parts?
16:35:17 <merijn> aplainzetakind: Eh, when I run it it's instant, so I'd have to time it somehow :p
16:35:43 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
16:36:03 <merijn> time report 0.02s real time, 0.002s usertime
16:36:37 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 240 seconds)
16:36:51 <aplainzetakind> time doesn't get much faster than that I suppose.
16:36:59 <aplainzetakind> s/get/report
16:37:16 <merijn> I mean, you can always get it faster, but doesn't seem worth the bother :p
16:38:26 <aplainzetakind> merijn: Would you care to also diagnose why https://gitlab.com/aplainzetakind/aoc2021/-/blob/master/Haskell/lib/AoC2021/Day05.hs is slower than https://gitlab.com/aplainzetakind/aoc2021/-/blob/master/Python/aoc2021/days/day05.py
16:38:34 Lord_of_Life_ is now known as Lord_of_Life
16:40:40 × robosexual quits (~spaceoyst@5.167.241.206) (Quit: Konversation terminated!)
16:40:43 <merijn> aplainzetakind: Lots of lists, which are always bad for performance due to the large number of indirections and the multiset approach is probably not super cheap either
16:41:15 <merijn> aplainzetakind: How long does it take?
16:41:58 lavaman joins (~lavaman@98.38.249.169)
16:42:36 <Franciman> how does haskell's garbage collector deal with data alignment?
16:42:41 <Franciman> does it use a uniform alignment for all types?
16:42:54 <Franciman> like it knows that the biggest alignment is 16bytes and alignes everything to 16 bytes?
16:43:03 <merijn> My day5 isn't instant (0.3s), but it's fast enough (and stupid, I literally end up parsing the input twice)
16:43:04 <Franciman> or is it more into having different regions for different alignment requests?
16:44:01 <merijn> Franciman: I mean, you can just "overallocate" to make sure you've got space to get whatever alignment you need
16:44:13 <merijn> Franciman: Although I wager most things are simply 4 or 8 byte aligned
16:44:18 <aplainzetakind> merijn: This is also something like 0.3s. But what bugs me is that it's literally the same algorithm and Python ends up faster.
16:44:46 <Franciman> yes allocating a bool with 16 byte alignment is a nice idea lol
16:44:53 <Franciman> I keep thinking about it
16:45:00 <merijn> aplainzetakind: The problem is that python's "lists" are arrays. They are dense memory objects, which means lots of cache hits
16:45:20 <merijn> aplainzetakind: Whereas linked lists are kinda bad in terms of caching
16:45:21 <Franciman> who cares about 128bit integers
16:45:25 <merijn> aplainzetakind: Also, how are you timing them?
16:46:18 <merijn> Franciman: It doesn't seem like a big problem? I mean, at worst you waste a handful of bytes the few times something has a weird alignment requirement
16:46:22 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
16:46:46 <Franciman> eh so you mean, do 8byte alignment, which is common
16:46:48 <merijn> aplainzetakind: splitOn and read are also gonna be rather terrible performance
16:46:53 <Franciman> and in the rare occasion you need an int128, you just pad a lot
16:47:00 <Franciman> that's not bad yeah
16:47:12 <merijn> Franciman: I don't see why int128 would need a lot of padding, tbh
16:47:21 <Franciman> it needs 8bytes padding
16:47:32 <Franciman> to make sure it ends on 16bytes aligned address
16:47:35 <Franciman> but only sometines
16:47:44 <merijn> Franciman: What makes you think it needs to be 16 byte aligned?
16:47:44 <Franciman> sometimes you are lucky and already are on 16bytes aligned addresses
16:47:48 <Franciman> my C compiler
16:47:50 <Franciman> ^^
16:47:54 <merijn> AFAIK no current CPUs support native 128bit accesses anyway
16:48:29 <geekosaur> I think 16 byte alignment only applies to code, not data?
16:48:36 <merijn> Franciman: Ah, see, but now your question is mixing 2 things. "How does GHC's GC handle alignment" and "How should I handle alignment as specified by the C spec" :p
16:48:36 <geekosaur> most things are 8 byte aligned
16:49:04 <merijn> Franciman: GHC only has to worry about what the CPU will handle (which will generally be 4/8 byte alignment for word accesses)
16:49:09 × curiousgay quits (~curiousga@77-120-141-90.kha.volia.net) (Ping timeout: 265 seconds)
16:49:21 <Franciman> long double in C on my architecture requires 16byte alignment
16:49:22 × ubert quits (~Thunderbi@p200300ecdf0ba2cae6b318fffe838f33.dip0.t-ipconnect.de) (Quit: ubert)
16:49:22 ub is now known as ubert
16:49:28 <merijn> 128bit numbers would be handled in software anyway, 'cos no 128bit hardware currently
16:49:36 <Franciman> I see, thanks
16:49:38 <Franciman> nice
16:49:44 ubert1 joins (~Thunderbi@p200300ecdf0ba2ca8fd37040f9dc92fe.dip0.t-ipconnect.de)
16:49:48 <merijn> Franciman: Right, but is that a *C* requirement or a *CPU* requirement? :)
16:49:57 <merijn> because GHC only has to worry about the latter
16:50:45 <merijn> aplainzetakind: Also, whenever you wonder about performance and you see String. You should already assume that's bad :)
16:50:48 <Franciman> now I wonder why C requires this
16:51:14 <Franciman> but that's for another channel :D
16:51:16 <Franciman> thanks merijn
16:51:21 <geekosaur> uses the same alignment for code and data?
16:51:38 <merijn> C (at least partially) specifies memory layout of data structures and data
16:51:44 <aplainzetakind> merijn: I thime them like so: https://gitlab.com/aplainzetakind/aoc2021/-/blob/master/Haskell/bench/Main.hs
16:52:00 <merijn> The Haskell Report specifies, essentially, nothing about memory layout, so the compiler can do whatever it wants :p
16:52:52 <merijn> aplainzetakind: With absolutely no promises about what happens: I wonder if using readFile from Data.Text and changing your solutions to use Text will help
16:53:04 <Franciman> the nice thing about self managed mamory and editable compiler without a PhD is that you can do your own statistics and update the situation as you wish
16:53:21 <aplainzetakind> merijn: I'll try to leave parsing out of the benchmarking ans see if that's the choke point.?
16:53:50 <aplainzetakind> In the meantime, what would be a better choice than MultiSet for this purpose?
16:54:03 <merijn> aplainzetakind: I just used "Map Point Int" :p
16:54:16 <Franciman> unfortunately every compiler reaches a point where it requires advanced knowledge unfortunately
16:54:25 <merijn> aplainzetakind: You can check it in my repo :)
16:55:40 <Franciman> but until that point I'm gonna enjoy it
16:55:47 × bollu quits (uid233390@id-233390.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
16:56:57 × cosimone quits (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Remote host closed the connection)
16:57:24 cosimone joins (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20)
16:58:14 emf joins (~emf@cpe-174-109-36-85.nc.res.rr.com)
17:00:09 emf_ joins (~emf@2620:10d:c090:400::5:6c88)
17:01:43 × x88x88x- quits (~cheeg@gateway/vpn/pia/x88x88x) (Ping timeout: 265 seconds)
17:03:18 × emf quits (~emf@cpe-174-109-36-85.nc.res.rr.com) (Ping timeout: 268 seconds)
17:05:55 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
17:06:12 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
17:07:33 × perrierjouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.3)
17:15:50 <phaazon> anyone can send me an input.txt for day4 of AoC, if anyone has one? jle` are you around? :)
17:16:17 <phaazon> I have reviewed my algorithm 40 times, which works on part 1 fully and the sample of part 2, so I don’t get it
17:18:13 × synthmeat quits (~synthmeat@user/synthmeat) (Read error: Connection reset by peer)
17:18:20 synthmeat1 joins (~synthmeat@user/synthmeat)
17:18:31 <aplainzetakind> phaazon: https://dpaste.com//5GVUFPAGC
17:18:45 <aplainzetakind> If a paste is fine
17:19:39 <phaazon> it is, thanks
17:19:53 <phaazon> aplainzetakind: have you solved it?
17:19:56 <phaazon> what are the expected values?
17:21:06 perrierjouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
17:21:09 <phaazon> hm, I get 0 for that one too, so I guess I still have something wrong anyway
17:21:44 <aplainzetakind> 65325 and 4624
17:22:09 <yin> is there something like `class Acyclic t where leaves :: t a -> [a]` ?
17:22:57 <phaazon> this is super weird
17:23:05 <aplainzetakind> phaazon: Maybe going through the paste some newlines get borked or something, I'd check if it parses fine first.
17:23:21 <phaazon> because my algorithm makes sense, it’s just a simple exclusion variation of the first algorithm
17:23:23 <geekosaur> :t toList
17:23:24 <lambdabot> Foldable t => t a -> [a]
17:23:30 <phaazon> I’m a bit confused
17:23:53 <geekosaur> yin, how does that differ from toList on a tree that happens to be an acyclic graph?
17:24:33 <phaazon> aplainzetakind: I think there might be a rule or something I missed
17:24:40 <phaazon> because the trace for the sample looks exactly like what I want
17:24:42 <phaazon> https://gist.github.com/phaazon/dddc750231502c371847cc5150294ebe
17:24:51 <phaazon> but for the actual input, I end up with a 0 score
17:25:19 <yin> geekosaur: toList gives you all the nodes?
17:25:27 <yin> i want only the leaves
17:25:45 <yin> so it has t be both acyclic and directed
17:26:04 pfurla joins (~pfurla@201.17.118.230)
17:26:19 <c_wraith> due to laziness, it's *really* hard to guarantee a data type is acyclic in haskell
17:27:33 × emf_ quits (~emf@2620:10d:c090:400::5:6c88) (Ping timeout: 252 seconds)
17:27:53 <yin> c_wraith: well... s/acyclic/infinite , technically
17:27:57 <c_wraith> But in general, I've used lenses for that sort of thing. Given a lens to get all the children of the current node and a lens to get the value you want, there are combinators to turn that into "get all the leaves"
17:28:00 <aplainzetakind> phaazon: ¯\_(ツ)_/¯
17:28:20 <aplainzetakind> phaazon: Do you have the trace for the actual run?
17:30:08 emf joins (~emf@2620:10d:c090:400::5:6c88)
17:30:23 <raehik> :t _1
17:30:24 <lambdabot> (Field1 s t a b, Functor f) => (a -> f b) -> s -> f t
17:30:42 <raehik> ^ On GHCi 9.2, the following displays:
17:30:54 <raehik> Field1 s t a b => Lens s t a b
17:31:03 tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net)
17:31:24 <raehik> did :t stop expanding type synonyms in GHC 9.2? I can't find specific detail in the changelogs
17:32:08 <c_wraith> type synonyms have a history of changing how they're displayed frequently
17:32:12 bollu joins (uid233390@id-233390.helmsley.irccloud.com)
17:33:01 × doyougnu quits (~doyougnu@c-73-25-202-122.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
17:33:04 <c_wraith> eta expanding it removes the type synonym!
17:33:44 <raehik> any command to give GHCi to do that? (none of this is a complaint or problem, just interesting)
17:34:44 <c_wraith> I just checked to see if there's a :t! analogous to :k! and it does not seem to exist
17:34:57 <raehik> yeah, neither anything in :help
17:35:40 <raehik> I prefer this way but amusingly it broke doctests in generic-lens
17:35:44 <phaazon> aplainzetakind: yes, I also display the boards
17:35:47 × yauhsien quits (~yauhsien@61-231-32-247.dynamic-ip.hinet.net) (Remote host closed the connection)
17:36:45 yauhsien joins (~yauhsien@61-231-32-247.dynamic-ip.hinet.net)
17:36:54 × yauhsien quits (~yauhsien@61-231-32-247.dynamic-ip.hinet.net) (Remote host closed the connection)
17:37:15 <phaazon> the trace makes sense
17:37:17 <c_wraith> phaazon: note that 0 is a number that can be called (at least in some inputs). If you return that as the last number called in the last board, the score will be zero
17:37:35 yauhsien joins (~yauhsien@61-231-32-247.dynamic-ip.hinet.net)
17:37:37 whatsupdoc joins (uid509081@id-509081.hampstead.irccloud.com)
17:37:41 <phaazon> at least for the sample
17:37:57 <phaazon> c_wraith: I use -1
17:38:03 <phaazon> https://gist.github.com/phaazon/bbbec07d81fb6a05aeb860ac7822b05d
17:39:04 <c_wraith> phaazon: I mean it's valid for the output to be 0, given completely correct code. It probably isn't, but it's valid.
17:40:00 <phaazon> https://gist.github.com/phaazon/edbf57cf390643ebbcafde0783a3a8b2
17:40:05 <phaazon> the input’s output
17:40:07 <phaazon> it’s… weird
17:40:26 <phaazon> like the score of the second
17:40:44 <phaazon> but yeah, since I multiply by 0…
17:41:08 <c_wraith> phaazon: ok, something is definitely wrong. look at line 450, for example
17:41:12 curiousgay joins (~curiousga@77-120-141-90.kha.volia.net)
17:41:20 <c_wraith> phaazon: you played until the board was blacked out entirely. that's going too long
17:41:21 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
17:41:32 <c_wraith> phaazon: there was definitely a bingo before the blackout
17:42:13 × yauhsien quits (~yauhsien@61-231-32-247.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
17:42:22 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
17:42:57 <phaazon> I don’t understand how that can happen given I exclude a board at the first win
17:44:44 <dsal> When I've got stuck on stuff like this, I've written unit tests for the code I was pretty sure was right.
17:44:46 justsomeguy joins (~justsomeg@user/justsomeguy)
17:44:48 sprout_ joins (~quassel@2a02:a467:ccd6:1:bc10:5f40:71cb:b3b6)
17:45:00 <c_wraith> well, evidence shows that the test isn't quite working right
17:45:10 <c_wraith> so... time to figure out why
17:47:25 × sprout quits (~quassel@2a02:a467:ccd6:1:6993:39fb:9bc8:e953) (Ping timeout: 240 seconds)
17:47:33 mvk joins (~mvk@2607:fea8:5cdd:f000::9788)
17:47:38 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
17:47:57 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
17:50:41 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
17:50:58 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
17:51:47 <EvanR> yeah if your code is split into small functions, and you "verified" each function on the repl, then the whole thing can't be wrong xD
17:51:50 <EvanR> (YMMV)
17:53:26 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
17:53:43 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
17:53:44 <dsal> I wrote most of my bugs in the obviously correct parts of the code.
17:54:32 deadmarshal joins (~deadmarsh@95.38.114.2)
17:55:07 <phaazon> c_wraith: it’s that kind of puzzles where I’m sure I just didn’t understand a hidden rule
17:55:15 <phaazon> I have that with all AoC
17:55:19 <phaazon> https://gist.github.com/phaazon/13fdd3bf646dde2ee6153cc25d4507a0
17:55:25 <phaazon> this test all passes
17:55:43 <c_wraith> I couldn't be bothered to write complicated code to test whether the game had ended for day 4. so I doubled the size of the problem in exchange for making the test and the calling process much easier.
17:56:57 <phaazon> I don’t think it matters that much, because of the exclusion thing
17:57:09 <phaazon> if I have excluded everything, it will just be spinning loops until the end of the numbers
17:57:14 <phaazon> (and I keep the last score in memory)
17:57:17 <phaazon> so
17:57:25 <phaazon> :shrug:
17:59:05 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
17:59:29 <c_wraith> the ones running to blackout are the real mystery
17:59:39 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
18:00:26 <c_wraith> because that implies they didn't stop at any of the previous horizontal or vertical checks.
18:01:21 × burnsidesLlama quits (~burnsides@dhcp168-017.wadham.ox.ac.uk) (Remote host closed the connection)
18:01:53 × Feuermagier quits (~Feuermagi@user/feuermagier) (Ping timeout: 268 seconds)
18:01:54 burnsidesLlama joins (~burnsides@dhcp168-017.wadham.ox.ac.uk)
18:02:16 <c_wraith> but it sounds like you did the whole problem differently than I did - it sounds like you're running the boards in lockstep. in that case, you need to check for accidental crosstalk between tests
18:02:57 <dsal> Yeah, I just ran all of them in parallel.
18:04:37 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
18:05:16 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
18:05:49 × burnsidesLlama quits (~burnsides@dhcp168-017.wadham.ox.ac.uk) (Ping timeout: 240 seconds)
18:05:49 × justsomeguy quits (~justsomeg@user/justsomeguy) (Ping timeout: 240 seconds)
18:05:52 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:e52b:eca6:e736:3c6b) (Remote host closed the connection)
18:08:15 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
18:08:33 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
18:10:13 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
18:10:31 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
18:12:11 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
18:12:29 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
18:12:59 × hgolden quits (~hgolden2@cpe-172-114-81-123.socal.res.rr.com) (Quit: Konversation terminated!)
18:14:13 × pfurla quits (~pfurla@201.17.118.230) (Quit: gone to sleep. ZZZzzz…)
18:14:19 <c_wraith> phaazon: I have a hypothesis, based on what you said: you're still sending moves to boards that have already won in some cases - ie, your exclusion isn't excluding as much as you hoped
18:15:40 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
18:16:37 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
18:18:27 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
18:18:45 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
18:19:10 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
18:19:10 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
18:19:10 wroathe joins (~wroathe@user/wroathe)
18:19:25 × myShoggoth quits (~myShoggot@97-120-85-195.ptld.qwest.net) (Ping timeout: 240 seconds)
18:20:04 Midjak joins (~Midjak@may53-1-78-226-116-92.fbx.proxad.net)
18:21:02 justsomeguy joins (~justsomeg@user/justsomeguy)
18:21:49 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
18:22:21 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
18:23:45 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
18:24:12 myShoggoth joins (~myShoggot@97-120-85-195.ptld.qwest.net)
18:25:00 <phaazon> c_wraith: what do you mean?
18:25:08 <phaazon> whenever a board wins, I put its index in an exclusion set
18:25:16 <phaazon> and then will never update the board again / check it
18:25:26 lavaman joins (~lavaman@98.38.249.169)
18:26:00 hgolden joins (~hgolden2@cpe-172-114-81-123.socal.res.rr.com)
18:26:07 <c_wraith> well, boards that have already won keep getting played. so either your win detection is buggy or your exclusion set is buggy.
18:26:26 <c_wraith> and I'm willing to bet it's the latter
18:26:39 yauhsien joins (~yauhsien@61-231-32-247.dynamic-ip.hinet.net)
18:27:25 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
18:27:57 <dsal> phaazon: I play each board independently, so there's no kind of exclusion set.
18:27:58 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
18:28:03 <dsal> The nice thing is that you can do them all in parallel.
18:28:18 <dsal> `catMaybes $ parMap rseq go boards`
18:29:05 <phaazon> c_wraith: keep getting played?
18:29:08 <phaazon> what does that mean?
18:29:13 <phaazon> a board can win several times?
18:29:25 <c_wraith> well, did you look at your output?
18:29:38 <c_wraith> there are boards in there which have a lot of wins
18:29:54 <c_wraith> clearly they had squares marked off after they had already won
18:30:01 <c_wraith> otherwise that couldn't happen
18:30:09 <dsal> If you have the concept of an exclusion set, then you have the possibility of that not working the way you think it does.
18:30:23 <dsal> If you just play a single board until it completes and then don't have the ability to touch it again, then you can't write that bug.
18:30:43 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
18:30:49 <EvanR> yeah there are ways that are simpler than others, and if we insist on them, we lose biodiversity xD
18:31:00 <phaazon> I don’t get your point dsal
18:31:01 × yauhsien quits (~yauhsien@61-231-32-247.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
18:31:01 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
18:31:16 <phaazon> I tried both ideas
18:31:18 <EvanR> let the special solutions live
18:31:19 <phaazon> (keep playing them, etc.)
18:32:04 <phaazon> once a board wins (i.e. it has either one row or one column), we shouldn’t include it anymore in the mark algorithm because it’s already won
18:32:15 <phaazon> if not, then that’s the kind of « hidden rules » I mentioned above about AoC
18:33:11 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
18:33:19 <c_wraith> my point is that you know your code is wrong, and yet keep arguing that it's right
18:33:49 × madjestic quits (~madjestic@88-159-247-120.fixed.kpn.net) (Ping timeout: 240 seconds)
18:33:49 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
18:34:13 <c_wraith> you know it's wrong. you have evidence as to the form of it's incorrectness, based in the trace you posted
18:34:18 <c_wraith> *its
18:34:22 <phaazon> that’s what I did
18:34:25 <phaazon> and the tests are all green
18:34:33 <c_wraith> then the tests are wrong
18:34:49 <c_wraith> (tests being wrong is the main problem with tests)
18:34:55 <EvanR> phaazon, regardless of if a board keeps playing, the "rules" for that day want to know who won first or last
18:35:03 <EvanR> so it technically doesn't matter if you keep them going
18:35:04 <phaazon> I’m not saying it’s right, I’m saying I don’t get what’s wrong
18:35:28 <c_wraith> I've already told you, it's either the win detection or the exclusion mechanism
18:35:29 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Ping timeout: 256 seconds)
18:35:42 <c_wraith> those are the two places the cover the symptoms
18:35:52 <phaazon> if the win detection was bugged, I guess I wouldn’t have passed part 1a, 1b and 2a
18:35:56 <phaazon> (both input and samples)
18:36:05 <phaazon> so I guess it’s the exclusion mechanism
18:36:10 <EvanR> it's interesting to go back and figure out why a bug didn't mess up part 1 xD
18:36:11 <phaazon> but yet it still passes the sample
18:36:15 <EvanR> I had that several times
18:36:22 burnsidesLlama joins (~burnsides@dhcp168-017.wadham.ox.ac.uk)
18:36:28 <phaazon> my algorithm is pretty simple
18:36:47 <phaazon> I just do the same as part 1 but as soon as a board wins, I place its index in a set and updates the winning score
18:37:06 <EvanR> my algorithm is pretty simple, alas IRC doesn't have enough margin space for it
18:37:36 <c_wraith> it's almost certain the bug is outside the code you're testing
18:38:07 <merijn> How are you detecting wins?
18:38:17 <c_wraith> it's in code coordinating the action, rather than the units you have tested
18:38:37 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 240 seconds)
18:39:35 <merijn> I'm curious what the code looks like
18:39:36 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:e52b:eca6:e736:3c6b)
18:41:06 jgeerds joins (~jgeerds@55d4ac73.access.ecotel.net)
18:42:02 <c_wraith> well, it's in rust. which is probably why phaazon hasn't just posted it to ask for a review. :)
18:42:15 × burnsidesLlama quits (~burnsides@dhcp168-017.wadham.ox.ac.uk) (Ping timeout: 265 seconds)
18:44:08 <EvanR> oof
18:44:30 <EvanR> this isn't the AoC help channel or the rust channel xD
18:44:40 <geekosaur> there is always -offtopic
18:45:28 <EvanR> hard to understand bugs in your code is why haskell lol
18:45:28 <phaazon> merijn: I check columns (any…all…==-1) and rows
18:46:23 × ystael quits (~ystael@user/ystael) (Ping timeout: 252 seconds)
18:47:06 <merijn> There's an AOC channel too, no?
18:47:17 <c_wraith> I didn't see one on this server
18:47:30 <c_wraith> maybe it stayed on freenode(
18:48:10 <dsal> There are three here I'm in
18:48:16 <EvanR> #adventofcode
18:48:25 <dsal> #adventofcode-{,help,spoilers}
18:48:29 <c_wraith> i wonder why that didn't show up in my search
18:48:41 halides parts (halides@imases.biss.ee) ()
18:49:21 × justsomeguy quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.3)
18:50:36 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
18:52:03 jakalx joins (~jakalx@base.jakalx.net)
18:53:49 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
18:55:43 Codaraxis__ joins (~Codaraxis@user/codaraxis)
18:58:53 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
18:59:55 × Codaraxis_ quits (~Codaraxis@user/codaraxis) (Ping timeout: 256 seconds)
19:01:43 × max22- quits (~maxime@2a01cb0883359800374d9426cde47cad.ipv6.abo.wanadoo.fr) (Ping timeout: 250 seconds)
19:03:45 kupi joins (uid212005@id-212005.hampstead.irccloud.com)
19:04:21 <maerwald> anyone tried haskell on void linux?
19:06:24 × jinsun quits (~quassel@user/jinsun) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
19:06:44 jinsun joins (~quassel@user/jinsun)
19:08:11 <dsal> void linux? That sounds absurd
19:09:51 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
19:10:09 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
19:10:28 <maerwald> why?
19:11:08 <geekosaur> bad joke
19:11:17 <geekosaur> :t absurd
19:11:18 <lambdabot> Void -> a
19:11:53 <maerwald> well
19:11:55 <maerwald> https://github.com/void-linux/void-packages/issues/11718
19:11:58 <maerwald> there's the first one
19:13:59 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
19:14:17 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
19:14:56 <janus> lambdadog gets it working on nix in the end
19:16:08 <geekosaur> I'm still of the opinion haskeline should try libncurses if libtinfo isn't found
19:16:34 × deadmarshal quits (~deadmarsh@95.38.114.2) (Ping timeout: 265 seconds)
19:16:52 <sm> could someone remind me of the repo that keeps stack.yaml's for newer GHCs ?
19:17:13 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
19:17:22 × gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving)
19:17:31 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
19:18:54 <maerwald> what stack.yamls?
19:19:26 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
19:19:47 <sm> stack.yaml's for newer GHCs, that aren't on stackage.org yet
19:20:02 <maerwald> stack.yaml are project files
19:20:09 <maerwald> do you mean this? https://github.com/commercialhaskell/stackage-content/blob/master/stack/stack-setup-2.yaml
19:20:46 × connrs quits (~connrs@user/connrs) (Quit: ZNC 1.8.2 - https://znc.in)
19:21:17 <sm> no, but that looks like it will do (I want GHC 9.2.1, and it looks like stack setup knows how to install that)- thanks
19:22:02 × famubu quits (~famubu@14.139.174.50) (Remote host closed the connection)
19:23:01 × cfricke quits (~cfricke@user/cfricke) (Ping timeout: 240 seconds)
19:23:31 <phaazon> I found my bug
19:23:45 deadmarshal joins (~deadmarsh@95.38.114.2)
19:24:13 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Ping timeout: 256 seconds)
19:24:48 <phaazon> it was… a single keyword :)
19:25:10 <phaazon> and it was indeed a cornercase that wasn’t mentioned in the « rules », so I needed an assumption here
19:25:15 <geekosaur> didn't someone mention having a && instead of a || earlier?
19:25:31 <phaazon> it was a while needed instead of a if :)
19:25:46 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
19:27:11 <DigitalKiwi> so it's fitting that my website https://mostlyabsurd.com features haskell then lol
19:29:09 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
19:30:27 econo joins (uid147250@user/econo)
19:31:03 <maerwald> https://mostlyabsurd.com/pieces/2020/02/05/agdaboi-matte-5x7/ looks fluffy
19:32:43 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
19:32:43 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Read error: Connection reset by peer)
19:33:01 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
19:33:25 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
19:33:32 tfeb joins (~tfb@88.98.95.237)
19:35:42 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
19:35:59 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
19:36:27 fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net)
19:36:36 <tomsmeding> h/urlse
19:36:40 <tomsmeding> .... sorry
19:40:36 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Remote host closed the connection)
19:43:15 yauhsien joins (~yauhsien@61-231-32-247.dynamic-ip.hinet.net)
19:43:51 max22- joins (~maxime@2a01cb08833598003eb627eec416786c.ipv6.abo.wanadoo.fr)
19:45:54 doyougnu joins (~doyougnu@c-73-25-202-122.hsd1.or.comcast.net)
19:47:23 ircbrowse_tom joins (~ircbrowse@2a01:4f8:1c1c:9319::1)
19:47:25 Server sets mode +Cnt
19:47:38 × yauhsien quits (~yauhsien@61-231-32-247.dynamic-ip.hinet.net) (Ping timeout: 252 seconds)
19:49:58 lavaman joins (~lavaman@98.38.249.169)
19:53:15 × tomsmeding quits (~tomsmedin@tomsmeding.com) (Quit: ZNC 1.8.2 - https://znc.in)
19:54:13 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 252 seconds)
19:55:03 lavaman joins (~lavaman@98.38.249.169)
19:56:51 tomsmeding joins (~tomsmedin@tomsmeding.com)
20:01:28 × tfeb quits (~tfb@88.98.95.237) (Quit: died)
20:02:15 nickdaly is now known as nickdaly-away
20:04:39 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
20:04:39 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
20:04:39 wroathe joins (~wroathe@user/wroathe)
20:05:05 × juhp quits (~juhp@128.106.188.82) (Ping timeout: 256 seconds)
20:06:36 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
20:06:48 juhp joins (~juhp@128.106.188.82)
20:08:18 × cyphase quits (~cyphase@user/cyphase) (Ping timeout: 268 seconds)
20:09:13 <Midjak> Hello on a fold expression with a function which return a bool is lazyness apply and stop as soon as function returns false ?
20:09:37 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 256 seconds)
20:10:26 <monochrom> Yes for foldr.
20:10:46 <monochrom> But your question wording is very vague.
20:10:56 darchite` joins (~user@2a00:23c6:3584:df00:7dec:bf13:8fa:748c)
20:11:22 <xsperry> > foldr (||) True (True : undefined)
20:11:24 <lambdabot> True
20:11:58 <monochrom> For example, xsperry's example shows that the answer to your worded question can be "no" because you need to s/false/true/
20:13:01 <monochrom> Evidently, "a function which return a bool" is much broader than the one single function you have in mind. (So why didn't you spell it out? What's there to conceal?)
20:14:01 <Midjak> well it's not easy to express this. In `foldl (\acc elem -> even elem && acc) True [5, 2, 4]` is this expression evaluate `even 2 && False` ?
20:15:25 × myShoggoth quits (~myShoggot@97-120-85-195.ptld.qwest.net) (Ping timeout: 240 seconds)
20:15:25 × Vajb quits (~Vajb@nalkaylds2h97nzof-2.v6.elisa-mobile.fi) (Read error: Connection reset by peer)
20:15:38 <Midjak> I am expecting this stop on first element of the list
20:15:49 <Midjak> I am not sure however
20:16:00 <monochrom> That expands to: ((even 5 && even 2) && even 4) && True
20:16:10 <monochrom> It will not stop early.
20:16:14 <kuribas> > foldl (\acc elem -> even elem && acc) True [5, undefined, 4]
20:16:16 <lambdabot> *Exception: Prelude.undefined
20:16:20 Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
20:16:26 cyphase joins (~cyphase@user/cyphase)
20:16:35 <kuribas> > foldl (\acc elem -> even elem && acc) True [5, 2, undefined]
20:16:37 <lambdabot> *Exception: Prelude.undefined
20:16:49 <Midjak> hummm ok...
20:16:56 <monochrom> Perhaps the more important skill is to know how to expand foldl (\acc elem -> even elem && acc) True [5, 2, 4]
20:16:57 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
20:17:41 <xsperry> > foldr (\elem acc -> even elem && acc) True [5, 2, undefined]
20:17:42 <lambdabot> False
20:18:02 <Midjak> what is this undefined ?
20:18:10 <merijn> :t undefined
20:18:11 <lambdabot> a
20:18:23 <xsperry> undefined is everything and nothing :)
20:18:26 <geekosaur> undefined just throws an exception
20:18:27 <kuribas> > foldl (\acc elem -> even elem && acc) True [undefined, 2, 4]
20:18:28 <lambdabot> *Exception: Prelude.undefined
20:19:11 <kuribas> > foldl (\acc elem -> even elem && acc) True [undefined, undefined, 3]
20:19:11 <Midjak> I mean does I need that for my purpose ?
20:19:13 <lambdabot> False
20:19:14 cfricke joins (~cfricke@user/cfricke)
20:19:21 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:e52b:eca6:e736:3c6b) (Remote host closed the connection)
20:19:35 <geekosaur> no, it's just being used ot prove/disprove early stopping
20:19:41 <kuribas> monochrom: that evaluates to ((even 4 && even 2) && even 5) && True
20:19:44 <merijn> tbh, any use of undefined besides examples of strictness is probably a mistake
20:19:52 <geekosaur> since if it stops early then undefined won't be evaluated and won't throw an exception
20:19:54 <Midjak> ah ok geekosaur
20:20:02 <kuribas> it does stop early
20:20:07 <kuribas> but from the right.
20:20:12 <Midjak> ah ok
20:20:41 <Midjak> why from the right ?
20:20:50 <kuribas> foldl is the reverse of foldr.
20:20:51 <merijn> I dislike this terminology of "from the right" and "from the left" when discussing folds, it's usually confusing and ambiguous
20:20:58 <merijn> kuribas: Is it?
20:21:16 <merijn> Arguably wouldn't, like, scanr be the reverse? :p
20:21:23 <Midjak> l is for left en r ids for right no ?
20:21:25 <geekosaur> the l/r in foldl/foldr is aboout associativity, not direction of evaluation
20:21:31 <kuribas> merijn: reverse direction
20:21:33 <Midjak> ok
20:21:49 <geekosaur> > foldl f z [a,b,c]
20:21:50 <lambdabot> f (f (f z a) b) c
20:21:51 <monochrom> even 4 (even 2 && (even 5 && True)). All of us were wrong.
20:21:54 <merijn> kuribas: I think "direction" is a bad term for what you see, though. See geekosaur's comment
20:21:55 <geekosaur> > foldr f z [a,b,c]
20:21:56 <lambdabot> f a (f b (f c z))
20:22:12 <kuribas> monochrom: ah right :)
20:22:14 <merijn> kuribas: "left associative" vs "right associative" is less ambiguous than "from the left" or "from the right"
20:22:28 <kuribas> merijn: true
20:22:40 <monochrom> "from left" and "from right" are OK in Scheme and SML. Haskell laziness made them weird.
20:22:43 <merijn> Which directions (due to flawed human brains) tend to also imply evalation orders
20:22:57 <merijn> s/Which/Since
20:22:59 <Midjak> ok is the reason why foldr function is \x acc -> .. and in foldl \acc x -> ..
20:23:13 perro joins (~perro@072-191-245-069.res.spectrum.com)
20:23:18 <DigitalKiwi> foldLeft/foldl => FL => For Loop; foldRight/foldr => fR => constructor Replacement
20:23:24 <monochrom> No reason. Arbitrary decision.
20:23:42 <Midjak> ok ok
20:24:01 <kuribas> > foldl (\acc elem -> even elem && acc) True [5::Expr, 2, 4]
20:24:02 <lambdabot> False
20:24:13 <Midjak> this kind o rules are very hard for a newbie :-)
20:24:29 <xsperry> there's a reason. see on what side is z (which is acc) used in foldl, vs foldr
20:24:31 <kuribas> > foldl (\acc elem -> f elem && acc) True [5::Expr, 2, 4]
20:24:33 <lambdabot> error:
20:24:33 <lambdabot> • No instance for (FromExpr Bool) arising from a use of ‘f’
20:24:33 <lambdabot> • In the first argument of ‘(&&)’, namely ‘f elem’
20:24:36 <xsperry> > foldl f z [a,b,c]
20:24:38 <lambdabot> f (f (f z a) b) c
20:24:39 <xsperry> > foldr f z [a,b,c]
20:24:41 <lambdabot> f a (f b (f c z))
20:24:50 <merijn> Midjak: True. But what helps a lot is "staring at the respective types a long time"
20:24:53 <monochrom> What you should dislike is the simpleton mindset that just because a mental model works for your echo chamber, it works universally.
20:25:02 <DigitalKiwi> now do infinite lists
20:25:28 <merijn> Midjak: Taking a pen & paper and mentally working out what the fold types turn into without your specific function(s) can also be very educational
20:25:43 <monochrom> And of course, also beware of the perfectionist mindset: just because a model breaks somewhere, it can't work in a suitable echo chamber.
20:26:25 <merijn> monochrom: I don't recall whether it was TaPL or some other book, but one of them in the preface mentioned that early chapters would essentially "lie for educational convenience" :p
20:26:59 <monochrom> Yeah, that's the best attitude.
20:27:07 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Ping timeout: 256 seconds)
20:27:08 × aman quits (~aman@user/aman) (Ping timeout: 265 seconds)
20:27:17 <EvanR> the docs for vector foldl and foldr literally say "from left to right" and "from right to left" (not necessarily in that order)
20:27:22 <EvanR> still boggling
20:27:29 <merijn> The goal of models is to usefully predict results of actions. Many people underrate the value of an untrue, but useful to beginners model
20:27:40 <monochrom> For vector, that is a correct model.
20:27:51 <merijn> EvanR: For vector that is sensible, because operations are generally strict
20:27:57 <monochrom> In fact, the actual code probably does exactly that, no more no less.
20:28:04 <EvanR> uh which operations? xD
20:28:21 <EvanR> the traversal or the visitor
20:28:42 <EvanR> i don't see why e.g. toList should be strict
20:28:44 <merijn> EvanR: traversals for sure, since the whole traversal goes at once when the new vector is forced
20:28:50 <Midjak> merijn, what do you mind by "what helps a lot is "staring at the respective types a long time"
20:28:56 <Midjak> *mean
20:28:59 <merijn> :t foldl
20:29:00 <lambdabot> Foldable t => (b -> a -> b) -> b -> t a -> b
20:29:06 <merijn> hmm
20:29:11 <merijn> :t Data.List.foldl
20:29:12 <lambdabot> Foldable t => (b -> a -> b) -> b -> t a -> b
20:29:16 <merijn> oi!
20:29:25 <merijn> :t Data.OldList.foldl
20:29:27 <lambdabot> error:
20:29:27 <lambdabot> Not in scope: ‘Data.OldList.foldl’
20:29:27 <lambdabot> Perhaps you meant one of these:
20:29:36 <merijn> pfft, I give up :p
20:29:47 <EvanR> that is the type I internalized
20:29:52 <EvanR> what were you looking for
20:30:03 <merijn> Midjak: Basically, write that on a paper. Take the function you wanna pass to foldl, fill in the 'a' and 'b', see what comes out
20:30:08 <merijn> EvanR: The version without Foldable
20:30:12 <EvanR> ah
20:30:28 <merijn> unnecessary details, and all that
20:30:29 <EvanR> :t foldl @[]
20:30:30 <lambdabot> error:
20:30:30 <lambdabot> Pattern syntax in expression context: foldl@[]
20:30:30 <lambdabot> Did you mean to enable TypeApplications?
20:30:35 <EvanR> FFFFUUUUUUU
20:30:55 <merijn> TypeApplications are bad anyway :p
20:31:04 <EvanR> orly?
20:31:52 <merijn> Midjak: I find it hard to articulate what the result is, since at this point foldl and foldr feel like second nature. But I distinctly recall repeatedly writing out full types on a white board of whatever I wanted to do with them and achieving an epiphany :p
20:32:32 <merijn> Hell, in general, just "working out the types and filling them in manually using pen and paper" is an *entirely* underrated method for getting better at understanding Haskell :)
20:32:42 myShoggoth joins (~myShoggot@97-120-85-195.ptld.qwest.net)
20:33:03 <kuribas> merijn: or using a scratch buffer
20:33:06 <EvanR> the type of foldl and foldr are basically the same...
20:33:31 <merijn> EvanR: For *us*
20:33:33 <merijn> Sure
20:33:47 <EvanR> which doesn't help discriminate what they do xD
20:33:49 <merijn> But I still (vaguely!) remember it all being super mistifying :)
20:34:14 <merijn> EvanR: I recall a time where their types seemed very different
20:34:39 <monochrom> Generally, basic algebra skills are underrated.
20:34:59 <monochrom> http://www.vex.net/~trebla/haskell/prerequisite.xhtml
20:35:04 <geekosaur> EvanR, TypeApplictaions can be done in yahb
20:35:37 <Midjak> > foldl (\acc elem -> acc && even elem) True [5, 2, 4, undefined]
20:35:38 <EvanR> % :t foldl @[]
20:35:38 <yahb> EvanR: (b -> a -> b) -> b -> [a] -> b
20:35:39 <lambdabot> False
20:35:44 <merijn> I do notice that the past few years it's becoming slightly harder to relate to beginners, because it's been so long ago since it was all confusing to me :)
20:36:06 <Midjak> thank you merijn
20:36:11 <Midjak> I got it I think
20:36:12 <monochrom> Even when you were learning "x+y = y+x", for example, it would help to write down "so for example 5+3=3+5, hey that is not intimidating at all!"
20:36:44 <Midjak> if I try to expand this it 's clear indeed
20:36:56 <phaazon> day 5 was fun :)
20:37:03 <smichel17[m]> Hi all. I'm relatively new to Haskell, trying to figure out whether it's feasible to use yesod with tailwindcss— mostly, this is about compile times— and there's absolutely nothing on the internet about it. So I made a repo with basically just the scaffolded site from `stack new` to test on, and a slightly longer write-up here: https://github.com/smichel17/yesod-perf-test/issues/1
20:37:04 <smichel17[m]> If anybody is able to help, that would be amazing :)
20:37:27 <yin> is there a performance difference between (>=) and (>=) ?
20:37:46 <yin> *(<=)
20:37:47 <kuribas> yin: no? :-P
20:37:48 <smichel17[m]> (whenever the current conversation is over)
20:37:48 phaazon frowns
20:37:54 <geekosaur> wuh? those look the same to me
20:38:05 <yin> obviously a typo
20:38:12 <yin> (<=) and (>=)
20:38:21 <kuribas> yin: probably no
20:38:25 <phaazon> there should be a GHC rewrite rule to remove the flip?
20:38:57 <kuribas> could be done on assembly level.
20:39:02 <merijn> yin: Mu
20:39:07 <phaazon> could be yeah
20:39:19 <phaazon> but I think it would be nicer to have that as a GHC thing rather than a backend (i.e. LLVM) thing
20:39:25 <phaazon> to be sure it will be applied everywhere
20:39:36 <monochrom> I think the correct answer is "it depends".
20:39:47 <kuribas> true, I forget ghc has it's own assembly generator.
20:39:52 waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
20:39:59 <merijn> That's not the reaosn, though
20:40:12 <merijn> The reason is "it depends on how Ord is implemented"
20:40:23 <merijn> Which is user code, so god knows
20:40:42 <phaazon> :ohno:
20:40:42 <geekosaur> time to look at Core if you really care
20:41:03 <geekosaur> but I suspect any difference will be minuscule anyway
20:41:04 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
20:41:05 <merijn> ealistically most people will use the default implementation going via 'compare'
20:41:11 <merijn> So *probably* no difference
20:41:21 <monochrom> In most cases, even without rewrite rules, low-level code optimizations may render the difference immaterial.
20:43:45 × Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
20:43:55 <hololeap> % foldMap (\i -> Monoid.First $ if (i == 5) then Just i else Nothing) [0..]
20:43:56 <yahb> hololeap: ; <interactive>:1:16: error:; Not in scope: data constructor `Monoid.First'; No module named `Monoid' is imported.
20:43:59 Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
20:44:22 <yin> Mu?
20:44:22 <hololeap> % import qualified Data.Monoid as Monoid
20:44:23 <yahb> hololeap:
20:44:29 <phaazon> haha
20:44:36 <phaazon> day 6 reminds me last year N-body exercise a bit :)
20:44:38 <hololeap> % import qualified Data.Semigroup as Semigroup
20:44:38 <yahb> hololeap:
20:44:42 madjestic joins (~madjestic@88-159-247-120.fixed.kpn.net)
20:44:42 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:e52b:eca6:e736:3c6b)
20:44:42 <hololeap> % foldMap (\i -> Monoid.First $ if (i == 5) then Just i else Nothing) [0..]
20:44:43 <yahb> hololeap: First {getFirst = Just 5}
20:44:52 <hololeap> % foldMap (\i -> Semigroup.First <$> if (i == 5) then Just i else Nothing) [0..]
20:44:57 <yahb> hololeap: [Timed out]
20:45:05 <merijn> yin: Mu is the Zen/koan "non-answer" to a question that is ill-formed and thus has no answer :p
20:45:25 × mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection)
20:45:49 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Ping timeout: 256 seconds)
20:46:15 <hololeap> https://hackage.haskell.org/package/base-4.14.3.0/docs/Data-Monoid.html#t:First
20:46:33 <hololeap> this says that the two behave the same, which is clearly not true
20:46:58 Erutuon joins (~Erutuon@user/erutuon)
20:47:13 <merijn> hololeap: Most claims/laws are in a total setting
20:47:38 <geekosaur> uh, did you intend $ vs. <$> ?
20:47:38 <hololeap> although I notice they remove all those warnings for Monoid.First in later versions of base
20:47:49 <hololeap> yes
20:48:17 <hololeap> % foldMap (\i -> Semigroup.First <$> if (i == 5) then Just i else Nothing) [0..10]
20:48:18 <yahb> hololeap: ; <interactive>:1:16: error:; Not in scope: data constructor `Semigroup.First'; No module named `Semigroup' is imported.
20:48:37 × cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.3)
20:48:37 × Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
20:49:08 <hololeap> >>> foldMap (\i -> Semigroup.First <$> if (i == 5) then Just i else Nothing) [0..10] ; Just (First {getFirst = 5})
20:49:40 bitmapper joins (uid464869@id-464869.lymington.irccloud.com)
20:49:55 Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
20:51:16 <hololeap> I find Monoid.First to be much more useful, since it will ignore any mappends after the first Just value
20:52:33 <hololeap> ignore might not be the correct term here...
20:53:01 <dsal> I think you should compare the same code twice
20:53:50 mmhat joins (~mmh@55d45587.access.ecotel.net)
20:54:01 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
20:54:19 × cosimone quits (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Quit: ERC (IRC client for Emacs 27.1))
20:55:05 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds)
20:55:08 <hololeap> > This type will be marked deprecated in GHC 8.8, and removed in GHC 8.10
20:55:30 <hololeap> obviously this didn't happen and those warnings are not there in base-4.16, so I actually have nothing to complain about.
20:55:31 × slack1256 quits (~slack1256@191.125.99.212) (Ping timeout: 256 seconds)
20:55:47 × bollu quits (uid233390@id-233390.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
20:57:13 × MidAutumnMoon6 quits (~MidAutumn@user/midautumnmoon) (Ping timeout: 256 seconds)
20:57:15 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
20:57:19 cjb joins (~cjb@user/cjb)
20:58:21 <merijn> hololeap: I mean, the short circuiting behaviour can also be:
20:58:44 × sagax quits (~sagax_nb@user/sagax) (Remote host closed the connection)
20:58:56 <merijn> % foldMap (\i -> Data.Monoid.Alt $ if (i == 5) then Just i else Nothing) [0..10]
20:58:56 <yahb> merijn: Alt {getAlt = Just 5}
20:59:00 <merijn> % foldMap (\i -> Data.Monoid.Alt $ if (i == 5) then Just i else Nothing) [0..]
20:59:01 <yahb> merijn: Alt {getAlt = Just 5}
20:59:34 <hololeap> oh, that's true. there is Alt on the Maybe Alternative instance
20:59:37 slack1256 joins (~slack1256@191.125.99.210)
20:59:55 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
20:59:56 <merijn> Which is mentioned in the First docs, even ;)
21:00:31 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:e52b:eca6:e736:3c6b) (Remote host closed the connection)
21:00:40 <hololeap> however, it also says "Users are advised to use the variant from Data.Semigroup and wrap it in Maybe."
21:01:23 <hololeap> which does not short circuit like Monoid.First does
21:02:41 × _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
21:03:16 <hololeap> bad docs. oh well, they eventually sorted it out.
21:04:31 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Ping timeout: 256 seconds)
21:04:59 × Codaraxis__ quits (~Codaraxis@user/codaraxis) (Ping timeout: 252 seconds)
21:09:01 × trillp quits (~user@69.233.98.238) (Ping timeout: 252 seconds)
21:09:48 MidAutumnMoon6 joins (~MidAutumn@user/midautumnmoon)
21:13:23 × kupi quits (uid212005@id-212005.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
21:13:25 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
21:16:16 <cigsender> anyone have a link to that mailing list discussion about the use of Prelude.head giving different errors than expected?
21:18:07 acidjnk_new joins (~acidjnk@p200300d0c7271e6304137ec8947839cf.dip0.t-ipconnect.de)
21:18:10 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
21:18:47 <geekosaur> I remember the discussion and am looking for it
21:18:55 × alx741 quits (~alx741@186.178.108.139) (Ping timeout: 252 seconds)
21:20:14 <geekosaur> it was about ghc considering any bottom to be equivalent to any other, so it could produce different bottoms than expected when it knew a bottom would result anyway
21:20:14 <geekosaur> ?
21:20:14 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
21:20:16 <dmj`> it'd be nice if there was a lens that had insertWith semantics when using += on an IntMap Int
21:21:54 geekosaur joins (~geekosaur@xmonad/geekosaur)
21:22:13 <awpr> maybe something like `ix 5 . non 0 +~ 42`?
21:22:39 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Ping timeout: 256 seconds)
21:22:52 <awpr> s/ix/at/
21:24:37 lavaman joins (~lavaman@98.38.249.169)
21:25:14 pfurla joins (~pfurla@2804:14d:5c81:4104:c8d2:5d49:1706:3792)
21:25:58 × doyougnu quits (~doyougnu@c-73-25-202-122.hsd1.or.comcast.net) (Remote host closed the connection)
21:27:00 <dsal> The difference between ix and at in this context is that you want the other one.
21:28:09 <awpr> `ix`: does nothing if the key is not present; `at 5 . non 0`: pretends the value was 0 if not present
21:28:33 pfurla_ joins (~pfurla@2804:14d:5c81:4104:91cd:1543:8918:bc14)
21:28:49 <dsal> ix and at are kind of like folded / traversed in that recipes look very similar depending on whether you're viewing or setting.
21:28:57 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
21:29:15 doyougnu joins (~doyougnu@c-73-25-202-122.hsd1.or.comcast.net)
21:30:30 Morrow joins (~quassel@bzq-110-168-31-106.red.bezeqint.net)
21:32:07 × pfurla quits (~pfurla@2804:14d:5c81:4104:c8d2:5d49:1706:3792) (Ping timeout: 252 seconds)
21:32:15 learner-monad joins (~ehanneken@user/learner-monad)
21:32:20 alx741 joins (~alx741@186.178.108.36)
21:34:11 lavaman joins (~lavaman@98.38.249.169)
21:37:13 <dmj`> awpr: that's very nice, thank you
21:37:54 <dmj`> awpr: nicer way to solve day 6, https://gist.github.com/479681544942476eb3b271b4d834e2b1
21:38:26 × darchite` quits (~user@2a00:23c6:3584:df00:7dec:bf13:8fa:748c) (Read error: Connection reset by peer)
21:39:01 × myShoggoth quits (~myShoggot@97-120-85-195.ptld.qwest.net) (Ping timeout: 240 seconds)
21:40:36 <dmj`> might come in handy for subsequent days
21:41:15 <int-e> dmj`: wah, why do you do that with a State monad rather than something like IM.fromListWith (++) (IM.assocs m >>= next) where next (0,v) = [(6,v),(8,v)]; next (i,v) = [(i-1,v)]
21:41:32 <geekosaur> not finding it :(
21:42:05 <int-e> dmj`: err, (+) rather than (++)
21:42:29 x88x88x- joins (~cheeg@156.146.57.109)
21:42:31 × x88x88x- quits (~cheeg@156.146.57.109) (Remote host closed the connection)
21:43:39 <gentauro> hmmm, perhaps a wrong name to use? Nightly should be deliver on a nightly basis right? https://www.stackage.org/nightly-2021-12-04
21:43:42 <gentauro> xD
21:44:02 senoraraton joins (~senorarat@192-195-83-130.static.monkeybrains.net)
21:45:44 <dmj`> int-e: that's what I originally did, but used nested calls to insertWith instead of fromListWith (+). I agree the fromListWith solution is nicer since you can use the list monad... IM.fromListWith (+) $ m >>= \(k,v) -> case k of { 0 -> [(6,v),(8,v),(0,-v)]; _ -> [(k,-v),(k-1,v)] }
21:46:33 <senoraraton> So I have a statement: gridmaker n k = [ n .. n+k-1 ] : gridmaker (n+k) k I'm trying to understand just exactly what the append operator does in this case.
21:47:49 <int-e> dmj`: No, you don't need (0,-v) or (k,-v) in this case; you have these in your code because your state has the old IM, rather than an empty one.
21:48:20 <dsal> I just did `IntMap.fromListWith (+) . foldMap' f . IntMap.assocs` where `f (0,n) = [(6,n), (8,n)]; f (x,n) = [(x-1, n)]`
21:48:54 <dsal> senoraraton: what are you referring to `:` as the "append operator" ?
21:48:55 <int-e> dmj`: And it's the need for those two adjustments that make that State-based code awful in my eyese.
21:50:12 <senoraraton> dsal I thought that was what it was called?
21:50:21 <dsal> senoraraton: No, that's cons, append is more like <>
21:51:12 <dsal> But in your case, you're making a list of numbers starting at n, let's call it `a` and then making a list of `a` followed by a recursive call to `gridmaker`
21:51:46 <dsal> e.g.,
21:51:49 <dsal> @src iterate
21:51:49 <lambdabot> iterate f x = x : iterate f (f x)
21:52:03 <dsal> > iterate (* 3) 1
21:52:04 <lambdabot> [1,3,9,27,81,243,729,2187,6561,19683,59049,177147,531441,1594323,4782969,143...
21:52:41 <dsal> Your is a list of lists and that sometimes confuses people, but it's doing a thing that's similar to what iterate is doing above.
21:52:51 × ubert1 quits (~Thunderbi@p200300ecdf0ba2ca8fd37040f9dc92fe.dip0.t-ipconnect.de) (Remote host closed the connection)
21:53:19 <int-e> dsal: it's funny how foldMap' and >>= do the same thing here
21:53:29 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:e52b:eca6:e736:3c6b)
21:54:09 <dsal> int-e: Yeah, it's also funny how vertical my brain gets. I start thinking monoids and the idea of using a monad never occurs to me.
21:56:16 <dmj`> int-e: well I needed those cases with the insertWith approach too... https://github.com/dmjio/aoc2021/blob/master/6/Main.hs
21:56:56 <dsal> dmj`: Yeah, the point is that it's easier just to make a new map altogether on each iteration.
21:57:07 <dsal> Then you only ever add.
21:57:10 × pfurla_ quits (~pfurla@2804:14d:5c81:4104:91cd:1543:8918:bc14) (Quit: gone to sleep. ZZZzzz…)
21:57:12 <int-e> dmj`: yeah but why would you do step (IM.assocs m) m rather than step (IM.assocs m) IM.empty
21:57:13 <dsal> senoraraton: Did the above make sense?
21:58:55 justsomeguy joins (~justsomeg@user/justsomeguy)
21:58:59 <senoraraton> dsal: The recursive call makes sense now, I'm just trying to understand how the recursion terminates.
21:59:09 <dsal> senoraraton: It doesn't need to.
21:59:16 <dsal> Given the snippet you showed, it doesn't.
21:59:19 <dsal> iterate doesn't terminate.
21:59:48 burnsidesLlama joins (~burnsides@dhcp168-017.wadham.ox.ac.uk)
22:00:09 × jgeerds quits (~jgeerds@55d4ac73.access.ecotel.net) (Quit: Leaving)
22:02:02 ystael joins (~ystael@user/ystael)
22:02:55 <dmj`> int-e: oh wow, I didn't see that initially.
22:06:11 pfurla joins (~pfurla@2804:14d:5c81:4104:91cd:1543:8918:bc14)
22:06:13 × burnsidesLlama quits (~burnsides@dhcp168-017.wadham.ox.ac.uk) (Ping timeout: 252 seconds)
22:09:12 × lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection)
22:12:18 burnsidesLlama joins (~burnsides@dhcp168-017.wadham.ox.ac.uk)
22:13:54 × fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection)
22:15:58 <phaazon> AoC day 6p2 was fun :P
22:17:51 × pepeiborra quits (sid443799@ilkley.irccloud.com) (Ping timeout: 245 seconds)
22:18:07 <phaazon> now it’s time to see how jle` solved it :D
22:18:26 sagax joins (~sagax_nb@user/sagax)
22:18:41 × bbhoss quits (sid18216@tinside.irccloud.com) (Ping timeout: 245 seconds)
22:19:16 pepeiborra joins (sid443799@id-443799.ilkley.irccloud.com)
22:20:13 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
22:20:13 hskpractice joins (~hskpracti@94-255-217-215.cust.bredband2.com)
22:21:23 <int-e> phaazon: the amazing thing about part 2 is that some people struggle with it :) (I can speculate... I guess you might literally maintain a list of lanternfish, or you might stumble over the requirement to handle numbers larger than 32 bits (but not, I think, 64 bits)
22:22:16 bbhoss joins (sid18216@id-18216.tinside.irccloud.com)
22:22:30 azimut_ joins (~azimut@gateway/tor-sasl/azimut)
22:22:54 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 276 seconds)
22:23:54 myShoggoth joins (~myShoggot@97-120-85-195.ptld.qwest.net)
22:24:25 × hskpractice quits (~hskpracti@94-255-217-215.cust.bredband2.com) (Ping timeout: 256 seconds)
22:25:25 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
22:25:37 × curiousgay quits (~curiousga@77-120-141-90.kha.volia.net) (Ping timeout: 256 seconds)
22:25:51 <phaazon> int-e: oh it took me a couple of minutes
22:25:57 <phaazon> because I started with the wrong approach :)
22:26:07 <phaazon> and then I switched my approach and realized I didn’t even need a Vector :D
22:26:49 <phaazon> https://github.com/phaazon/advent-of-code-2021/blob/master/day06/src/main.rs
22:27:02 <phaazon> my first solution was more « verbatim » regarding the text of the puzzle :)
22:28:50 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
22:29:01 × Techcable quits (~Techcable@168.235.93.147) (Ping timeout: 256 seconds)
22:29:53 <int-e> phaazon: Yeah the C++-like vector is a list in this context :)
22:30:47 <phaazon> :)
22:31:09 <phaazon> but yeah I can totally understand why everybody is having fun with meme on reddit regarding this puzzle
22:31:14 <int-e> The example in the problem description was, of course, evil.
22:31:17 <phaazon> because my first approach was probably theirs :D
22:31:21 <phaazon> int-e: yeah
22:33:59 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
22:36:01 <Hecate> 'sup merijn :)
22:38:20 <dmj`> some people solved part 2 with a custom rotate on a linked list
22:38:38 <Franciman> my goal for the next week is trying to write this https://nullprogram.com/blog/2021/12/04/ in my language
22:38:55 pavonia joins (~user@user/siracusa)
22:39:07 <Franciman> this requires I implement SIMD primitives
22:39:12 <Franciman> that's going to be raad
22:39:45 lavaman joins (~lavaman@98.38.249.169)
22:40:49 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
22:43:49 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
22:44:00 × pfurla quits (~pfurla@2804:14d:5c81:4104:91cd:1543:8918:bc14) (Quit: gone to sleep. ZZZzzz…)
22:44:13 × slack1256 quits (~slack1256@191.125.99.210) (Ping timeout: 240 seconds)
22:45:05 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 252 seconds)
22:45:54 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
22:48:01 × kuribas quits (~user@ptr-25vy0i7z7uknhuz4b8c.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3))
22:49:35 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
22:51:01 InternetCitizen joins (~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net)
22:51:30 <senoraraton> https://termbin.com/wj9p
22:52:28 <senoraraton> So this is where I'm at. I take in two inputs, and I want to use those inputs for gridMaker. I have to convert the String types into Ints which the read does, but I get an error:
22:52:36 <monochrom> Did you forget to "w = read width"?
22:52:54 <senoraraton> Couldn't match type ‘[]’ with ‘IO’
22:53:17 <monochrom> Did you forget to "print (your formula here)"?
22:53:43 <geekosaur> did you forget to do something with the result of take …
22:54:04 <senoraraton> I don't intend to print it, at the moment, I just wanted to compile and then deal with what to do with it next.
22:54:12 lavaman joins (~lavaman@98.38.249.169)
22:54:20 <monochrom> Then comment it out?
22:54:43 <monochrom> Or write like "let foo = your formula here" and then go on to ignore foo?
22:54:54 <senoraraton> Sure. --->
22:55:04 <geekosaur> also having the definition of gridMaker between the type signature and implementation of main is confusing, even though it's legal
22:55:31 <senoraraton> https://termbin.com/0pxj
22:55:59 <senoraraton> I was getting errors when it was in the main=do so I moved it out, and it stopped the errors *shrug*
22:56:38 <monochrom> You know that putStrLn is good for strings only, don't you?
22:56:54 <monochrom> You also know that you're missing parentheses, don't you?
22:57:12 <juri_> oh neat, stack overflow!
22:57:35 <senoraraton> No, I knew neither of those things.
22:58:19 <Axman6> juri_: it's a pretty cool website, eh
22:58:40 <juri_> Axman6: what's it doing in my haskell? :)
22:59:01 <Axman6> solving your problems and banning your questions as duplicates, probably
22:59:07 <monochrom> The first is discoverable by either taking the docs seriously or from a simple ":type putStrLn".
22:59:42 <monochrom> The second is a logical conclusion of "you would write like `take h (gridMaker 1 w)`, not `take h gridMaker 1 w`"
23:01:39 <senoraraton> So like this -> https://termbin.com/5c4w I still get an error 'parse error on input 'h''
23:02:24 <monochrom> print (take h ( gridMaker 1 w))
23:04:00 <senoraraton> Ah ha, and now it all makes much more sense.
23:04:13 × learner-monad quits (~ehanneken@user/learner-monad) (Ping timeout: 240 seconds)
23:04:44 × michalz quits (~michalz@185.246.204.40) (Remote host closed the connection)
23:07:03 × emf quits (~emf@2620:10d:c090:400::5:6c88) (Read error: Connection reset by peer)
23:08:07 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
23:11:56 <oats> finally got around to doing AoC day 4 https://github.com/oatberry/aoc2021-haskell/blob/main/src/Day4.hs
23:12:01 <oats> lenses are fun
23:13:20 emf joins (~emf@2620:10d:c091:480::1:c2f8)
23:14:35 abrantesasf joins (~abrantesa@187.36.170.211)
23:16:56 × azimut_ quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
23:21:21 <dsal> oats: numP == Text.Megaparsec.Char.Lexer.decimal
23:21:53 <oats> oh neat, I didn't know about that module
23:22:21 <oats> I really want to get more familiar with lens
23:22:59 <oats> kinda scary though, so much terminology and scary-looking types
23:23:06 <dsal> Yeah, I spent a while getting familiar with parsers on these things. I don't do as much with lens.
23:23:45 × justsomeguy quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.3)
23:24:31 <Axman6> senoraraton: you can't use `'s like that, just use brackets: print (take h ( gridMaker 1 w))
23:25:08 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
23:25:39 <dsal> oats: I don't see anything particularly confusing in the lens stuff, though. I use .~ instead of set. heh
23:25:48 <Axman6> senoraraton: also, defining the type signature for main, then randomly sticking in the definition of an unrelated function, and then defining the implementation of maine is pretty odd
23:26:10 <dsal> Oh actually, I used lens in day4...
23:26:17 <oats> dsal, I don't love using too much infix lens stuff lol
23:26:42 <dsal> oats: I did this for detecting wins: https://www.irccloud.com/pastebin/qYCqiEaV/winners.hs
23:26:43 × max22- quits (~maxime@2a01cb08833598003eb627eec416786c.ipv6.abo.wanadoo.fr) (Quit: Leaving)
23:27:21 kennyd joins (~bc8165b6@cerf.good1.com)
23:27:24 <dsal> colFill and rowFill are counts of numbers at each row and column. When one hits zero, we have a winner.
23:27:59 <Axman6> senoraraton: also, you understand that gridmaker is going to make an infinite list right?
23:28:04 <oats> hmm, interesting
23:28:13 <Axman6> > let gridMaker n k = [ n .. n+k-1 ] : gridMaker (n+k) k in gridMaker 2 3
23:28:13 <dsal> -~ is nice there. :)
23:28:15 <lambdabot> [[2,3,4],[5,6,7],[8,9,10],[11,12,13],[14,15,16],[17,18,19],[20,21,22],[23,24...
23:28:17 <oats> dsal, is your whole soln up anywhere?
23:28:33 <dsal> Not at the moment. Just have my repo in keybase right now. I'll paste it.
23:28:37 <Axman6> oh you use take as well, all good
23:29:02 <dsal> oats: This is my whole day 4. https://www.irccloud.com/pastebin/wNWecKmJ/day4.hs
23:29:46 × xkuru quits (~xkuru@user/xkuru) (Read error: Connection reset by peer)
23:29:52 <oats> dsal, I like the way you represent boards, probably more performant than mine
23:29:55 <dsal> The parser is a bit lame in that it doesn't detect the board size, I just tell it.
23:30:19 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 265 seconds)
23:30:30 <dsal> The numbers in the board are the sequence of numbers being called. So you an solve each one independently, and then use the map to figure out what the actual called numbers are.
23:32:07 bontaq parts (~user@ool-45779fe5.dyn.optonline.net) (ERC (IRC client for Emacs 27.1))
23:32:12 <dsal> They're also in order of call. I did some heavy lifting in the parser.
23:32:35 bontaq joins (~user@ool-45779fe5.dyn.optonline.net)
23:33:29 <dsal> I run benchmarks with one of the larger inputs, but you can see where I put the effort: https://s3.amazonaws.com/public.west.spy.net/tmp/bench-day4.html
23:33:42 × Gurkenglas quits (~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 265 seconds)
23:36:35 <oats> I don't love my `findBoard` function, wish there were a nicer way of doing that
23:40:43 <dsal> Yeah, I don't quite understand what you're going for there. I just did all of them. Then you could use a monoid or minimum/maximum or similar.
23:42:42 <dsal> @hoogle Last
23:42:43 <lambdabot> Data.Monoid newtype Last a
23:42:43 <lambdabot> Data.Monoid Last :: Maybe a -> Last a
23:42:43 <lambdabot> Data.Semigroup newtype Last a
23:44:08 azimut joins (~azimut@gateway/tor-sasl/azimut)
23:44:59 × lbseale quits (~ep1ctetus@user/ep1ctetus) (Quit: Leaving)
23:45:23 <EvanR> cool the fish thing if taken as a matrix turns into pascals triangles
23:45:34 <EvanR> day 6
23:46:16 <EvanR> also if coded with loop unrolling i got to day trillion lol
23:47:09 <dsal> Somebody did 10^18. That's apparently a large number.
23:48:12 <dsal> oats: try either First/Min or Last/Max
23:49:15 <oats> dsal: the way I did it, playBingo can calculate out the whole game, and then I wanted a generic way that I could use for part 1 and 2 that will find a board in a round with some criteria
23:49:29 <oats> That's what findBoard is doing
23:50:34 <dsal> Yeah, I see. It's basically Last.
23:50:50 <oats> Hmm, I'll take a look at those in a second, interesting
23:51:01 <oats> Hadn't thought Monoid might be useful
23:51:15 × dhouthoo quits (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.3)
23:51:17 abraham parts (~abraham@143.244.185.86) (The Lounge - https://thelounge.chat)
23:51:37 <dsal> my part 1 is minimum and my part 2 is maximum, but I could also use foldMap or something to implement winners and have it monoidify the thing for me.
23:52:57 <dsal> Something like `winners :: Monoid m => Input -> ((Int, Int) -> m) -> m`
23:55:19 <dsal> Actually, switch the first two arguments. Now my part1, 2, and big run are all basically the same.
23:58:09 pfurla joins (~pfurla@2804:14d:5c81:4104:91cd:1543:8918:bc14)
23:59:16 <dsal> oats: This way, `winners` doesn't make/return a list. Just the thing I'm interested in. https://www.irccloud.com/pastebin/qIkpC0Gr/winning.hs
23:59:53 × darchitect quits (~darchitec@2a00:23c6:3584:df00:7dec:bf13:8fa:748c) (Ping timeout: 252 seconds)
23:59:54 <dsal> In the 'biggun' case, that's both the min *and* the max because I just have it do parts 1 and 2 in one pass.

All times are in UTC on 2021-12-06.