Home liberachat/#haskell: Logs Calendar

Logs on 2022-08-02 (liberachat/#haskell)

00:10:57 matthewmosior joins (~matthewmo@173.170.253.91)
00:21:47 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Ping timeout: 255 seconds)
00:23:17 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds)
00:36:19 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 268 seconds)
00:38:01 jpds joins (~jpds@gateway/tor-sasl/jpds)
00:40:41 × xff0x quits (~xff0x@2405:6580:b080:900:66f:76f7:bef0:7fa2) (Ping timeout: 255 seconds)
00:49:07 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5)
00:49:58 off^ joins (~off@c-73-237-117-119.hsd1.ga.comcast.net)
01:08:16 Square2 is now known as Square
01:12:28 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
01:17:38 × John_Ivan quits (~John_Ivan@user/john-ivan/x-1515935) (Read error: Connection reset by peer)
01:17:56 John_Ivan joins (~John_Ivan@user/john-ivan/x-1515935)
01:17:56 jero98772 joins (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff)
01:18:36 <jero98772> hellooo, i get this error https://imgur.com/a/YzMAM6t, when i try to use quickcheck in this code https://pastebin.com/LdKC5075
01:18:40 × waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 244 seconds)
01:18:56 xff0x joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
01:19:58 <jackdk> It doesn't know what arbitrary instance to select, probably because your factorial definitions have no type signature
01:20:38 sd joins (~sd@181.58.38.71)
01:20:56 dgxfsd joins (~dgxfsd@181.58.38.71)
01:21:02 sd is now known as Guest4249
01:22:47 × dgxfsd quits (~dgxfsd@181.58.38.71) (Client Quit)
01:25:27 matthewmosior joins (~matthewmo@173.170.253.91)
01:31:25 × Kaiepi quits (~Kaiepi@156.34.47.253) (Ping timeout: 272 seconds)
01:33:31 × Guest4249 quits (~sd@181.58.38.71) (Quit: Connection closed)
01:34:10 × pgib quits (~textual@173.38.117.88) (Ping timeout: 260 seconds)
01:41:51 anonymous joins (~anonymous@cable200-116-173-90.epm.net.co)
01:42:02 <anonymous> h
01:42:20 × anonymous quits (~anonymous@cable200-116-173-90.epm.net.co) (Client Quit)
01:43:15 naso joins (~naso@193-116-244-197.tpgi.com.au)
01:44:02 <nomagno> Does GHC have any kind of plans for stability?
01:44:06 <ski> jero98772 : i think you're supposed to call `quickCheck' not on arbitrary functions, but on QuickCheck properties, which express some expected general law involving some operation(s), as a function taking parameters to a truth-value (a `Bool'ean, or possibly a richer QuickCheck-provided type, that gives some more stuff)
01:45:51 <ski> @check \xs ys -> reverse (xs ++ ys) == reverse ys ++ reverse (xs :: [Int])
01:45:52 <lambdabot> +++ OK, passed 100 tests.
01:46:10 <ski> in a source file, you'd write that as
01:46:27 <ski> propReverseAppend xs ys = reverse (xs ++ ys) == reverse ys ++ reverse (xs :: [Int])
01:46:39 <ski> and then call `quickCheck propReverseAppend'
01:48:12 dgxfsd joins (~dgxfsd@181.58.38.71)
01:48:13 × dgxfsd quits (~dgxfsd@181.58.38.71) (Client Quit)
01:48:38 × jespada quits (~jespada@177.67.80.187) (Ping timeout: 240 seconds)
01:48:52 dgxfsd joins (~dgxfsd@181.58.38.71)
01:48:54 × dgxfsd quits (~dgxfsd@181.58.38.71) (Client Quit)
01:50:19 <ski> (or putting a type signature on `propReverseAppend', like `propReverseAppend :: [Int] -> [Int] -> Bool', or `propReverseAppend :: [Int] -> [Int] -> Property', in place of the ascription `xs :: [Int]' there in the body, which was used to pin down the element type to use, to avoid the kind of ambiguity error you got that jackdk referred to)
01:51:00 × codaraxis quits (~codaraxis@user/codaraxis) (Ping timeout: 268 seconds)
01:51:10 × jero98772 quits (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff) (Remote host closed the connection)
01:51:50 JuanJr joins (~JuanJr@190.66.24.114)
01:52:12 × JuanJr quits (~JuanJr@190.66.24.114) (Client Quit)
01:52:36 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
01:52:48 jespada joins (~jespada@45.162.228.190)
01:54:50 × zaquest quits (~notzaques@5.130.79.72) (Remote host closed the connection)
01:56:05 zaquest joins (~notzaques@5.130.79.72)
01:57:43 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 268 seconds)
01:58:52 × machinedgod quits (~machinedg@d172-219-86-154.abhsia.telus.net) (Ping timeout: 268 seconds)
02:01:45 × John_Ivan quits (~John_Ivan@user/john-ivan/x-1515935) (Read error: Connection reset by peer)
02:07:04 Jeanne-Kamikaze joins (~Jeanne-Ka@142.147.89.233)
02:07:59 jero98772 joins (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff)
02:15:26 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
02:17:24 mikoto-chan joins (~mikoto-ch@85-76-45-224-nat.elisa-mobile.fi)
02:20:27 × dolio quits (~dolio@130.44.130.54) (Ping timeout: 245 seconds)
02:22:27 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds)
02:23:13 [_] joins (~itchyjunk@user/itchyjunk/x-7353470)
02:24:38 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 240 seconds)
02:29:59 × naso quits (~naso@193-116-244-197.tpgi.com.au) (Remote host closed the connection)
02:31:14 naso joins (~naso@193-116-244-197.tpgi.com.au)
02:31:55 yauhsien joins (~yauhsien@118-167-41-184.dynamic-ip.hinet.net)
02:32:38 × gdd1 quits (~gdd@2001:470:1f13:187:de72:d5cb:b676:c00) (Ping timeout: 240 seconds)
02:32:57 instantaphex joins (~jb@c-73-171-252-84.hsd1.fl.comcast.net)
02:34:43 gdd1 joins (~gdd@129.199.146.230)
02:35:26 × naso quits (~naso@193-116-244-197.tpgi.com.au) (Ping timeout: 240 seconds)
02:39:06 × mikoto-chan quits (~mikoto-ch@85-76-45-224-nat.elisa-mobile.fi) (Ping timeout: 268 seconds)
02:40:32 × [_] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
02:41:17 × td_ quits (~td@muedsl-82-207-238-015.citykom.de) (Ping timeout: 245 seconds)
02:41:57 × yauhsien quits (~yauhsien@118-167-41-184.dynamic-ip.hinet.net) (Quit: Leaving...)
02:43:03 td_ joins (~td@muedsl-82-207-238-045.citykom.de)
02:43:47 danso_o is now known as danso
02:46:00 nate4 joins (~nate@98.45.169.16)
02:49:37 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection)
02:50:35 × sts-q quits (~sts-q@2a01:41e1:239e:8600:5ca9:a95b:5e06:aaf8) (Ping timeout: 272 seconds)
02:51:26 × nate4 quits (~nate@98.45.169.16) (Ping timeout: 268 seconds)
02:58:23 × jero98772 quits (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff) (Remote host closed the connection)
03:01:41 <instantaphex> /quit
03:01:59 × instantaphex quits (~jb@c-73-171-252-84.hsd1.fl.comcast.net) (Quit: leaving)
03:03:46 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 268 seconds)
03:04:28 × hughjfchen quits (~hughjfche@vmi556545.contaboserver.net) (Read error: Connection reset by peer)
03:11:28 × zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!)
03:17:20 × ski quits (~ski@ext-1-213.eduroam.chalmers.se) (Ping timeout: 268 seconds)
03:25:03 × Vajb quits (~Vajb@n1zigc3rgo9mpde2w-1.v6.elisa-mobile.fi) (Read error: Connection reset by peer)
03:26:05 Vajb joins (~Vajb@hag-jnsbng11-58c3ad-40.dhcp.inet.fi)
03:29:55 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Read error: Connection reset by peer)
03:29:55 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Read error: Connection reset by peer)
03:30:31 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
03:31:00 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
03:37:28 dolio joins (~dolio@130.44.130.54)
03:43:56 <Axman6> nomagno: that's a very broad question, what do you mean? Generally features which are to be deprecated will be retained for three major releases, and additional features are usually implemented as language extensions, so they are forwards compatible. The ABI is likely never to be stable though, and it doesn't really need to be
03:44:33 <hippoid> I'm trying to run the code in this blog post https://blog.ploeh.dk/2017/10/16/money-monoid/, and it has "MoneyPort.Sum" that is not defined elsewhere in the code, and hoogle comes up empty. I'm wondering if it's part of some deprecated package?
03:45:22 kvakil parts (6f76c3db2e@2604:bf00:561:2000::40a) ()
03:45:31 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
03:45:48 <Axman6> MoneyPort looks like an import that has been imported qualified to me
03:45:48 × vglfr quits (~vglfr@194.9.14.33) (Read error: Connection reset by peer)
03:46:32 vglfr joins (~vglfr@194.9.14.33)
03:46:41 <Axman6> Sum is one of the constructors of Expression, so MoneyPort will be whatever module Expression is defined in
03:47:32 <monochrom> So bloggers aren't doing any better than research paper authors. Code snippets that are totally incomplete and irreproducible.
03:47:53 <Axman6> tthat post looks like a much more unsafe way to implement what safe-money does - you should definitely take a look at that package if you need to deal with maths involving currency and exchange rates
03:48:20 <Axman6> monochrom: well, I thinkg it's reasonable that when you';re showing a GHCi session, the module you're talking about is imported
03:49:23 <monochrom> Except that no module was talked about in the first place.
03:49:29 <Axman6> hippoid: https://ren.zone/articles/safe-money this is well worth reading, it outlines the reasons for the design of safe-money
03:49:35 <jackdk> hippoid: I suspect the author has been working in `MoneyPort.hs` and imported it qualified at the repl
03:51:13 <hippoid> Axman6: the thing about a qualified import makes sense. It must be the Sum constructor for Expression
03:52:42 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection)
03:53:20 naso joins (~naso@193-116-244-197.tpgi.com.au)
03:53:23 <hippoid> the post is from 2017, so I'd think a github link would not be too much to ask for. also makes me wonder if anyone has ever tried to run the code other than the author
03:53:25 ChaiTRex joins (~ChaiTRex@user/chaitrex)
03:53:31 ski joins (~ski@ext-1-213.eduroam.chalmers.se)
03:53:47 <monochrom> I don't even read blogs.
03:54:58 <monochrom> And if you s/blog/research paper/ then it's well known that few readers try to run code from research papers.
03:55:37 <monochrom> In fact we even wonder whether the authors themselves had run their published code in the first place.
03:57:06 <hippoid> in defense of the author, I am finding his prose to be illuminating
04:00:19 yin joins (~yin@user/zero)
04:01:42 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 245 seconds)
04:02:05 × Vajb quits (~Vajb@hag-jnsbng11-58c3ad-40.dhcp.inet.fi) (Read error: Connection reset by peer)
04:02:24 Vajb joins (~Vajb@n1zigc3rgo9mpde2w-1.v6.elisa-mobile.fi)
04:03:05 × jargon quits (~jargon@184.101.188.251) (Remote host closed the connection)
04:05:39 <jackdk> monochrom: all code in research papers should be buildable from nix expressions
04:05:48 <monochrom> haha
04:05:54 <jackdk> A man can dream
04:08:07 ski semi-recently typed in the (SML) code from Andrzej Filinski's "Representing Monads" and "Representing Layered Monads"
04:08:36 × off^ quits (~off@c-73-237-117-119.hsd1.ga.comcast.net) (Remote host closed the connection)
04:11:32 × phma quits (phma@2001:5b0:212a:9df8:d7c:fd9f:422b:bc91) (Read error: Connection reset by peer)
04:12:16 × Inst quits (~Inst@2601:6c4:4080:3f80:e980:509e:df5:6868) (Ping timeout: 244 seconds)
04:14:04 qrpnxz joins (~qrpnxz@fsf/member/qrpnxz)
04:14:09 <qrpnxz> hello
04:14:11 <qrpnxz> :)
04:14:24 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection)
04:14:45 ChaiTRex joins (~ChaiTRex@user/chaitrex)
04:19:26 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 240 seconds)
04:25:11 phma joins (~phma@host-67-44-208-15.hnremote.net)
04:27:01 <ski> ehlo
04:27:36 × naso quits (~naso@193-116-244-197.tpgi.com.au) ()
04:31:54 dsrt^ joins (~dsrt@c-73-237-117-119.hsd1.ga.comcast.net)
04:33:00 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
04:33:57 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
04:35:46 kazaf joins (~kazaf@94.180.63.53)
04:36:55 × Jeanne-Kamikaze quits (~Jeanne-Ka@142.147.89.233) (Remote host closed the connection)
04:38:44 × cosimone quits (~user@93-44-186-171.ip98.fastwebnet.it) (Ping timeout: 268 seconds)
04:39:37 Guest3 joins (~textual@2607:fb91:bd98:639c:7416:8bbe:b217:f425)
04:43:11 × Guest3 quits (~textual@2607:fb91:bd98:639c:7416:8bbe:b217:f425) (Client Quit)
04:44:51 × kazaf quits (~kazaf@94.180.63.53) (Remote host closed the connection)
04:46:33 matthewmosior joins (~matthewmo@173.170.253.91)
04:46:45 sts-q joins (~sts-q@2a01:41e1:23db:f000:40da:6064:132b:999)
04:47:01 sts-q parts (~sts-q@2a01:41e1:23db:f000:40da:6064:132b:999) (Reform running sic irc client says bye for now.)
04:55:47 <Axman6> monochrom: I have a credit in one of Martin Kleppmann's papers from finding a bug in his code implementing x25519 because I translated the code to Haskell
05:01:21 <Axman6> Hmm, not the one on his website, but this version of it: https://www.cl.cam.ac.uk/teaching/2122/Crypto/curve25519.pdf
05:01:45 × adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Quit: _)
05:01:56 × califax quits (~califax@user/califx) (Quit: ZNC 1.8.2 - https://znc.in)
05:02:07 adanwan joins (~adanwan@gateway/tor-sasl/adanwan)
05:02:10 califax joins (~califax@user/califx)
05:13:07 notzmv joins (~zmv@user/notzmv)
05:16:43 × dsrt^ quits (~dsrt@c-73-237-117-119.hsd1.ga.comcast.net) (Ping timeout: 264 seconds)
05:20:13 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection)
05:20:45 ChaiTRex joins (~ChaiTRex@user/chaitrex)
05:23:57 dsrt^ joins (~dsrt@c-73-237-117-119.hsd1.ga.comcast.net)
05:30:47 takuan joins (~takuan@178-116-218-225.access.telenet.be)
05:30:57 absentia joins (~absentia@user/absentia)
05:36:59 gmg joins (~user@user/gehmehgeh)
05:41:16 yvan-sraka joins (~yvan-srak@209.red-2-139-126.dynamicip.rima-tde.net)
05:42:44 mbuf joins (~Shakthi@122.165.55.71)
05:46:31 × raym quits (~raym@user/raym) (Ping timeout: 252 seconds)
05:47:31 kadoban joins (~kadoban@user/kadoban)
05:50:44 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
05:51:30 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
05:52:06 raym joins (~raym@user/raym)
05:54:37 jmdaemon joins (~jmdaemon@user/jmdaemon)
06:02:50 × tomku quits (~tomku@user/tomku) (Ping timeout: 244 seconds)
06:06:14 azimut joins (~azimut@gateway/tor-sasl/azimut)
06:08:05 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 268 seconds)
06:08:26 bitdex_ joins (~bitdex@gateway/tor-sasl/bitdex)
06:21:06 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 268 seconds)
06:21:26 matthewmosior joins (~matthewmo@173.170.253.91)
06:25:52 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 245 seconds)
06:27:44 × yvan-sraka quits (~yvan-srak@209.red-2-139-126.dynamicip.rima-tde.net) (Remote host closed the connection)
06:27:54 acidjnk joins (~acidjnk@p200300d6e70586745cd2a57a196d5e2d.dip0.t-ipconnect.de)
06:33:02 × gmg quits (~user@user/gehmehgeh) (Quit: Leaving)
06:38:49 matthewmosior joins (~matthewmo@173.170.253.91)
06:45:13 × michalz quits (~michalz@185.246.204.75) (Remote host closed the connection)
06:47:07 michalz joins (~michalz@185.246.204.87)
06:47:48 nate4 joins (~nate@98.45.169.16)
06:50:45 MajorBiscuit joins (~MajorBisc@86-88-79-148.fixed.kpn.net)
06:51:36 Haskelytic joins (~Haskelyti@118.179.211.17)
06:52:23 lortabac joins (~lortabac@2a01:e0a:541:b8f0:1c6f:4a58:170a:5a9)
06:52:31 × nate4 quits (~nate@98.45.169.16) (Ping timeout: 252 seconds)
06:57:17 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
06:57:52 hsw joins (~hsw@2001-b030-2303-0104-0172-0025-0012-0132.hinet-ip6.hinet.net)
06:59:32 × Haskelytic quits (~Haskelyti@118.179.211.17) (Ping timeout: 252 seconds)
07:03:54 mrmonday joins (~robert@what.i.hope.is.not.a.tabernaevagant.es)
07:06:05 × MajorBiscuit quits (~MajorBisc@86-88-79-148.fixed.kpn.net) (Ping timeout: 252 seconds)
07:08:51 zeenk joins (~zeenk@2a02:2f04:a311:2d00:6865:d863:4c93:799f)
07:11:03 × yin quits (~yin@user/zero) (Ping timeout: 268 seconds)
07:14:06 × noteness quits (~noteness@user/noteness) (Remote host closed the connection)
07:14:50 noteness joins (~noteness@user/noteness)
07:18:27 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
07:27:12 × Batzy quits (~quassel@user/batzy) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
07:27:48 yin joins (~yin@user/zero)
07:29:11 × jonathanx_ quits (~jonathan@h-178-174-176-109.a357.priv.bahnhof.se) (Ping timeout: 252 seconds)
07:29:33 Batzy joins (~quassel@user/batzy)
07:40:12 Hxdev joins (~Hxdev@188.132.209.192)
07:40:22 × Hxdev quits (~Hxdev@188.132.209.192) (Client Quit)
07:42:02 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
07:46:14 × acidjnk quits (~acidjnk@p200300d6e70586745cd2a57a196d5e2d.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
07:46:54 ccntrq joins (~Thunderbi@2a01:c22:8960:f400:e422:10e8:fa71:ce3d)
07:48:06 acidjnk joins (~acidjnk@p200300d6e7058674447358c26e802d51.dip0.t-ipconnect.de)
07:48:26 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
07:48:40 × arahael quits (~arahael@203.220.205.108) (Ping timeout: 268 seconds)
07:49:56 × noteness quits (~noteness@user/noteness) (Remote host closed the connection)
07:50:29 yvan-sraka joins (~yvan-srak@209.red-2-139-126.dynamicip.rima-tde.net)
07:51:07 × yvan-sraka quits (~yvan-srak@209.red-2-139-126.dynamicip.rima-tde.net) (Remote host closed the connection)
07:51:17 yvan-sraka joins (~yvan-srak@209.red-2-139-126.dynamicip.rima-tde.net)
07:51:52 benin0 joins (~benin@183.82.30.242)
07:52:11 arahael joins (~arahael@60-240-64-125.tpgi.com.au)
07:52:53 noteness joins (~noteness@user/noteness)
07:52:54 ubert joins (~Thunderbi@91.141.63.245.wireless.dyn.drei.com)
07:53:05 × yvan-sraka quits (~yvan-srak@209.red-2-139-126.dynamicip.rima-tde.net) (Remote host closed the connection)
07:53:18 yvan-sraka joins (~yvan-srak@209.red-2-139-126.dynamicip.rima-tde.net)
07:53:54 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
07:54:50 machinedgod joins (~machinedg@d172-219-86-154.abhsia.telus.net)
07:55:02 jonathanx_ joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
07:56:01 MajorBiscuit joins (~MajorBisc@c-001-020-005.client.tudelft.eduvpn.nl)
07:56:55 misterfish joins (~misterfis@ip214-130-173-82.adsl2.static.versatel.nl)
07:56:56 × vglfr quits (~vglfr@194.9.14.33) (Read error: Connection reset by peer)
07:58:01 vglfr joins (~vglfr@194.9.14.33)
08:04:38 × ubert quits (~Thunderbi@91.141.63.245.wireless.dyn.drei.com) (Ping timeout: 240 seconds)
08:09:47 matthewmosior joins (~matthewmo@173.170.253.91)
08:11:32 serus joins (~serus@65.red-83-53-31.dynamicip.rima-tde.net)
08:14:17 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
08:16:25 chele joins (~chele@user/chele)
08:16:56 naso joins (~naso@193-116-244-197.tpgi.com.au)
08:17:14 × yvan-sraka quits (~yvan-srak@209.red-2-139-126.dynamicip.rima-tde.net) (Remote host closed the connection)
08:18:25 × Psybur quits (~Psybur@c-76-123-45-25.hsd1.va.comcast.net) (Remote host closed the connection)
08:18:37 × stiell_ quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
08:18:44 Psybur joins (~Psybur@c-76-123-45-25.hsd1.va.comcast.net)
08:20:40 stiell_ joins (~stiell@gateway/tor-sasl/stiell)
08:31:14 matthewmosior joins (~matthewmo@173.170.253.91)
08:35:40 Haskelytic joins (~Haskelyti@118.179.211.17)
08:43:21 zxx7529 joins (~Thunderbi@user/zxx7529)
08:46:32 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
08:48:00 <qrpnxz> neat!
08:56:09 × tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
09:02:06 Pickchea joins (~private@user/pickchea)
09:03:12 × naso quits (~naso@193-116-244-197.tpgi.com.au) (Remote host closed the connection)
09:04:25 naso joins (~naso@193-116-244-197.tpgi.com.au)
09:08:13 × jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 268 seconds)
09:09:27 × naso quits (~naso@193-116-244-197.tpgi.com.au) (Ping timeout: 268 seconds)
09:13:16 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
09:13:38 × johnw quits (~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net) (Read error: Connection reset by peer)
09:24:41 gurkenglas joins (~gurkengla@p57b8a60f.dip0.t-ipconnect.de)
09:28:39 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
09:29:27 × yin quits (~yin@user/zero) (Ping timeout: 252 seconds)
09:30:40 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
09:30:52 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
09:31:00 × vglfr quits (~vglfr@194.9.14.33) (Read error: Connection reset by peer)
09:31:02 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
09:31:41 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
09:33:10 vglfr joins (~vglfr@194.9.14.33)
09:35:44 naso joins (~naso@193-116-244-197.tpgi.com.au)
09:40:05 × naso quits (~naso@193-116-244-197.tpgi.com.au) (Ping timeout: 252 seconds)
09:40:56 jakalx parts (~jakalx@base.jakalx.net) ()
09:41:11 jakalx joins (~jakalx@base.jakalx.net)
09:55:54 __monty__ joins (~toonn@user/toonn)
10:01:05 Kaiepi joins (~Kaiepi@156.34.47.253)
10:01:24 matthewmosior joins (~matthewmo@173.170.253.91)
10:04:13 × Haskelytic quits (~Haskelyti@118.179.211.17) (Quit: Client closed)
10:05:29 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
10:07:40 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
10:08:38 × xff0x quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 240 seconds)
10:09:18 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
10:11:55 naso joins (~naso@193-116-244-197.tpgi.com.au)
10:18:14 × naso quits (~naso@193-116-244-197.tpgi.com.au) (Ping timeout: 240 seconds)
10:20:21 cosimone joins (~user@93-44-186-171.ip98.fastwebnet.it)
10:23:14 CiaoSen joins (~Jura@p200300c9570ffb002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
10:25:50 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Ping timeout: 240 seconds)
10:25:50 × Pickchea quits (~private@user/pickchea) (Ping timeout: 240 seconds)
10:26:33 × coot quits (~coot@213.134.190.95) (Quit: coot)
10:27:13 naso joins (~naso@193-116-244-197.tpgi.com.au)
10:27:57 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
10:29:39 × causal quits (~user@50.35.83.177) (Quit: WeeChat 3.6)
10:35:49 VictorHugenay joins (~jh@user/VictorHugenay)
10:36:13 × VictorHugenay quits (~jh@user/VictorHugenay) (Client Quit)
10:40:43 × MajorBiscuit quits (~MajorBisc@c-001-020-005.client.tudelft.eduvpn.nl) (Ping timeout: 268 seconds)
10:42:03 × vglfr quits (~vglfr@194.9.14.33) (Ping timeout: 252 seconds)
10:42:21 MajorBiscuit joins (~MajorBisc@2a02-a461-129d-1-193d-75d8-745d-e91e.fixed6.kpn.net)
10:43:14 vglfr joins (~vglfr@194.9.14.33)
10:48:13 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
10:49:18 nate4 joins (~nate@98.45.169.16)
10:52:54 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
10:53:58 lisbeths joins (uid135845@id-135845.lymington.irccloud.com)
10:54:12 × nate4 quits (~nate@98.45.169.16) (Ping timeout: 245 seconds)
10:58:38 × MajorBiscuit quits (~MajorBisc@2a02-a461-129d-1-193d-75d8-745d-e91e.fixed6.kpn.net) (Ping timeout: 240 seconds)
10:59:02 × mncheckm quits (~mncheck@193.224.205.254) (Ping timeout: 240 seconds)
11:01:00 MajorBiscuit joins (~MajorBisc@c-001-020-005.client.tudelft.eduvpn.nl)
11:04:25 xff0x joins (~xff0x@2405:6580:b080:900:abfc:fa80:23d8:6403)
11:06:42 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 245 seconds)
11:07:41 matthewmosior joins (~matthewmo@173.170.253.91)
11:10:27 <sm> postfix
11:11:48 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
11:12:17 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
11:12:18 jakalx joins (~jakalx@base.jakalx.net)
11:13:40 <ski> mixfix
11:16:27 × Alex_test quits (~al_test@178.34.150.131) (Quit: ;-)
11:16:56 × AlexZenon quits (~alzenon@178.34.150.131) (Quit: ;-)
11:18:07 × AlexNoo quits (~AlexNoo@178.34.150.131) (Quit: Leaving)
11:21:00 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
11:21:03 × bitdex_ quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
11:22:16 bontaq joins (~user@ool-45779fe5.dyn.optonline.net)
11:22:33 bitdex_ joins (~bitdex@gateway/tor-sasl/bitdex)
11:23:24 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
11:24:10 azimut joins (~azimut@gateway/tor-sasl/azimut)
11:25:23 × califax quits (~califax@user/califx) (Write error: Broken pipe)
11:25:23 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection)
11:25:44 califax joins (~califax@user/califx)
11:25:55 ChaiTRex joins (~ChaiTRex@user/chaitrex)
11:26:47 × shailangsa quits (~shailangs@host86-185-98-81.range86-185.btcentralplus.com) ()
11:26:55 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
11:28:38 × califax quits (~califax@user/califx) (Remote host closed the connection)
11:28:59 califax joins (~califax@user/califx)
11:30:40 × naso quits (~naso@193-116-244-197.tpgi.com.au) (Ping timeout: 268 seconds)
11:31:42 × inversed quits (~inversed@90.209.137.56) (Ping timeout: 245 seconds)
11:37:57 × zxx7529 quits (~Thunderbi@user/zxx7529) (Quit: zxx7529)
11:40:27 matthewmosior joins (~matthewmo@173.170.253.91)
11:43:10 mncheck joins (~mncheck@193.224.205.254)
11:43:26 × mbuf quits (~Shakthi@122.165.55.71) (Ping timeout: 240 seconds)
11:45:09 mbuf joins (~Shakthi@122.165.55.71)
11:49:55 × mbuf quits (~Shakthi@122.165.55.71) (Remote host closed the connection)
11:50:21 mbuf joins (~Shakthi@122.165.55.71)
11:57:34 inversed joins (~inversed@90.209.137.56)
12:09:42 × Putonlalla quits (~sapekiis@it-cyan.it.jyu.fi) (Quit: Leaving.)
12:11:50 × mncheck quits (~mncheck@193.224.205.254) (Ping timeout: 268 seconds)
12:12:25 shailangsa joins (~shailangs@host86-185-98-81.range86-185.btcentralplus.com)
12:15:38 coot joins (~coot@213.134.190.95)
12:17:59 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
12:18:50 azimut joins (~azimut@gateway/tor-sasl/azimut)
12:22:26 Guest3 joins (~textual@2607:fb91:bd0f:f08f:a832:3a1d:5b25:bf78)
12:28:38 × mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 268 seconds)
12:28:49 × Guest55 quits (~Guest55@c-71-198-235-211.hsd1.ca.comcast.net) (Quit: Client closed)
12:29:53 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
12:30:14 × CiaoSen quits (~Jura@p200300c9570ffb002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
12:30:25 azimut joins (~azimut@gateway/tor-sasl/azimut)
12:30:32 yin joins (~yin@user/zero)
12:30:41 mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475)
12:34:35 × ncf quits (~n@monade.li) (Quit: Fairfarren.)
12:34:57 ncf joins (~n@monade.li)
12:35:02 × yin quits (~yin@user/zero) (Ping timeout: 240 seconds)
12:35:32 yin joins (~yin@user/zero)
12:37:07 × Guest3 quits (~textual@2607:fb91:bd0f:f08f:a832:3a1d:5b25:bf78) (Quit: Textual IRC Client: www.textualapp.com)
12:38:46 Guest3 joins (~textual@2607:fb91:bd0f:f08f:a832:3a1d:5b25:bf78)
12:42:32 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 245 seconds)
12:44:46 × Guest3 quits (~textual@2607:fb91:bd0f:f08f:a832:3a1d:5b25:bf78) (Quit: Textual IRC Client: www.textualapp.com)
12:48:55 × bitdex_ quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 268 seconds)
12:49:41 waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
12:50:13 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
12:56:07 matthewmosior joins (~matthewmo@173.170.253.91)
13:01:24 × matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection)
13:01:31 matthewmosior joins (~matthewmo@173.170.253.91)
13:04:24 AlexZenon joins (~alzenon@178.34.150.131)
13:04:31 AlexNoo joins (~AlexNoo@178.34.150.131)
13:06:29 Alex_test joins (~al_test@178.34.150.131)
13:06:57 <hippoid> for the monoid endomorphism, the elements of the set are of type a->a, and the binary op is compose?
13:08:13 [_] joins (~itchyjunk@user/itchyjunk/x-7353470)
13:08:59 Putonlalla joins (~sapekiis@it-cyan.it.jyu.fi)
13:12:47 × matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection)
13:15:46 matthewmosior joins (~matthewmo@173.170.253.91)
13:16:19 × matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection)
13:16:26 matthewmosior joins (~matthewmo@173.170.253.91)
13:28:17 kawen_ is now known as kawen
13:32:09 × jespada quits (~jespada@45.162.228.190) (Ping timeout: 268 seconds)
13:37:26 × yin quits (~yin@user/zero) (Ping timeout: 240 seconds)
13:39:10 ccntrq1 joins (~Thunderbi@2a01:c23:8dda:df00:69cf:57d6:e6b1:a73f)
13:39:11 <geekosaur> @tell int-e https://github.com/geekosaur/lambdabot/tree/command-doc/doc see commands.md
13:39:11 <lambdabot> Consider it noted.
13:39:23 John_Ivan joins (~John_Ivan@user/john-ivan/x-1515935)
13:39:48 <geekosaur> hippoid, that is the newtype `Endo`, yes
13:40:47 × ccntrq quits (~Thunderbi@2a01:c22:8960:f400:e422:10e8:fa71:ce3d) (Ping timeout: 268 seconds)
13:40:47 ccntrq1 is now known as ccntrq
13:42:01 × dsrt^ quits (~dsrt@c-73-237-117-119.hsd1.ga.comcast.net) (Ping timeout: 268 seconds)
13:42:31 <ski> hippoid : i'd not say "monoid endomorphism", but perhaps "endomorphism monoid", though
13:43:25 <ski> ("monoid endomorphism" sounds like you're talking about a morphism (which happends to be an endomorphism) of monoids .. which is presumably not the case)
13:43:52 <ski> ("monoid of endomorphisms" would work, though)
13:44:04 <hippoid> that factoid makes the whole monad="monoid in the category of endofuctors" thing make sense to me!
13:44:28 tomku joins (~tomku@user/tomku)
13:46:37 <ski> fwiw, there's also a notion of "monad morphism". if `M' and `N' are monads, then `f :: forall a. M a -> N a' is a monad morphism iff `f . return = return' and `f . join = join . (f . fmap f) = join . (fmap f . f)' (the latter two must be equal, because `f' is a natural transformation, because it's polymorphic (with no class constraints), and Haskell enjoys the parametricity property)
13:46:40 <merijn> hippoid: Fun fact: factoid is not "a small fact" it is "a false/unprovable thing that sounds like a fact"
13:47:15 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
13:47:16 <ski> e.g. `reverse :: [a] -> [a]', `listToMaybe :: [a] -> Maybe a' are monad morphisms
13:47:20 dsrt^ joins (~dsrt@c-73-237-117-119.hsd1.ga.comcast.net)
13:47:53 <ski> is "a factoid is a small fact" a factoid, then ? :b
13:49:58 × dsrt^ quits (~dsrt@c-73-237-117-119.hsd1.ga.comcast.net) (Remote host closed the connection)
13:49:58 <ski> hippoid : compare with a monoid morphism `f :: M -> N', which must satisfy `f mempty = mempty' and `f (x <> y) = f x <> f y'
13:50:12 <hippoid> merijn: until understanding the endormorphism monoid, i considered it a factoid :)
13:51:30 [_] is now known as [itchyjunk]
13:54:20 × ccntrq quits (~Thunderbi@2a01:c23:8dda:df00:69cf:57d6:e6b1:a73f) (Remote host closed the connection)
13:54:38 ccntrq joins (~Thunderbi@2a01:c23:8dda:df00:69cf:57d6:e6b1:a73f)
13:55:03 × matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection)
13:55:54 Milan joins (~Milan@46.245.117.154)
13:56:08 × Milan quits (~Milan@46.245.117.154) (Client Quit)
13:56:48 matthewmosior joins (~matthewmo@173.170.253.91)
13:57:33 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
13:58:10 <hippoid> ski: I'll have to ponder that for a while. and I don't know what is the "parametricity property"
13:59:34 <merijn> hippoid: You wanna google "Theorems for Free!"
14:01:17 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 245 seconds)
14:02:16 kuribas joins (~user@silversquare.silversquare.eu)
14:03:04 <hippoid> "from the type of a paremetric function, we can define a theorem that it satisfies". That's a good opening sentence to a paper
14:03:18 matthewmosior joins (~matthewmo@173.170.253.91)
14:03:37 <merijn> hippoid: It basically boils down to: "id :: a -> a" can have only two implementations
14:03:45 <merijn> (namely id and bottom)
14:04:06 <merijn> Why? Because the parametric polymorphism won't let you write anything else
14:04:11 × matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection)
14:10:01 <hippoid> ok, that rings a bell. Now I remember reading this at some point https://www.well-typed.com/blog/2015/05/parametricity/
14:11:20 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
14:12:55 <hippoid> ski: you wrote "monoid morphism f :: M -> N", should it be f :: M -> M?
14:13:33 matthewmosior joins (~matthewmo@173.170.253.91)
14:14:57 wootehfoot joins (~wootehfoo@user/wootehfoot)
14:17:53 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
14:20:05 <ski> no, `M' and `N' doesn't need to be the same monoid
14:20:58 <ski> e.g. `M' could be `Sum Integer', and `N' could be `Product Integer', and `f' could be `(2 ^)' (modulo `newtype' un/wrapping)
14:21:33 <ski> (that's why i said "morphism", rather than "endomorphism". "endo-" simply means that the domain and the codomain, the argument type and the result type, are the same)
14:21:59 <ski> @free reverse :: [a] -> [a]
14:21:59 <lambdabot> $map f . reverse = reverse . $map f
14:22:08 <ski> @free concat :: [[a]] -> [a]
14:22:09 <lambdabot> $map f . concat = concat . $map ($map f)
14:22:11 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Quit: Leaving)
14:22:25 <ski> @free zip
14:22:26 <lambdabot> $map ($map_Pair f g) . zip xs = zip ($map f xs) . $map g
14:23:21 <ski> these are examples of "free theorems", derived solely from the (universal, iow `forall'-ed) type of the (therefore polymorphic) operations, not taking the particular operation into account (not knowing how it's implemented, or what it means/does)
14:24:42 <ski> such theorems are true, because a polymorphic operation is not allowed to inspect values (like parts of arguments) which have a type which is a type variable, being universally quantified over the type signature. like `a' for `reverse' and `concat' above, and `a',`b' for `zip :: forall a b. [a] -> [b] -> [(a,b)]'
14:26:07 <ski> because the operation is not allowed to inspect those values, we know that the only way it could interact with them is via callbacks provided by the caller, e.g. the callback for `filter',`map',`zipWith'. this can greatly help with refactoring and reasoning about code, e.g. using (polymorphic) library operations
14:28:06 <ski> (`@free' writes `$map' to indicate a given map function for lists, and `$map_T' for any other (covariant) type constructor `T'. e.g. `$map_Pair :: (a0 -> a1) -> (b0 -> b1) -> ((a0,b0) -> (a1,b1))' above)
14:28:12 <ski> @free map
14:28:14 <lambdabot> g . h = k . f => $map g . map h = map k . $map f
14:29:04 <ski> (so it needs to distinguish between the map function `$map', and the (to it) arbitrary operation identifier `map' that i happened to give it (that it looked up the type signature of))
14:30:24 <ski> @type Product . (2 ^) . getSum :: Sum Integer -> Product Integer -- the monoid (homo)morphism i mentioned
14:30:25 <lambdabot> Sum Integer -> Product Integer
14:32:01 × joo-_ quits (~joo-_@fsf/member/joo--) (Quit: leaving)
14:33:36 <hippoid> what does a $ before a term mean in the lambdabot output?
14:33:38 <ski> anyway, languages which have generics / parametric polymorphism, but which allows you to inspect arbitrary values/objects, or discover the type at runtime (like `instanceof', or a `typecase' thing) (like e.g. Java,C#,..,Mercury), doesn't enjoy the parametricity property
14:33:48 <ski> hippoid : i explained that above
14:33:57 <hippoid> yeah, I didn't follow that :>
14:34:20 <ski> it just means "built-in map function, that actually maps like you expect, rather than doing anything else"
14:34:34 <ski> it's particular to the `free' command
14:34:50 <ski> @help free
14:34:50 <lambdabot> free <ident>. Generate theorems for free
14:35:16 <hippoid> ok. thanks for the explanation. I'll have to slowly parse it and learn some things!
14:35:20 <ski> @free foo :: [Maybe a] -> [a]
14:35:20 <lambdabot> $map f . foo = foo . $map ($map_Maybe f)
14:35:34 <ski> (that's e.g. `catMaybes')
14:37:16 <ski> changing the `a's (to `b's, say, using some function `f :: a -> b', for particular types `a' and `b') inside the `Maybe's in the list before doing `catMaybes', is the same as first doing `catMaybes', and then changing the `a's to `b's
14:37:46 <ski> or, reversing and then mapping, is the same as mapping and then reversing
14:39:15 jero98772 joins (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff)
14:41:13 × ccntrq quits (~Thunderbi@2a01:c23:8dda:df00:69cf:57d6:e6b1:a73f) (Ping timeout: 268 seconds)
14:41:30 ccntrq joins (~Thunderbi@2a01:c22:8db2:e200:9023:5ebe:d852:4330)
14:43:45 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Quit: ZNC - https://znc.in)
14:44:12 azimut joins (~azimut@gateway/tor-sasl/azimut)
14:44:13 ccntrq1 joins (~Thunderbi@2a01:c22:9019:f500:fe63:6096:2ce0:f687)
14:45:29 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
14:46:04 jpds joins (~jpds@gateway/tor-sasl/jpds)
14:46:09 × ccntrq quits (~Thunderbi@2a01:c22:8db2:e200:9023:5ebe:d852:4330) (Ping timeout: 268 seconds)
14:46:09 ccntrq1 is now known as ccntrq
14:46:41 <ski> "Reverse Engineering Machines with the Yoneda Lemma" in 2006-11-12 <http://blog.sigfpe.com/2006/11/yoneda-lemma.html> and "A Yonedic Addendum" in 2006-12-02 at <http://blog.sigfpe.com/2006/12/yonedic-addendum.html>, both by dpiponi, is also related to this (and to Continuation-Passing Style, and then to `Codensity' monad)
14:48:20 matthewmosior joins (~matthewmo@173.170.253.91)
14:49:49 yvan-sraka joins (~yvan-srak@209.red-2-139-126.dynamicip.rima-tde.net)
14:50:48 nate4 joins (~nate@98.45.169.16)
14:51:05 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds)
14:52:32 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 245 seconds)
14:53:28 × jinsun quits (~jinsun@user/jinsun) (Ping timeout: 244 seconds)
14:54:20 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Quit: Leaving)
14:56:01 × nate4 quits (~nate@98.45.169.16) (Ping timeout: 268 seconds)
14:56:33 Inoperable joins (~PLAYER_1@fancydata.science)
14:59:10 × Inoperable quits (~PLAYER_1@fancydata.science) (Quit: All your buffer are belong to us!)
15:00:45 geekosaur joins (~geekosaur@xmonad/geekosaur)
15:01:49 jinsun joins (~jinsun@user/jinsun)
15:01:51 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:1c6f:4a58:170a:5a9) (Quit: WeeChat 2.8)
15:02:19 × yvan-sraka quits (~yvan-srak@209.red-2-139-126.dynamicip.rima-tde.net) (Remote host closed the connection)
15:03:25 <albet70> ski , what that free come from?
15:04:29 <albet70> that free map is interesting
15:05:35 Inoperable joins (~PLAYER_1@fancydata.science)
15:10:00 <ski> albet70 : "Theorems for free!" by Philip Wadler in 1990-06 at <https://homepages.inf.ed.ac.uk/wadler/topics/parametricity.html#free>. goes back to the Abstraction theorem of Reynolds
15:10:58 <ski> yea, `g . h = k . f => $map g . map h = map k . $map f' is actually pretty obvious, if you think about it, using that `map f . map g = map (f . g)' for all `f',`g'
15:11:34 <ski> (the higher-orderness of `map' corresponds to the presence of the implication in the free theorem for it)
15:11:45 <albet70> that's the lambda-man?
15:11:54 <ski> hm ?
15:12:27 <ski> it's not one author(s ?) of the "Lambda the Ultimate: ..." series of papers, if that's what you mean
15:12:29 <albet70> who introduced Monad into programming languages
15:12:37 <ski> well, yes. sortof
15:13:10 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
15:13:17 <ski> Eugenio Moggi introduced monads as ways to describe side-effects of imperative programming languages, in denotational semantics. so monads to reason *about* programming (languages)
15:13:20 <albet70> is this 'free' in current modules?
15:14:16 <ski> then Wadler turned that on its head, and (more or less) read the denotational semantics equations as a function program, explaining how to simulate/express effects, without actual side-effects in the language, in a functional language. so, using monads as a programming device/idiom/concept
15:15:03 <ski> the `free' package on Hackage is not really the same sort of thing, no
15:15:06 <ski> @hackage free
15:15:06 <lambdabot> https://hackage.haskell.org/package/free
15:16:49 <albet70> ski , why?
15:17:26 <ski> (that one is about "free monads", which are a special case of a more general idea of "free constructions", coming from category theory. you could have free monoids (of a type), free monoids (of a semigroup), free groups (over a type/set, or over a monoid), free abelian group (over a type, over a monoid, over a group, ..), free monads (of a type constructor), free comonads, ...)
15:17:31 × ccntrq quits (~Thunderbi@2a01:c22:9019:f500:fe63:6096:2ce0:f687) (Remote host closed the connection)
15:17:34 <ski> why what ?
15:17:51 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
15:18:38 × raoul quits (~raoul@95.179.203.88) (Quit: Ping timeout (120 seconds))
15:19:00 raoul joins (~raoul@95.179.203.88)
15:19:06 Pickchea joins (~private@user/pickchea)
15:19:19 <albet70> why that free is not on hackage?
15:20:46 jpds joins (~jpds@gateway/tor-sasl/jpds)
15:22:43 <albet70> map f . map g = map (f . g) is interesting, if g is a binary function
15:22:43 matthewmosior joins (~matthewmo@173.170.253.91)
15:23:05 <albet70> it could do something like for ... for in other langeuages
15:23:30 × John_Ivan quits (~John_Ivan@user/john-ivan/x-1515935) (Remote host closed the connection)
15:23:42 × bliminse quits (~bliminse@user/bliminse) (Quit: leaving)
15:24:40 <albet70> there're two list, alist ["a","b","c"] and blist ["awe", "bword", "ces", "de"],print that blist's element which contain alist's element
15:24:58 <albet70> [ e | i <- lista, e <- listb, elem i e ]
15:25:47 <albet70> getSeq x y = if x isSubsequenceOf y then Just y else Nothing
15:26:18 <albet70> main = print $ foldl1 (<>) $ fmap (filter (/= Nothing)) $ fmap (\a -> fmap (\b -> getSeq a b) blist) alist
15:26:19 <ski> hm, looks like Pseudonym's page is not on the Web Archive
15:26:34 <ski> maybe it is on Hackage somewhere, though ?
15:27:07 <albet70> so this fmap (\a -> fmap (\b -> getSeq a b) blist) alist could turn to fmap ( f . g)?
15:27:11 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
15:27:15 <ski> i at least find
15:27:21 <ski> @hackage free-theorems
15:27:21 <lambdabot> https://hackage.haskell.org/package/free-theorems
15:27:23 <ski> @hackage free-theorems-seq
15:27:23 <lambdabot> https://hackage.haskell.org/package/free-theorems-seq
15:27:27 <ski> @hackage free-theorems-counterexamples
15:27:27 <lambdabot> https://hackage.haskell.org/package/free-theorems-counterexamples
15:27:39 matthewmosior joins (~matthewmo@173.170.253.91)
15:27:56 × vglfr quits (~vglfr@194.9.14.33) (Ping timeout: 268 seconds)
15:28:35 <ski> albet70 : hm, if `g :: A -> B -> C', then we must have something like `f :: (B -> C) -> D', for that law to make sense
15:30:00 bliminse joins (~bliminse@user/bliminse)
15:31:13 <albet70> fmap (\a -> fmap (\b -> getSeq a b) blist) alist; this is fmap inside fmap, not fmap . fmap, right? ski
15:31:47 <albet70> so it do not obey fmap f . fmap g = fmap (f . g)
15:32:44 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
15:33:53 aweinsto1k is now known as aweinstock
15:34:25 <c_wraith> "doesn't obey" is a weird wording. I'd just describe it as "doesn't apply"
15:35:04 <ski> albet70 : rather than `(/= Nothing)', prefer `isJust' (which has no equality constraint on the element type). and `filter isJust' is `map Just . catMaybes', and it looks like you're not actually needing those `Just's (your `(<>)' is just list concatenation of the outer list level)
15:35:39 Henson joins (~kvirc@207.136.101.195)
15:35:43 <ski> fmap (\a -> fmap (\b -> getSeq a b) blist) alist
15:35:57 <ski> = fmap (\a -> fmap (getSeq a) blist) alist
15:36:18 <ski> = fmap (\a -> getSeq a `fmap` blist) alist
15:36:35 <c_wraith> also, that code just looks wrong. Unless blist is actually a function
15:36:35 <ski> = fmap ((`fmap` blist) . getSeq) alist
15:37:55 <albet70> c_wraith , blist is a list
15:38:08 <ski> i'd usually phrase `fmap (fmap (...))' as "`fmap' inside `fmap'". that is equal to `(fmap . fmap) (...)'
15:38:44 <ski> (you're write that what you wrote isn't a case of this)
15:38:49 <ski> (er, s/write/right/)
15:38:50 <c_wraith> albet70: then you've got a type error
15:39:32 <ski> looks like `blist' is a list, to me
15:39:36 <c_wraith> oh, nevermind. the whole thing is inside a lambda
15:39:45 <c_wraith> I'm so unused to seeing that.
15:39:56 <ski> yea, it's not the usual `fmap'-inside-`fmap'
15:40:26 <ski> occasionally i define `pamf = flip map', so i can write e.g.
15:40:46 <ski> foos `pamf` \foo -> bars `pamf` \bar -> ..foo..bar..
15:41:59 <albet70> for a in alist: for b in blist: if a in b: print(b) it's usually in python
15:42:27 <albet70> but they use iterally, not recursive
15:42:55 <ski> it lookeded reasonable to me, as a list comprehension
15:43:40 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
15:43:44 × Henson quits (~kvirc@207.136.101.195) (Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/)
15:43:48 <albet70> yeah, list comprehension is more natural here, but I wonder the fmap . fmap way
15:43:57 × zeenk quits (~zeenk@2a02:2f04:a311:2d00:6865:d863:4c93:799f) (Quit: Konversation terminated!)
15:44:19 <ski> i'd rather use `(>>=)' or `(=<<)' (or `concatMap'), i think
15:44:37 <ski> @. do undo [ e | i <- lista, e <- listb, elem i e ]
15:44:37 <lambdabot> concatMap (\ i -> concatMap (\ e -> if elem i e then [e] else []) listb) lista
15:45:27 <ski> lista >>= \i -> listb >>= \e -> [e | i `elem` e]
15:45:28 yin joins (~yin@user/zero)
15:46:35 <albet70> lambdabot , but this is same to fmap
15:46:57 <ski> concatenates your lists, as you go, rather than doing it at the end
15:49:34 <albet70> fmap ((`fmap` blist) . getSeq) alist is same to fmap (\a -> fmap (\b -> getSeq a b) blist) alist , just change it to point-free, right?
15:50:34 × benin0 quits (~benin@183.82.30.242) (Quit: The Lounge - https://thelounge.chat)
15:50:38 <ski> let (| l0 | i |) = lista; (| l1 | e |) = listb; (| l2 | e' |) = [e | i `elem` e] in (| concat (| concat (| l0,l1 |),l2 |) | e' |)
15:50:45 × cjay quits (cjay@nerdbox.nerd2nerd.org) (Ping timeout: 268 seconds)
15:51:25 <albet70> I wonder it's possible turn that into one fmap?
15:51:38 <ski> (hm, nested `concat' looks ugly .. i wonder if there's a nice way to pass a list of list levels to such a transformation ?)
15:52:10 <ski> "... is same to ... , just change it to point-free, right?" -- yes
15:52:33 <ski> no, you need to traverse both lists
15:52:34 <albet70> fmap (\a -> fmap (\b -> getSeq a b) blist) alist = fmap f alist blist?
15:52:49 <albet70> fmap f alist $ blist?
15:53:26 John_Ivan joins (~John_Ivan@user/john-ivan/x-1515935)
15:53:33 <ski> there is such a thing as `liftA2 f alist blist', but that does an extra `join'/`concat' at the end
15:53:37 <albet70> apply f on one of alist, and all of blist, it's like applicative?
15:53:44 <ski> (`liftA1' is called `fmap')
15:54:11 <ski> > liftA2 (+) [0,1,2] [300,400]
15:54:13 <lambdabot> [300,400,301,401,302,402]
15:54:16 <albet70> ski, but liftA2 would take one of alist and all of blist?
15:54:30 <ski> > getZipList (liftA2 (+) (ZipList [0,1,2]) (ZipList [300,400]))
15:54:31 <lambdabot> [300,401]
15:54:48 <ski> > zipWith (+) [0,1,2] [300,400]
15:54:49 <lambdabot> [300,401]
15:54:57 <albet70> yes, it seems liftA2 is a better than fmap inside fmap
15:55:52 <albet70> ski, so that fmap (\a -> fmap (\b -> getSeq a b) blist) alist == liftA2 getSeq alist blist?
15:55:55 <ski> on lists, it does cartesian product (all combinations). on `ZipList's, it does elementwise / "parallel" / "lockstep" combinations
15:56:00 <ski> no
15:56:12 <albet70> why?
15:56:19 <Boarders__> If I have an executable called 'my-app' what is the best way to pass a command line argument to it (via the `getArgs` function)?
15:56:25 <ski> liftA2 getSeq alist blist = join (fmap (\a -> fmap (\b -> getSeq a b) blist) alist)
15:56:42 <ski> you need the wrapping `join'/`concat', for the two `fmap's
15:58:21 <albet70> what about liftM2? is liftM2 == liftA2?
15:58:32 vglfr joins (~vglfr@91.192.47.10)
15:58:32 <sm> Boarders__: there's withArgs
15:58:39 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
15:58:41 <albet70> > liftM2 (+) [1..9] [2..12]
15:58:43 <lambdabot> [3,4,5,6,7,8,9,10,11,12,13,4,5,6,7,8,9,10,11,12,13,14,5,6,7,8,9,10,11,12,13,...
15:59:21 <sm> but the question is a slightly unclear
15:59:51 <albet70> > liftA2 (+) [1..3] [2..6]
15:59:53 <lambdabot> [3,4,5,6,7,4,5,6,7,8,5,6,7,8,9]
15:59:55 <Boarders__> could you just answer with your best interpretation?
16:00:01 <Boarders__> if you know the answer I can just try it out
16:00:06 <ski> Boarders__ : maybe `System.Process.callProcess' ?
16:00:21 <Boarders__> I mean on the command line how do I pass this argument to an executable with stack
16:00:27 <Boarders__> nothing about haskell
16:00:37 <Boarders__> I just don't use stack
16:02:18 <ski> albet70 : `liftM2' "ought to" be equal to `liftA2', when both are defined. however, there may be some differences with bottoms in some cases, iirc. also, there's examples of ones which can use parallel, or distributed, computation for `liftA2', but not for `liftM2' (since that one is defined in terms of `(>>=)', which has a data dependency of the second action on the result of the first one)
16:02:25 matthewmosior joins (~matthewmo@173.170.253.91)
16:02:49 ski dunno about Stack
16:04:57 <albet70> liftA2 f g h = \x -> f (g x) (h x) this is an interesting function too
16:06:47 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
16:07:08 <geekosaur> stack run -- executable parameter … ?
16:07:28 <geekosaur> (the `--` stops stack from eating options intended for your executable)
16:07:49 <ski> S (K f) g h
16:08:07 <ski> er, rather
16:08:15 <ski> S (S (K f) g) h
16:08:18 <ski> which is
16:08:23 <ski> S (B f g) h
16:09:10 <albet70> I don't understand you expression
16:09:37 <albet70> liftA2 @((->)_) :: (a -> b -> c) -> (_ -> a) -> (_ -> b) -> _ -> c
16:10:20 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
16:13:59 <ski> S f g x = (f x) (g x)
16:14:06 <ski> K c x = c
16:14:09 <ski> I x = x
16:14:16 <ski> B f g x = f (g x)
16:14:35 <ski> C f x y = f y x
16:14:48 <ski> W f x = f x x
16:15:53 <albet70> ski, is ther a way I can get a function's lambda definition?
16:16:16 <albet70> like I'd like to get liftA2 when f is []'s lambda definition
16:16:49 <ski> this is standard <https://en.wikipedia.org/wiki/SKI_combinator>s. also see "To Dissect a Mockingbird: A Graphical Notation for the Lambda Calculus with Animated Reduction" by David C. Keenan in 1996-08-27 - 2014-04-01 at <https://dkeenan.com/Lambda/index.htm>
16:17:29 <ski> `W' is `join', btw
16:19:15 × Pickchea quits (~private@user/pickchea) (Quit: Leaving)
16:19:51 <ski> (and `(=<<)' is `B S C')
16:20:19 <ski> not sure what you mean by "when f is []'s lambda definition"
16:20:35 <ski> you can't get at the source which produced a value, at run-time
16:20:56 <ski> @src (->) (>>=)
16:20:56 <lambdabot> f >>= k = \ r -> k (f r) r
16:21:11 × canta quits (~canta@user/canta) (Quit: WeeChat 2.8)
16:21:17 <ski> `src' is a small, curated, database of simple `Prelude'-like definitions
16:21:24 canta joins (~canta@user/canta)
16:21:30 <ski> @src (->) return
16:21:30 <lambdabot> return = const
16:21:37 <ski> which is `K'
16:22:52 <albet70> you're right, I can't ask a function definition who match the function type signature
16:23:05 <albet70> it may be many
16:24:31 <ski> @djinn (a -> Maybe b) -> Maybe a -> Maybe b
16:24:31 <lambdabot> f a b =
16:24:31 <lambdabot> case b of
16:24:31 <lambdabot> Nothing -> Nothing
16:24:31 <lambdabot> Just c -> a c
16:24:53 <ski> @hoogle (a -> Maybe b) -> Maybe a -> Maybe b
16:24:54 <lambdabot> Prelude (=<<) :: Monad m => (a -> m b) -> m a -> m b
16:24:54 <lambdabot> Control.Monad (=<<) :: Monad m => (a -> m b) -> m a -> m b
16:24:54 <lambdabot> GHC.Base (=<<) :: Monad m => (a -> m b) -> m a -> m b
16:24:59 <ski> @hoogle [Maybe a] -> [a]
16:25:00 <lambdabot> Data.Maybe catMaybes :: [Maybe a] -> [a]
16:25:00 <lambdabot> System.Directory.Internal.Prelude catMaybes :: () => [Maybe a] -> [a]
16:25:00 <lambdabot> Distribution.Compat.Prelude.Internal catMaybes :: [Maybe a] -> [a]
16:25:20 <ski> @hoogle+
16:25:20 <lambdabot> Network.AWS.Prelude catMaybes :: () => [Maybe a] -> [a]
16:25:20 <lambdabot> Data.List.HT takeWhileJust :: [Maybe a] -> [a]
16:25:20 <lambdabot> Data.Strict.Maybe catMaybes :: [Maybe a] -> [a]
16:26:21 <ski> @where hoogle
16:26:21 <lambdabot> https://hoogle.haskell.org
16:26:22 <ski> @where hayoo
16:26:22 <lambdabot> http://hayoo.fh-wedel.de/ -- See also Hoogle: http://haskell.org/hoogle http://fpcomplete.com/hoogle
16:29:08 yvan-sraka joins (~yvan-srak@209.red-2-139-126.dynamicip.rima-tde.net)
16:29:23 <hippoid> I'm trying to define 'instance Monoid a => Applicative ((,) a) ...' for learning purposes, and I get a "duplicate instance error... Defined in GHC.Base". Is there a way to not import an instance, similar to "import Foo hiding (Bar)"?
16:29:45 × misterfish quits (~misterfis@ip214-130-173-82.adsl2.static.versatel.nl) (Ping timeout: 268 seconds)
16:29:47 <albet70> @djinn (a -> b -> c) -> [a] -> [b] -> [c]
16:29:47 <lambdabot> Error: Undefined type []
16:30:20 <ski> use `newtype Pair a b = PairOf (a,b)' or `data Pair a b = MkPair a b'
16:30:25 misterfish joins (~misterfis@ip214-130-173-82.adsl2.static.versatel.nl)
16:30:46 <ski> Djinn doesn't understand recursion (including recursive types, like `[]')
16:30:48 <albet70> why [] is undefined...
16:30:55 <ski> @help djinn
16:30:55 <lambdabot> djinn <type>.
16:30:55 <lambdabot> Generates Haskell code from a type.
16:30:55 <lambdabot> https://github.com/augustss/djinn
16:31:24 <absentia> @djinn a -> a
16:31:24 <lambdabot> f a = a
16:31:34 <absentia> @djinn [a] -> [a]
16:31:34 <lambdabot> Error: Undefined type []
16:31:35 <ski> (it also doesn't understand classes with polymorphic methods, like `Functor',`Monad'. `Eq' and the like is fine)
16:31:49 <absentia> @djin (Functor f) => f a -> f a
16:31:49 <lambdabot> Maybe you meant: djinn djinn-add djinn-clr djinn-del djinn-env djinn-names djinn-ver
16:31:57 <absentia> @djinn (Functor f) => f a -> f a
16:31:57 <lambdabot> Error: Class not found: Functor
16:32:02 <ski> @djinn Not (Either a b) -> (Not a,Not b)
16:32:02 <lambdabot> f a = (\ b -> a (Left b), \ c -> a (Right c))
16:32:12 coco joins (~coco@212-51-146-199.fiber7.init7.net)
16:32:29 <ski> @djinn-add class Functor f where fmap :: (a -> b) -> (f a -> f b)
16:32:56 <absentia> @djinn (Functor f) => f a -> f a
16:32:56 <lambdabot> f a = a
16:33:04 <geekosaur> https://github.com/lspitzner/exference can handle more types but is not guaranteed to terminate
16:33:08 <ski> @djinn Functor f => Maybe (a -> b) -> (Maybe (f a) -> Maybe (f b))
16:33:10 <lambdabot> f a b =
16:33:12 <lambdabot> case a of
16:33:14 <lambdabot> Nothing -> Nothing
16:33:16 <lambdabot> Just c -> case b of
16:33:18 <lambdabot> Nothing -> Nothing
16:33:20 <lambdabot> Just d -> Just (fmap c d)
16:33:25 <ski> @djinn Functor f => Maybe (b -> a) -> (Maybe (f b) -> Maybe (f a))
16:33:25 <lambdabot> f _ _ = Nothing
16:33:56 <ski> @djinn Functor f => (b -> a) -> (f b -> (f a)
16:33:56 <lambdabot> Cannot parse command
16:34:01 <ski> @djinn Functor f => (b -> a) -> (f b -> f a)
16:34:01 <lambdabot> -- f cannot be realized.
16:34:09 <albet70> I wonder if that gpt-3 could help generate haskell code one day, I never saw AI things about haskell yet
16:34:11 <ski> @djinn Functor f => (a -> b) -> (f a -> f b)
16:34:11 <lambdabot> f = fmap
16:34:12 <absentia> ??
16:34:38 <ski> it doesn't understand to instantiate the `a' and `b' in `fmap' to anything ..
16:34:39 <absentia> albet70: work has already been done to synthesize i think a lisp dialect using minikanren
16:34:51 <absentia> given a set of test cases / example input & outputs
16:34:59 <absentia> it will spit out code that satisfies that suite
16:35:21 <absentia> it's arguable whether this constitutes "AI"
16:35:30 <absentia> there is of course copilot
16:35:35 <absentia> aka gpl laundering as a service
16:35:44 <ski> absentia : sounds related to ILP .. i think i saw some talk about that (which you mentioned)
16:36:04 <kuribas> or idris: https://www.youtube.com/watch?v=brjFqXkUQv0
16:36:42 matthewmosior joins (~matthewmo@173.170.253.91)
16:36:51 <absentia> ski: maybe, i saw this at an in person talk
16:36:52 <ski> (Inductive Logic Programming, a form of machine learning where it's learning defining clauses of predicate(s), given positive and negative example facts, and background predicates it can use to build stuff with)
16:36:55 <absentia> i forget the actual details
16:37:04 <absentia> i just remember the demo
16:37:10 <ski> well, this was somw talk on YT (i think ?) i was thinking about
16:38:13 Midjak joins (~Midjak@82.66.147.146)
16:40:52 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 245 seconds)
16:45:18 × kuribas quits (~user@silversquare.silversquare.eu) (Remote host closed the connection)
16:48:12 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
16:48:47 × mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 245 seconds)
16:50:29 econo joins (uid147250@user/econo)
16:51:02 mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475)
16:54:39 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
16:55:06 tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
16:58:22 × yin quits (~yin@user/zero) (Ping timeout: 245 seconds)
17:00:36 zer0bitz joins (~zer0bitz@2001:2003:f748:2000:f402:7db0:5697:8cad)
17:05:09 × mbuf quits (~Shakthi@122.165.55.71) (Quit: Leaving)
17:05:21 wootehfoot joins (~wootehfoo@user/wootehfoot)
17:06:08 × td_ quits (~td@muedsl-82-207-238-045.citykom.de) (Ping timeout: 268 seconds)
17:07:35 gmg joins (~user@user/gehmehgeh)
17:07:58 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
17:08:57 fef joins (~thedawn@user/thedawn)
17:11:49 matthewmosior joins (~matthewmo@173.170.253.91)
17:16:32 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
17:17:07 × fef quits (~thedawn@user/thedawn) (Remote host closed the connection)
17:17:40 fef joins (~thedawn@user/thedawn)
17:17:40 × coot quits (~coot@213.134.190.95) (Quit: coot)
17:17:55 × yvan-sraka quits (~yvan-srak@209.red-2-139-126.dynamicip.rima-tde.net) (Remote host closed the connection)
17:19:42 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Ping timeout: 268 seconds)
17:22:38 × machinedgod quits (~machinedg@d172-219-86-154.abhsia.telus.net) (Ping timeout: 240 seconds)
17:24:55 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
17:29:52 matthewmosior joins (~matthewmo@173.170.253.91)
17:31:03 wootehfoot joins (~wootehfoo@user/wootehfoot)
17:34:09 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
17:35:56 pgib joins (~textual@173.38.117.82)
17:38:03 × vglfr quits (~vglfr@91.192.47.10) (Ping timeout: 268 seconds)
17:40:02 zebrag joins (~chris@user/zebrag)
17:44:45 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
17:45:30 machinedgod joins (~machinedg@184.68.124.102)
17:45:38 vglfr joins (~vglfr@91.192.47.10)
17:52:31 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
17:52:38 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 240 seconds)
17:53:07 azimut joins (~azimut@gateway/tor-sasl/azimut)
17:59:16 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
18:02:48 matthewmosior joins (~matthewmo@173.170.253.91)
18:04:31 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
18:04:59 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds)
18:05:47 Lord_of_Life_ is now known as Lord_of_Life
18:07:23 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
18:11:35 × dcoutts__ quits (~duncan@host86-151-44-186.range86-151.btcentralplus.com) (Ping timeout: 252 seconds)
18:11:42 × dcoutts quits (~duncan@host86-151-44-186.range86-151.btcentralplus.com) (Ping timeout: 245 seconds)
18:12:19 × MajorBiscuit quits (~MajorBisc@c-001-020-005.client.tudelft.eduvpn.nl) (Ping timeout: 252 seconds)
18:12:38 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 240 seconds)
18:15:00 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
18:18:52 merijn joins (~merijn@c-001-001-014.client.esciencecenter.eduvpn.nl)
18:19:01 SamBellamy joins (~SamBellam@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net)
18:21:08 coot joins (~coot@213.134.190.95)
18:22:06 × coot quits (~coot@213.134.190.95) (Client Quit)
18:22:46 coot joins (~coot@213.134.190.95)
18:31:02 × Vajb quits (~Vajb@n1zigc3rgo9mpde2w-1.v6.elisa-mobile.fi) (Read error: Connection reset by peer)
18:31:50 Vajb joins (~Vajb@hag-jnsbng11-58c3ad-40.dhcp.inet.fi)
18:33:13 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
18:36:06 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
18:36:43 matthewmosior joins (~matthewmo@173.170.253.91)
18:40:52 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 245 seconds)
18:43:50 × michalz quits (~michalz@185.246.204.87) (Ping timeout: 240 seconds)
18:46:37 × SamBellamy quits (~SamBellam@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net) (Remote host closed the connection)
18:49:14 yin joins (~yin@user/zero)
18:49:48 × bontaq quits (~user@ool-45779fe5.dyn.optonline.net) (Remote host closed the connection)
18:51:35 × mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 268 seconds)
18:51:41 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
18:53:02 × merijn quits (~merijn@c-001-001-014.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
18:54:05 nate4 joins (~nate@98.45.169.16)
18:56:21 matthewmosior joins (~matthewmo@173.170.253.91)
18:58:38 × nate4 quits (~nate@98.45.169.16) (Ping timeout: 240 seconds)
18:59:15 × vglfr quits (~vglfr@91.192.47.10) (Ping timeout: 252 seconds)
18:59:28 × mrvdb quits (~mrvdb@2001:19f0:5000:8582:5400:ff:fe07:3df5) (Quit: ZNC 1.8.2 - https://znc.in)
18:59:51 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
19:00:57 mrvdb joins (~mrvdb@2001:19f0:5000:8582:5400:ff:fe07:3df5)
19:03:18 × machinedgod quits (~machinedg@184.68.124.102) (Ping timeout: 268 seconds)
19:03:38 michalz joins (~michalz@185.246.204.75)
19:04:12 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 245 seconds)
19:05:46 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 268 seconds)
19:10:41 Pickchea joins (~private@user/pickchea)
19:11:59 kenran joins (~kenran@200116b82b1acd00796d07544f3a884b.dip.versatel-1u1.de)
19:13:52 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
19:15:35 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
19:15:58 juh joins (~jtreed@all.your.domain.are.belong.to.jtreed.org)
19:16:17 <mrianbloom> Was the Data.Constraints library made mostly obsolete by QuantifiedConstraints are are there situations where you would use one or the other?
19:16:37 <mrianbloom> *or
19:17:12 juh parts (~jtreed@all.your.domain.are.belong.to.jtreed.org) (departed)
19:19:20 × kenran quits (~kenran@200116b82b1acd00796d07544f3a884b.dip.versatel-1u1.de) (Quit: WeeChat info:version)
19:19:27 × coco quits (~coco@212-51-146-199.fiber7.init7.net) (Quit: WeeChat 3.5)
19:19:34 kenran joins (~kenran@200116b82b1acd00796d07544f3a884b.dip.versatel-1u1.de)
19:26:26 merijn joins (~merijn@c-001-001-014.client.esciencecenter.eduvpn.nl)
19:26:35 matthewmosior joins (~matthewmo@173.170.253.91)
19:27:52 mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475)
19:29:07 coco joins (~coco@212-51-146-199.fiber7.init7.net)
19:30:52 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 245 seconds)
19:31:02 mikoto-chan joins (~mikoto-ch@85-76-19-170-nat.elisa-mobile.fi)
19:31:43 notzmv joins (~zmv@user/notzmv)
19:34:37 × kenran quits (~kenran@200116b82b1acd00796d07544f3a884b.dip.versatel-1u1.de) (Quit: WeeChat info:version)
19:37:46 × fef quits (~thedawn@user/thedawn) (Ping timeout: 268 seconds)
19:37:49 jmdaemon joins (~jmdaemon@user/jmdaemon)
19:38:29 × Ram-Z quits (~Ram-Z@li1814-254.members.linode.com) (Ping timeout: 252 seconds)
19:41:23 Ram-Z joins (~Ram-Z@li1814-254.members.linode.com)
19:41:29 comerijn joins (~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl)
19:42:05 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 268 seconds)
19:42:33 vglfr joins (~vglfr@91.192.47.10)
19:44:21 × mikoto-chan quits (~mikoto-ch@85-76-19-170-nat.elisa-mobile.fi) (Ping timeout: 252 seconds)
19:44:21 × merijn quits (~merijn@c-001-001-014.client.esciencecenter.eduvpn.nl) (Ping timeout: 252 seconds)
19:44:53 matthewmosior joins (~matthewmo@173.170.253.91)
19:47:02 × Ram-Z quits (~Ram-Z@li1814-254.members.linode.com) (Ping timeout: 240 seconds)
19:47:57 × mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 245 seconds)
19:50:10 mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475)
19:50:30 × jludwig quits (~justin@li657-110.members.linode.com) (Quit: ZNC - https://znc.in)
19:51:29 jludwig joins (~justin@li657-110.members.linode.com)
19:56:09 Tuplanolla joins (~Tuplanoll@91-159-68-204.elisa-laajakaista.fi)
19:57:26 × mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 240 seconds)
19:57:47 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
19:58:19 azimut joins (~azimut@gateway/tor-sasl/azimut)
19:59:30 mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475)
20:02:45 × gmg quits (~user@user/gehmehgeh) (Quit: Leaving)
20:03:11 mvk joins (~mvk@2607:fea8:5ce3:8500::d5f2)
20:05:46 × jludwig quits (~justin@li657-110.members.linode.com) (Quit: ZNC - https://znc.in)
20:06:34 MajorBiscuit joins (~MajorBisc@2a02-a461-129d-1-193d-75d8-745d-e91e.fixed6.kpn.net)
20:07:31 joo-_ joins (~joo-_@87-49-45-115-mobile.dk.customer.tdc.net)
20:07:31 × joo-_ quits (~joo-_@87-49-45-115-mobile.dk.customer.tdc.net) (Changing host)
20:07:31 joo-_ joins (~joo-_@fsf/member/joo--)
20:08:15 mikoto-chan joins (~mikoto-ch@85-76-119-223-nat.elisa-mobile.fi)
20:22:14 × MajorBiscuit quits (~MajorBisc@2a02-a461-129d-1-193d-75d8-745d-e91e.fixed6.kpn.net) (Ping timeout: 268 seconds)
20:23:24 × coco quits (~coco@212-51-146-199.fiber7.init7.net) (Quit: WeeChat 3.5)
20:24:37 justsomeguy joins (~justsomeg@user/justsomeguy)
20:24:42 jludwig joins (~justin@li657-110.members.linode.com)
20:25:03 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
20:27:27 × John_Ivan quits (~John_Ivan@user/john-ivan/x-1515935) (Quit: Leaving)
20:29:14 pavonia joins (~user@user/siracusa)
20:29:25 [_] joins (~itchyjunk@user/itchyjunk/x-7353470)
20:30:50 × jludwig quits (~justin@li657-110.members.linode.com) (Quit: ZNC - https://znc.in)
20:31:50 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 240 seconds)
20:31:54 jludwig joins (~justin@li657-110.members.linode.com)
20:32:09 × Batzy quits (~quassel@user/batzy) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
20:32:33 Batzy joins (~quassel@user/batzy)
20:35:02 × yin quits (~yin@user/zero) (Ping timeout: 268 seconds)
20:36:41 yin joins (~yin@user/zero)
20:37:27 × Midjak quits (~Midjak@82.66.147.146) (Quit: This computer has gone to sleep)
20:37:28 renzhi joins (~xp@2607:fa49:6500:b100::47a5)
20:39:43 × mikoto-chan quits (~mikoto-ch@85-76-119-223-nat.elisa-mobile.fi) (Ping timeout: 252 seconds)
20:41:33 mikoto-chan joins (~mikoto-ch@85-76-2-182-nat.elisa-mobile.fi)
20:49:59 × renzhi quits (~xp@2607:fa49:6500:b100::47a5) (Ping timeout: 268 seconds)
20:52:55 × comerijn quits (~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds)
20:53:18 × lisbeths quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
20:59:16 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
21:01:35 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
21:01:54 td_ joins (~td@muedsl-82-207-238-045.citykom.de)
21:04:28 matthewmosior joins (~matthewmo@173.170.253.91)
21:06:38 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
21:07:57 cjay joins (cjay@nerdbox.nerd2nerd.org)
21:09:02 × acidjnk quits (~acidjnk@p200300d6e7058674447358c26e802d51.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
21:09:48 MajorBiscuit joins (~MajorBisc@2a02-a461-129d-1-193d-75d8-745d-e91e.fixed6.kpn.net)
21:10:29 × drlkf quits (~drlkf@drlkf.net) (Quit: q=)
21:11:21 drlkf joins (~drlkf@drlkf.net)
21:12:11 × yin quits (~yin@user/zero) (Ping timeout: 268 seconds)
21:12:32 yin joins (~yin@user/zero)
21:12:37 × heartbur1 quits (~gass@2a00:d880:3:1::b1e4:b241) (Quit: Reconnecting)
21:13:05 heartburn joins (~gass@2a00:d880:3:1::b1e4:b241)
21:18:47 merijn joins (~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl)
21:23:21 × yin quits (~yin@user/zero) (Ping timeout: 252 seconds)
21:28:35 jonathanx__ joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
21:29:02 × MajorBiscuit quits (~MajorBisc@2a02-a461-129d-1-193d-75d8-745d-e91e.fixed6.kpn.net) (Ping timeout: 240 seconds)
21:29:53 machinedgod joins (~machinedg@d172-219-86-154.abhsia.telus.net)
21:30:14 × Rembane quits (~Rembane@li346-36.members.linode.com) (Ping timeout: 240 seconds)
21:30:14 × Jon quits (jon@dow.land) (Ping timeout: 240 seconds)
21:31:18 × Hobbyboy quits (Hobbyboy@hobbyboy.co.uk) (Ping timeout: 268 seconds)
21:31:26 × statusfailed quits (~statusfai@statusfailed.com) (Ping timeout: 240 seconds)
21:31:34 × drlkf quits (~drlkf@drlkf.net) (Quit: drlkf)
21:31:49 × jocke-l quits (jocke-l@a.x0.is) (Ping timeout: 244 seconds)
21:31:49 × dexter1 quits (dexter@2a01:7e00::f03c:91ff:fe86:59ec) (Ping timeout: 244 seconds)
21:31:50 × micro quits (~micro@user/micro) (Ping timeout: 240 seconds)
21:32:02 drlkf joins (~drlkf@drlkf.net)
21:32:25 qrpnxz1 joins (~qrpnxz@fsf/member/qrpnxz)
21:32:32 × mrmonday quits (~robert@what.i.hope.is.not.a.tabernaevagant.es) (Ping timeout: 268 seconds)
21:32:32 × robertm quits (robertm@lattice.rojoma.com) (Ping timeout: 268 seconds)
21:34:27 dcoutts joins (~duncan@host109-149-1-142.range109-149.btcentralplus.com)
21:36:14 × mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 268 seconds)
21:37:28 × jonathanx_ quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (*.net *.split)
21:37:28 × arahael quits (~arahael@60-240-64-125.tpgi.com.au) (*.net *.split)
21:37:28 × qrpnxz quits (~qrpnxz@fsf/member/qrpnxz) (*.net *.split)
21:37:50 mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475)
21:38:45 × tubogram44 quits (~tubogram@user/tubogram) (*.net *.split)
21:38:45 × Axman6 quits (~Axman6@user/axman6) (*.net *.split)
21:39:35 tubogram44 joins (~tubogram@user/tubogram)
21:39:35 Axman6 joins (~Axman6@user/axman6)
21:39:56 × mikoto-chan quits (~mikoto-ch@85-76-2-182-nat.elisa-mobile.fi) (Ping timeout: 268 seconds)
21:45:11 arahael joins (~arahael@60-240-64-125.tpgi.com.au)
21:45:25 nate4 joins (~nate@98.45.169.16)
21:47:13 sonologico joins (~raphael@dhcp-077-251-118-129.chello.nl)
21:48:04 xal joins (~quassel@S01063c7c3f334fd0.vw.shawcable.net)
21:53:02 × merijn quits (~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
21:54:40 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 268 seconds)
21:55:14 azimut joins (~azimut@gateway/tor-sasl/azimut)
22:06:21 John_Ivan joins (~John_Ivan@user/john-ivan/x-1515935)
22:07:30 × Pickchea quits (~private@user/pickchea) (Quit: Leaving)
22:07:41 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
22:07:50 × justsomeguy quits (~justsomeg@user/justsomeguy) (Ping timeout: 240 seconds)
22:08:31 × shinjipf quits (~shinjipf@2a02:c207:2082:6685::1) (Quit: Ping timeout (120 seconds))
22:08:47 shinjipf joins (~shinjipf@2a02:c207:2082:6685::1)
22:10:40 <hippoid> will the kind of a typeclass always end in -> Constraint?
22:10:53 <hpc_> yes
22:10:55 hpc_ is now known as hpc
22:11:39 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
22:17:40 <ski> % class Dee; class Dum; instance Dee
22:17:40 <yahb2> <interactive>:90:1: error: ; • No parameters for class ‘Dee’ ; (Enable MultiParamTypeClasses to allow no-parameter classes) ; • In the class declaration for ‘Dee’ ; ; <interactive>:9...
22:17:55 <ski> % :set -XMultiParamTypeClasses
22:17:56 <yahb2> <no output>
22:17:57 <ski> % class Dee; class Dum; instance Dee
22:17:57 <yahb2> <no output>
22:18:05 <ski> % :k Dee
22:18:06 <yahb2> Dee :: Constraint
22:18:47 × sonologico quits (~raphael@dhcp-077-251-118-129.chello.nl) (Ping timeout: 268 seconds)
22:18:49 × Tuplanolla quits (~Tuplanoll@91-159-68-204.elisa-laajakaista.fi) (Quit: Leaving.)
22:21:28 [_] is now known as [itchyjunk]
22:21:46 sonologico joins (~raphael@dhcp-077-251-118-129.chello.nl)
22:24:06 × PiDelport quits (uid25146@id-25146.lymington.irccloud.com) (Quit: Connection closed for inactivity)
22:25:50 × sonologico quits (~raphael@dhcp-077-251-118-129.chello.nl) (Ping timeout: 240 seconds)
22:27:10 Jon joins (jon@dow.land)
22:27:47 Rembane joins (~Rembane@li346-36.members.linode.com)
22:28:18 statusfailed joins (~statusfai@statusfailed.com)
22:28:58 micro joins (~micro@user/micro)
22:30:13 Hobbyboy joins (Hobbyboy@hobbyboy.co.uk)
22:31:43 jocke-l joins (jocke-l@a.x0.is)
22:32:35 robertm joins (robertm@lattice.rojoma.com)
22:32:35 phma_ joins (phma@2001:5b0:211b:ae28:2ee:ca83:26d:80f2)
22:32:40 × coot quits (~coot@213.134.190.95) (Quit: coot)
22:36:17 × phma quits (~phma@host-67-44-208-15.hnremote.net) (Ping timeout: 245 seconds)
22:38:20 dexter1 joins (~dexter@li655-253.members.linode.com)
22:38:37 matthewmosior joins (~matthewmo@173.170.253.91)
22:40:23 sonologico joins (~raphael@dhcp-077-251-118-129.chello.nl)
22:42:57 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 245 seconds)
22:45:09 × sonologico quits (~raphael@dhcp-077-251-118-129.chello.nl) (Ping timeout: 268 seconds)
22:45:41 Sgeo joins (~Sgeo@user/sgeo)
22:48:29 sonologico joins (~raphael@dhcp-077-251-118-129.chello.nl)
22:48:47 × nate4 quits (~nate@98.45.169.16) (Ping timeout: 252 seconds)
22:58:17 matthewmosior joins (~matthewmo@173.170.253.91)
23:03:11 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
23:07:32 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 245 seconds)
23:08:44 × gurkenglas quits (~gurkengla@p57b8a60f.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
23:10:45 × serus quits (~serus@65.red-83-53-31.dynamicip.rima-tde.net) (Quit: Leaving)
23:13:26 × sonologico quits (~raphael@dhcp-077-251-118-129.chello.nl) (Ping timeout: 240 seconds)
23:17:04 merijn joins (~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl)
23:31:42 mikoto-chan joins (~mikoto-ch@85-76-14-192-nat.elisa-mobile.fi)
23:38:38 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
23:39:26 azimut joins (~azimut@gateway/tor-sasl/azimut)
23:46:11 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
23:51:45 × merijn quits (~merijn@c-001-001-007.client.esciencecenter.eduvpn.nl) (Ping timeout: 268 seconds)
23:58:50 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)

All times are in UTC on 2022-08-02.