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