2024/02/13

2024-02-13 00:05:53 +0100acidjnk_new3(~acidjnk@p5dd87f44.dip0.t-ipconnect.de)
2024-02-13 00:08:13 +0100acidjnk_new(~acidjnk@p200300d6e737e782e5c367a16a93f510.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
2024-02-13 00:14:41 +0100machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net)
2024-02-13 00:23:43 +0100whatsupdoc(uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2024-02-13 00:23:56 +0100__monty__(~toonn@user/toonn) (Quit: leaving)
2024-02-13 00:28:51 +0100szkl(uid110435@id-110435.uxbridge.irccloud.com)
2024-02-13 00:32:38 +0100hamster(~ham@user/ham) (Quit: WeeChat 3.5)
2024-02-13 00:39:34 +0100Tuplanolla(~Tuplanoll@91-159-68-95.elisa-laajakaista.fi) (Quit: Leaving.)
2024-02-13 00:43:03 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2024-02-13 00:54:11 +0100Sgeo(~Sgeo@user/sgeo)
2024-02-13 01:00:05 +0100LukeHoersten(~LukeHoers@user/lukehoersten)
2024-02-13 01:03:31 +0100cheater(~Username@user/cheater)
2024-02-13 01:06:52 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com)
2024-02-13 01:07:41 +0100vulpine(~xfnw@tilde.team) (Ping timeout: 260 seconds)
2024-02-13 01:08:08 +0100remmie(ianremsen@198.50.210.248) (Ping timeout: 268 seconds)
2024-02-13 01:08:13 +0100Midjak(~MarciZ@82.66.147.146) (Quit: This computer has gone to sleep)
2024-02-13 01:09:52 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2024-02-13 01:10:28 +0100chexum(~quassel@gateway/tor-sasl/chexum)
2024-02-13 01:10:42 +0100califax(~califax@user/califx) (Remote host closed the connection)
2024-02-13 01:11:08 +0100califax(~califax@user/califx)
2024-02-13 01:12:14 +0100LukeHoersten(~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2024-02-13 01:13:46 +0100LukeHoersten(~LukeHoers@user/lukehoersten)
2024-02-13 01:19:46 +0100LukeHoersten(~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2024-02-13 01:22:18 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2024-02-13 01:37:14 +0100dibblego(~dibblego@haskell/developer/dibblego)
2024-02-13 01:44:06 +0100dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 255 seconds)
2024-02-13 01:46:16 +0100tri_(~tri@172.59.9.246) (Remote host closed the connection)
2024-02-13 01:48:55 +0100dibblego(~dibblego@haskell/developer/dibblego)
2024-02-13 01:49:19 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net)
2024-02-13 01:51:55 +0100vulpine(xfnw@tilde.team)
2024-02-13 01:53:59 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 264 seconds)
2024-02-13 01:57:45 +0100mrmr155334(~mrmr@user/mrmr) (Read error: Connection reset by peer)
2024-02-13 02:05:00 +0100remmie(ianremsen@tilde.team)
2024-02-13 02:15:11 +0100califax(~califax@user/califx) (Ping timeout: 255 seconds)
2024-02-13 02:15:24 +0100califax_(~califax@user/califx)
2024-02-13 02:16:40 +0100califax_califax
2024-02-13 02:20:33 +0100foul_owl(~kerry@185.219.141.164) (Ping timeout: 256 seconds)
2024-02-13 02:23:57 +0100jmdaemon(~jmdaemon@user/jmdaemon)
2024-02-13 02:25:08 +0100ec(~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
2024-02-13 02:25:33 +0100ec(~ec@gateway/tor-sasl/ec)
2024-02-13 02:25:55 +0100Hooloovoo(~Hooloovoo@hax0rbana.org) (Quit: ZNC 1.8.2+deb2+b1 - https://znc.in)
2024-02-13 02:29:42 +0100TonyStone(~TonyStone@074-076-057-186.res.spectrum.com) (Quit: Leaving)
2024-02-13 02:30:07 +0100Hooloovoo(~Hooloovoo@hax0rbana.org)
2024-02-13 02:32:39 +0100Sciencentistguy0(~sciencent@hacksoc/ordinary-member)
2024-02-13 02:33:12 +0100eL_Bart0-(eL_Bart0@dietunichtguten.org)
2024-02-13 02:33:55 +0100dispater-(~dispater@mail.brprice.uk)
2024-02-13 02:34:28 +0100ridcully_(~ridcully@p508ac914.dip0.t-ipconnect.de)
2024-02-13 02:34:31 +0100tomboy64(~tomboy64@user/tomboy64) (Ping timeout: 255 seconds)
2024-02-13 02:34:58 +0100foul_owl(~kerry@174-21-148-34.tukw.qwest.net)
2024-02-13 02:35:10 +0100driib3(~driib@vmi931078.contaboserver.net)
2024-02-13 02:35:43 +0100srk_(~sorki@user/srk)
2024-02-13 02:35:45 +0100simpleauthority_(~simpleaut@user/simpleauthority)
2024-02-13 02:35:47 +0100roosterphant_(~roosterph@idlerpg/player/roosterphant)
2024-02-13 02:35:53 +0100k_hachig(~k_hachig@2607:fea8:351d:ef0:88b5:6a7a:debb:86f7)
2024-02-13 02:36:04 +0100xff0x_(~xff0x@2405:6580:b080:900:f63f:9232:e534:15f0)
2024-02-13 02:36:04 +0100dobblego(~dibblego@116-255-1-119.ip4.superloop.au)
2024-02-13 02:36:04 +0100dontdieych_(~alarm@132.226.169.184)
2024-02-13 02:36:04 +0100dobblego(~dibblego@116-255-1-119.ip4.superloop.au) (Changing host)
2024-02-13 02:36:04 +0100dobblego(~dibblego@haskell/developer/dibblego)
2024-02-13 02:36:05 +0100aku_(~aku@65.108.245.241)
2024-02-13 02:36:06 +0100beanmachine(bm380@pip.srcf.societies.cam.ac.uk)
2024-02-13 02:36:06 +0100mzg_(mzg@lazy.unconscious.biz)
2024-02-13 02:36:07 +0100myxokephale(~myxos@065-028-251-121.inf.spectrum.com)
2024-02-13 02:36:09 +0100eugenrh_(~eugenrh@2a01:4f9:c011:265::1)
2024-02-13 02:36:15 +0100czy`(~user@117.63.127.239)
2024-02-13 02:36:18 +0100mauke_(~mauke@user/mauke)
2024-02-13 02:36:18 +0100mjacob_(~mjacob@adrastea.uberspace.de)
2024-02-13 02:36:22 +0100leeb-(~leeb@tk2-243-31079.vs.sakura.ne.jp)
2024-02-13 02:36:26 +0100jjhoo_(jahakala@user/jjhoo)
2024-02-13 02:36:44 +0100exarkun_(~exarkun@user/exarkun)
2024-02-13 02:36:47 +0100Hoolootwo(~Hooloovoo@hax0rbana.org)
2024-02-13 02:37:40 +0100hueso_(~root@user/hueso)
2024-02-13 02:37:44 +0100Batzy_(~quassel@user/batzy)
2024-02-13 02:37:45 +0100nitrix_(~nitrix@user/nitrix)
2024-02-13 02:37:58 +0100Natch|(~natch@c-9e07225c.038-60-73746f7.bbcust.telenor.se)
2024-02-13 02:38:44 +0100Maxdaman1us(~Maxdamant@user/maxdamantus)
2024-02-13 02:40:24 +0100eL_Bart0(eL_Bart0@dietunichtguten.org) (Ping timeout: 264 seconds)
2024-02-13 02:40:24 +0100Adran(~adran@botters/adran) (Ping timeout: 264 seconds)
2024-02-13 02:40:24 +0100leeb(~leeb@tk2-243-31079.vs.sakura.ne.jp) (Ping timeout: 264 seconds)
2024-02-13 02:40:24 +0100myxos(~myxos@065-028-251-121.inf.spectrum.com) (Ping timeout: 264 seconds)
2024-02-13 02:40:24 +0100dispater(~dispater@mail.brprice.uk) (Ping timeout: 264 seconds)
2024-02-13 02:40:24 +0100flocks_(~flocks@134.122.90.60) (Ping timeout: 264 seconds)
2024-02-13 02:40:24 +0100Raito_Bezarius(~Raito@wireguard/tunneler/raito-bezarius) (Ping timeout: 264 seconds)
2024-02-13 02:40:24 +0100leeb-leeb
2024-02-13 02:40:24 +0100echoreply(~echoreply@45.32.163.16) (Ping timeout: 264 seconds)
2024-02-13 02:40:24 +0100greenbagels(~gb@user/greenbagels) (Ping timeout: 264 seconds)
2024-02-13 02:40:24 +0100dontdieych(~alarm@132.226.169.184) (Ping timeout: 264 seconds)
2024-02-13 02:40:24 +0100Hooloovoo(~Hooloovoo@hax0rbana.org) (Ping timeout: 264 seconds)
2024-02-13 02:40:24 +0100dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 264 seconds)
2024-02-13 02:40:24 +0100xff0x(~xff0x@ai099196.d.east.v6connect.net) (Ping timeout: 264 seconds)
2024-02-13 02:40:24 +0100Maxdamantus(~Maxdamant@user/maxdamantus) (Ping timeout: 264 seconds)
2024-02-13 02:40:24 +0100driib(~driib@vmi931078.contaboserver.net) (Ping timeout: 264 seconds)
2024-02-13 02:40:25 +0100Natch(~natch@c-9e07225c.038-60-73746f7.bbcust.telenor.se) (Ping timeout: 264 seconds)
2024-02-13 02:40:25 +0100Sciencentistguy(~sciencent@hacksoc/ordinary-member) (Ping timeout: 264 seconds)
2024-02-13 02:40:25 +0100czy(~user@117.63.127.239) (Ping timeout: 264 seconds)
2024-02-13 02:40:25 +0100nitrix(~nitrix@user/nitrix) (Ping timeout: 264 seconds)
2024-02-13 02:40:25 +0100exarkun(~exarkun@user/exarkun) (Ping timeout: 264 seconds)
2024-02-13 02:40:25 +0100hueso(~root@user/hueso) (Ping timeout: 264 seconds)
2024-02-13 02:40:25 +0100ridcully(~ridcully@p508ac914.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
2024-02-13 02:40:25 +0100eugenrh(~eugenrh@static.20.60.21.65.clients.your-server.de) (Ping timeout: 264 seconds)
2024-02-13 02:40:25 +0100mjacob(~mjacob@adrastea.uberspace.de) (Ping timeout: 264 seconds)
2024-02-13 02:40:25 +0100Batzy(~quassel@user/batzy) (Ping timeout: 264 seconds)
2024-02-13 02:40:25 +0100aku(~aku@65.108.245.241) (Ping timeout: 264 seconds)
2024-02-13 02:40:25 +0100jjhoo(~jahakala@user/jjhoo) (Ping timeout: 264 seconds)
2024-02-13 02:40:25 +0100simpleauthority(~simpleaut@user/simpleauthority) (Ping timeout: 264 seconds)
2024-02-13 02:40:25 +0100roosterphant(~roosterph@idlerpg/player/roosterphant) (Ping timeout: 264 seconds)
2024-02-13 02:40:25 +0100Igloo(~ian@matrix.chaos.earth.li) (Ping timeout: 264 seconds)
2024-02-13 02:40:25 +0100mauke(~mauke@user/mauke) (Ping timeout: 264 seconds)
2024-02-13 02:40:25 +0100srk(~sorki@user/srk) (Ping timeout: 264 seconds)
2024-02-13 02:40:25 +0100koolazer(~koo@user/koolazer) (Ping timeout: 264 seconds)
2024-02-13 02:40:25 +0100mzg(mzg@lazy.unconscious.biz) (Ping timeout: 264 seconds)
2024-02-13 02:40:25 +0100benmachine(bm380@pip.srcf.societies.cam.ac.uk) (Ping timeout: 264 seconds)
2024-02-13 02:40:25 +0100driib3driib
2024-02-13 02:40:25 +0100dobblegodibblego
2024-02-13 02:40:25 +0100Sciencentistguy0Sciencentistguy
2024-02-13 02:40:26 +0100mauke_mauke
2024-02-13 02:40:26 +0100srk_srk
2024-02-13 02:40:26 +0100simpleauthority_simpleauthority
2024-02-13 02:40:30 +0100Natch|Natch
2024-02-13 02:40:30 +0100nitrix_nitrix
2024-02-13 02:41:00 +0100flocks(~flocks@134.122.90.60)
2024-02-13 02:41:05 +0100Igloo(~ian@2001:8b0:645c::210)
2024-02-13 02:41:11 +0100koolazer(~koo@user/koolazer)
2024-02-13 02:44:30 +0100Adran(~adran@botters/adran)
2024-02-13 02:45:03 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 256 seconds)
2024-02-13 02:45:13 +0100shailangsa(~shailangs@host109-152-9-157.range109-152.btcentralplus.com)
2024-02-13 02:47:10 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2024-02-13 02:47:53 +0100tomboy64(~tomboy64@user/tomboy64)
2024-02-13 02:48:00 +0100Lycurgus(~georg@user/Lycurgus)
2024-02-13 02:48:10 +0100echoreply(~echoreply@2001:19f0:9002:1f3b:5400:ff:fe6f:8b8d)
2024-02-13 02:48:26 +0100Raito_Bezarius(~Raito@wireguard/tunneler/raito-bezarius)
2024-02-13 02:56:34 +0100HoolootwoHooloovoo
2024-02-13 03:14:26 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 256 seconds)
2024-02-13 03:16:05 +0100otto_s(~user@p5b044082.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
2024-02-13 03:17:29 +0100otto_s(~user@p4ff27c98.dip0.t-ipconnect.de)
2024-02-13 03:19:19 +0100d0liver(~d0liver@ip70-191-97-164.tu.ok.cox.net)
2024-02-13 03:20:09 +0100bilegeek(~bilegeek@2600:1008:b057:3739:dd8b:4851:4b80:631b)
2024-02-13 03:32:00 +0100mrmr155334(~mrmr@user/mrmr)
2024-02-13 03:38:19 +0100jespada(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Ping timeout: 246 seconds)
2024-02-13 03:40:50 +0100jespada(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net)
2024-02-13 03:45:14 +0100roosterphant_roosterphant
2024-02-13 04:01:58 +0100dsrt^(~cd@c-98-242-74-66.hsd1.ga.comcast.net) (Remote host closed the connection)
2024-02-13 04:04:57 +0100xff0x_(~xff0x@2405:6580:b080:900:f63f:9232:e534:15f0) (Ping timeout: 255 seconds)
2024-02-13 04:05:40 +0100xff0x(~xff0x@2405:6580:b080:900:1d6a:1ca0:6d55:1501)
2024-02-13 04:09:30 +0100iteratee_(~kyle@162.218.222.207)
2024-02-13 04:09:30 +0100iteratee(~kyle@162.218.222.207) (Read error: Connection reset by peer)
2024-02-13 04:23:07 +0100xff0x(~xff0x@2405:6580:b080:900:1d6a:1ca0:6d55:1501) (Ping timeout: 246 seconds)
2024-02-13 04:24:04 +0100xff0x(~xff0x@2405:6580:b080:900:1873:af:349f:f9a5)
2024-02-13 04:27:00 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 255 seconds)
2024-02-13 04:28:38 +0100iteratee(~kyle@162.218.222.207)
2024-02-13 04:28:38 +0100iteratee_(~kyle@162.218.222.207) (Read error: Connection reset by peer)
2024-02-13 04:30:28 +0100roosterphant(~roosterph@idlerpg/player/roosterphant) (Killed (NickServ (GHOST command used by roosterphant_)))
2024-02-13 04:31:05 +0100td_(~td@i53870937.versanet.de) (Ping timeout: 252 seconds)
2024-02-13 04:31:24 +0100roosterphant_(~roosterph@idlerpg/player/roosterphant)
2024-02-13 04:32:45 +0100td_(~td@i5387092A.versanet.de)
2024-02-13 04:41:15 +0100roosterphant_roosterphant
2024-02-13 04:45:25 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Quit: ChaiTRex)
2024-02-13 04:46:18 +0100whatsupdoc(uid509081@id-509081.hampstead.irccloud.com)
2024-02-13 04:47:53 +0100roosterphantroosterphantt
2024-02-13 04:47:57 +0100roosterphanttroosterphant
2024-02-13 04:51:43 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-02-13 04:52:44 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-02-13 04:53:46 +0100roosterphant(~roosterph@idlerpg/player/roosterphant) (Remote host closed the connection)
2024-02-13 04:54:07 +0100roosterphant(~roosterph@idlerpg/player/roosterphant)
2024-02-13 04:54:44 +0100mulk(~mulk@pd9514245.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2024-02-13 04:55:22 +0100Hooloovoo(~Hooloovoo@hax0rbana.org) (Quit: ZNC 1.8.2+deb2+b1 - https://znc.in)
2024-02-13 04:55:43 +0100Square3(~Square4@user/square) (Ping timeout: 260 seconds)
2024-02-13 04:55:50 +0100mulk(~mulk@p5b2dc076.dip0.t-ipconnect.de)
2024-02-13 04:56:05 +0100Hooloovoo(~Hooloovoo@hax0rbana.org)
2024-02-13 05:00:57 +0100ChaiTRex(~ChaiTRex@user/chaitrex)
2024-02-13 05:04:17 +0100Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
2024-02-13 05:10:50 +0100roosterphant(~roosterph@idlerpg/player/roosterphant) (Quit: Bye)
2024-02-13 05:11:32 +0100roosterphant(~roosterph@185.21.217.76)
2024-02-13 05:11:32 +0100roosterphant(~roosterph@185.21.217.76) (Changing host)
2024-02-13 05:11:32 +0100roosterphant(~roosterph@idlerpg/player/roosterphant)
2024-02-13 05:14:13 +0100roosterphant(~roosterph@idlerpg/player/roosterphant) (Remote host closed the connection)
2024-02-13 05:14:24 +0100Hooloovoo(~Hooloovoo@hax0rbana.org) (Quit: ZNC 1.8.2+deb2+b1 - https://znc.in)
2024-02-13 05:14:48 +0100roosterphant(~roosterph@185.21.217.76)
2024-02-13 05:14:48 +0100roosterphant(~roosterph@185.21.217.76) (Changing host)
2024-02-13 05:14:48 +0100roosterphant(~roosterph@idlerpg/player/roosterphant)
2024-02-13 05:17:04 +0100Hooloovoo(~Hooloovoo@hax0rbana.org)
2024-02-13 05:29:21 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2024-02-13 05:29:25 +0100roosterphant(~roosterph@idlerpg/player/roosterphant) (Quit: Bye)
2024-02-13 05:29:40 +0100Sgeo(~Sgeo@user/sgeo)
2024-02-13 05:29:46 +0100roosterphant(~roosterph@idlerpg/player/roosterphant)
2024-02-13 05:32:15 +0100flocks(~flocks@134.122.90.60) (Ping timeout: 255 seconds)
2024-02-13 05:33:01 +0100flocks(~flocks@134.122.90.60)
2024-02-13 05:33:36 +0100eugenrh_(~eugenrh@2a01:4f9:c011:265::1) (Ping timeout: 255 seconds)
2024-02-13 05:33:36 +0100gentauro(~gentauro@user/gentauro) (Ping timeout: 255 seconds)
2024-02-13 05:33:54 +0100eugenrh_(~eugenrh@2a01:4f9:c011:265::1)
2024-02-13 05:34:02 +0100roosterphant(~roosterph@idlerpg/player/roosterphant) (Read error: Connection reset by peer)
2024-02-13 05:34:03 +0100tomboy64(~tomboy64@user/tomboy64) (Ping timeout: 255 seconds)
2024-02-13 05:34:03 +0100koolazer(~koo@user/koolazer) (Ping timeout: 255 seconds)
2024-02-13 05:34:24 +0100koolazer(~koo@user/koolazer)
2024-02-13 05:35:36 +0100gentauro(~gentauro@user/gentauro)
2024-02-13 05:35:44 +0100jargon(~jargon@157.sub-174-205-162.myvzw.com) (Remote host closed the connection)
2024-02-13 05:36:18 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 255 seconds)
2024-02-13 05:37:14 +0100foul_owl(~kerry@174-21-148-34.tukw.qwest.net) (Ping timeout: 256 seconds)
2024-02-13 05:37:36 +0100roosterphant(~roosterph@idlerpg/player/roosterphant)
2024-02-13 05:44:25 +0100aforemny_(~aforemny@i59F516EF.versanet.de)
2024-02-13 05:45:49 +0100aforemny(~aforemny@i59F516D4.versanet.de) (Ping timeout: 256 seconds)
2024-02-13 05:47:34 +0100tomboy64(~tomboy64@user/tomboy64)
2024-02-13 05:48:04 +0100roosterphant(~roosterph@idlerpg/player/roosterphant) (Remote host closed the connection)
2024-02-13 05:51:28 +0100foul_owl(~kerry@157.97.134.168)
2024-02-13 06:02:24 +0100machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 255 seconds)
2024-02-13 06:06:09 +0100pavonia(~user@user/siracusa) (Quit: Bye!)
2024-02-13 06:07:42 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com)
2024-02-13 06:08:18 +0100michalz(~michalz@185.246.207.221)
2024-02-13 06:10:29 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net)
2024-02-13 06:11:25 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection)
2024-02-13 06:11:41 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net)
2024-02-13 06:20:47 +0100 <jackdk> Lens question: I seek to write a function with the following type: `makeMap :: (Applicative f) => (a -> f b) -> Set a -> f (Map a b)`. I can almost do it with `lens`: `makeMap f = toMapOf (folded . selfIndex . _)` but I can't find an applicative variant of `to`. Is there one, or am I doomed?
2024-02-13 06:22:28 +0100 <jackdk> (A non-lens solution: `makeMap f = sequenceA . Map.fromSet f`, but I've been nerd-sniped)
2024-02-13 06:30:20 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds)
2024-02-13 06:31:34 +0100k_hachig(~k_hachig@2607:fea8:351d:ef0:88b5:6a7a:debb:86f7) (Ping timeout: 260 seconds)
2024-02-13 06:32:37 +0100igemnace(~ian@user/igemnace)
2024-02-13 06:33:34 +0100michalz(~michalz@185.246.207.221) (Quit: ZNC 1.8.2 - https://znc.in)
2024-02-13 06:36:22 +0100michalz(~michalz@185.246.207.200)
2024-02-13 06:41:17 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 272 seconds)
2024-02-13 06:53:37 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-02-13 06:56:55 +0100Maxdaman1usMaxdamantus
2024-02-13 06:59:23 +0100benjaminl(~benjaminl@user/benjaminl)
2024-02-13 07:02:30 +0100zetef(~quassel@95.77.17.251)
2024-02-13 07:02:49 +0100_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2024-02-13 07:04:11 +0100mulk(~mulk@p5b2dc076.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
2024-02-13 07:04:45 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-02-13 07:15:20 +0100mulk(~mulk@p5b112c60.dip0.t-ipconnect.de)
2024-02-13 07:15:51 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection)
2024-02-13 07:16:49 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net)
2024-02-13 07:18:10 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection)
2024-02-13 07:18:23 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net)
2024-02-13 07:21:10 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-02-13 07:21:51 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-02-13 07:22:49 +0100zetef(~quassel@95.77.17.251) (Remote host closed the connection)
2024-02-13 07:25:35 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection)
2024-02-13 07:35:58 +0100peterbecich(~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 264 seconds)
2024-02-13 07:47:52 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 246 seconds)
2024-02-13 07:48:02 +0100euleritian(~euleritia@dynamic-176-006-198-167.176.6.pool.telefonica.de)
2024-02-13 07:52:41 +0100RaspbellySwirl(~Raspbelly@host-213-235-142-6.ip.topnet.cz)
2024-02-13 08:22:12 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2024-02-13 08:23:01 +0100euleritian(~euleritia@dynamic-176-006-198-167.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-02-13 08:23:18 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-02-13 08:23:45 +0100zetef(~quassel@95.77.17.251)
2024-02-13 08:33:09 +0100zetef(~quassel@95.77.17.251) (Remote host closed the connection)
2024-02-13 08:39:01 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-02-13 08:45:47 +0100lottaquestions(~nick@2607:fa49:503d:b200:d22b:7da7:bae:91de) (Ping timeout: 260 seconds)
2024-02-13 08:49:33 +0100ft(~ft@p508db2e6.dip0.t-ipconnect.de) (Quit: leaving)
2024-02-13 08:59:22 +0100lottaquestions(~nick@2607:fa49:503d:b200:3407:5975:bc8d:f2ea)
2024-02-13 09:08:47 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2024-02-13 09:10:18 +0100gmg(~user@user/gehmehgeh)
2024-02-13 09:13:04 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
2024-02-13 09:18:56 +0100danse-nr3(~danse@151.43.157.6)
2024-02-13 09:22:01 +0100danse-nr3(~danse@151.43.157.6) (Remote host closed the connection)
2024-02-13 09:22:24 +0100danse-nr3(~danse@151.43.157.6)
2024-02-13 09:22:53 +0100bilegeek(~bilegeek@2600:1008:b057:3739:dd8b:4851:4b80:631b) (Quit: Leaving)
2024-02-13 09:23:40 +0100coot(~coot@89-69-206-216.dynamic.chello.pl)
2024-02-13 09:23:47 +0100coot(~coot@89-69-206-216.dynamic.chello.pl) (Remote host closed the connection)
2024-02-13 09:23:58 +0100coot(~coot@89-69-206-216.dynamic.chello.pl)
2024-02-13 09:24:05 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2024-02-13 09:27:21 +0100 <Axman6> jackdk: that looks like one of the cases where you can passed directly to the lens; one of the several functions in lens which are defined as id
2024-02-13 09:31:40 +0100pruiz(~user@user/pruiz)
2024-02-13 09:32:15 +0100mei(~mei@user/mei)
2024-02-13 09:34:23 +0100CiaoSen(~Jura@2a05:5800:2ab:ac00:e6b9:7aff:fe80:3d03)
2024-02-13 09:42:01 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-02-13 09:44:26 +0100Midjak(~MarciZ@82.66.147.146)
2024-02-13 09:53:56 +0100machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net)
2024-02-13 09:56:46 +0100jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 256 seconds)
2024-02-13 10:13:35 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 268 seconds)
2024-02-13 10:14:05 +0100cheater(~Username@user/cheater) (Remote host closed the connection)
2024-02-13 10:14:08 +0100euleritian(~euleritia@dynamic-176-006-198-167.176.6.pool.telefonica.de)
2024-02-13 10:14:28 +0100tzh(~tzh@c-71-193-181-0.hsd1.or.comcast.net) (Quit: zzz)
2024-02-13 10:14:43 +0100chele(~chele@user/chele)
2024-02-13 10:16:05 +0100euleritian(~euleritia@dynamic-176-006-198-167.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-02-13 10:16:29 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-02-13 10:17:05 +0100yoo(~yo0O0o@130.105.134.210)
2024-02-13 10:17:42 +0100yoo(~yo0O0o@130.105.134.210) (Remote host closed the connection)
2024-02-13 10:29:29 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2024-02-13 10:32:39 +0100 <ncf> you don't need an applicative version of to, you need an applicative version of toMapOf
2024-02-13 10:33:38 +0100danse-nr3(~danse@151.43.157.6) (Read error: Connection reset by peer)
2024-02-13 10:34:36 +0100danse-nr3(~danse@151.57.190.101)
2024-02-13 10:35:44 +0100motherfsck(~motherfsc@user/motherfsck) (Ping timeout: 252 seconds)
2024-02-13 10:46:34 +0100sroso(~sroso@user/SrOso)
2024-02-13 10:48:12 +0100mei(~mei@user/mei) (Remote host closed the connection)
2024-02-13 10:48:35 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 264 seconds)
2024-02-13 10:49:26 +0100euleritian(~euleritia@dynamic-176-006-198-167.176.6.pool.telefonica.de)
2024-02-13 10:50:35 +0100mei(~mei@user/mei)
2024-02-13 10:54:43 +0100Sciencentistguy(~sciencent@hacksoc/ordinary-member) (Quit: o/)
2024-02-13 10:55:01 +0100Sciencentistguy(~sciencent@hacksoc/ordinary-member)
2024-02-13 10:55:05 +0100drdo0(~drdo@bl14-14-49.dsl.telepac.pt)
2024-02-13 10:55:13 +0100ubert(~Thunderbi@2a02:8109:ab8a:5a00:2634:f071:f667:7b20)
2024-02-13 10:55:22 +0100drdo(~drdo@bl14-14-49.dsl.telepac.pt) (Ping timeout: 255 seconds)
2024-02-13 10:55:22 +0100drdo0drdo
2024-02-13 10:55:45 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-02-13 10:56:32 +0100Sciencentistguy(~sciencent@hacksoc/ordinary-member) (Client Quit)
2024-02-13 10:56:50 +0100Sciencentistguy(~sciencent@hacksoc/ordinary-member)
2024-02-13 11:14:51 +0100rscastilho2024(rscastilho@189.61.140.215)
2024-02-13 11:15:20 +0100rscastilho2024(rscastilho@189.61.140.215) (Remote host closed the connection)
2024-02-13 11:17:12 +0100fendor(~fendor@2a02:8388:1605:d100:267b:1353:13d7:4f0c)
2024-02-13 11:35:39 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 260 seconds)
2024-02-13 11:35:54 +0100xff0x(~xff0x@2405:6580:b080:900:1873:af:349f:f9a5) (Ping timeout: 268 seconds)
2024-02-13 11:36:18 +0100xff0x(~xff0x@2405:6580:b080:900:7a4b:a416:79a8:9252)
2024-02-13 11:37:01 +0100mima(~mmh@wifi-eduroam-84-150.paris.inria.fr)
2024-02-13 11:41:17 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
2024-02-13 11:41:58 +0100__monty__(~toonn@user/toonn)
2024-02-13 11:45:22 +0100mima(~mmh@wifi-eduroam-84-150.paris.inria.fr) ()
2024-02-13 11:49:39 +0100CiaoSen(~Jura@2a05:5800:2ab:ac00:e6b9:7aff:fe80:3d03) (Ping timeout: 260 seconds)
2024-02-13 11:57:13 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2024-02-13 11:57:41 +0100flounders(~flounders@24.246.176.178) (Ping timeout: 240 seconds)
2024-02-13 11:57:51 +0100L29Ah(~L29Ah@wikipedia/L29Ah) ()
2024-02-13 12:08:42 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 255 seconds)
2024-02-13 12:14:06 +0100sroso(~sroso@user/SrOso) (Quit: Leaving :))
2024-02-13 12:19:18 +0100 <haskellbridge> <m​aralorn> I have newly enabled a bunch of extensions in an old code base. GHC got a bit more picky about Kind inference. There are a few places were I now need a (a :: Type) annotation. I assume because GHC is infering a too general kind. Does anyone know which extension does that?
2024-02-13 12:20:12 +0100motherfsck(~motherfsc@user/motherfsck)
2024-02-13 12:20:13 +0100yoo(~yo0O0o@104.28.226.105)
2024-02-13 12:21:05 +0100 <[Leary]> maralorn: PolyKinds, presumably.
2024-02-13 12:25:48 +0100motherfsck(~motherfsc@user/motherfsck) (Ping timeout: 255 seconds)
2024-02-13 12:26:38 +0100 <haskellbridge> <m​aralorn> [Leary]: Thank you, makes sense!
2024-02-13 12:28:26 +0100motherfsck(~motherfsc@user/motherfsck)
2024-02-13 12:29:20 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
2024-02-13 12:34:18 +0100yooo(~yo0O0o@104.28.226.106)
2024-02-13 12:35:43 +0100poscat(~poscat@user/poscat) (Ping timeout: 255 seconds)
2024-02-13 12:35:55 +0100yoo(~yo0O0o@104.28.226.105) (Ping timeout: 246 seconds)
2024-02-13 12:37:16 +0100pruiz(~user@user/pruiz) (ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.1))
2024-02-13 12:41:59 +0100yooo(~yo0O0o@104.28.226.106) (Ping timeout: 264 seconds)
2024-02-13 12:42:02 +0100yoo(~yo0O0o@104.28.226.106)
2024-02-13 12:44:49 +0100motherfsck(~motherfsc@user/motherfsck) (Ping timeout: 264 seconds)
2024-02-13 12:45:34 +0100 <haskellbridge> <J​ade> This might be stupid, but why is `NaN` not a constructor of `Double`
2024-02-13 12:45:48 +0100 <haskellbridge> <J​ade> you have to use `0/0` which "gets" you that value
2024-02-13 12:49:37 +0100cheater(~Username@user/cheater)
2024-02-13 12:50:05 +0100yooo(~yo0O0o@104.28.226.106)
2024-02-13 12:50:18 +0100flounders(~flounders@24.246.176.178)
2024-02-13 12:51:49 +0100yoo(~yo0O0o@104.28.226.106) (Ping timeout: 256 seconds)
2024-02-13 12:52:03 +0100 <ncf> what is the question exactly? do you mean "why isn't Double defined as an inductive type with a NaN constructor?" or "why isn't NaN a valid number literal?" ?
2024-02-13 12:54:44 +0100 <haskellbridge> <m​aralorn> Maybe we can add a PatternSynonym for that to base?^^
2024-02-13 12:56:10 +0100 <ncf> > pattern NaN <- (isNaN -> True) where NaN = 0/0
2024-02-13 12:56:12 +0100 <lambdabot> <hint>:1:1: error:
2024-02-13 12:56:12 +0100 <lambdabot> Parse error in pattern: pattern
2024-02-13 12:56:12 +0100 <lambdabot> Possibly caused by a missing 'do'?
2024-02-13 12:56:21 +0100 <ncf> % pattern NaN <- (isNaN -> True) where NaN = 0/0
2024-02-13 12:56:21 +0100 <yahb2> <interactive>:169:13: error: ; parse error on input ‘<-’ ; Perhaps this statement should be within a 'do' block?
2024-02-13 12:56:27 +0100 <ncf> :(
2024-02-13 12:57:08 +0100 <danse-nr3> > 0/0
2024-02-13 12:57:09 +0100 <lambdabot> NaN
2024-02-13 12:57:10 +0100motherfsck(~motherfsc@user/motherfsck)
2024-02-13 12:57:12 +0100 <jackdk> ncf: Yes, an applicative version of `toMapOf` sounds right. Thanks for the insight.
2024-02-13 13:00:07 +0100 <Axman6> what's the type of toMapOf (folded . selfIndex) jackdk?
2024-02-13 13:00:52 +0100 <ncf> (Ord i, Foldable f) => f i -> Map i i
2024-02-13 13:00:56 +0100 <jackdk> Axman6: (Ord a, Foldable f) => f a -> Map a a
2024-02-13 13:02:02 +0100 <ncf> :t Data.Map.fromSet id
2024-02-13 13:02:03 +0100 <lambdabot> S.Set a -> M.Map a a
2024-02-13 13:06:27 +0100dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
2024-02-13 13:07:43 +0100poscat(~poscat@user/poscat)
2024-02-13 13:08:01 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
2024-02-13 13:10:35 +0100danse-nr3(~danse@151.57.190.101) (Read error: Connection reset by peer)
2024-02-13 13:11:59 +0100motherfsck(~motherfsc@user/motherfsck) (Ping timeout: 264 seconds)
2024-02-13 13:13:53 +0100mzg_mzg
2024-02-13 13:15:09 +0100yoo(~yo0O0o@104.28.226.104)
2024-02-13 13:15:37 +0100yooo(~yo0O0o@104.28.226.106) (Ping timeout: 256 seconds)
2024-02-13 13:17:01 +0100yoo(~yo0O0o@104.28.226.104) (Remote host closed the connection)
2024-02-13 13:17:30 +0100Guest10(~Guest10@176.122.87.241)
2024-02-13 13:17:31 +0100yoo(~yo0O0o@104.28.226.104)
2024-02-13 13:18:24 +0100 <Guest10> Hello
2024-02-13 13:18:25 +0100 <Guest10> https://paste.tomsmeding.com/Rg7AfEH9
2024-02-13 13:20:02 +0100 <Guest10> Why "res" is fully evaluated?
2024-02-13 13:22:29 +0100pavonia(~user@user/siracusa)
2024-02-13 13:22:33 +0100xff0x(~xff0x@2405:6580:b080:900:7a4b:a416:79a8:9252) (Ping timeout: 256 seconds)
2024-02-13 13:22:37 +0100yoo(~yo0O0o@104.28.226.104) (Ping timeout: 264 seconds)
2024-02-13 13:22:48 +0100danse-nr3(~danse@151.57.167.189)
2024-02-13 13:23:11 +0100xff0x(~xff0x@2405:6580:b080:900:7a4b:a416:79a8:9252)
2024-02-13 13:23:35 +0100motherfsck(~motherfsc@user/motherfsck)
2024-02-13 13:23:40 +0100danse-nr3(~danse@151.57.167.189) (Remote host closed the connection)
2024-02-13 13:24:04 +0100danse-nr3(~danse@151.57.167.189)
2024-02-13 13:30:02 +0100CiaoSen(~Jura@2a05:5800:2ab:ac00:e6b9:7aff:fe80:3d03)
2024-02-13 13:34:09 +0100yoo(~yo0O0o@104.28.194.106)
2024-02-13 13:34:17 +0100euleritian(~euleritia@dynamic-176-006-198-167.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-02-13 13:34:35 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-02-13 13:38:51 +0100yoo(~yo0O0o@104.28.194.106) (Ping timeout: 260 seconds)
2024-02-13 13:41:16 +0100yoo(~yo0O0o@104.28.226.104)
2024-02-13 13:50:13 +0100xff0x(~xff0x@2405:6580:b080:900:7a4b:a416:79a8:9252) (Ping timeout: 260 seconds)
2024-02-13 13:50:45 +0100xff0x(~xff0x@2405:6580:b080:900:7a4b:a416:79a8:9252)
2024-02-13 13:52:48 +0100 <mauke> Guest10: 1) how do you know it is? 2) you'd have to ask httpJSON
2024-02-13 13:54:22 +0100Guest10(~Guest10@176.122.87.241) (Quit: Client closed)
2024-02-13 14:01:26 +0100xff0x(~xff0x@2405:6580:b080:900:7a4b:a416:79a8:9252) (Ping timeout: 268 seconds)
2024-02-13 14:03:28 +0100xff0x(~xff0x@ai099196.d.east.v6connect.net)
2024-02-13 14:07:31 +0100ricardo1(~ricardo@84.16.179.218)
2024-02-13 14:10:53 +0100ricardo2(~ricardo@84.16.179.218) (Ping timeout: 240 seconds)
2024-02-13 14:12:17 +0100yoo(~yo0O0o@104.28.226.104) (Quit: ZNC 1.8.2+deb2build5 - https://znc.in)
2024-02-13 14:12:18 +0100exarkun_exarkun
2024-02-13 14:12:47 +0100yoo(~yo0O0o@104.28.226.104)
2024-02-13 14:17:49 +0100yoo(~yo0O0o@104.28.226.104) (Ping timeout: 264 seconds)
2024-02-13 14:38:23 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-02-13 14:39:14 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-02-13 14:41:59 +0100segfaultfizzbuzz(~segfaultf@2600:1702:6d0:e930:a854:aacf:c202:aba3)
2024-02-13 14:42:29 +0100 <segfaultfizzbuzz> hello i am probably the worst at haskell here and am trying to get the first example here working https://guygastineau.com/files/FizzBuzz.pdf
2024-02-13 14:42:48 +0100mei(~mei@user/mei) (Remote host closed the connection)
2024-02-13 14:43:43 +0100 <segfaultfizzbuzz> there are some simple issues in pasting this code from the PDF, you can see here: https://paste.rs/FlDbl.hs
2024-02-13 14:44:18 +0100 <segfaultfizzbuzz> i don't know what ∘ should become here, maybe . ?
2024-02-13 14:44:39 +0100 <ncf> yes
2024-02-13 14:44:59 +0100 <ncf> or use base-unicode-symbols
2024-02-13 14:45:13 +0100mei(~mei@user/mei)
2024-02-13 14:45:15 +0100 <ncf> (https://wiki.haskell.org/Unicode-symbols)
2024-02-13 14:47:53 +0100 <segfaultfizzbuzz> hmm {-# LANGUAGE UnicodeSyntax #-} didn't fix the issue, shrug ...
2024-02-13 14:48:00 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 255 seconds)
2024-02-13 14:48:24 +0100czy`(~user@117.63.127.239) (Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.2.50))
2024-02-13 14:48:57 +0100 <ncf> <ncf> or use base-unicode-symbols
2024-02-13 14:49:12 +0100euleritian(~euleritia@dynamic-176-006-198-167.176.6.pool.telefonica.de)
2024-02-13 14:50:05 +0100myxokephale(~myxos@065-028-251-121.inf.spectrum.com) (Quit: myxokephale)
2024-02-13 14:50:23 +0100myxos(~myxos@065-028-251-121.inf.spectrum.com)
2024-02-13 14:51:01 +0100czy(~user@117.63.127.239)
2024-02-13 14:56:21 +0100segfaultfizzbuzz(~segfaultf@2600:1702:6d0:e930:a854:aacf:c202:aba3) (Remote host closed the connection)
2024-02-13 14:57:04 +0100segfaultfizzbuzz(~segfaultf@2600:1702:6d0:e930:a854:aacf:c202:aba3)
2024-02-13 14:57:38 +0100 <segfaultfizzbuzz> let me know if this is too basic of a question but i am interested to understand forM_ and IO here... in particular fizzBuzz is IO () but everything else is String ... here is code which runs if you like https://paste.rs/HRMla.hs
2024-02-13 14:58:20 +0100 <segfaultfizzbuzz> i guess forM_ somehow sequences the IO actions emitted but the putStrLn in fizzBuzz ?
2024-02-13 14:58:40 +0100 <segfaultfizzbuzz> *by the putStrLn
2024-02-13 15:02:41 +0100 <ncf> that's what it does
2024-02-13 15:02:43 +0100mmhat(~mmh@p200300f1c740af24ee086bfffe095315.dip0.t-ipconnect.de)
2024-02-13 15:06:04 +0100alexherbo2(~alexherbo@2a02-8440-3341-44af-08ee-d5a2-2eb4-3c55.rev.sfr.net)
2024-02-13 15:08:59 +0100agander_m_(agander_m@gateway/vpn/protonvpn/aganderm/x-34304805)
2024-02-13 15:09:57 +0100agander_m_(agander_m@gateway/vpn/protonvpn/aganderm/x-34304805) (Client Quit)
2024-02-13 15:10:06 +0100 <ncf> segfaultfizzbuzz: it might help to translate this from point-free style
2024-02-13 15:10:16 +0100agander_m(agander_m@gateway/vpn/protonvpn/aganderm/x-34304805)
2024-02-13 15:11:59 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 264 seconds)
2024-02-13 15:13:33 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2024-02-13 15:16:08 +0100L29Ah(~L29Ah@wikipedia/L29Ah)
2024-02-13 15:22:44 +0100yoo(~yo0O0o@104.28.194.104)
2024-02-13 15:23:15 +0100yoo(~yo0O0o@104.28.194.104) (Remote host closed the connection)
2024-02-13 15:24:57 +0100yoo(~yo0O0o@104.28.194.104)
2024-02-13 15:25:11 +0100agander_m(agander_m@gateway/vpn/protonvpn/aganderm/x-34304805) (Ping timeout: 264 seconds)
2024-02-13 15:25:15 +0100mmhat(~mmh@p200300f1c740af24ee086bfffe095315.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2024-02-13 15:25:37 +0100mmhat(~mmh@p200300f1c740af5dee086bfffe095315.dip0.t-ipconnect.de)
2024-02-13 15:27:12 +0100rhodon(~Thunderbi@92-110-9-137.cable.dynamic.v4.ziggo.nl)
2024-02-13 15:27:35 +0100danse-nr3(~danse@151.57.167.189) (Ping timeout: 264 seconds)
2024-02-13 15:30:01 +0100rhodonSilver1
2024-02-13 15:30:09 +0100Silver1SilverT
2024-02-13 15:31:19 +0100segfaultfizzbuzz(~segfaultf@2600:1702:6d0:e930:a854:aacf:c202:aba3) (Ping timeout: 260 seconds)
2024-02-13 15:31:31 +0100yoo(~yo0O0o@104.28.194.104) (Changing host)
2024-02-13 15:31:31 +0100yoo(~yo0O0o@user/mobivme)
2024-02-13 15:33:04 +0100danse-nr3(~danse@151.57.167.189)
2024-02-13 15:33:40 +0100Square3(~Square4@user/square)
2024-02-13 15:34:09 +0100SilverT(~Thunderbi@92-110-9-137.cable.dynamic.v4.ziggo.nl) ()
2024-02-13 15:35:30 +0100Rhodon(~Thunderbi@user/Rhodon)
2024-02-13 15:37:11 +0100Rhodon(~Thunderbi@user/Rhodon) (#haskell)
2024-02-13 15:38:58 +0100Rhodon(~Thunderbi@user/Rhodon)
2024-02-13 15:51:11 +0100average(uid473595@user/average)
2024-02-13 15:58:23 +0100CiaoSen(~Jura@2a05:5800:2ab:ac00:e6b9:7aff:fe80:3d03) (Ping timeout: 256 seconds)
2024-02-13 16:03:32 +0100Erutuon(~Erutuon@user/erutuon)
2024-02-13 16:04:10 +0100euleritian(~euleritia@dynamic-176-006-198-167.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-02-13 16:04:37 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-02-13 16:06:51 +0100segfaultfizzbuzz(~segfaultf@2600:1702:6d0:e930:a854:aacf:c202:aba3)
2024-02-13 16:07:52 +0100 <segfaultfizzbuzz> if i write appendMaybe (fizz i) " " (buzz i) then ghc complains Couldn't match type: Maybe String with: [Char] but in ghci, :t " " is String ... how does this make sense?
2024-02-13 16:08:30 +0100 <segfaultfizzbuzz> the error message seems to contradict itself as well, because it goes on to complain: Expected: String Actual: Maybe String
2024-02-13 16:08:59 +0100 <ncf> are you trying to putStrLn the result?
2024-02-13 16:09:56 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Ping timeout: 255 seconds)
2024-02-13 16:11:23 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 264 seconds)
2024-02-13 16:12:22 +0100ChaiTRex(~ChaiTRex@user/chaitrex)
2024-02-13 16:12:37 +0100Sgeo(~Sgeo@user/sgeo)
2024-02-13 16:13:37 +0100euleritian(~euleritia@dynamic-176-006-198-167.176.6.pool.telefonica.de)
2024-02-13 16:15:54 +0100 <segfaultfizzbuzz> i am eventually going to putStrLn, i am trying to remove the point free style as you suggested
2024-02-13 16:16:17 +0100 <segfaultfizzbuzz> but i am surprised that the type of " " seems to have changed when i make what appears to be the same function call as in the pointfree implementation
2024-02-13 16:17:14 +0100 <ncf> i doubt the error is about the type of " ", but it's hard to say without actually seeing the error
2024-02-13 16:18:21 +0100 <ncf> (and the code that triggers it)
2024-02-13 16:19:37 +0100 <segfaultfizzbuzz> https://paste.rs/BwmNU.hs
2024-02-13 16:19:47 +0100 <segfaultfizzbuzz> at the moment i am just worried about making fbfn work
2024-02-13 16:20:32 +0100 <ncf> appendMaybe returns a Maybe String, not a String
2024-02-13 16:21:02 +0100 <ncf> note that the entire "appendMaybe ... ... ..." expression is underlined, not just " "
2024-02-13 16:21:08 +0100 <segfaultfizzbuzz> but why is it complaining about [Char] ...?
2024-02-13 16:21:20 +0100 <ncf> because fbfn returns a [Char]
2024-02-13 16:21:41 +0100 <ncf> so that is the expected type of that expression, whereas its actual type is the return type of appendMaybe
2024-02-13 16:21:57 +0100 <segfaultfizzbuzz> but it says fbfn :: Int -> String ... ???
2024-02-13 16:22:31 +0100 <ncf> String is an alias for [Char]
2024-02-13 16:22:38 +0100 <ncf> @src String
2024-02-13 16:22:39 +0100 <lambdabot> type String = [Char]
2024-02-13 16:22:46 +0100dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 264 seconds)
2024-02-13 16:22:58 +0100 <segfaultfizzbuzz> ayaa that is confusing
2024-02-13 16:23:14 +0100jjhoo_(jahakala@user/jjhoo) (Ping timeout: 256 seconds)
2024-02-13 16:26:08 +0100euleritian(~euleritia@dynamic-176-006-198-167.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-02-13 16:26:37 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-02-13 16:33:48 +0100k_hachig(~k_hachig@ipagstaticip-b4f1257d-69a8-678e-1ff6-80999a2f9589.sdsl.bell.ca)
2024-02-13 16:35:59 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-02-13 16:36:56 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-02-13 16:37:48 +0100segfaultfizzbuzz(~segfaultf@2600:1702:6d0:e930:a854:aacf:c202:aba3) (Ping timeout: 255 seconds)
2024-02-13 16:39:09 +0100k_hachig(~k_hachig@ipagstaticip-b4f1257d-69a8-678e-1ff6-80999a2f9589.sdsl.bell.ca) (Ping timeout: 255 seconds)
2024-02-13 16:39:52 +0100Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542)
2024-02-13 16:42:06 +0100segfaultfizzbuzz(~segfaultf@2600:1702:6d0:e930:a854:aacf:c202:aba3)
2024-02-13 16:47:16 +0100ec_(~ec@gateway/tor-sasl/ec)
2024-02-13 16:47:35 +0100alexherbo2(~alexherbo@2a02-8440-3341-44af-08ee-d5a2-2eb4-3c55.rev.sfr.net) (Remote host closed the connection)
2024-02-13 16:48:38 +0100ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 255 seconds)
2024-02-13 16:50:26 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Ping timeout: 255 seconds)
2024-02-13 16:52:01 +0100smalltalkman(uid545680@id-545680.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2024-02-13 16:52:04 +0100k_hachig(~k_hachig@ipagstaticip-b4f1257d-69a8-678e-1ff6-80999a2f9589.sdsl.bell.ca)
2024-02-13 16:53:06 +0100ChaiTRex(~ChaiTRex@user/chaitrex)
2024-02-13 16:58:47 +0100k_hachig(~k_hachig@ipagstaticip-b4f1257d-69a8-678e-1ff6-80999a2f9589.sdsl.bell.ca) (Ping timeout: 264 seconds)
2024-02-13 17:11:30 +0100berberman(~berberman@user/berberman) (Quit: ZNC 1.8.2 - https://znc.in)
2024-02-13 17:11:43 +0100berberman(~berberman@user/berberman)
2024-02-13 17:15:03 +0100danse-nr3(~danse@151.57.167.189) (Read error: Connection reset by peer)
2024-02-13 17:15:26 +0100danse-nr3(~danse@151.43.148.88)
2024-02-13 17:16:06 +0100k_hachig(~k_hachig@ipagstaticip-b4f1257d-69a8-678e-1ff6-80999a2f9589.sdsl.bell.ca)
2024-02-13 17:17:47 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 272 seconds)
2024-02-13 17:18:38 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.1.1)
2024-02-13 17:20:07 +0100euleritian(~euleritia@dynamic-176-006-198-167.176.6.pool.telefonica.de)
2024-02-13 17:23:23 +0100k_hachig(~k_hachig@ipagstaticip-b4f1257d-69a8-678e-1ff6-80999a2f9589.sdsl.bell.ca) (Ping timeout: 264 seconds)
2024-02-13 17:23:57 +0100ricardo_2(~ricardo@217.70.197.9)
2024-02-13 17:25:47 +0100Square3(~Square4@user/square) (Ping timeout: 264 seconds)
2024-02-13 17:27:56 +0100 <segfaultfizzbuzz> so i changed fbfn to Int -> Maybe String and that is fine for now
2024-02-13 17:28:21 +0100 <segfaultfizzbuzz> but i need to convert that into something which can be printed
2024-02-13 17:28:36 +0100 <segfaultfizzbuzz> i am trying to use a combination of fromMaybe and show, as the original code did, but no permutation is working
2024-02-13 17:28:57 +0100 <segfaultfizzbuzz> for example: fromMaybe (fbfn 4)
2024-02-13 17:29:21 +0100 <ncf> :t fromMaybe
2024-02-13 17:29:22 +0100 <lambdabot> a -> Maybe a -> a
2024-02-13 17:31:47 +0100euleritian(~euleritia@dynamic-176-006-198-167.176.6.pool.telefonica.de) (Ping timeout: 264 seconds)
2024-02-13 17:32:07 +0100euleritian(~euleritia@dynamic-046-114-003-048.46.114.pool.telefonica.de)
2024-02-13 17:32:39 +0100adanwan_(~adanwan@gateway/tor-sasl/adanwan)
2024-02-13 17:33:21 +0100tri(~tri@172.59.8.166)
2024-02-13 17:33:38 +0100adanwan(~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 255 seconds)
2024-02-13 17:36:23 +0100k_hachig(~k_hachig@ipagstaticip-b4f1257d-69a8-678e-1ff6-80999a2f9589.sdsl.bell.ca)
2024-02-13 17:41:20 +0100zetef(~quassel@95.77.17.251)
2024-02-13 17:45:10 +0100zetef(~quassel@95.77.17.251) (Remote host closed the connection)
2024-02-13 17:54:18 +0100euleritian(~euleritia@dynamic-046-114-003-048.46.114.pool.telefonica.de) (Ping timeout: 255 seconds)
2024-02-13 17:56:04 +0100euleritian(~euleritia@dynamic-176-007-159-068.176.7.pool.telefonica.de)
2024-02-13 17:58:47 +0100k_hachig(~k_hachig@ipagstaticip-b4f1257d-69a8-678e-1ff6-80999a2f9589.sdsl.bell.ca) (Ping timeout: 264 seconds)
2024-02-13 17:58:57 +0100danse-nr3(~danse@151.43.148.88) (Ping timeout: 256 seconds)
2024-02-13 18:00:35 +0100euleritian(~euleritia@dynamic-176-007-159-068.176.7.pool.telefonica.de) (Ping timeout: 264 seconds)
2024-02-13 18:03:10 +0100ubert(~Thunderbi@2a02:8109:ab8a:5a00:2634:f071:f667:7b20) (Remote host closed the connection)
2024-02-13 18:05:17 +0100 <segfaultfizzbuzz> so fbfn is now Int -> String: https://paste.rs/9kLlt.hs but forM_ is unhappy with me
2024-02-13 18:06:01 +0100alexherbo2(~alexherbo@2a02-8440-3341-44af-80cf-6700-420f-0553.rev.sfr.net)
2024-02-13 18:07:11 +0100Rhodon(~Thunderbi@user/Rhodon) (Ping timeout: 264 seconds)
2024-02-13 18:08:15 +0100 <geekosaur> `forM_ (putStrLn fbfn [1 .. 100] )` looks pretty wrong to me
2024-02-13 18:08:18 +0100 <ncf> :t forM_
2024-02-13 18:08:19 +0100 <lambdabot> (Foldable t, Monad m) => t a -> (a -> m b) -> m ()
2024-02-13 18:08:38 +0100econo_(uid147250@id-147250.tinside.irccloud.com)
2024-02-13 18:08:44 +0100 <ncf> you can use hoogle to look up the types of things: https://hoogle.haskell.org/?scope=set%3Astackage&hoogle=forM_
2024-02-13 18:11:12 +0100 <segfaultfizzbuzz> forM_ (putStrLn [1 .. 100] fbfn) is also unhappy -- i assume that the list from 1 to 100 is foldable, and... i guess the monad should be (putStrLn fbfn) ? that doesn't work either...
2024-02-13 18:11:38 +0100 <ncf> ??
2024-02-13 18:11:49 +0100 <mauke> the problem is that forM_ takes two arguments
2024-02-13 18:11:50 +0100 <ncf> the monad is IO
2024-02-13 18:11:54 +0100 <segfaultfizzbuzz> hoogle says forM_ :: (Foldable t, Monad m) => t a -> (a -> m b) -> m ()
2024-02-13 18:11:55 +0100 <mauke> ( ... ) is one
2024-02-13 18:12:17 +0100 <mauke> (well, one of the problems)
2024-02-13 18:12:35 +0100 <segfaultfizzbuzz> it says this behaves like a map with the arguments flipped, and i am used to map f [1 .. 100]
2024-02-13 18:12:42 +0100 <mauke> yes
2024-02-13 18:12:45 +0100 <segfaultfizzbuzz> so this is weirdmap [1 .. 100] f
2024-02-13 18:12:50 +0100 <mauke> exactly
2024-02-13 18:13:14 +0100 <segfaultfizzbuzz> and f should be IO, and i think putStrLn makes something IO?
2024-02-13 18:13:23 +0100 <mauke> no
2024-02-13 18:13:26 +0100 <mauke> f should be a function
2024-02-13 18:15:00 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-02-13 18:15:15 +0100 <mauke> segfaultfizzbuzz: do you know how to write anonymous functions in Haskell?
2024-02-13 18:20:14 +0100Nikopol(nikopol@user/astrorigin)
2024-02-13 18:22:21 +0100 <segfaultfizzbuzz> no
2024-02-13 18:22:38 +0100igemnace(~ian@user/igemnace) (Remote host closed the connection)
2024-02-13 18:22:45 +0100 <segfaultfizzbuzz> well, is that like (+1) ?
2024-02-13 18:23:05 +0100 <mauke> that's a special case. generally it involves \
2024-02-13 18:23:25 +0100 <mauke> but you can literally write: forM_ [1 .. 100] f
2024-02-13 18:23:36 +0100 <mauke> where f x = putStrLn (fbfn x)
2024-02-13 18:24:57 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2024-02-13 18:25:40 +0100azimut(~azimut@gateway/tor-sasl/azimut)
2024-02-13 18:26:44 +0100 <segfaultfizzbuzz> generally speaking i am not fond of "clever" ways of writing code,... yeah when i do forM_ [1 .. 100] fbfn ghc complains, and it also complains about forM_ [1 .. 100] (putStrLn fbfn)
2024-02-13 18:27:08 +0100 <segfaultfizzbuzz> oh you have to put an argument there, i see
2024-02-13 18:27:13 +0100k_hachig(~k_hachig@ipagstaticip-b4f1257d-69a8-678e-1ff6-80999a2f9589.sdsl.bell.ca)
2024-02-13 18:27:58 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-02-13 18:28:01 +0100 <segfaultfizzbuzz> that's weird, why can't i say forM_ [1 .. 100] (putStrLn fbfn) ?
2024-02-13 18:28:06 +0100 <mauke> that's type error
2024-02-13 18:28:18 +0100 <mauke> putStrLn takes a String, but you're giving it an Int -> String
2024-02-13 18:28:40 +0100 <mauke> that is, you're trying to pass fbfn (a function) to putStrLn, which wants a String
2024-02-13 18:28:42 +0100 <segfaultfizzbuzz> but forM_ applies the [1 .. 100] to the function,...
2024-02-13 18:28:53 +0100 <mauke> that comes later
2024-02-13 18:29:10 +0100 <segfaultfizzbuzz> ok i guess this is just part of getting used to reading haskell
2024-02-13 18:29:30 +0100 <mauke> and causes a second problem because putStrLn XXX has type IO ()
2024-02-13 18:29:36 +0100 <mauke> which is not a function
2024-02-13 18:30:11 +0100 <mauke> (XXX represents any value)
2024-02-13 18:30:32 +0100 <segfaultfizzbuzz> IO is not a function? it's a ... monad.. ? i guess?
2024-02-13 18:30:55 +0100 <mauke> a value of type IO () is just ... some value
2024-02-13 18:31:01 +0100 <segfaultfizzbuzz> so a monad is a type ?
2024-02-13 18:31:01 +0100 <mauke> it's abstract
2024-02-13 18:31:14 +0100 <mauke> technically, a monad has to be a parameterized type
2024-02-13 18:31:29 +0100 <mauke> so not like Int or String, but like IO or Maybe
2024-02-13 18:31:41 +0100 <johnw> I wouldn't say IO _is_ a monad, it's a data type that presents the Monad interface as a way of interacting with it
2024-02-13 18:31:57 +0100 <mauke> IO is a monad like 42 is an Integer
2024-02-13 18:31:57 +0100 <segfaultfizzbuzz> so monad is not a type then
2024-02-13 18:32:09 +0100 <johnw> Monad is a type _class_
2024-02-13 18:32:14 +0100 <johnw> it's an algebra with laws
2024-02-13 18:32:22 +0100 <segfaultfizzbuzz> typeclassof(42) = Num, typeclassof(IO) = monad
2024-02-13 18:32:34 +0100 <mauke> heh
2024-02-13 18:32:41 +0100 <segfaultfizzbuzz> i am familiar with typeclasses, at least from rust
2024-02-13 18:32:44 +0100 <yushyin> maybe start by not using pointfree-style
2024-02-13 18:33:04 +0100 <mauke> that's not quite accurate because a type (or type constructor) can implement multiple classes :-)
2024-02-13 18:33:12 +0100 <segfaultfizzbuzz> well i had to try to read as much of a PDF documenting fizzbuzz as i could
2024-02-13 18:33:19 +0100 <johnw> typeclassof(Int) = Num
2024-02-13 18:33:19 +0100 <segfaultfizzbuzz> it bubbled up on r/haskell
2024-02-13 18:33:21 +0100 <johnw> not 42
2024-02-13 18:33:26 +0100 <mauke> oh, that too
2024-02-13 18:33:42 +0100 <ncf> "typeclassof" doesn't make any sense
2024-02-13 18:34:03 +0100 <segfaultfizzbuzz> typeclasses(42) = [Num], typeclasses(IO) = [Monad] then i guess ?
2024-02-13 18:34:03 +0100 <johnw> it's also not the only type class that Int implements; but I get the gist
2024-02-13 18:34:12 +0100 <johnw> you're mixing values and types still
2024-02-13 18:34:27 +0100 <segfaultfizzbuzz> typeclasses(typeof(42)) = [Num]
2024-02-13 18:34:32 +0100 <johnw> there you go :)
2024-02-13 18:34:36 +0100 <ncf> IO implements Monad. Int implements Num. 42 has type Int. putStrLn "hi" has type IO ().
2024-02-13 18:34:38 +0100 <mauke> segfaultfizzbuzz: if anything, typeclasses(Int) = [Num, Eq, Ord, Read, Show, ...]
2024-02-13 18:34:41 +0100 <johnw> [Num, Integral, Bounded, ...]
2024-02-13 18:34:59 +0100 <segfaultfizzbuzz> yeah i think i understand
2024-02-13 18:35:11 +0100 <mauke> segfaultfizzbuzz: but the set is "open" in the sense that you can define additional instances for Int in your own code
2024-02-13 18:35:28 +0100 <segfaultfizzbuzz> and it remains Int?
2024-02-13 18:35:34 +0100 <mauke> sure
2024-02-13 18:35:41 +0100 <segfaultfizzbuzz> whatwhat, that makes no sense
2024-02-13 18:35:42 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 255 seconds)
2024-02-13 18:35:49 +0100 <mauke> ?
2024-02-13 18:36:07 +0100 <segfaultfizzbuzz> so i can append to typeclasses(Int) ?
2024-02-13 18:36:20 +0100 <mauke> class Twice a where { twice :: a -> a }; instance Twice Int where { twice x = 2 * x }
2024-02-13 18:36:23 +0100 <mauke> yes
2024-02-13 18:36:49 +0100 <segfaultfizzbuzz> ...doesn't make sense, then Int would behave like it was mutable ... ?
2024-02-13 18:36:57 +0100 <mauke> how so?
2024-02-13 18:37:00 +0100 <segfaultfizzbuzz> a mutable type
2024-02-13 18:37:10 +0100 <segfaultfizzbuzz> it would make more sense to have a typealias
2024-02-13 18:37:22 +0100 <mauke> we're just defining additional operations over an existing type
2024-02-13 18:37:41 +0100 <mauke> the class instances aren't part of the type
2024-02-13 18:37:57 +0100 <segfaultfizzbuzz> like TwiceableInt = appendtypeclass( Int Twiceable)
2024-02-13 18:38:16 +0100 <segfaultfizzbuzz> err sorry still used to parenthesis here: TwiceableInt appendtypeclass Int Twiceable
2024-02-13 18:38:29 +0100Square(~Square@user/square)
2024-02-13 18:38:42 +0100 <mauke> why are you trying to bundle up a type with classes?
2024-02-13 18:38:44 +0100 <segfaultfizzbuzz> am i learning too slowly for this to go anywhere
2024-02-13 18:39:14 +0100 <mauke> types and class instances live their own, separate lives
2024-02-13 18:39:36 +0100 <mauke> (in particular, Num is not stored "inside" of Int)
2024-02-13 18:40:15 +0100 <segfaultfizzbuzz> understood, but Int is "associated to" Num
2024-02-13 18:40:20 +0100 <johnw> segfaultfizzbuzz: I wouldn't think about the "How" so much as the "What" at this point
2024-02-13 18:40:38 +0100 <segfaultfizzbuzz> ananyway, maybe i am just making a mess out of things
2024-02-13 18:40:55 +0100 <segfaultfizzbuzz> the dumb interpretation here is that forM_ can glue one IO () onto another IO ()
2024-02-13 18:41:00 +0100 <segfaultfizzbuzz> and that putStrLn generates IO ()
2024-02-13 18:41:17 +0100 <mauke> that's not wrong
2024-02-13 18:41:26 +0100 <johnw> putStrLn is a function from strings to an value of type IO () that the runtime can interpret in such a way that it prints the string
2024-02-13 18:41:39 +0100 <mauke> the fundamental gluing operation is (>>)
2024-02-13 18:41:46 +0100 <segfaultfizzbuzz> it would be a little nice to have a simple example of what could be inside of () in IO ()
2024-02-13 18:41:55 +0100 <mauke> any type at all, really
2024-02-13 18:41:56 +0100 <ncf> :t getChar
2024-02-13 18:41:57 +0100 <lambdabot> IO Char
2024-02-13 18:42:11 +0100 <mauke> () is just a convenient dummy type
2024-02-13 18:42:24 +0100 <mauke> (the () type has a single value, also called ())
2024-02-13 18:42:31 +0100 <segfaultfizzbuzz> so then IO Char becomes what, a monad whose value depends on the value of the Char? does that behave like a function, kinda like a generic function...?
2024-02-13 18:43:01 +0100 <mauke> what programming languages are you familiar with?
2024-02-13 18:43:14 +0100 <mauke> in particular, do you know promises/futures?
2024-02-13 18:43:37 +0100 <segfaultfizzbuzz> i have probably used 30 programming languages over the years, these days i use rust when i need to do something
2024-02-13 18:43:50 +0100 <segfaultfizzbuzz> i have very limited exposure to futures/promises/async
2024-02-13 18:44:12 +0100 <mauke> aww
2024-02-13 18:44:22 +0100 <segfaultfizzbuzz> but it is something i know i should gain some familiarity with
2024-02-13 18:44:28 +0100 <mauke> because you can think of IO Char as Promise<Char>
2024-02-13 18:44:28 +0100 <segfaultfizzbuzz> i know people complain about it mercilessly ;-)
2024-02-13 18:44:42 +0100 <mauke> i.e. some abstract box that promises to produce a Char at some point in the future
2024-02-13 18:44:51 +0100 <segfaultfizzbuzz> ok, a deferred/lazy function which generates a value of type Char then?
2024-02-13 18:45:11 +0100 <mauke> yes, except we don't call it a function because it is a (potentially) side-effecty operation
2024-02-13 18:45:23 +0100 <segfaultfizzbuzz> that's fine, everything in haskell is nonstrict i understand
2024-02-13 18:45:27 +0100 <segfaultfizzbuzz> ohh i see
2024-02-13 18:45:27 +0100 <johnw> segfaultfizzbuzz: monads don't exist at runtime
2024-02-13 18:45:44 +0100 <segfaultfizzbuzz> so monad can translate to "side-effecty function" then
2024-02-13 18:45:50 +0100 <johnw> it's just an interface that abstracts a certain pattern of interaction
2024-02-13 18:45:57 +0100 <mauke> you could implement IO in a strict language
2024-02-13 18:46:10 +0100 <mauke> and this is just about IO, not monads in general
2024-02-13 18:46:56 +0100 <mauke> on the other hand, monads are all about effects if you're willing to be creative about what an "effect" is :-)
2024-02-13 18:47:01 +0100 <johnw> the "concept" of Monad lets you compose functions of type "a -> m b"
2024-02-13 18:47:15 +0100 <johnw> where, for the current discussion, m = IO
2024-02-13 18:47:42 +0100 <johnw> but thinking about this operationally is a going to trip you up
2024-02-13 18:47:54 +0100 <segfaultfizzbuzz> haha i don't know what operationally means here lol
2024-02-13 18:47:59 +0100 <johnw> bits and bytes
2024-02-13 18:48:13 +0100 <segfaultfizzbuzz> ok, you mean "think math, not computers" then ?
2024-02-13 18:48:18 +0100 <johnw> Monads would make sense to a mathematician, IO wouldn't
2024-02-13 18:48:26 +0100 <johnw> yes
2024-02-13 18:48:32 +0100 <segfaultfizzbuzz> ok
2024-02-13 18:49:12 +0100 <mauke> I'd say IO can be understood entirely operationally. the general Monad interface ... well, that's another thing
2024-02-13 18:49:20 +0100 <johnw> right
2024-02-13 18:49:32 +0100 <johnw> I'd even say that IO can _only_ be understood operationally :)
2024-02-13 18:49:41 +0100 <johnw> because it's a huge jumble of C code with no formal specification
2024-02-13 18:49:54 +0100 <segfaultfizzbuzz> so the IO value is produced if (1) something demands it and (2) the Char is provided, but otherwise it is deferred, am i guessing?
2024-02-13 18:50:09 +0100 <mauke> that doesn't sound right
2024-02-13 18:50:10 +0100 <johnw> the fact that "IO" and "Monad" have wrapped fancy types and type classes around it, obscures the fact that it's mainly a black box
2024-02-13 18:50:12 +0100 <segfaultfizzbuzz> lol you are making me feel very reassured about the reliability of haskell
2024-02-13 18:50:14 +0100 <mauke> IO is not about lazy evaluation
2024-02-13 18:50:35 +0100 <ncf> getChar asks the user for a character, so in this case the character is produced if and when the user feels like it
2024-02-13 18:50:53 +0100 <mauke> from the POV of the program, the Char is produced when the IO action is executed
2024-02-13 18:51:05 +0100 <mauke> which happens outside of Haskell proper
2024-02-13 18:51:37 +0100 <mauke> that is, you can't trigger execution from inside Haskell (and we don't talk about unsafePerformIO)
2024-02-13 18:51:58 +0100segfaultfizzbuzzfinished removing the pointfree notation here, feel free to criticize https://paste.rs/qkays.hs
2024-02-13 18:52:44 +0100 <segfaultfizzbuzz> ok, so only the haskell runtime makes your code execute
2024-02-13 18:53:00 +0100 <segfaultfizzbuzz> and the haskell runtime is invoked by your operating system or pushing buttons on your keyboard etc
2024-02-13 18:53:02 +0100 <johnw> appendMaybe isn't necessary, btw, but otherwise it looks fine
2024-02-13 18:53:34 +0100 <mauke> basically, your Haskell code creates little IO actions and glues them together into bigger IO actions, until you get one gigantic IO action that is bound to 'main'
2024-02-13 18:53:39 +0100 <mauke> and that's what the runtime actually executes
2024-02-13 18:53:55 +0100 <segfaultfizzbuzz> makes sense-ish
2024-02-13 18:54:13 +0100 <johnw> segfaultfizzbuzz: https://gist.github.com/jwiegley/724abb87ba71dfed5a2c687e9cb1b245
2024-02-13 18:54:22 +0100 <johnw> there's another use of the Monad interface for you, this time for the Maybe monad
2024-02-13 18:54:25 +0100 <mauke> the runtime is imperative: it can do stuff, talk to the OS, etc
2024-02-13 18:54:35 +0100 <segfaultfizzbuzz> "IO is not about lazy evaluation" "you can think of IO Char as Promise<Char>" these cannot both be true,... ?
2024-02-13 18:54:36 +0100 <mauke> and it can call into Haskell, which is pure
2024-02-13 18:54:58 +0100 <mauke> segfaultfizzbuzz: Promise<Char> exists in JavaScript, which is not a lazy language
2024-02-13 18:55:37 +0100 <mauke> (well, typescript probably. assuming it has a Char type)
2024-02-13 18:56:02 +0100 <kaol> Lazy evaluation is what makes "fst (1, undefined)" not explode (among other things).
2024-02-13 18:56:05 +0100segfaultfizzbuzzis wishing that javascript would go away as a language
2024-02-13 18:56:25 +0100 <mauke> my point is that you could imagine a non-lazy variant of Haskell, in which IO would work exactly the same way
2024-02-13 18:56:28 +0100 <segfaultfizzbuzz> yeah i have a D- understanding of laziness i think, top and bottom and all that
2024-02-13 18:57:37 +0100 <mauke> % putChar 'a'
2024-02-13 18:57:37 +0100 <yahb2> a
2024-02-13 18:57:44 +0100 <johnw> you can think of laziness as meaning "you'll have a value when I need it, if I need it", rather than eagerness which is "compute the value as soon as you have the inputs"
2024-02-13 18:57:45 +0100 <mauke> % putChar 'a' >> putChar 'b'
2024-02-13 18:57:45 +0100 <yahb2> ab
2024-02-13 18:57:53 +0100 <mauke> % putChar 'a' >> putChar 'b' >> putChar 'c'
2024-02-13 18:57:53 +0100 <yahb2> abc
2024-02-13 18:58:03 +0100tzh(~tzh@c-71-193-181-0.hsd1.or.comcast.net)
2024-02-13 18:58:15 +0100 <mauke> % sequence_ [putChar 'a', putChar 'b', putChar 'c']
2024-02-13 18:58:15 +0100 <yahb2> abc
2024-02-13 18:58:27 +0100 <segfaultfizzbuzz> johnw: your rewritten version of my fizzbuzz has a "do" which i think is bad imperative codesmell?
2024-02-13 18:58:43 +0100 <mauke> % sequence_ (map putChar ['a', 'b', 'c'])
2024-02-13 18:58:43 +0100 <yahb2> abc
2024-02-13 18:58:52 +0100 <johnw> segfaultfizzbuzz: I'm not sure I'd say that
2024-02-13 18:59:02 +0100 <johnw> "do" is just syntactic sugar for interacting through the Monad interface
2024-02-13 19:00:09 +0100 <segfaultfizzbuzz> what does the underscore mean in haskellspeak
2024-02-13 19:00:12 +0100 <mauke> johnw: that looks semantically wrong
2024-02-13 19:00:15 +0100 <segfaultfizzbuzz> i'm not fond of these punctuation characters
2024-02-13 19:00:36 +0100 <johnw> mauke: oh?
2024-02-13 19:00:57 +0100 <mauke> in this case, a trailing underscore indicates that the (intermediate) results are thrown away/ignored
2024-02-13 19:01:12 +0100alexherbo2(~alexherbo@2a02-8440-3341-44af-80cf-6700-420f-0553.rev.sfr.net) (Remote host closed the connection)
2024-02-13 19:01:21 +0100 <johnw> oh, you are right
2024-02-13 19:01:29 +0100 <kaol> It's a proper part of those functions' names, it's not a special character in that. for_ and so on.
2024-02-13 19:01:44 +0100 <mauke> johnw: your code can only produce fizzbuzz, never fizz or buzz alone
2024-02-13 19:01:45 +0100 <johnw> segfaultfizzbuzz: my code only returns a string if they are both Just values, and Nothing if either is Nothing. This is wrong.
2024-02-13 19:02:01 +0100 <segfaultfizzbuzz> understood,... i see, so most of what i do in imperativeland is "underscore-like" i gather
2024-02-13 19:02:09 +0100 <johnw> mauke: thank you for catching that!
2024-02-13 19:02:13 +0100 <segfaultfizzbuzz> that is to say, i routinely call functions and discard their outputs
2024-02-13 19:02:37 +0100 <segfaultfizzbuzz> johnw: lol did you fail to implement fizzbuzz correctly?
2024-02-13 19:02:39 +0100 <mauke> :t sequence
2024-02-13 19:02:40 +0100 <lambdabot> (Traversable t, Monad m) => t (m a) -> m (t a)
2024-02-13 19:02:44 +0100 <johnw> I'd have to call my do block using: fromMaybe (show i) s <|> fizz i <|> buzz i
2024-02-13 19:02:51 +0100 <mauke> hah, what a type
2024-02-13 19:02:55 +0100 <johnw> segfaultfizzbuzz: I sure did
2024-02-13 19:03:05 +0100 <segfaultfizzbuzz> johnw: 🤪
2024-02-13 19:03:08 +0100 <johnw> I'd have to call my do block using: fromMaybe (show i) (s <|> fizz i <|> buzz i)
2024-02-13 19:03:24 +0100 <segfaultfizzbuzz> how many haskell programmers does it take to write fizzbuzz
2024-02-13 19:03:52 +0100 <mauke> :t sequence `asAppliedTo` []
2024-02-13 19:03:54 +0100 <lambdabot> Monad m => [m a] -> m [a]
2024-02-13 19:03:56 +0100 <mauke> :t sequence_ `asAppliedTo` []
2024-02-13 19:03:57 +0100 <lambdabot> Monad m => [m a] -> m ()
2024-02-13 19:04:02 +0100 <mauke> there we go
2024-02-13 19:04:08 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-02-13 19:04:35 +0100 <mauke> informally, sequence takes a list of actions and turns it into a single action (that produces a list of results)
2024-02-13 19:04:58 +0100 <mauke> sequence_ does the same thing, but instead of collecting the results in a list, it throws them away
2024-02-13 19:05:01 +0100Rhodon(~Thunderbi@user/Rhodon)
2024-02-13 19:06:57 +0100 <ncf> johnw: i don't think that works either?
2024-02-13 19:07:13 +0100dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
2024-02-13 19:07:28 +0100 <johnw> ncf: say more!
2024-02-13 19:08:03 +0100 <ncf> nvm i missed the definition of s
2024-02-13 19:08:33 +0100mulk(~mulk@p5b112c60.dip0.t-ipconnect.de) (Ping timeout: 255 seconds)
2024-02-13 19:10:22 +0100mulk(~mulk@pd9514dc9.dip0.t-ipconnect.de)
2024-02-13 19:11:42 +0100yoo(~yo0O0o@user/mobivme) (Ping timeout: 255 seconds)
2024-02-13 19:22:39 +0100tri_(~tri@ool-18bc2e74.dyn.optonline.net)
2024-02-13 19:24:58 +0100agander_m(agander_m@gateway/vpn/protonvpn/aganderm/x-34304805)
2024-02-13 19:25:05 +0100Erutuon(~Erutuon@user/erutuon)
2024-02-13 19:25:39 +0100tri(~tri@172.59.8.166) (Ping timeout: 255 seconds)
2024-02-13 19:26:58 +0100Rhodon(~Thunderbi@user/Rhodon) (Ping timeout: 264 seconds)
2024-02-13 19:29:20 +0100target_i(~target_i@217.175.14.39)
2024-02-13 19:46:17 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2024-02-13 19:46:35 +0100Sgeo(~Sgeo@user/sgeo)
2024-02-13 19:47:17 +0100yoo(~yo0O0o@104.28.194.104)
2024-02-13 19:52:05 +0100yoo(~yo0O0o@104.28.194.104) (Changing host)
2024-02-13 19:52:05 +0100yoo(~yo0O0o@user/mobivme)
2024-02-13 19:52:58 +0100Hooloovoo(~Hooloovoo@hax0rbana.org) (Leaving)
2024-02-13 19:54:12 +0100szkl(uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2024-02-13 19:54:24 +0100agander_m(agander_m@gateway/vpn/protonvpn/aganderm/x-34304805) (Quit: Leaving)
2024-02-13 19:55:19 +0100ft(~ft@p508db2e6.dip0.t-ipconnect.de)
2024-02-13 20:03:15 +0100notzmvlivoreno
2024-02-13 20:08:30 +0100johnw_(~johnw@69.62.242.138)
2024-02-13 20:10:19 +0100chele(~chele@user/chele) (Remote host closed the connection)
2024-02-13 20:10:31 +0100johnw(~johnw@69.62.242.138) (Read error: Connection reset by peer)
2024-02-13 20:14:42 +0100Pixi__(~Pixi@user/pixi)
2024-02-13 20:17:52 +0100Pixi`(~Pixi@user/pixi) (Ping timeout: 255 seconds)
2024-02-13 20:25:30 +0100Rhodon(~Thunderbi@user/Rhodon)
2024-02-13 20:25:57 +0100dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 255 seconds)
2024-02-13 20:45:54 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5)
2024-02-13 20:48:07 +0100Rhodon(~Thunderbi@user/Rhodon) (Quit: Rhodon)
2024-02-13 20:49:21 +0100alexherbo2(~alexherbo@2a02-8440-3341-44af-7190-3750-610e-9d91.rev.sfr.net)
2024-02-13 20:49:48 +0100yoo(~yo0O0o@user/mobivme) (Remote host closed the connection)
2024-02-13 20:50:03 +0100yoo(~yo0O0o@104.28.194.104)
2024-02-13 20:50:37 +0100mei(~mei@user/mei) (Remote host closed the connection)
2024-02-13 20:53:01 +0100mei(~mei@user/mei)
2024-02-13 20:53:23 +0100Buggys(Buggys@shelltalk.net) (Ping timeout: 252 seconds)
2024-02-13 20:56:03 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2024-02-13 21:00:32 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 252 seconds)
2024-02-13 21:02:55 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-02-13 21:10:30 +0100Buggys(Buggys@shelltalk.net)
2024-02-13 21:10:53 +0100MironZ3(~MironZ@nat-infra.ehlab.uk)
2024-02-13 21:11:17 +0100MironZ(~MironZ@nat-infra.ehlab.uk) (Ping timeout: 240 seconds)
2024-02-13 21:11:17 +0100MironZ3MironZ
2024-02-13 21:13:20 +0100 <tomsmeding> I tested my code with ghc-9.8 and because I'm using 'head', I got the -Wx-partial warning that's new in ghc-9.8
2024-02-13 21:13:42 +0100 <tomsmeding> but I didn't want to refactor this particular bit of code, so I added {-# OPTIONS_GHC -Wno-x-partial #-}
2024-02-13 21:13:53 +0100 <tomsmeding> which led to a -Wunrecognised-warning-flags on earlier ghc versions
2024-02-13 21:13:57 +0100 <tomsmeding> so I now have {-# OPTIONS_GHC -Wno-unrecognised-warning-flags -Wno-x-partial #-}
2024-02-13 21:14:01 +0100 <tomsmeding> which works everywhere
2024-02-13 21:14:05 +0100 <tomsmeding> ._.
2024-02-13 21:15:09 +0100 <Logio> you could add -Why-must-i-suffer to the list, then
2024-02-13 21:15:20 +0100 <tomsmeding> that is true!
2024-02-13 21:17:09 +0100 <segfaultfizzbuzz> lol
2024-02-13 21:17:49 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 264 seconds)
2024-02-13 21:17:50 +0100 <segfaultfizzbuzz> if i ever reach a point of becoming literate in haskell, i have a fantasy of making a new haskell with DX as a top priority
2024-02-13 21:18:37 +0100 <tomsmeding> I mean, an alternative would have been to conditionally add the flag globally to the package in the cabal file
2024-02-13 21:18:47 +0100 <tomsmeding> conditional on the ghc version, that is
2024-02-13 21:19:12 +0100 <tomsmeding> conditioning on the ghc version inside a source file would necessitate CPP and that's ugly
2024-02-13 21:21:58 +0100Erutuon(~Erutuon@user/erutuon)
2024-02-13 21:22:45 +0100 <tomsmeding> another infelicity of -fdefer-type-errors: if you have a 'deriving (Show)' on a data type with some non-Show field, you don't get 1 error but 6
2024-02-13 21:23:09 +0100dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
2024-02-13 21:23:14 +0100 <tomsmeding> https://paste.tomsmeding.com/sDhJ0WvA
2024-02-13 21:23:20 +0100michalz(~michalz@185.246.207.200) (Quit: ZNC 1.8.2 - https://znc.in)
2024-02-13 21:24:40 +0100 <tomsmeding> (meaning that HLS shows 6 errors on the offending line instead of 1, because HLS checks your code with -fdefer-type-errors)
2024-02-13 21:28:22 +0100yoo(~yo0O0o@104.28.194.104) (Changing host)
2024-02-13 21:28:22 +0100yoo(~yo0O0o@user/mobivme)
2024-02-13 21:28:27 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-02-13 21:28:39 +0100waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
2024-02-13 21:29:39 +0100 <tomsmeding> segfaultfizzbuzz: you can get literate in haskell very quickly by using literate haskell
2024-02-13 21:30:02 +0100 <EvanR> *wears a shirt that says "GOT LITERATE?"*
2024-02-13 21:36:32 +0100 <segfaultfizzbuzz> what?
2024-02-13 21:38:18 +0100 <segfaultfizzbuzz> write my code in tex, are you crazy?
2024-02-13 21:38:28 +0100 <tomsmeding> :p
2024-02-13 21:38:43 +0100 <tomsmeding> it's _you_ who started talking about literacy ;)
2024-02-13 21:39:14 +0100 <segfaultfizzbuzz> i mean "understand the haskell language" not this tex abomination
2024-02-13 21:39:20 +0100 <tomsmeding> I know, I was just joking :p
2024-02-13 21:42:56 +0100 <monochrom> I don't think literate haskell implies tex.
2024-02-13 21:43:15 +0100 <monochrom> In fact, I put html instead of tex in my literate haskell code.
2024-02-13 21:43:54 +0100 <tomsmeding> daring
2024-02-13 21:45:05 +0100r2(~r2@89-38-99-82.hosted-by-worldstream.net)
2024-02-13 21:45:57 +0100tri_(~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection)
2024-02-13 21:46:32 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net)
2024-02-13 21:47:07 +0100 <ncf> i put agda in my markdown
2024-02-13 21:48:39 +0100dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Remote host closed the connection)
2024-02-13 21:50:23 +0100r2(~r2@89-38-99-82.hosted-by-worldstream.net) (Remote host closed the connection)
2024-02-13 21:50:54 +0100r2(~r2@89-38-99-82.hosted-by-worldstream.net)
2024-02-13 21:50:59 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 264 seconds)
2024-02-13 21:52:33 +0100jargon(~jargon@13.sub-174-205-175.myvzw.com)
2024-02-13 21:57:44 +0100euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
2024-02-13 21:58:24 +0100euleritian(~euleritia@dynamic-176-001-010-233.176.1.pool.telefonica.de)
2024-02-13 22:00:53 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 272 seconds)
2024-02-13 22:01:05 +0100r2NomadTC
2024-02-13 22:01:11 +0100k_hachig(~k_hachig@ipagstaticip-b4f1257d-69a8-678e-1ff6-80999a2f9589.sdsl.bell.ca) (Ping timeout: 264 seconds)
2024-02-13 22:02:41 +0100 <EvanR> tomsmeding, moreover, <BOLD>
2024-02-13 22:05:59 +0100 <tomsmeding> indeed
2024-02-13 22:07:39 +0100k_hachig(~k_hachig@ipagstaticip-b4f1257d-69a8-678e-1ff6-80999a2f9589.sdsl.bell.ca)
2024-02-13 22:14:23 +0100RaspbellySwirl(~Raspbelly@host-213-235-142-6.ip.topnet.cz) (Ping timeout: 264 seconds)
2024-02-13 22:15:12 +0100_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection)
2024-02-13 22:15:47 +0100willsewell_(~willsewel@185.195.232.180)
2024-02-13 22:18:54 +0100fendor(~fendor@2a02:8388:1605:d100:267b:1353:13d7:4f0c) (Remote host closed the connection)
2024-02-13 22:19:20 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net)
2024-02-13 22:19:27 +0100willsewell_(~willsewel@185.195.232.180) (Client Quit)
2024-02-13 22:25:14 +0100NomadTC(~r2@89-38-99-82.hosted-by-worldstream.net) (Ping timeout: 252 seconds)
2024-02-13 22:26:26 +0100 <segfaultfizzbuzz> is there a way to write a computer program so that the world is a better place
2024-02-13 22:27:43 +0100 <haskellbridge> <s​m> ha. That used to be easier
2024-02-13 22:27:59 +0100willsewell(~willsewel@185.195.232.180)
2024-02-13 22:28:01 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 264 seconds)
2024-02-13 22:28:30 +0100 <segfaultfizzbuzz> mkWorldBetter
2024-02-13 22:28:34 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net)
2024-02-13 22:28:48 +0100 <ncf> :: IO a
2024-02-13 22:28:55 +0100 <tomsmeding> > succ GHC.Exts.RealWorld
2024-02-13 22:28:56 +0100 <lambdabot> error:
2024-02-13 22:28:56 +0100 <lambdabot> Not in scope: data constructor ‘GHC.Exts.RealWorld’
2024-02-13 22:29:00 +0100 <tomsmeding> % succ GHC.Exts.RealWorld
2024-02-13 22:29:00 +0100 <yahb2> <interactive>:181:6: error: ; • Illegal term-level use of the type constructor ‘GHC.Prim.RealWorld’ ; • In the first argument of ‘succ’, namely ‘GHC.Prim.RealWorld’ ; In the expressio...
2024-02-13 22:29:05 +0100 <haskellbridge> <s​m> solve some real world problems without causing excessive costs and side effects over the long term
2024-02-13 22:30:36 +0100k_hachig(~k_hachig@ipagstaticip-b4f1257d-69a8-678e-1ff6-80999a2f9589.sdsl.bell.ca) (Ping timeout: 255 seconds)
2024-02-13 22:31:57 +0100euleritian(~euleritia@dynamic-176-001-010-233.176.1.pool.telefonica.de) (Ping timeout: 255 seconds)
2024-02-13 22:32:51 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 255 seconds)
2024-02-13 22:34:03 +0100euleritian(~euleritia@dynamic-176-001-010-233.176.1.pool.telefonica.de)
2024-02-13 22:36:23 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer)
2024-02-13 22:36:30 +0100 <EvanR> making the world better or worse would require some side effect, so haskell's inappropriate
2024-02-13 22:43:08 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net)
2024-02-13 22:45:02 +0100dispater-(~dispater@mail.brprice.uk) (Ping timeout: 260 seconds)
2024-02-13 22:45:44 +0100orcus-(~orcus@mail.brprice.uk) (Ping timeout: 256 seconds)
2024-02-13 22:46:51 +0100mud(~mud@user/kadoban)
2024-02-13 22:47:06 +0100willsewell(~willsewel@185.195.232.180) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
2024-02-13 22:48:20 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 252 seconds)
2024-02-13 22:50:11 +0100dispater(~dispater@mail.brprice.uk)
2024-02-13 22:50:14 +0100willsewell(~willsewel@185.195.232.180)
2024-02-13 22:50:42 +0100orcus(~orcus@mail.brprice.uk)
2024-02-13 22:53:01 +0100willsewell(~willsewel@185.195.232.180) (Client Quit)
2024-02-13 22:54:54 +0100johnw_(~johnw@69.62.242.138) (Ping timeout: 255 seconds)
2024-02-13 22:55:27 +0100willsewell(~willsewel@185.195.232.180)
2024-02-13 22:57:58 +0100johnw(~johnw@69.62.242.138)
2024-02-13 22:58:32 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds)
2024-02-13 23:01:01 +0100willsewell(~willsewel@185.195.232.180) (Ping timeout: 264 seconds)
2024-02-13 23:04:08 +0100 <Axman6> @hoogle showHex
2024-02-13 23:04:08 +0100 <lambdabot> Numeric showHex :: (Integral a, Show a) => a -> ShowS
2024-02-13 23:04:08 +0100 <lambdabot> BasePrelude showHex :: (Integral a, Show a) => a -> ShowS
2024-02-13 23:04:08 +0100 <lambdabot> Number.Positional showHex :: Exponent -> T -> String
2024-02-13 23:08:53 +0100mechap(~mechap@user/mechap)
2024-02-13 23:11:05 +0100willsewell(~willsewel@141.98.252.232)
2024-02-13 23:11:11 +0100segfaultfizzbuzz(~segfaultf@2600:1702:6d0:e930:a854:aacf:c202:aba3) (Ping timeout: 272 seconds)
2024-02-13 23:11:33 +0100dcoutts(~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
2024-02-13 23:11:45 +0100kadobanana(~mud@user/kadoban)
2024-02-13 23:12:23 +0100 <EvanR> > showHex (11 :: Word8) ""
2024-02-13 23:12:25 +0100 <lambdabot> "b"
2024-02-13 23:13:06 +0100mud(~mud@user/kadoban) (Read error: Connection reset by peer)
2024-02-13 23:16:19 +0100emad(~emad@156.214.178.69)
2024-02-13 23:18:12 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net)
2024-02-13 23:23:59 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 264 seconds)
2024-02-13 23:25:06 +0100target_i(~target_i@217.175.14.39) (Quit: leaving)
2024-02-13 23:26:01 +0100 <Axman6> @hoogle Int# -> Word#
2024-02-13 23:26:02 +0100 <lambdabot> GHC.Exts int2Word# :: Int# -> Word#
2024-02-13 23:26:02 +0100 <lambdabot> GHC.Prim int2Word# :: Int# -> Word#
2024-02-13 23:26:02 +0100 <lambdabot> GHC.PrimopWrappers int2Word# :: Int# -> Word#
2024-02-13 23:30:26 +0100alexherbo2(~alexherbo@2a02-8440-3341-44af-7190-3750-610e-9d91.rev.sfr.net) (Remote host closed the connection)
2024-02-13 23:31:47 +0100machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 264 seconds)
2024-02-13 23:37:13 +0100erisco(~erisco@d24-141-66-165.home.cgocable.net) (Quit: ZNC 1.8.2+cygwin2 - https://znc.in)
2024-02-13 23:38:05 +0100erisco(~erisco@d24-141-66-165.home.cgocable.net)
2024-02-13 23:42:11 +0100__monty__(~toonn@user/toonn) (Quit: leaving)
2024-02-13 23:44:50 +0100segfaultfizzbuzz(~segfaultf@2600:1702:6d0:e930:603e:ee72:ccf6:3b57)
2024-02-13 23:48:22 +0100zenna(~zenna@64.189.201.97)
2024-02-13 23:48:25 +0100acidjnk_new3(~acidjnk@p5dd87f44.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
2024-02-13 23:48:57 +0100zenna(~zenna@64.189.201.97) ()
2024-02-13 23:50:15 +0100willsewell(~willsewel@141.98.252.232) (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
2024-02-13 23:50:47 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net)
2024-02-13 23:51:59 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection)
2024-02-13 23:53:36 +0100coot(~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
2024-02-13 23:54:02 +0100coot(~coot@89-69-206-216.dynamic.chello.pl)
2024-02-13 23:54:40 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net)
2024-02-13 23:56:52 +0100mizlan(~mizlan@2607:f010:2e9:b:24e3:3288:b16c:e350)
2024-02-13 23:58:31 +0100coot(~coot@89-69-206-216.dynamic.chello.pl) (Client Quit)
2024-02-13 23:58:59 +0100coot(~coot@89-69-206-216.dynamic.chello.pl)
2024-02-13 23:59:19 +0100coot(~coot@89-69-206-216.dynamic.chello.pl) (Remote host closed the connection)
2024-02-13 23:59:22 +0100tri(~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 264 seconds)
2024-02-13 23:59:40 +0100coot(~coot@89-69-206-216.dynamic.chello.pl)
2024-02-13 23:59:43 +0100coot(~coot@89-69-206-216.dynamic.chello.pl) (Remote host closed the connection)