2022/02/07

2022-02-07 00:00:37 +0100emf(~emf@2620:10d:c090:400::5:ab3f) (Ping timeout: 240 seconds)
2022-02-07 00:09:24 +0100burnsidesLlama(~burnsides@dhcp168-015.wadham.ox.ac.uk)
2022-02-07 00:13:14 +0100burnsidesLlama(~burnsides@dhcp168-015.wadham.ox.ac.uk) (Remote host closed the connection)
2022-02-07 00:13:21 +0100burnsidesLlama(~burnsides@dhcp168-015.wadham.ox.ac.uk)
2022-02-07 00:16:42 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 00:17:43 +0100MochizukisLastTh(~Mochizuki@112-68-46-13f1.osk2.eonet.ne.jp) (Ping timeout: 256 seconds)
2022-02-07 00:20:11 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:1dc4:f5c4:a458:81)
2022-02-07 00:20:57 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
2022-02-07 00:21:21 +0100tcard_(~tcard@p2878075-ipngn18701hodogaya.kanagawa.ocn.ne.jp) (Quit: Leaving)
2022-02-07 00:23:37 +0100Null_A(~null_a@2601:645:8700:2290:dcf9:b60:3266:d217)
2022-02-07 00:24:15 +0100MochizukisLastTh(~Mochizuki@112-68-46-13f1.osk2.eonet.ne.jp)
2022-02-07 00:24:17 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:1dc4:f5c4:a458:81) (Ping timeout: 240 seconds)
2022-02-07 00:27:33 +0100 <sm> Data.Char.isAlphaNum, y'all. What weird Unicode demons might lurk inside it ?
2022-02-07 00:28:06 +0100 <sm> https://hackage.haskell.org/package/base-4.16.0.0/docs/Data-Char.html#v:isAlphaNum
2022-02-07 00:28:06 +0100 <sm> "Selects alphabetic or numeric Unicode characters. ... numeric digits outside the ASCII range, as well as numeric characters which aren't digits, are selected by this function ..."
2022-02-07 00:28:11 +0100tcard(~tcard@p2878075-ipngn18701hodogaya.kanagawa.ocn.ne.jp)
2022-02-07 00:28:42 +0100 <maerwald> lolz
2022-02-07 00:28:58 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
2022-02-07 00:29:04 +0100 <sm> do you think that includes any problematic exploit-friendly chars ?
2022-02-07 00:30:20 +0100 <monochrom> > let x = 'ᴀ' in (ord x, isAlphaNum x)
2022-02-07 00:30:21 +0100 <lambdabot> (7424,True)
2022-02-07 00:30:27 +0100 <ski> > [c | c <- [minBound .. maxBound],isAlphaNum c]
2022-02-07 00:30:28 +0100 <lambdabot> "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\170\178\179\...
2022-02-07 00:31:58 +0100 <sm> the kind that don't render, or change the direction of rendering, or look like things they're not...
2022-02-07 00:32:10 +0100smprints that list.. ooh yeah that's fun
2022-02-07 00:32:26 +0100AlexNoo_(~AlexNoo@94.233.241.230)
2022-02-07 00:33:11 +0100 <monochrom> > let x = 'ⅰ' in (ord x, isNumber x)
2022-02-07 00:33:12 +0100 <lambdabot> (8560,True)
2022-02-07 00:33:29 +0100 <sm> yeah.. there's no way to audit that. On the upside, includes elvish runes, which would be awesome to use
2022-02-07 00:33:29 +0100 <monochrom> (That's Roman numeral ⅰ)
2022-02-07 00:33:57 +0100Tuplanolla(~Tuplanoll@91-159-68-166.elisa-laajakaista.fi) (Ping timeout: 240 seconds)
2022-02-07 00:34:49 +0100 <monochrom> > isNumber '①'
2022-02-07 00:34:50 +0100 <lambdabot> True
2022-02-07 00:34:57 +0100monochromis number ① :)
2022-02-07 00:35:03 +0100Null_A(~null_a@2601:645:8700:2290:dcf9:b60:3266:d217) (Remote host closed the connection)
2022-02-07 00:35:21 +0100 <monochrom> err there is a better one
2022-02-07 00:35:25 +0100 <monochrom> > isNumber '⒈'
2022-02-07 00:35:26 +0100 <lambdabot> True
2022-02-07 00:35:37 +0100Alex_test(~al_test@94.233.241.94) (Ping timeout: 256 seconds)
2022-02-07 00:35:37 +0100AlexZenon(~alzenon@94.233.241.94) (Ping timeout: 256 seconds)
2022-02-07 00:35:42 +0100monochromis number ⒈ (number one, period) :)
2022-02-07 00:35:56 +0100 <awpr> > isNumber '∞'
2022-02-07 00:35:57 +0100 <lambdabot> False
2022-02-07 00:36:11 +0100AlexNoo(~AlexNoo@94.233.241.94) (Ping timeout: 256 seconds)
2022-02-07 00:36:54 +0100smuploaded an image: (861KiB) < https://libera.ems.host/_matrix/media/r0/download/matrix.org/sIiMOUQfMefwmCrUWKIdYdcN/Screen%20Sho… >
2022-02-07 00:37:15 +0100 <sm> ^ that's the first screenful. I'm puzzled by the lower 2/3, are those semigraphics ? Or a limitation of my font /
2022-02-07 00:38:54 +0100 <monochrom> ⅔ is a thing
2022-02-07 00:38:56 +0100 <geekosaur> looks to me like emacs might not handle the astral plane correctly?
2022-02-07 00:39:10 +0100 <geekosaur> (that is, non-BMP)
2022-02-07 00:39:17 +0100MochizukisLastTh(~Mochizuki@112-68-46-13f1.osk2.eonet.ne.jp) (Quit: Client closed)
2022-02-07 00:39:18 +0100 <monochrom> > let x = '⅔' in (ord x, generalCategory x)
2022-02-07 00:39:19 +0100 <lambdabot> (8532,OtherNumber)
2022-02-07 00:39:26 +0100Alex_test(~al_test@94.233.241.230)
2022-02-07 00:39:27 +0100AlexZenon(~alzenon@94.233.241.230)
2022-02-07 00:39:50 +0100 <monochrom> Oh nevermind :)
2022-02-07 00:40:04 +0100 <awpr> > read "⅔" :: Rational
2022-02-07 00:40:05 +0100 <hpc> @let ⅔ = 2/3
2022-02-07 00:40:05 +0100 <lambdabot> Parse failed: Illegal character ''\8532''
2022-02-07 00:40:06 +0100 <lambdabot> *Exception: Prelude.read: no parse
2022-02-07 00:40:07 +0100 <hpc> :(
2022-02-07 00:40:20 +0100 <Axman6> :(
2022-02-07 00:40:40 +0100 <Axman6> @let a⅔ = 2/3
2022-02-07 00:40:41 +0100 <lambdabot> Defined.
2022-02-07 00:41:05 +0100 <Axman6> pronounced "A two third"
2022-02-07 00:41:47 +0100 <byorgey> monochrom: in my font
2022-02-07 00:41:55 +0100 <sm> unicode is amazing
2022-02-07 00:42:04 +0100 <awpr> 1/4 = "one fourth", so 3/2 = "one twothirdsth"?
2022-02-07 00:42:04 +0100 <Cale> Also known as d
2022-02-07 00:42:06 +0100 <byorgey> monochrom: in my font ⒈ looks like "bottom, period"
2022-02-07 00:42:16 +0100 <sm> and has hung my emacs/vs code, as I half expected
2022-02-07 00:42:58 +0100 <monochrom> bottom is OK. I'm the foundation of you all!
2022-02-07 00:43:32 +0100 <sm> ok, got it back, but see how it has corrupted the minibuffer rendering:
2022-02-07 00:43:37 +0100smuploaded an image: (23KiB) < https://libera.ems.host/_matrix/media/r0/download/matrix.org/QcdiRBcGMmbubAYdWbKHFJgB/image.png >
2022-02-07 00:44:01 +0100 <sm> I guess I'm looking for a more restrictive isAlphaNum, to enable smaller subsets
2022-02-07 00:44:12 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:1dc4:f5c4:a458:81)
2022-02-07 00:45:57 +0100oscurochu(~oscurochu@097-096-050-227.res.spectrum.com) (Remote host closed the connection)
2022-02-07 00:46:32 +0100oscurochu(~oscurochu@097-096-050-227.res.spectrum.com)
2022-02-07 00:47:25 +0100 <Cale> (perfect fourth down from a)
2022-02-07 00:48:46 +0100 <maerwald> sm: chop it off
2022-02-07 00:49:09 +0100 <monochrom> There is isAscii
2022-02-07 00:49:30 +0100 <sm> they're complaining about isAscii
2022-02-07 00:49:42 +0100 <sm> I can't understand it
2022-02-07 00:49:58 +0100 <monochrom> Are they OK with isLatin1?
2022-02-07 00:50:02 +0100 <Cale> awpr: haha, 3/2 = "one (perfect) fifth"
2022-02-07 00:50:18 +0100 <awpr> 2 = 2/3 confirmed
2022-02-07 00:50:23 +0100 <awpr> 5 = 2/3
2022-02-07 00:50:35 +0100 <sm> monochrom: oh that sounds like a nice progressive step. (Would like CJK too maybe)
2022-02-07 00:50:55 +0100oscurochu(~oscurochu@097-096-050-227.res.spectrum.com) (Ping timeout: 256 seconds)
2022-02-07 00:52:45 +0100ProfSimm(~ProfSimm@87.227.196.109) (Remote host closed the connection)
2022-02-07 00:54:49 +0100geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2022-02-07 00:56:33 +0100geekosaur(~geekosaur@xmonad/geekosaur)
2022-02-07 00:59:21 +0100xcmw(~textual@071-087-004-073.biz.spectrum.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-02-07 01:04:24 +0100chenqisu1(~chenqisu1@183.217.200.249)
2022-02-07 01:13:12 +0100amk(~amk@109.255.169.126) (WeeChat 3.4)
2022-02-07 01:14:40 +0100machinedgod(~machinedg@24.105.81.50) (Quit: Lost terminal)
2022-02-07 01:24:12 +0100maxime_(~maxime@2a01cb08833598006800cd803015c082.ipv6.abo.wanadoo.fr) (Remote host closed the connection)
2022-02-07 01:31:53 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-02-07 01:31:53 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-02-07 01:31:53 +0100wroathe(~wroathe@user/wroathe)
2022-02-07 01:38:50 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
2022-02-07 01:39:30 +0100machinedgod(~machinedg@24.105.81.50)
2022-02-07 01:43:11 +0100n3rdy1(~n3rdy1@2600:1700:4570:3480:1b88:50f:dae0:9293) (Ping timeout: 252 seconds)
2022-02-07 01:44:30 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:1dc4:f5c4:a458:81) (Remote host closed the connection)
2022-02-07 01:56:01 +0100img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2022-02-07 02:01:44 +0100califax(~califax@user/califx) (Remote host closed the connection)
2022-02-07 02:02:35 +0100img(~img@user/img)
2022-02-07 02:05:41 +0100califax(~califax@user/califx)
2022-02-07 02:07:53 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-02-07 02:18:55 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 02:19:02 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-02-07 02:19:03 +0100ProfSimm(~ProfSimm@87.227.196.109)
2022-02-07 02:22:21 +0100ProfSimm(~ProfSimm@87.227.196.109) (Remote host closed the connection)
2022-02-07 02:22:58 +0100yauhsien_(~yauhsien@61-231-29-69.dynamic-ip.hinet.net)
2022-02-07 02:23:23 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 250 seconds)
2022-02-07 02:27:49 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.4)
2022-02-07 02:30:21 +0100Inst(~delicacie@2601:6c4:4080:3f80:c32:f815:8539:fe9a) (Ping timeout: 245 seconds)
2022-02-07 02:37:00 +0100oscurochu(~oscurochu@097-096-050-227.res.spectrum.com)
2022-02-07 02:44:54 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:1dc4:f5c4:a458:81)
2022-02-07 02:49:24 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:1dc4:f5c4:a458:81) (Ping timeout: 250 seconds)
2022-02-07 02:50:14 +0100benin(~benin@183.82.31.24)
2022-02-07 02:51:49 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:1dc4:f5c4:a458:81)
2022-02-07 02:52:17 +0100machinedgod(~machinedg@24.105.81.50) (Ping timeout: 240 seconds)
2022-02-07 02:54:55 +0100oscurochu(~oscurochu@097-096-050-227.res.spectrum.com) (Ping timeout: 256 seconds)
2022-02-07 02:56:05 +0100tommd(~tommd@67-42-147-226.ptld.qwest.net)
2022-02-07 02:59:44 +0100cjb(~cjb@user/cjb) (Ping timeout: 260 seconds)
2022-02-07 03:00:52 +0100x_kuru(~xkuru@user/xkuru) (Read error: Connection reset by peer)
2022-02-07 03:01:34 +0100burnsidesLlama(~burnsides@dhcp168-015.wadham.ox.ac.uk) (Remote host closed the connection)
2022-02-07 03:02:01 +0100burnsidesLlama(~burnsides@dhcp168-015.wadham.ox.ac.uk)
2022-02-07 03:03:18 +0100xsperry(~xs@user/xsperry) (Remote host closed the connection)
2022-02-07 03:06:18 +0100burnsidesLlama(~burnsides@dhcp168-015.wadham.ox.ac.uk) (Ping timeout: 250 seconds)
2022-02-07 03:16:16 +0100califax-(~califax@user/califx)
2022-02-07 03:17:07 +0100chenqisu1(~chenqisu1@183.217.200.249) (Ping timeout: 256 seconds)
2022-02-07 03:18:43 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 256 seconds)
2022-02-07 03:18:57 +0100califax(~califax@user/califx) (Ping timeout: 276 seconds)
2022-02-07 03:18:58 +0100califax-califax
2022-02-07 03:22:48 +0100Null_A(~null_a@2601:645:8700:2290:dcf9:b60:3266:d217)
2022-02-07 03:26:39 +0100yauhsien_(~yauhsien@61-231-29-69.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
2022-02-07 03:27:53 +0100foul_owl(~kerry@94.140.8.107) (Ping timeout: 256 seconds)
2022-02-07 03:31:00 +0100tommd(~tommd@67-42-147-226.ptld.qwest.net) (Ping timeout: 250 seconds)
2022-02-07 03:31:31 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2022-02-07 03:33:13 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds)
2022-02-07 03:34:20 +0100Midjak(~Midjak@may53-1-78-226-116-92.fbx.proxad.net) (Quit: This computer has gone to sleep)
2022-02-07 03:34:57 +0100xff0x(~xff0x@2001:1a81:52c7:8c00:e8ce:cafa:8529:c63a) (Ping timeout: 240 seconds)
2022-02-07 03:37:04 +0100xff0x(~xff0x@2001:1a81:530c:c100:a39b:fc3d:abc2:3254)
2022-02-07 03:37:08 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-02-07 03:37:08 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-02-07 03:37:08 +0100wroathe(~wroathe@user/wroathe)
2022-02-07 03:39:10 +0100 <ephemient> > let x = '十' in (ord x, isNumber x)
2022-02-07 03:39:11 +0100 <lambdabot> (21313,False)
2022-02-07 03:39:34 +0100 <ephemient> CJK numeric characters aren't numbers apparently
2022-02-07 03:43:25 +0100foul_owl(~kerry@23.82.193.178)
2022-02-07 03:44:23 +0100Null_A(~null_a@2601:645:8700:2290:dcf9:b60:3266:d217) (Remote host closed the connection)
2022-02-07 03:48:24 +0100Null_A(~null_a@2601:645:8700:2290:dcf9:b60:3266:d217)
2022-02-07 03:49:35 +0100ProfSimm(~ProfSimm@87.227.196.109)
2022-02-07 03:54:24 +0100little_mac(~little_ma@2601:410:4300:3ce0:8900:f68f:743:8461) (Remote host closed the connection)
2022-02-07 03:56:39 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 276 seconds)
2022-02-07 04:00:15 +0100razetime(~quassel@49.207.209.26)
2022-02-07 04:03:21 +0100Inst(~delicacie@2601:6c4:4080:3f80:740e:1010:1471:f716)
2022-02-07 04:03:59 +0100lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in)
2022-02-07 04:04:36 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
2022-02-07 04:12:19 +0100foul_owl(~kerry@23.82.193.178) (Ping timeout: 256 seconds)
2022-02-07 04:12:25 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-02-07 04:12:39 +0100Null_A(~null_a@2601:645:8700:2290:dcf9:b60:3266:d217) (Remote host closed the connection)
2022-02-07 04:14:08 +0100Null_A(~null_a@2601:645:8700:2290:dcf9:b60:3266:d217)
2022-02-07 04:16:16 +0100lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
2022-02-07 04:18:27 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:1dc4:f5c4:a458:81) (Remote host closed the connection)
2022-02-07 04:20:35 +0100img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2022-02-07 04:24:05 +0100razetime(~quassel@49.207.209.26) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2022-02-07 04:24:22 +0100razetime(~quassel@49.207.209.26)
2022-02-07 04:26:55 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:1dc4:f5c4:a458:81)
2022-02-07 04:28:12 +0100foul_owl(~kerry@23.82.193.176)
2022-02-07 04:29:43 +0100tatarqa(~kli@ip-89-177-122-45.net.upcbroadband.cz) (Remote host closed the connection)
2022-02-07 04:30:27 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2022-02-07 04:31:13 +0100Null_A(~null_a@2601:645:8700:2290:dcf9:b60:3266:d217) (Remote host closed the connection)
2022-02-07 04:32:57 +0100cheater(~Username@user/cheater) (Ping timeout: 240 seconds)
2022-02-07 04:33:05 +0100cheater(~Username@user/cheater)
2022-02-07 04:36:52 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-02-07 04:36:52 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-02-07 04:36:52 +0100wroathe(~wroathe@user/wroathe)
2022-02-07 04:37:01 +0100img(~img@user/img)
2022-02-07 04:38:23 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-02-07 04:38:48 +0100jao(~jao@static-68-235-44-10.cust.tzulo.com) (Remote host closed the connection)
2022-02-07 04:39:31 +0100td_(~td@muedsl-82-207-238-099.citykom.de) (Ping timeout: 256 seconds)
2022-02-07 04:41:17 +0100td_(~td@muedsl-82-207-238-078.citykom.de)
2022-02-07 04:41:33 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2022-02-07 04:45:52 +0100finn_elija(~finn_elij@user/finn-elija/x-0085643)
2022-02-07 04:45:52 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2022-02-07 04:45:52 +0100finn_elijaFinnElija
2022-02-07 04:49:29 +0100cyphase(~cyphase@user/cyphase) (Ping timeout: 256 seconds)
2022-02-07 04:51:08 +0100Pirate18(~Pirate18@72-46-55-28.lnk.ne.static.allophone.net) (Quit: Client closed)
2022-02-07 04:54:52 +0100Erutuon(~Erutuon@user/erutuon)
2022-02-07 04:55:57 +0100monaaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 256 seconds)
2022-02-07 04:57:41 +0100monaaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-02-07 04:59:19 +0100flinner(~flinner__@2001:16a2:7844:cc00:a653:a7c4:bee9:612)
2022-02-07 04:59:19 +0100flinner(~flinner__@2001:16a2:7844:cc00:a653:a7c4:bee9:612) (Changing host)
2022-02-07 04:59:19 +0100flinner(~flinner__@user/flinner)
2022-02-07 05:00:35 +0100jao(~jao@static-68-235-44-10.cust.tzulo.com)
2022-02-07 05:00:53 +0100yauhsien_(~yauhsien@61-231-29-69.dynamic-ip.hinet.net)
2022-02-07 05:01:10 +0100Null_A(~null_a@2601:645:8700:2290:dcf9:b60:3266:d217)
2022-02-07 05:02:21 +0100cyphase(~cyphase@user/cyphase)
2022-02-07 05:02:57 +0100wyrd(~wyrd@gateway/tor-sasl/wyrd) (Ping timeout: 276 seconds)
2022-02-07 05:04:09 +0100modnar(~modnar@shell.sonic.net) (Quit: No Ping reply in 180 seconds.)
2022-02-07 05:04:14 +0100dajoer(~david@user/gvx)
2022-02-07 05:05:35 +0100yauhsien_(~yauhsien@61-231-29-69.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
2022-02-07 05:06:09 +0100foul_owl(~kerry@23.82.193.176) (Ping timeout: 256 seconds)
2022-02-07 05:06:16 +0100modnar(~modnar@shell.sonic.net)
2022-02-07 05:09:13 +0100wyrd(~wyrd@gateway/tor-sasl/wyrd)
2022-02-07 05:11:02 +0100Null_A(~null_a@2601:645:8700:2290:dcf9:b60:3266:d217) (Remote host closed the connection)
2022-02-07 05:13:55 +0100jao(~jao@static-68-235-44-10.cust.tzulo.com) (Remote host closed the connection)
2022-02-07 05:15:05 +0100rusrushal13(~rusrushal@2401:4900:447d:3aba:8f0f:db79:1f48:d9d7)
2022-02-07 05:17:24 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:1dc4:f5c4:a458:81) (Remote host closed the connection)
2022-02-07 05:18:28 +0100waleee(~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) (Ping timeout: 250 seconds)
2022-02-07 05:22:00 +0100foul_owl(~kerry@192.145.116.101)
2022-02-07 05:23:44 +0100Null_A(~null_a@2601:645:8700:2290:4c47:2f1b:c09c:dc10)
2022-02-07 05:27:18 +0100yauhsien_(~yauhsien@61-231-29-69.dynamic-ip.hinet.net)
2022-02-07 05:28:50 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-02-07 05:28:50 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-02-07 05:28:50 +0100wroathe(~wroathe@user/wroathe)
2022-02-07 05:30:46 +0100ProfSimm(~ProfSimm@87.227.196.109) (Remote host closed the connection)
2022-02-07 05:30:50 +0100mbuf(~Shakthi@171.61.147.232)
2022-02-07 05:33:55 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2022-02-07 05:38:05 +0100yauhsien_(~yauhsien@61-231-29-69.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-02-07 05:43:12 +0100razetime(~quassel@49.207.209.26) (Remote host closed the connection)
2022-02-07 05:45:21 +0100deadmarshal(~deadmarsh@95.38.113.203)
2022-02-07 05:46:04 +0100juhp(~juhp@128.106.188.82) (Quit: juhp)
2022-02-07 05:49:09 +0100yauhsien_(~yauhsien@61-231-29-69.dynamic-ip.hinet.net)
2022-02-07 05:49:19 +0100fef(~thedawn@user/thedawn)
2022-02-07 05:50:44 +0100chenqisu1(~chenqisu1@183.217.200.249)
2022-02-07 05:53:05 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2022-02-07 05:53:45 +0100yauhsien_(~yauhsien@61-231-29-69.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
2022-02-07 05:54:00 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-02-07 05:56:55 +0100xsperry(~xs@user/xsperry)
2022-02-07 05:57:32 +0100Null_A(~null_a@2601:645:8700:2290:4c47:2f1b:c09c:dc10) (Remote host closed the connection)
2022-02-07 06:01:08 +0100rusrushal13(~rusrushal@2401:4900:447d:3aba:8f0f:db79:1f48:d9d7) (Ping timeout: 256 seconds)
2022-02-07 06:01:11 +0100Null_A(~null_a@2601:645:8700:2290:4c47:2f1b:c09c:dc10)
2022-02-07 06:02:45 +0100califax(~califax@user/califx) (Ping timeout: 276 seconds)
2022-02-07 06:03:07 +0100califax(~califax@user/califx)
2022-02-07 06:06:33 +0100cyphase(~cyphase@user/cyphase) (Ping timeout: 256 seconds)
2022-02-07 06:06:40 +0100szkl(uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2022-02-07 06:09:16 +0100slowButPresent(~slowButPr@user/slowbutpresent) (Quit: leaving)
2022-02-07 06:11:17 +0100cyphase(~cyphase@user/cyphase)
2022-02-07 06:11:28 +0100Null_A(~null_a@2601:645:8700:2290:4c47:2f1b:c09c:dc10) (Remote host closed the connection)
2022-02-07 06:12:29 +0100Null_A(~null_a@2601:645:8700:2290:4c47:2f1b:c09c:dc10)
2022-02-07 06:14:16 +0100juhp(~juhp@128.106.188.82)
2022-02-07 06:16:17 +0100little_mac(~little_ma@2601:410:4300:3ce0:39b9:31d6:1ae3:9955)
2022-02-07 06:17:48 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:1dc4:f5c4:a458:81)
2022-02-07 06:19:21 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 06:21:57 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:1dc4:f5c4:a458:81) (Ping timeout: 240 seconds)
2022-02-07 06:22:15 +0100Null_A(~null_a@2601:645:8700:2290:4c47:2f1b:c09c:dc10) (Remote host closed the connection)
2022-02-07 06:24:01 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
2022-02-07 06:25:24 +0100Null_A(~null_a@2601:645:8700:2290:7c2a:bca9:fa46:3105)
2022-02-07 06:26:01 +0100yauhsien_(~yauhsien@61-231-29-69.dynamic-ip.hinet.net)
2022-02-07 06:26:17 +0100monaaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 256 seconds)
2022-02-07 06:27:36 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-02-07 06:28:57 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:1dc4:f5c4:a458:81)
2022-02-07 06:30:17 +0100yauhsien_(~yauhsien@61-231-29-69.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
2022-02-07 06:31:38 +0100alp(~alp@user/alp)
2022-02-07 06:32:42 +0100fef(~thedawn@user/thedawn) (Quit: Leaving)
2022-02-07 06:32:45 +0100taylorswift2018(~taylorswi@115-188-158-33-fibre.sparkbb.co.nz) (Quit: Leaving)
2022-02-07 06:32:46 +0100alp(~alp@user/alp) (Remote host closed the connection)
2022-02-07 06:33:19 +0100alp(~alp@user/alp)
2022-02-07 06:34:11 +0100zaquest(~notzaques@5.130.79.72) (Remote host closed the connection)
2022-02-07 06:34:26 +0100alp(~alp@user/alp) (Remote host closed the connection)
2022-02-07 06:34:59 +0100Null_A(~null_a@2601:645:8700:2290:7c2a:bca9:fa46:3105) (Remote host closed the connection)
2022-02-07 06:35:19 +0100geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2022-02-07 06:35:20 +0100zaquest(~notzaques@5.130.79.72)
2022-02-07 06:39:39 +0100jneira[m](~jneiramat@2001:470:69fc:105::d729) ()
2022-02-07 06:39:57 +0100merijn(~merijn@c-001-002-002.client.esciencecenter.eduvpn.nl)
2022-02-07 06:40:38 +0100andreabedini(~andreabed@8s8kj6nggd7d356nhftb.ip6.superloop.com)
2022-02-07 06:41:11 +0100geekosaur(~geekosaur@xmonad/geekosaur)
2022-02-07 06:41:21 +0100foul_owl(~kerry@192.145.116.101) (Ping timeout: 256 seconds)
2022-02-07 06:47:35 +0100deadmarshal(~deadmarsh@95.38.113.203) (Ping timeout: 256 seconds)
2022-02-07 06:48:32 +0100haskell_(~haskell@65-102-32-32.ptld.qwest.net)
2022-02-07 06:51:11 +0100haskell_id-obs
2022-02-07 06:51:15 +0100shriekingnoise_(~shrieking@201.231.16.156) (Quit: Quit)
2022-02-07 06:52:00 +0100id-obs(~haskell@65-102-32-32.ptld.qwest.net) (Remote host closed the connection)
2022-02-07 06:52:02 +0100yauhsien_(~yauhsien@61-231-29-69.dynamic-ip.hinet.net)
2022-02-07 06:56:17 +0100deadmarshal(~deadmarsh@95.38.113.203)
2022-02-07 06:56:49 +0100foul_owl(~kerry@23.82.194.141)
2022-02-07 06:58:13 +0100k8yun(~k8yun@198-48-158-40.cpe.pppoe.ca)
2022-02-07 07:07:54 +0100andreabedini(~andreabed@8s8kj6nggd7d356nhftb.ip6.superloop.com) (Quit: WeeChat 3.3)
2022-02-07 07:08:47 +0100merijn(~merijn@c-001-002-002.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-02-07 07:08:56 +0100yauhsien_(~yauhsien@61-231-29-69.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-02-07 07:09:43 +0100yauhsien_(~yauhsien@61-231-29-69.dynamic-ip.hinet.net)
2022-02-07 07:14:33 +0100yauhsien_(~yauhsien@61-231-29-69.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
2022-02-07 07:16:56 +0100freemanX(~user@112.199.211.72)
2022-02-07 07:20:48 +0100Null_A(~null_a@2601:645:8700:2290:7c2a:bca9:fa46:3105)
2022-02-07 07:30:34 +0100Null_A(~null_a@2601:645:8700:2290:7c2a:bca9:fa46:3105) (Remote host closed the connection)
2022-02-07 07:36:57 +0100zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2022-02-07 07:40:48 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2022-02-07 07:46:16 +0100little_mac(~little_ma@2601:410:4300:3ce0:39b9:31d6:1ae3:9955) (Remote host closed the connection)
2022-02-07 07:50:00 +0100wyrd(~wyrd@gateway/tor-sasl/wyrd) (Ping timeout: 276 seconds)
2022-02-07 07:53:54 +0100nunggu(~q@user/nunggu) (Ping timeout: 276 seconds)
2022-02-07 07:56:11 +0100wyrd(~wyrd@gateway/tor-sasl/wyrd)
2022-02-07 07:56:33 +0100nunggu(~q@user/nunggu)
2022-02-07 08:01:28 +0100Jing(~hedgehog@240e:390:7c53:a7e1:c46f:8faf:ca93:337c)
2022-02-07 08:05:47 +0100chenqisu1(~chenqisu1@183.217.200.249) (Ping timeout: 256 seconds)
2022-02-07 08:10:05 +0100neurocyte0917090(~neurocyte@IP-045128181160.dynamic.medianet-world.de)
2022-02-07 08:10:05 +0100neurocyte0917090(~neurocyte@IP-045128181160.dynamic.medianet-world.de) (Changing host)
2022-02-07 08:10:05 +0100neurocyte0917090(~neurocyte@user/neurocyte)
2022-02-07 08:13:34 +0100razetime(~quassel@49.207.209.26)
2022-02-07 08:14:05 +0100razetime(~quassel@49.207.209.26) (Client Quit)
2022-02-07 08:14:20 +0100razetime(~quassel@49.207.209.26)
2022-02-07 08:15:25 +0100Everything(~Everythin@37.115.210.35)
2022-02-07 08:16:17 +0100mvk(~mvk@2607:fea8:5cdc:bf00::80f1) (Ping timeout: 240 seconds)
2022-02-07 08:19:41 +0100 <Axman6> is there a common function which looks like" foo b xs = if b then xs else []? it's not guard because that needs m ()
2022-02-07 08:20:35 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-02-07 08:20:35 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-02-07 08:20:35 +0100wroathe(~wroathe@user/wroathe)
2022-02-07 08:23:01 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 256 seconds)
2022-02-07 08:23:31 +0100 <jackdk> https://hoogle.haskell.org/?hoogle=Monoid%20m%20%3D%3E%20Bool%20-%3E%20m%20-%3E%20m I see nothing promising Axman6
2022-02-07 08:25:37 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2022-02-07 08:25:39 +0100 <jackdk> @pl (\b x -> guard b *> x)
2022-02-07 08:25:39 +0100 <lambdabot> (*>) . guard
2022-02-07 08:25:43 +0100 <jackdk> Axman6: ^
2022-02-07 08:25:51 +0100 <jackdk> the birdface stands guard
2022-02-07 08:27:18 +0100fef(~thedawn@user/thedawn)
2022-02-07 08:28:21 +0100Everything(~Everythin@37.115.210.35) ()
2022-02-07 08:28:35 +0100 <jackdk> Everything is gone! *absolute despair*
2022-02-07 08:28:43 +0100 <Axman6> D:
2022-02-07 08:28:57 +0100 <Axman6> ther's also filter . const
2022-02-07 08:29:18 +0100 <Axman6> or filter . const . not depending on which one I actually want...
2022-02-07 08:29:31 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:580c:39ae:f851:5d4a)
2022-02-07 08:29:33 +0100 <Axman6> though the O(n) vs O(1) makes me sad
2022-02-07 08:29:57 +0100 <Axman6> have just used the if version
2022-02-07 08:32:25 +0100 <jackdk> Axman6: the chozo sentinel is disappointed
2022-02-07 08:33:31 +0100dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be)
2022-02-07 08:37:11 +0100tdammers(~tdammers@77.109.72.177.res.static.edpnet.net)
2022-02-07 08:38:25 +0100szkl(uid110435@id-110435.uxbridge.irccloud.com)
2022-02-07 08:43:04 +0100Null_A(~null_a@2601:645:8700:2290:7c2a:bca9:fa46:3105)
2022-02-07 08:47:13 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2022-02-07 08:47:35 +0100 <Inst> erm
2022-02-07 08:47:48 +0100 <Inst> am in the only person here who read "Thinking Functionally in Haskell" by Richard Bird?
2022-02-07 08:48:10 +0100 <Inst> *with Haskell
2022-02-07 08:48:46 +0100 <Inst> just finished another skim of it, and honestly, it's incredibly informative both about Haskell as well as about teaching Haskell
2022-02-07 08:49:05 +0100 <Inst> typeclasses chapter 2 is a small deal, but he goes over efficiency concerns in Chapter 7 and introduces O-notation
2022-02-07 08:52:50 +0100Null_A(~null_a@2601:645:8700:2290:7c2a:bca9:fa46:3105) (Remote host closed the connection)
2022-02-07 08:56:13 +0100 <Hecate> oh that's nice :)
2022-02-07 08:57:42 +0100 <Inst> https://www.amazon.com/Thinking-Functionally-Haskell-Richard-Bird/dp/1107452643
2022-02-07 08:57:57 +0100 <Inst> The approach taken here is heavy on equational reasoning, and the author is not afraid to delve into topics often perceived as arcane -- such as performance optimization of Haskell programs. The book does shy away from discussing rigorous methods for establishing asymptotic complexity under lazy evaluation, but that's probably a good thing in an introductory textbook, and you'd want to refer to Okasaki's PFDS or somesuch for the
2022-02-07 08:57:57 +0100 <Inst> gory details anyway. Overall, the book takes more of a computer science-y approach, which I find to be slightly preferrable to the alternative "let's start hacking and think about getting out of the mess later" route, though some clever combination of the two might be superior to either.
2022-02-07 09:04:33 +0100MajorBiscuit(~MajorBisc@2a02:a461:129d:1:193d:75d8:745d:e91e)
2022-02-07 09:05:44 +0100merijn(~merijn@c-001-002-002.client.esciencecenter.eduvpn.nl)
2022-02-07 09:08:46 +0100k8yun(~k8yun@198-48-158-40.cpe.pppoe.ca) (Quit: Leaving)
2022-02-07 09:09:10 +0100Tuplanolla(~Tuplanoll@91-159-68-166.elisa-laajakaista.fi)
2022-02-07 09:10:17 +0100sqrt2_(~ben@80-108-18-7.cable.dynamic.surfer.at) (Ping timeout: 250 seconds)
2022-02-07 09:11:10 +0100alp(~alp@user/alp)
2022-02-07 09:13:13 +0100sqrt2(~ben@80-108-18-7.cable.dynamic.surfer.at)
2022-02-07 09:14:52 +0100chele(~chele@user/chele)
2022-02-07 09:15:43 +0100cosimone(~user@93-47-231-87.ip115.fastwebnet.it)
2022-02-07 09:17:01 +0100Topsi(~Tobias@dyndsl-095-033-024-009.ewe-ip-backbone.de)
2022-02-07 09:19:56 +0100yauhsien_(~yauhsien@61-231-29-69.dynamic-ip.hinet.net)
2022-02-07 09:20:35 +0100 <Axman6> I don''t think anyone would call those arcane ideas, we think about them all the time
2022-02-07 09:20:49 +0100 <Inst> for newbies?
2022-02-07 09:20:54 +0100 <Inst> he's pitching it as an intro textbook
2022-02-07 09:21:10 +0100 <Axman6> no, of course not, you got to learn how to write haskell before you can think about learning to write fast haskell
2022-02-07 09:21:20 +0100xff0x(~xff0x@2001:1a81:530c:c100:a39b:fc3d:abc2:3254) (Ping timeout: 252 seconds)
2022-02-07 09:21:24 +0100 <Axman6> which is IIRC exactly what the book does
2022-02-07 09:21:50 +0100fendor(~fendor@178.115.64.55.wireless.dyn.drei.com)
2022-02-07 09:22:14 +0100xff0x(~xff0x@2001:1a81:530c:c100:b873:bdb8:c5f:a8b5)
2022-02-07 09:22:23 +0100 <Inst[m]> concepts of perfomrance start at chapter 4, iirc, or at least chapter 5
2022-02-07 09:22:31 +0100 <Inst[m]> where he has a program design that's ridiculously not performant
2022-02-07 09:22:46 +0100 <Inst[m]> yup, chapter 4
2022-02-07 09:22:57 +0100 <Axman6> like, there's no point talking about performance problems until you've run into them, introducing someone to the languyage by using [(k,v)] as a map is perfectly acceptable, until that becomes a bottleneck, and then it's a good time to talk about Map and HashMap
2022-02-07 09:23:25 +0100 <Inst[m]> chapter 4, he mentions "if you have a nose for inefficiency, this code is better written as"
2022-02-07 09:23:33 +0100 <Inst[m]> while introducing list comprehensions
2022-02-07 09:25:49 +0100 <Inst> bird explicitly describes his book as "assuming no previous knowledge of computers or programming"
2022-02-07 09:26:09 +0100 <Inst> I knock his book as "appropriate as an intro to programming book, but only if you're an oxbridge undergraduate"
2022-02-07 09:26:18 +0100 <Axman6> Are you intentionally changing back and forth between clients?
2022-02-07 09:28:34 +0100yauhsien_(~yauhsien@61-231-29-69.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-02-07 09:30:33 +0100benin(~benin@183.82.31.24) (Ping timeout: 256 seconds)
2022-02-07 09:31:48 +0100freemanX(~user@112.199.211.72) (Remote host closed the connection)
2022-02-07 09:32:01 +0100freemanX(~user@112.199.211.72)
2022-02-07 09:32:11 +0100benin(~benin@183.82.31.24)
2022-02-07 09:32:51 +0100MajorBiscuit(~MajorBisc@2a02:a461:129d:1:193d:75d8:745d:e91e) (Ping timeout: 245 seconds)
2022-02-07 09:33:53 +0100michalz(~michalz@185.246.204.87)
2022-02-07 09:34:47 +0100MajorBiscuit(~MajorBisc@c-001-017-058.client.tudelft.eduvpn.nl)
2022-02-07 09:35:05 +0100AlexNoo_AlexNoo
2022-02-07 09:36:21 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-02-07 09:36:21 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-02-07 09:36:21 +0100wroathe(~wroathe@user/wroathe)
2022-02-07 09:36:31 +0100michalz(~michalz@185.246.204.87) (Remote host closed the connection)
2022-02-07 09:38:47 +0100yauhsien_(~yauhsien@61-231-29-69.dynamic-ip.hinet.net)
2022-02-07 09:39:17 +0100merijn(~merijn@c-001-002-002.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
2022-02-07 09:40:56 +0100foul_owl(~kerry@23.82.194.141) (Read error: Connection reset by peer)
2022-02-07 09:41:33 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2022-02-07 09:41:36 +0100simpleauthority_(~simpleaut@user/simpleauthority)
2022-02-07 09:42:07 +0100simpleauthority(~simpleaut@user/simpleauthority) (Ping timeout: 256 seconds)
2022-02-07 09:42:07 +0100simpleauthority_simpleauthority
2022-02-07 09:43:39 +0100yauhsien_(~yauhsien@61-231-29-69.dynamic-ip.hinet.net) (Ping timeout: 250 seconds)
2022-02-07 09:44:34 +0100 <Inst> nope, just, sometimes convenient
2022-02-07 09:44:46 +0100 <Inst> i got into matrix because a friend is now in a dispute with discord and i want to help her migrate off discord into matrix
2022-02-07 09:45:29 +0100 <Inst> the three places where i think haskell pedagogy comes short:
2022-02-07 09:45:51 +0100 <Inst> not practical enough; by the end of the course, students should have a small library of haskell programs that they can modify for everyday, practical use
2022-02-07 09:46:09 +0100kuribas(~user@ptr-25vy0i6r6bvbga979rx.18120a2.ip6.access.telenet.be)
2022-02-07 09:46:11 +0100 <Inst> not theoretical enough; by the end of the course, students should have a beginning grasp of computing concepts that are usually taught in later courses
2022-02-07 09:47:14 +0100 <Inst> not professional enough; by the end of the course, students should be conversant with monad transformers, text, and be able to read modern haskell code and use standard non-prelude libraries, even if they haven't been taught it
2022-02-07 09:48:13 +0100max22-(~maxime@2a01cb0883359800907188a6988a6499.ipv6.abo.wanadoo.fr)
2022-02-07 09:49:20 +0100machinedgod(~machinedg@24.105.81.50)
2022-02-07 09:50:48 +0100 <Inst> sorry, i'll stop bloviating
2022-02-07 09:52:19 +0100Akiva(~Akiva@user/Akiva) (Ping timeout: 256 seconds)
2022-02-07 09:55:14 +0100razetime(~quassel@49.207.209.26) (Remote host closed the connection)
2022-02-07 09:55:56 +0100 <Inst> i'm just thinking about some of Bird's approaches, i.e, devoting entire chapters to example programs (which Hutton also does)
2022-02-07 09:58:16 +0100 <Inst> or, whether, it might be possible to deal with two of the three, i.e, start by issuing a professional program, then teach haskell by deconstructing the program and reverse engineering it
2022-02-07 09:58:33 +0100 <Inst> then, start again with another program, but with the objective first to read it, then to modify it for further capability or efficiency
2022-02-07 09:59:55 +0100foul_owl(~kerry@192.145.116.33)
2022-02-07 10:00:02 +0100merijn(~merijn@c-001-002-002.client.esciencecenter.eduvpn.nl)
2022-02-07 10:00:04 +0100Erutuon(~Erutuon@user/erutuon)
2022-02-07 10:00:06 +0100nomeata(~nomeata@2001:470:69fc:105::1:5ed4) (Quit: You have been kicked for being idle)
2022-02-07 10:01:42 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
2022-02-07 10:02:28 +0100 <Inst> that's probably fairly close to will kurt's approach in GPWH (Get Programming with Haskell) https://www.reddit.com/r/haskell/comments/hipa18/mini_review_of_get_programming_with_haskell_by/
2022-02-07 10:06:01 +0100michalz(~michalz@185.246.204.75)
2022-02-07 10:07:11 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-02-07 10:07:11 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-02-07 10:07:11 +0100wroathe(~wroathe@user/wroathe)
2022-02-07 10:12:29 +0100V(~v@anomalous.eu) (Ping timeout: 268 seconds)
2022-02-07 10:12:29 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2022-02-07 10:13:22 +0100Topsi1(~Tobias@dyndsl-095-033-024-009.ewe-ip-backbone.de)
2022-02-07 10:14:33 +0100yauhsien_(~yauhsien@61-231-29-69.dynamic-ip.hinet.net)
2022-02-07 10:15:24 +0100romesrf(~romes@2001:818:dcef:c700:44a3:1843:a5e9:2bf7)
2022-02-07 10:15:37 +0100Topsi(~Tobias@dyndsl-095-033-024-009.ewe-ip-backbone.de) (Ping timeout: 240 seconds)
2022-02-07 10:17:11 +0100romesrf(~romes@2001:818:dcef:c700:44a3:1843:a5e9:2bf7) (Client Quit)
2022-02-07 10:20:21 +0100akegalj(~akegalj@93-139-151-35.adsl.net.t-com.hr)
2022-02-07 10:20:30 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 250 seconds)
2022-02-07 10:21:07 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 10:21:08 +0100xkuru(~xkuru@user/xkuru)
2022-02-07 10:25:45 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
2022-02-07 10:27:21 +0100RFV(~Thunderbi@5.red-80-39-250.dynamicip.rima-tde.net)
2022-02-07 10:29:48 +0100`2jt(~jtomas@130.red-88-22-46.staticip.rima-tde.net)
2022-02-07 10:37:56 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-02-07 10:37:56 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-02-07 10:37:56 +0100wroathe(~wroathe@user/wroathe)
2022-02-07 10:38:18 +0100tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
2022-02-07 10:39:19 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2022-02-07 10:39:46 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:1dc4:f5c4:a458:81) (Remote host closed the connection)
2022-02-07 10:40:21 +0100yauhsien_(~yauhsien@61-231-29-69.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-02-07 10:41:11 +0100yauhsien_(~yauhsien@61-231-29-69.dynamic-ip.hinet.net)
2022-02-07 10:41:20 +0100CiaoSen(~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2022-02-07 10:42:22 +0100econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2022-02-07 10:42:51 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 245 seconds)
2022-02-07 10:45:46 +0100yauhsien_(~yauhsien@61-231-29-69.dynamic-ip.hinet.net) (Ping timeout: 245 seconds)
2022-02-07 10:46:34 +0100RFV(~Thunderbi@5.red-80-39-250.dynamicip.rima-tde.net) (Ping timeout: 260 seconds)
2022-02-07 10:53:09 +0100yauhsien_(~yauhsien@61-231-29-69.dynamic-ip.hinet.net)
2022-02-07 10:58:37 +0100yauhsien_(~yauhsien@61-231-29-69.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
2022-02-07 11:14:09 +0100xsperry(~xs@user/xsperry) (Read error: Connection reset by peer)
2022-02-07 11:14:31 +0100jakalx(~jakalx@base.jakalx.net) ()
2022-02-07 11:17:28 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Remote host closed the connection)
2022-02-07 11:17:54 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-02-07 11:19:12 +0100Topsi(~Tobias@dyndsl-095-033-024-009.ewe-ip-backbone.de)
2022-02-07 11:22:18 +0100chenqisu1(~chenqisu1@183.217.200.249)
2022-02-07 11:22:59 +0100Topsi1(~Tobias@dyndsl-095-033-024-009.ewe-ip-backbone.de) (Ping timeout: 256 seconds)
2022-02-07 11:24:46 +0100jakalx(~jakalx@base.jakalx.net)
2022-02-07 11:25:57 +0100mzan(~quassel@mail.asterisell.com)
2022-02-07 11:30:52 +0100thyriaen(~thyriaen@simnet-nat-pool-185-130-54-208.stargrpns.pp.ua)
2022-02-07 11:31:25 +0100Topsi1(~Tobias@dyndsl-095-033-024-009.ewe-ip-backbone.de)
2022-02-07 11:33:17 +0100Topsi(~Tobias@dyndsl-095-033-024-009.ewe-ip-backbone.de) (Ping timeout: 240 seconds)
2022-02-07 11:35:13 +0100Topsi(~Tobias@dyndsl-095-033-024-009.ewe-ip-backbone.de)
2022-02-07 11:37:11 +0100Topsi1(~Tobias@dyndsl-095-033-024-009.ewe-ip-backbone.de) (Ping timeout: 250 seconds)
2022-02-07 11:40:14 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:1dc4:f5c4:a458:81)
2022-02-07 11:41:07 +0100merijn(~merijn@c-001-002-002.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-02-07 11:41:07 +0100comerijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
2022-02-07 11:45:37 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:1dc4:f5c4:a458:81) (Ping timeout: 240 seconds)
2022-02-07 11:46:21 +0100RFV(~Thunderbi@5.red-80-39-250.dynamicip.rima-tde.net)
2022-02-07 11:46:55 +0100RFV(~Thunderbi@5.red-80-39-250.dynamicip.rima-tde.net) (Client Quit)
2022-02-07 11:49:51 +0100comerijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-02-07 11:51:47 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
2022-02-07 11:53:12 +0100tdammers(~tdammers@77.109.72.177.res.static.edpnet.net) (Quit: WeeChat 3.0)
2022-02-07 11:53:46 +0100RFV(~Thunderbi@5.red-80-39-250.dynamicip.rima-tde.net)
2022-02-07 11:56:59 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 256 seconds)
2022-02-07 11:58:20 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2022-02-07 11:59:30 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-02-07 12:01:31 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-02-07 12:02:05 +0100foul_owl(~kerry@192.145.116.33) (Ping timeout: 256 seconds)
2022-02-07 12:02:27 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
2022-02-07 12:08:37 +0100td_(~td@muedsl-82-207-238-078.citykom.de) (Ping timeout: 240 seconds)
2022-02-07 12:08:45 +0100benin(~benin@183.82.31.24) (Quit: The Lounge - https://thelounge.chat)
2022-02-07 12:09:43 +0100AlexZenon(~alzenon@94.233.241.230) (Quit: ;-)
2022-02-07 12:10:18 +0100Alex_test(~al_test@94.233.241.230) ()
2022-02-07 12:11:46 +0100AlexNoo(~AlexNoo@94.233.241.230) (Quit: Leaving)
2022-02-07 12:12:12 +0100yauhsien_(~yauhsien@61-231-29-69.dynamic-ip.hinet.net)
2022-02-07 12:17:03 +0100yauhsien_(~yauhsien@61-231-29-69.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
2022-02-07 12:17:49 +0100foul_owl(~kerry@23.82.194.143)
2022-02-07 12:20:39 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-02-07 12:20:39 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-02-07 12:20:39 +0100wroathe(~wroathe@user/wroathe)
2022-02-07 12:24:06 +0100thevishy(~Nishant@2405:201:f005:c007:f886:9bab:89ec:ff42)
2022-02-07 12:25:08 +0100Null_A(~null_a@2601:645:8700:2290:7c2a:bca9:fa46:3105)
2022-02-07 12:25:48 +0100td_(~td@muedsl-82-207-238-072.citykom.de)
2022-02-07 12:25:53 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2022-02-07 12:27:03 +0100whatsupdoc(uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2022-02-07 12:34:55 +0100Null_A(~null_a@2601:645:8700:2290:7c2a:bca9:fa46:3105) (Remote host closed the connection)
2022-02-07 12:39:43 +0100razetime(~quassel@49.207.209.26)
2022-02-07 12:41:57 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 240 seconds)
2022-02-07 12:42:17 +0100CiaoSen(~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2022-02-07 12:44:13 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-02-07 12:44:34 +0100thyriaen(~thyriaen@simnet-nat-pool-185-130-54-208.stargrpns.pp.ua) (Quit: Leaving)
2022-02-07 12:47:13 +0100LiaoTao_(~LiaoTao@gateway/tor-sasl/liaotao) (Remote host closed the connection)
2022-02-07 12:47:27 +0100LiaoTao(~LiaoTao@gateway/tor-sasl/liaotao)
2022-02-07 12:48:47 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 256 seconds)
2022-02-07 12:49:17 +0100Achylles(~Achylles_@2804:431:d724:1728:f3b4:d659:13ba:d509)
2022-02-07 12:50:37 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-02-07 12:51:26 +0100RFV(~Thunderbi@5.red-80-39-250.dynamicip.rima-tde.net) (Ping timeout: 252 seconds)
2022-02-07 12:51:56 +0100RFV(~Thunderbi@5.red-80-39-250.dynamicip.rima-tde.net)
2022-02-07 12:55:49 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 250 seconds)
2022-02-07 12:56:15 +0100RFV(~Thunderbi@5.red-80-39-250.dynamicip.rima-tde.net) (Ping timeout: 256 seconds)
2022-02-07 12:56:17 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
2022-02-07 12:56:54 +0100Midjak(~Midjak@may53-1-78-226-116-92.fbx.proxad.net)
2022-02-07 12:57:29 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 13:01:37 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
2022-02-07 13:03:17 +0100deadmarshal(~deadmarsh@95.38.113.203) (Ping timeout: 256 seconds)
2022-02-07 13:06:56 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 256 seconds)
2022-02-07 13:08:56 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-02-07 13:26:07 +0100infinity0(~infinity0@occupy.ecodis.net) (Ping timeout: 268 seconds)
2022-02-07 13:30:04 +0100Midjak(~Midjak@may53-1-78-226-116-92.fbx.proxad.net) (Quit: This computer has gone to sleep)
2022-02-07 13:31:19 +0100infinity0(~infinity0@occupy.ecodis.net)
2022-02-07 13:33:19 +0100freemanX(~user@112.199.211.72) (Ping timeout: 256 seconds)
2022-02-07 13:43:03 +0100RFV(~Thunderbi@5.red-80-39-250.dynamicip.rima-tde.net)
2022-02-07 13:45:13 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 256 seconds)
2022-02-07 13:45:13 +0100Topsi(~Tobias@dyndsl-095-033-024-009.ewe-ip-backbone.de) (Ping timeout: 256 seconds)
2022-02-07 13:45:39 +0100freemanX(~user@112.199.211.72)
2022-02-07 13:46:12 +0100wyrd(~wyrd@gateway/tor-sasl/wyrd) (Ping timeout: 276 seconds)
2022-02-07 13:47:26 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-02-07 13:49:46 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2022-02-07 13:50:50 +0100V(~v@anomalous.eu)
2022-02-07 13:54:43 +0100xsperry(~xs@user/xsperry)
2022-02-07 13:55:23 +0100chenqisu1(~chenqisu1@183.217.200.249) (Quit: Leaving)
2022-02-07 13:56:05 +0100shriekingnoise(~shrieking@201.231.16.156)
2022-02-07 13:58:13 +0100gaff(~gaff@49.207.227.188)
2022-02-07 14:01:15 +0100slack1256(~slack1256@191.126.227.204)
2022-02-07 14:05:43 +0100cuz(~user@50.226.229.246)
2022-02-07 14:10:36 +0100RFV(~Thunderbi@5.red-80-39-250.dynamicip.rima-tde.net) (Quit: RFV)
2022-02-07 14:12:22 +0100lechner(~lechner@debian/lechner) (Ping timeout: 268 seconds)
2022-02-07 14:14:39 +0100 <gaff> newtype X = X a, instance Num X where ..., and if you have f :: Num a => a -> String; f (X _) = ... this pattern match is disallowed in haskell. i am not sure why.
2022-02-07 14:15:18 +0100Guest|90(~Guest|90@5.151.28.4)
2022-02-07 14:15:35 +0100 <ski> because you can pass e.g. an `Integer' to `f'
2022-02-07 14:15:40 +0100 <geekosaur> because Num a does not mean it's always X
2022-02-07 14:15:48 +0100Guest|90(~Guest|90@5.151.28.4) (Client Quit)
2022-02-07 14:16:20 +0100 <ski> `f :: Num a => a -> String' means "I promise to work for *all* types `a' that are instances of `Num', and if you give me an `a', i'll give you back a `String'"
2022-02-07 14:16:38 +0100cynomys(~cynomys@user/cynomys) (Ping timeout: 256 seconds)
2022-02-07 14:16:38 +0100 <gaff> but there is also a catch-all pattern f _ = ... still it does not work.
2022-02-07 14:16:59 +0100 <gaff> ski: correct
2022-02-07 14:17:01 +0100 <geekosaur> the catch-all still has to be of the same type
2022-02-07 14:17:01 +0100 <ski> `f' is in no position to expect to only be passed an `X'
2022-02-07 14:17:12 +0100 <gaff> ski i see
2022-02-07 14:17:14 +0100slowButPresent(~slowButPr@user/slowbutpresent)
2022-02-07 14:18:20 +0100 <ski> (oh, and btw, `newtype X = X a' seems pretty useless .. did you mean to bind that tyvar `a' ?)
2022-02-07 14:18:25 +0100 <gaff> ski: so in this type signature, the code in `f` can not make any ssumption about a particular type. it has to work for all instances of Num.
2022-02-07 14:18:34 +0100 <ski> correct
2022-02-07 14:18:47 +0100 <gaff> ski: that is just an example
2022-02-07 14:18:56 +0100 <gaff> a silly one for illustration
2022-02-07 14:18:57 +0100 <ski> if you want `f' to be able to assume that its input is an `X', then do `f :: X -> String'
2022-02-07 14:19:05 +0100 <gaff> ski
2022-02-07 14:19:08 +0100 <gaff> i see
2022-02-07 14:19:20 +0100nunggu(~q@user/nunggu) (Remote host closed the connection)
2022-02-07 14:19:43 +0100nunggu(~q@user/nunggu)
2022-02-07 14:19:44 +0100 <gaff> so pattern matching works for a specific type
2022-02-07 14:19:48 +0100 <ski> yes
2022-02-07 14:20:08 +0100 <gaff> strange i dd not see this mentioned in any of the books
2022-02-07 14:20:28 +0100 <ski> (unless you use `PatternSynonyms' (or `ViewPatterns'), then they could work over multiple ones. also numeric literal patterns, i guess)
2022-02-07 14:20:40 +0100 <gaff> i see
2022-02-07 14:20:49 +0100 <ski> `X _' has type `X'. therefore, that pattern will only match an input of type `X'
2022-02-07 14:20:52 +0100bontaq(~user@ool-45779fe5.dyn.optonline.net)
2022-02-07 14:21:30 +0100 <gaff> ski: yeah, thank you very much. now i understand. just one other question: why is it designed this way?
2022-02-07 14:21:39 +0100 <ski> which ?
2022-02-07 14:21:50 +0100 <ski> that a pattern of type `X' only can match a value of type `X' ?
2022-02-07 14:21:51 +0100 <gaff> the restriction on pattern match
2022-02-07 14:21:56 +0100 <gaff> yeah
2022-02-07 14:22:04 +0100 <ski> i don't see how it could really be any other way
2022-02-07 14:22:17 +0100 <ski> how could possibly a pattern of type `X' match a value of type `Y' ?
2022-02-07 14:22:36 +0100 <ski> % newtype X = MkX a
2022-02-07 14:22:36 +0100 <yahb> ski: ; <interactive>:70:17: error: Not in scope: type variable `a'
2022-02-07 14:22:58 +0100 <gaff> ah i got it
2022-02-07 14:23:03 +0100 <gaff> thank you
2022-02-07 14:23:18 +0100 <lortabac> I think some languages allow untagged union types, maybe that's what gaff had in mind
2022-02-07 14:23:37 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 240 seconds)
2022-02-07 14:24:05 +0100 <geekosaur> you may be expecting OOP classes, where this might work. typeclasses don't really map to OOP though
2022-02-07 14:24:32 +0100 <gaff> geekosaur: yeah, my OOP background is the culprit ... you are correct.
2022-02-07 14:24:39 +0100raym(~raym@user/raym) (Ping timeout: 256 seconds)
2022-02-07 14:24:47 +0100Achylles(~Achylles_@2804:431:d724:1728:f3b4:d659:13ba:d509) (Quit: Leaving)
2022-02-07 14:24:47 +0100 <geekosaur> I generally think the naming of typeclasses and things related to them is unfortunate in much the same way that the naming of Monad and its `return`is unfortunate
2022-02-07 14:24:49 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 14:25:00 +0100deadmarshal(~deadmarsh@95.38.113.203)
2022-02-07 14:25:01 +0100 <ski> there specifically isn't something like `instanceof'/`typecase' in Haskell .. by design. (it would break parametricity)
2022-02-07 14:25:16 +0100 <gaff> ski: i see
2022-02-07 14:25:27 +0100raym(~raym@user/raym)
2022-02-07 14:25:34 +0100 <gaff> and no "casting" as well
2022-02-07 14:25:40 +0100 <lortabac> there is Type.Reflection, which requires a Typeable constraint
2022-02-07 14:25:48 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-02-07 14:25:52 +0100 <ski> (well, if you add a `Typeable' constraint, you can do some such things. butt not without adding that constraint)
2022-02-07 14:25:59 +0100 <ski> @type cast
2022-02-07 14:26:00 +0100 <lambdabot> (Typeable a, Typeable b) => a -> Maybe b
2022-02-07 14:26:10 +0100 <ski> > cast False :: Maybe Bool
2022-02-07 14:26:11 +0100 <lambdabot> Just False
2022-02-07 14:26:12 +0100Null_A(~null_a@2601:645:8700:2290:7c2a:bca9:fa46:3105)
2022-02-07 14:26:15 +0100 <ski> > cast False :: Maybe Integer
2022-02-07 14:26:16 +0100 <lambdabot> Nothing
2022-02-07 14:26:55 +0100 <ski> (this doesn't break parametricity, since it only applies when you have that additional `Typeable' constraint. it's not something that applies to polymorphism in general)
2022-02-07 14:27:05 +0100 <ski> so, it's opt-in
2022-02-07 14:27:13 +0100 <gaff> ok, thanks ... i am not vey familiar with Typeable, to be honest
2022-02-07 14:27:23 +0100 <ski> it's usually not something you need/want
2022-02-07 14:27:27 +0100 <gaff> ok
2022-02-07 14:27:28 +0100 <ski> occasionally, it's handy, though
2022-02-07 14:27:34 +0100 <gaff> i see
2022-02-07 14:27:40 +0100messier102(~messier10@user/messier102)
2022-02-07 14:28:04 +0100 <ski> > fromDynamic (toDyn False) :: Maybe Bool
2022-02-07 14:28:06 +0100 <lambdabot> Just False
2022-02-07 14:28:07 +0100 <ski> > fromDynamic (toDyn False) :: Maybe Integer
2022-02-07 14:28:08 +0100 <merijn> gaff: It helps to think of typeclass contexts in signatures as predicates
2022-02-07 14:28:08 +0100 <lambdabot> Nothing
2022-02-07 14:28:14 +0100 <ski> @type toDyn
2022-02-07 14:28:15 +0100 <lambdabot> Typeable a => a -> Dynamic
2022-02-07 14:28:21 +0100 <ski> @type fromDynamic
2022-02-07 14:28:22 +0100 <lambdabot> Typeable a => Dynamic -> Maybe a
2022-02-07 14:28:24 +0100 <ski> @type fromDyn
2022-02-07 14:28:25 +0100 <lambdabot> Typeable a => Dynamic -> a -> a
2022-02-07 14:28:27 +0100fef(~thedawn@user/thedawn) (Ping timeout: 276 seconds)
2022-02-07 14:28:50 +0100 <gaff> merijn: as predicates?
2022-02-07 14:28:52 +0100 <merijn> gaff: So "foo :: Num a => a -> String" is similar to "IF 'a' has an instance of 'Num' THEN 'foo :: a -> String' ELSE type error"
2022-02-07 14:29:11 +0100 <gaff> i see
2022-02-07 14:29:25 +0100 <ski> if (the *type*) `a' satisfies the `Num' (has numeric operations) property, then ...
2022-02-07 14:29:30 +0100 <merijn> gaff: So they're describing a subset of things the function can be applied to, but the logic inside cannot know/assume which one
2022-02-07 14:29:47 +0100 <merijn> It has to work on any/all of them
2022-02-07 14:29:53 +0100yauhsien_(~yauhsien@61-231-29-69.dynamic-ip.hinet.net)
2022-02-07 14:29:56 +0100 <ski> or .. if `a' is in the class/set of types `Num' (containing the ones that support the basic numeric operations), then ..
2022-02-07 14:29:58 +0100 <gaff> merijn: yeah, i finally understood after ski explained
2022-02-07 14:30:06 +0100 <ski> (which is where the terminology "type class" comes from)
2022-02-07 14:30:17 +0100 <gaff> i see
2022-02-07 14:30:36 +0100wmacmil(~wmacmil@83-233-165-97.cust.bredband2.com)
2022-02-07 14:31:14 +0100 <wmacmil> is there a case split in haskell analogous to agda, like a <c-c c-c> type extension or plugin
2022-02-07 14:31:36 +0100 <ski> (in math, "class" is often more or less synonymous with "set". e.g. "equivalence class", when one's talking about an equivalence relation, e.g. "has the same height" or "lists contain the same elements" or ..)
2022-02-07 14:31:48 +0100 <gaff> merijn: thanks
2022-02-07 14:32:26 +0100skiwould probably omit the "ELSE ..." part there, usually
2022-02-07 14:32:38 +0100 <ski> (making it an implication, rather than a conditional)
2022-02-07 14:33:26 +0100 <ski> (if you can't manage to show why the types would work out, then you have a type error, regardless)
2022-02-07 14:33:37 +0100 <gaff> yeah
2022-02-07 14:34:39 +0100 <gaff> you could also say it as "for all types `a` that are instances of Num, ..."
2022-02-07 14:34:50 +0100yauhsien_(~yauhsien@61-231-29-69.dynamic-ip.hinet.net) (Ping timeout: 252 seconds)
2022-02-07 14:35:03 +0100pavonia(~user@user/siracusa) (Quit: Bye!)
2022-02-07 14:36:28 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 256 seconds)
2022-02-07 14:36:53 +0100 <ski> gaff : "parametricity" basically means that, if you have a polymorphic operation, polymorphic in some type variable, say `a', then that operation can *not* inspect input values of type `a', can only pass them around (iow, drop/ignore then, duplicate the reference to them, pass them on). so `foo :: [a] -> [a]' can not do different things, depending on what the elements are. it can only reorder elements, drop
2022-02-07 14:36:59 +0100 <ski> elements, and duplicate elements
2022-02-07 14:37:36 +0100 <gaff> ski: i see
2022-02-07 14:37:38 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-02-07 14:38:10 +0100 <ski> if you add say `Ord a => ' to that, then it *can* "inspect" inputs of type `a', but only *via* passing them to operations polymorphic over `Ord' (which in the end amounts to the methods of the `Ord' type class, so `(<=)',`compare' and so on)
2022-02-07 14:38:28 +0100 <gaff> ok
2022-02-07 14:38:40 +0100 <ski> similarly, `bar :: (a -> Bool) -> [a] -> [a]' can *only* inspect inpute elements, by passing them to the callback predicate
2022-02-07 14:38:44 +0100 <merijn> ski: I know, because you have made the complaint before :p
2022-02-07 14:39:04 +0100 <merijn> ski: But the first few times I used that example I did, in fact, not use an ELSE but people got confused
2022-02-07 14:39:15 +0100 <merijn> "but what happens if it doesn't match?"
2022-02-07 14:39:21 +0100 <ski> this is a very powerful reasoning principle, which can allow you to tell quite a bit about polymorphic library operations, including higher-order ones
2022-02-07 14:39:50 +0100 <ski> merijn : hm, sorry, i forget which complaint that was :p .. the "ELSE" bit ?
2022-02-07 14:39:59 +0100 <ski> ah, okay
2022-02-07 14:41:05 +0100 <gaff> but as far as i am concerend, the explanation is very helpful.
2022-02-07 14:41:18 +0100 <ski> well, in such case i'd add that if they can't find a way to justify the types with the typing rules .. then they've not managed to show the types "are aligned", and can't proceed past type checking
2022-02-07 14:41:53 +0100Null_A(~null_a@2601:645:8700:2290:7c2a:bca9:fa46:3105) (Remote host closed the connection)
2022-02-07 14:42:01 +0100 <ski> "but what happens if it doesn't match?" -- it totally depends on whether there might be some *other* way to make the types work out. in this case, there happens to not be another such way
2022-02-07 14:43:42 +0100 <ski> imo, it's somewhat misleading to construe it as a conditional, an `if'-`then'-`else'. it gives the wrong impression. (although, this isn't a major problem, at this point, won't make a huge difference for the current issue. but i don't like leaving such wrong impressions around, possibly getting entrenched, and compounded by other similar misapprehensions)
2022-02-07 14:43:48 +0100 <ski> gaff : yw
2022-02-07 14:45:25 +0100 <ski> wmacmil : not that i'm aware of :/
2022-02-07 14:45:27 +0100max22-(~maxime@2a01cb0883359800907188a6988a6499.ipv6.abo.wanadoo.fr) (Ping timeout: 250 seconds)
2022-02-07 14:45:39 +0100 <ski> <gaff> you could also say it as "for all types `a` that are instances of Num, ..."
2022-02-07 14:45:42 +0100 <ski> yes, that's fine
2022-02-07 14:45:45 +0100wavemode(~wavemode@2601:241:0:fc90:5d33:217d:3934:b62c) (Quit: Client closed)
2022-02-07 14:45:48 +0100 <gaff> ok
2022-02-07 14:47:55 +0100 <wmacmil> or anyway to at least get the compiler to help?
2022-02-07 14:48:29 +0100 <ski> it might be possible to do something with some GHC API, i guess
2022-02-07 14:51:08 +0100zeenk(~zeenk@2a02:2f04:a30d:1300:51a3:bcfc:6cda:9fc5)
2022-02-07 14:53:18 +0100 <gaff> thanks everyone ... i really appreciate all your help.
2022-02-07 14:53:30 +0100gaff(~gaff@49.207.227.188) ()
2022-02-07 14:53:30 +0100 <ski> no problem :)
2022-02-07 14:55:41 +0100 <geekosaur> simplifier pass maybe, not that I fully understand what's up with case splits
2022-02-07 15:01:56 +0100slac90987(~slack1256@181.42.41.211)
2022-02-07 15:03:12 +0100wmacmil(~wmacmil@83-233-165-97.cust.bredband2.com) (Quit: Leaving)
2022-02-07 15:03:58 +0100cuz`(~user@2607:fb90:e7b:bc92:1455:2c0:e8af:6e02)
2022-02-07 15:04:06 +0100slack1256(~slack1256@191.126.227.204) (Ping timeout: 245 seconds)
2022-02-07 15:04:19 +0100 <messier102> As far as I understand the manual, case splitting automatically creates a complete set of pattern matches for a given variable
2022-02-07 15:04:39 +0100cuz(~user@50.226.229.246) (Read error: Connection reset by peer)
2022-02-07 15:04:49 +0100 <ski> yes
2022-02-07 15:05:27 +0100 <ski> in case of indexed data type, it'll automatically exclude cases which can't happen, due to the particular indices of the scrutinee
2022-02-07 15:05:56 +0100 <messier102> e.g. if you give it a `foo xs` where `xs :: [a]`, it will write `foo []` and `foo (x:xs)` for you (I think)
2022-02-07 15:06:11 +0100 <messier102> seems like a neat feature
2022-02-07 15:06:17 +0100 <ski> (now i'm wondering if it can be told to case split simultaneously on multiple scrutinees ..)
2022-02-07 15:06:22 +0100 <ski> yep
2022-02-07 15:06:38 +0100eron(~eron@2804:431:c7c2:934:9877:36f8:e8ed:91e)
2022-02-07 15:07:04 +0100cuz``(~user@50.226.229.246)
2022-02-07 15:08:37 +0100cuz`(~user@2607:fb90:e7b:bc92:1455:2c0:e8af:6e02) (Ping timeout: 240 seconds)
2022-02-07 15:09:20 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-02-07 15:09:20 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-02-07 15:09:20 +0100wroathe(~wroathe@user/wroathe)
2022-02-07 15:14:45 +0100vglfr(~vglfr@coupling.penchant.volia.net) (Ping timeout: 256 seconds)
2022-02-07 15:15:31 +0100vglfr(~vglfr@coupling.penchant.volia.net)
2022-02-07 15:24:38 +0100n3rdy1(~n3rdy1@2600:1700:4570:3480:1b88:50f:dae0:9293)
2022-02-07 15:27:45 +0100ubert(~Thunderbi@p200300ecdf0994592d10ea882e78994b.dip0.t-ipconnect.de)
2022-02-07 15:30:19 +0100segfaultfizzbuzz(~rustisafu@2602:306:cd3c:9350:588d:9794:eb2f:3fa5)
2022-02-07 15:30:22 +0100img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2022-02-07 15:31:24 +0100img(~img@user/img)
2022-02-07 15:33:23 +0100whatif(~user@123.123.222.32)
2022-02-07 15:34:55 +0100img(~img@user/img) (Client Quit)
2022-02-07 15:36:18 +0100img(~img@user/img)
2022-02-07 15:36:32 +0100 <dminuoso> Mmm, I wish GHC would forbid anyclass deriving with non-empty minimal method sets.
2022-02-07 15:36:41 +0100 <dminuoso> Is that a reasonable thing to demand?
2022-02-07 15:37:19 +0100 <dminuoso> Or can GHC produce a warning at least?
2022-02-07 15:37:35 +0100doyougnu(~doyougnu@cpe-67-249-83-190.twcny.res.rr.com)
2022-02-07 15:37:38 +0100 <merijn> I thought that already existed?
2022-02-07 15:38:30 +0100 <dminuoso> Mmm, oh. Let's figure out why its not being triggered then
2022-02-07 15:38:42 +0100max22-(~maxime@2a01cb08833598007cddd107fb6e9829.ipv6.abo.wanadoo.fr)
2022-02-07 15:43:04 +0100segfaultfizzbuzz(~rustisafu@2602:306:cd3c:9350:588d:9794:eb2f:3fa5) (Quit: Leaving)
2022-02-07 15:44:06 +0100ubert(~Thunderbi@p200300ecdf0994592d10ea882e78994b.dip0.t-ipconnect.de) (Remote host closed the connection)
2022-02-07 15:44:24 +0100ubert(~Thunderbi@p200300ecdf0994592d10ea882e78994b.dip0.t-ipconnect.de)
2022-02-07 15:45:09 +0100califax(~califax@user/califx) (Ping timeout: 276 seconds)
2022-02-07 15:45:27 +0100califax(~califax@user/califx)
2022-02-07 15:46:29 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2022-02-07 15:48:58 +0100 <Hecate> merijn: are you thinking of the warning if you derive a typeclass without having implemented a minimal method set?
2022-02-07 15:49:20 +0100 <Hecate> I never heard about a warning if the class declaration doesn't have a minimal method set
2022-02-07 15:49:34 +0100 <merijn> Hecate: I recall a discussion on "warning for anyclass if not full minimal set", but that's hazy memory
2022-02-07 15:50:07 +0100 <Hecate> maybe I'm mis-understanding dminuoso and you two are talking about the same thing though :p
2022-02-07 15:50:07 +0100 <merijn> oh, I just realised I misread dminuoso's comment anyway
2022-02-07 15:50:10 +0100 <Hecate> hahaah
2022-02-07 15:50:16 +0100 <Hecate> dminuoso: which one of us is right??
2022-02-07 15:50:41 +0100xff0x(~xff0x@2001:1a81:530c:c100:b873:bdb8:c5f:a8b5) (Ping timeout: 250 seconds)
2022-02-07 15:51:24 +0100 <Hecate> merijn: though you're right, the warning you're describing does exist, I mostly see it when starting to implement a typeclass, when I've written "instance Typeclass Type where" and then GHC complains that the stand-alone class declaration doesn't have the minimal method set fulfilled
2022-02-07 15:51:26 +0100xff0x(~xff0x@2001:1a81:530c:c100:36c:8332:80ae:2bd7)
2022-02-07 15:52:21 +0100wroathe(~wroathe@user/wroathe)
2022-02-07 15:53:40 +0100ellie(~ellie@user/ellie) (Read error: Connection reset by peer)
2022-02-07 15:56:02 +0100burnsidesLlama(~burnsides@dhcp168-036.wadham.ox.ac.uk)
2022-02-07 15:56:56 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2022-02-07 15:59:31 +0100michalz(~michalz@185.246.204.75) (Ping timeout: 256 seconds)
2022-02-07 15:59:48 +0100Guest|42(~Guest|42@37.172.219.228)
2022-02-07 16:00:02 +0100Guest|42(~Guest|42@37.172.219.228) (Client Quit)
2022-02-07 16:05:01 +0100michalz(~michalz@185.246.204.94)
2022-02-07 16:12:23 +0100akegalj(~akegalj@93-139-151-35.adsl.net.t-com.hr) (Quit: leaving)
2022-02-07 16:13:50 +0100kuribas(~user@ptr-25vy0i6r6bvbga979rx.18120a2.ip6.access.telenet.be) (Read error: Connection reset by peer)
2022-02-07 16:15:29 +0100polyphem(~rod@2a02:810d:840:8754:3d7:e2e3:b5c3:df83) (Ping timeout: 252 seconds)
2022-02-07 16:17:22 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-02-07 16:17:22 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-02-07 16:17:22 +0100wroathe(~wroathe@user/wroathe)
2022-02-07 16:22:11 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2022-02-07 16:25:30 +0100waleee(~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4)
2022-02-07 16:29:45 +0100thevishy(~Nishant@2405:201:f005:c007:f886:9bab:89ec:ff42) (Quit: Leaving)
2022-02-07 16:30:28 +0100cuz```(~user@2607:fb90:e7e:cbcd:4035:8992:d7c:96cf)
2022-02-07 16:30:51 +0100Merfont(~Kaiepi@156.34.47.253) (Remote host closed the connection)
2022-02-07 16:31:16 +0100Merfont(~Kaiepi@156.34.47.253)
2022-02-07 16:33:54 +0100cuz``(~user@50.226.229.246) (Read error: Connection reset by peer)
2022-02-07 16:33:57 +0100cuz````(~user@50.226.229.246)
2022-02-07 16:34:39 +0100messier102(~messier10@user/messier102) (Ping timeout: 256 seconds)
2022-02-07 16:35:39 +0100ardell(~ardell@user/ardell)
2022-02-07 16:35:57 +0100cuz```(~user@2607:fb90:e7e:cbcd:4035:8992:d7c:96cf) (Ping timeout: 240 seconds)
2022-02-07 16:37:11 +0100polyphem(~rod@2a02:810d:840:8754:e075:74dd:6e37:209d)
2022-02-07 16:39:02 +0100Sgeo(~Sgeo@user/sgeo)
2022-02-07 16:42:19 +0100burnsidesLlama(~burnsides@dhcp168-036.wadham.ox.ac.uk) (Remote host closed the connection)
2022-02-07 16:47:04 +0100ardell_(~ardell@user/ardell)
2022-02-07 16:47:09 +0100fef(~thedawn@user/thedawn)
2022-02-07 16:47:17 +0100ardell(~ardell@user/ardell) (Ping timeout: 240 seconds)
2022-02-07 16:47:39 +0100 <fendor> can I print the stack trace of an exception I've caught if I have the executable compiled with `-prof`? Tried the function `whoCreated exc` but that reports just `GHC.Exception.Type.CAF (<entire-modle>)`
2022-02-07 16:48:21 +0100 <merijn> fendor: run with +RTS -xc
2022-02-07 16:49:24 +0100 <fendor> That's basically what I did, via RTSOPTS
2022-02-07 16:49:37 +0100 <fendor> oh dammit, it should be GHCRTS
2022-02-07 16:49:38 +0100cuz````(~user@50.226.229.246) (Ping timeout: 256 seconds)
2022-02-07 16:49:38 +0100 <fendor> dammit
2022-02-07 16:49:53 +0100 <fendor> yeah that works
2022-02-07 16:49:56 +0100 <fendor> damn me
2022-02-07 16:49:59 +0100 <merijn> :D
2022-02-07 16:50:38 +0100 <fendor> thanks!
2022-02-07 16:50:46 +0100whatif(~user@123.123.222.32) (Ping timeout: 256 seconds)
2022-02-07 16:54:54 +0100haskell_(~haskell@65-102-32-32.ptld.qwest.net)
2022-02-07 16:55:13 +0100ubert(~Thunderbi@p200300ecdf0994592d10ea882e78994b.dip0.t-ipconnect.de) (Remote host closed the connection)
2022-02-07 16:56:45 +0100__monty__(~toonn@user/toonn)
2022-02-07 16:56:52 +0100haskell_(~haskell@65-102-32-32.ptld.qwest.net) (Remote host closed the connection)
2022-02-07 16:57:50 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 16:58:04 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 16:58:11 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 16:58:27 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 16:58:34 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 16:58:49 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 16:58:56 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 16:59:10 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 16:59:17 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 16:59:32 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 16:59:40 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 16:59:49 +0100CiaoSen(~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2022-02-07 16:59:55 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 17:00:02 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 17:00:15 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 17:00:23 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 17:00:33 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.4)
2022-02-07 17:00:38 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 17:00:45 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 17:00:59 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 17:01:07 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 17:01:15 +0100slac90987slack1256
2022-02-07 17:01:22 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 17:01:29 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 17:01:42 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 17:01:50 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 17:02:05 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 17:02:12 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 17:02:25 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 17:02:33 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 17:02:49 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 17:02:56 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 17:03:10 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 17:03:18 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 17:03:33 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 17:03:34 +0100 <geekosaur> lavaman, you're bouncing
2022-02-07 17:03:40 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 17:03:55 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 17:04:02 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 17:04:06 +0100ChanServ+o geekosaur
2022-02-07 17:04:16 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 17:04:18 +0100geekosaur+b *!*@98.38.249.169
2022-02-07 17:04:20 +0100michalz(~michalz@185.246.204.94) (Remote host closed the connection)
2022-02-07 17:04:24 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 17:04:25 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-02-07 17:04:42 +0100michalz(~michalz@185.246.204.72)
2022-02-07 17:04:46 +0100geekosaur-o geekosaur
2022-02-07 17:04:47 +0100michalz(~michalz@185.246.204.72) (Remote host closed the connection)
2022-02-07 17:05:32 +0100michalz(~michalz@185.246.204.72)
2022-02-07 17:07:22 +0100mbuf(~Shakthi@171.61.147.232) (Quit: Leaving)
2022-02-07 17:07:53 +0100cuz````(~user@38.140.58.234)
2022-02-07 17:09:37 +0100ardell_(~ardell@user/ardell) (Ping timeout: 240 seconds)
2022-02-07 17:10:38 +0100doyougnu(~doyougnu@cpe-67-249-83-190.twcny.res.rr.com) (Ping timeout: 260 seconds)
2022-02-07 17:12:32 +0100wavemode(~wavemode@2601:241:0:fc90:7b48:d1cc:a5e5:a126)
2022-02-07 17:15:17 +0100shapr(~user@pool-173-73-44-186.washdc.fios.verizon.net) (Read error: Connection reset by peer)
2022-02-07 17:15:41 +0100shapr(~user@pool-173-73-44-186.washdc.fios.verizon.net)
2022-02-07 17:16:39 +0100slac97852(~slack1256@191.126.227.204)
2022-02-07 17:18:51 +0100slack1256(~slack1256@181.42.41.211) (Ping timeout: 256 seconds)
2022-02-07 17:19:31 +0100ChanServ+o litharge
2022-02-07 17:19:32 +0100litharge-bo *!*@98.38.249.169 litharge
2022-02-07 17:19:38 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 17:19:46 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 17:19:48 +0100k8yun(~k8yun@24.244.29.102)
2022-02-07 17:20:00 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 17:20:07 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 17:20:21 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 17:20:29 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 17:20:43 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 17:20:51 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 17:21:05 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 17:21:13 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 17:21:27 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 17:21:34 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 17:21:48 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 17:21:55 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 17:22:10 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 17:22:17 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 17:22:21 +0100burnsidesLlama(~burnsides@dhcp168-036.wadham.ox.ac.uk)
2022-02-07 17:22:33 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 17:22:41 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 17:22:57 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 17:23:05 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 17:23:21 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 17:23:28 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 17:23:42 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 17:23:50 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 17:24:04 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 17:24:12 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 17:24:28 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 17:24:35 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 17:24:49 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 17:24:57 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 17:25:10 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 17:25:18 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 17:25:32 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 17:25:40 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 17:25:53 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 17:26:01 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 17:26:16 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 17:26:24 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 17:26:24 +0100slac97852slack1256
2022-02-07 17:26:38 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 17:26:45 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 17:27:01 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 17:27:09 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 17:27:22 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 17:27:30 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 17:27:46 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 17:27:53 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 17:28:10 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 17:28:17 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 17:28:30 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 17:28:38 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 17:28:45 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:580c:39ae:f851:5d4a) (Quit: WeeChat 2.8)
2022-02-07 17:28:52 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 17:29:00 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 17:29:15 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 17:29:23 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 17:29:37 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 17:29:44 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 17:29:58 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 17:30:06 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 17:30:17 +0100tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2022-02-07 17:30:20 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 17:30:28 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 17:30:42 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 17:30:50 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 17:31:04 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 17:31:11 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 17:31:25 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 17:31:32 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 17:31:47 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 17:31:53 +0100burnsidesLlama(~burnsides@dhcp168-036.wadham.ox.ac.uk) (Ping timeout: 256 seconds)
2022-02-07 17:31:54 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 17:32:00 +0100flinner(~flinner__@user/flinner) (Quit: Leaving)
2022-02-07 17:32:08 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 17:32:16 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 17:34:33 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:1dc4:f5c4:a458:81)
2022-02-07 17:37:46 +0100freemanX(~user@112.199.211.72) (Remote host closed the connection)
2022-02-07 17:38:38 +0100freemanX(~user@112.199.211.72)
2022-02-07 17:38:43 +0100dyeplexer(~dyeplexer@user/dyeplexer)
2022-02-07 17:39:48 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2022-02-07 17:41:31 +0100Null_A(~null_a@c-98-210-133-39.hsd1.ca.comcast.net)
2022-02-07 17:41:41 +0100messier102(~messier10@user/messier102)
2022-02-07 17:44:10 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Client Quit)
2022-02-07 17:45:31 +0100messier102(~messier10@user/messier102) (Client Quit)
2022-02-07 17:51:42 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-02-07 17:51:42 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-02-07 17:51:42 +0100wroathe(~wroathe@user/wroathe)
2022-02-07 17:55:16 +0100dajoer(~david@user/gvx) (Quit: leaving)
2022-02-07 17:55:43 +0100chele(~chele@user/chele) (Remote host closed the connection)
2022-02-07 17:56:41 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 252 seconds)
2022-02-07 17:57:41 +0100freemanX(~user@112.199.211.72) (Remote host closed the connection)
2022-02-07 18:00:02 +0100jneira[m](~jneiramat@2001:470:69fc:105::d729)
2022-02-07 18:00:11 +0100burnsidesLlama(~burnsides@dhcp168-036.wadham.ox.ac.uk)
2022-02-07 18:02:43 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 18:04:39 +0100zer0bitz(~zer0bitz@2001:2003:f74d:b800:bc81:ba25:7a70:67f2)
2022-02-07 18:04:42 +0100econo(uid147250@user/econo)
2022-02-07 18:06:20 +0100kayvank(~user@52-119-115-185.PUBLIC.monkeybrains.net)
2022-02-07 18:06:57 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
2022-02-07 18:07:42 +0100Guest|52(~Guest|52@p54a4f18f.dip0.t-ipconnect.de)
2022-02-07 18:08:54 +0100Guest|52(~Guest|52@p54a4f18f.dip0.t-ipconnect.de) (Client Quit)
2022-02-07 18:09:39 +0100 <gentauro> anybody knows how the following expression (let biding) is translated to LambdaCalc `let x = 2 + 2 in x`?
2022-02-07 18:10:10 +0100yauhsien_(~yauhsien@61-231-29-69.dynamic-ip.hinet.net)
2022-02-07 18:10:14 +0100lbseale(~ep1ctetus@user/ep1ctetus)
2022-02-07 18:10:14 +0100 <gentauro> I recall there is a "trivial" map between lambda calculus and let-bindings :) (I just don't remember how to do it)
2022-02-07 18:11:00 +0100lbseale_(~ep1ctetus@user/ep1ctetus)
2022-02-07 18:11:33 +0100burnsidesLlama(~burnsides@dhcp168-036.wadham.ox.ac.uk) (Ping timeout: 256 seconds)
2022-02-07 18:11:45 +0100gehmehgeh(~user@user/gehmehgeh)
2022-02-07 18:11:52 +0100fendor(~fendor@178.115.64.55.wireless.dyn.drei.com) (Remote host closed the connection)
2022-02-07 18:12:24 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2022-02-07 18:12:24 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-07 18:12:49 +0100 <slack1256> Is r/haskell still the forum with the best headspace on the haskell comunity for job postings? The company I work for will put a new advert. I am convincing the higher ups that reddit > linkedin for job posting. Is this still true?
2022-02-07 18:13:22 +0100 <sshine> slack1256, that or Haskell Weekly newsletter.
2022-02-07 18:14:37 +0100lbseale(~ep1ctetus@user/ep1ctetus) (Ping timeout: 240 seconds)
2022-02-07 18:14:55 +0100 <sshine> slack1256, I don't know if it's me who lost interest reading the Haskell Weekly newsletter, or if the quality has gone down a bit (probably the former), but the job section is doing better and better. there were 8 job postings in #300 (most recent is #301 with a closer to average 3 job posts)
2022-02-07 18:15:21 +0100 <gentauro> sshine: HWN think it has a cost, but /r/haskell is free :)
2022-02-07 18:15:40 +0100lechner(~lechner@debian/lechner)
2022-02-07 18:16:19 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-02-07 18:16:25 +0100 <sshine> a sponsored link in Haskell Weekly costs $60. but the average open rate is pretty damn high; https://haskellweekly.news/advertising.html
2022-02-07 18:16:42 +0100 <ski> gentauro : `(\x -> x) (2 + 2)' ?
2022-02-07 18:17:08 +0100whound(~dust@2409:4071:d85:6d06:82d4:5fb8:a938:35fc)
2022-02-07 18:17:13 +0100 <sshine> compared to a job site or a recruiter, $60 is close to nothing. :)
2022-02-07 18:17:34 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:1dc4:f5c4:a458:81) (Remote host closed the connection)
2022-02-07 18:17:41 +0100 <ski> (beware of polymorphic `let'-bindings, though. lambda-bound variables are monomorphic, unless they've explicit signatures to the opposite effect)
2022-02-07 18:17:57 +0100 <ski> (oh .. and, obviously, also recursion)
2022-02-07 18:18:15 +0100skiidly ponders "named `let's"
2022-02-07 18:19:31 +0100 <sshine> I don't know the exact overlap between /r/haskell and Haskell Weekly; I'm guessing it's up there, but the cost of cross-posting is equivalent to the cost of posting on Haskell Weekly. ;-)
2022-02-07 18:26:10 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 18:26:11 +0100cosimone(~user@93-47-231-87.ip115.fastwebnet.it) (Remote host closed the connection)
2022-02-07 18:26:28 +0100mvk(~mvk@2607:fea8:5cdc:bf00::80f1)
2022-02-07 18:26:30 +0100lbseale_lbseale
2022-02-07 18:28:06 +0100 <gentauro> ski: yeah something like that. I don't recall if it was Stephen Diehl or Benjamin Pierce (TAPL) that had some info on it
2022-02-07 18:28:13 +0100 <gentauro> I guess I will keep looking, but thx
2022-02-07 18:28:46 +0100alx741(~alx741@157.100.197.240)
2022-02-07 18:28:58 +0100 <ski> hm, afaik, this is all folklore
2022-02-07 18:29:34 +0100 <ski> (perhaps mentioned in one of the original papers by Church or something ..)
2022-02-07 18:32:05 +0100CiaoSen(~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
2022-02-07 18:33:06 +0100cosimone(~user@93-47-231-87.ip115.fastwebnet.it)
2022-02-07 18:33:32 +0100emf(~emf@136.60.235.103)
2022-02-07 18:34:15 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:1dc4:f5c4:a458:81)
2022-02-07 18:34:57 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-07 18:35:30 +0100cuz````(~user@38.140.58.234) (Remote host closed the connection)
2022-02-07 18:35:37 +0100cuz````(~user@38.140.58.234)
2022-02-07 18:35:57 +0100whound(~dust@2409:4071:d85:6d06:82d4:5fb8:a938:35fc) (Quit: Konversation terminated!)
2022-02-07 18:36:41 +0100emf_(~emf@2620:10d:c090:400::5:9645)
2022-02-07 18:37:35 +0100razetime(~quassel@49.207.209.26) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2022-02-07 18:37:45 +0100Orbstheorem(~orbstheor@2001:470:69fc:105::a56) ()
2022-02-07 18:37:51 +0100emf(~emf@136.60.235.103) (Ping timeout: 256 seconds)
2022-02-07 18:38:44 +0100zeenk(~zeenk@2a02:2f04:a30d:1300:51a3:bcfc:6cda:9fc5) (Quit: Konversation terminated!)
2022-02-07 18:39:08 +0100MajorBiscuit(~MajorBisc@c-001-017-058.client.tudelft.eduvpn.nl) (Quit: WeeChat 3.4)
2022-02-07 18:40:13 +0100burnsidesLlama(~burnsides@dhcp168-036.wadham.ox.ac.uk)
2022-02-07 18:42:50 +0100MatthiasG2(~matthias@i6DFA026C.versanet.de)
2022-02-07 18:42:57 +0100wombat875(~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net) (Ping timeout: 256 seconds)
2022-02-07 18:44:40 +0100burnsidesLlama(~burnsides@dhcp168-036.wadham.ox.ac.uk) (Ping timeout: 256 seconds)
2022-02-07 18:44:45 +0100jgeerds(~jgeerds@55d4a547.access.ecotel.net)
2022-02-07 18:44:56 +0100wombat875(~wombat875@pool-72-89-24-154.nycmny.fios.verizon.net)
2022-02-07 18:47:00 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
2022-02-07 18:47:44 +0100Midjak(~Midjak@may53-1-78-226-116-92.fbx.proxad.net)
2022-02-07 18:48:02 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.4)
2022-02-07 18:49:07 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2022-02-07 18:51:45 +0100alx741(~alx741@157.100.197.240)
2022-02-07 18:51:50 +0100alp(~alp@user/alp) (Ping timeout: 250 seconds)
2022-02-07 18:52:01 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-02-07 18:53:49 +0100geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2022-02-07 18:54:31 +0100mmhat(~mmh@55d4d31f.access.ecotel.net)
2022-02-07 18:54:42 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-02-07 18:54:42 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-02-07 18:54:42 +0100wroathe(~wroathe@user/wroathe)
2022-02-07 18:54:44 +0100neurocyte0917090(~neurocyte@user/neurocyte) (Read error: Connection reset by peer)
2022-02-07 18:55:19 +0100alx741(~alx741@157.100.197.240) (Read error: Connection reset by peer)
2022-02-07 18:55:39 +0100geekosaur(~geekosaur@xmonad/geekosaur)
2022-02-07 18:55:48 +0100neurocyte0917090(~neurocyte@ip-045128181160.dynamic.medianet-world.de)
2022-02-07 18:55:48 +0100neurocyte0917090(~neurocyte@ip-045128181160.dynamic.medianet-world.de) (Changing host)
2022-02-07 18:55:48 +0100neurocyte0917090(~neurocyte@user/neurocyte)
2022-02-07 18:57:21 +0100slac11724(~slack1256@181.42.41.211)
2022-02-07 18:58:57 +0100n3rdy1(~n3rdy1@2600:1700:4570:3480:1b88:50f:dae0:9293) (Ping timeout: 240 seconds)
2022-02-07 18:59:29 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2022-02-07 18:59:43 +0100slack1256(~slack1256@191.126.227.204) (Ping timeout: 256 seconds)
2022-02-07 19:03:03 +0100Akiva(~Akiva@user/Akiva)
2022-02-07 19:05:57 +0100Null_A(~null_a@c-98-210-133-39.hsd1.ca.comcast.net) (Remote host closed the connection)
2022-02-07 19:08:27 +0100alx741(~alx741@157.100.197.240)
2022-02-07 19:08:41 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.4)
2022-02-07 19:08:44 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 250 seconds)
2022-02-07 19:08:51 +0100chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2022-02-07 19:09:01 +0100chexum(~quassel@gateway/tor-sasl/chexum)
2022-02-07 19:10:57 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-02-07 19:11:49 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2022-02-07 19:12:19 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-02-07 19:13:35 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-02-07 19:14:15 +0100michalz(~michalz@185.246.204.72) (Remote host closed the connection)
2022-02-07 19:14:29 +0100michalz(~michalz@185.246.204.94)
2022-02-07 19:14:46 +0100ec(~ec@gateway/tor-sasl/ec)
2022-02-07 19:16:19 +0100geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2022-02-07 19:16:19 +0100zincy(~zincy@2a00:23c8:970c:4801:68f0:cbbd:5b77:19e4)
2022-02-07 19:17:02 +0100burnsidesLlama(~burnsides@dhcp168-036.wadham.ox.ac.uk)
2022-02-07 19:18:10 +0100geekosaur(~geekosaur@xmonad/geekosaur)
2022-02-07 19:20:28 +0100doyougnu(~doyougnu@cpe-67-249-83-190.twcny.res.rr.com)
2022-02-07 19:21:28 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-02-07 19:23:42 +0100Vajb(~Vajb@2001:999:274:c862:3b86:e1e1:5bff:355e)
2022-02-07 19:23:45 +0100burnsidesLlama(~burnsides@dhcp168-036.wadham.ox.ac.uk) (Ping timeout: 256 seconds)
2022-02-07 19:27:01 +0100jgeerds(~jgeerds@55d4a547.access.ecotel.net) (Ping timeout: 240 seconds)
2022-02-07 19:27:27 +0100fef(~thedawn@user/thedawn) (Ping timeout: 276 seconds)
2022-02-07 19:28:03 +0100slac11724(~slack1256@181.42.41.211) (Ping timeout: 256 seconds)
2022-02-07 19:29:00 +0100k8yun(~k8yun@24.244.29.102) (Quit: Leaving)
2022-02-07 19:29:31 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.4)
2022-02-07 19:30:07 +0100Jing(~hedgehog@240e:390:7c53:a7e1:c46f:8faf:ca93:337c) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-02-07 19:30:35 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2022-02-07 19:32:27 +0100k8yun(~k8yun@24.244.29.102)
2022-02-07 19:33:55 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Client Quit)
2022-02-07 19:34:31 +0100cuz````(~user@38.140.58.234) (Ping timeout: 256 seconds)
2022-02-07 19:36:27 +0100xff0x(~xff0x@2001:1a81:530c:c100:36c:8332:80ae:2bd7) (Ping timeout: 250 seconds)
2022-02-07 19:37:22 +0100 <dminuoso> Mmm, I wish I could define a let-binding over top level declarations :(
2022-02-07 19:37:22 +0100xff0x(~xff0x@2001:1a81:530c:c100:3392:9410:3e85:84e1)
2022-02-07 19:37:38 +0100 <dminuoso> i.e. let foo = 1 in { instance ...; instance ... }
2022-02-07 19:37:47 +0100 <monochrom> Yeah.
2022-02-07 19:38:12 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 250 seconds)
2022-02-07 19:38:21 +0100 <EvanR> once again javascript wins
2022-02-07 19:38:28 +0100 <wavemode> isn't what what 'where' is for
2022-02-07 19:38:42 +0100 <EvanR> where can be attached to 1 declaration
2022-02-07 19:38:44 +0100 <dminuoso> No, where scopes to a single declaration but not declaration groups
2022-02-07 19:38:46 +0100 <geekosaur> where doesn't work any better for that
2022-02-07 19:39:16 +0100dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.4)
2022-02-07 19:39:32 +0100 <monochrom> SML has "local foo = 1 in instance ...; instance ...; end"
2022-02-07 19:39:32 +0100dyeplexer(~dyeplexer@user/dyeplexer) (Ping timeout: 252 seconds)
2022-02-07 19:40:04 +0100 <monochrom> If you say that at the top level, then the instances will be at the top level. (Generally everything from "in" to "end".)
2022-02-07 19:40:06 +0100 <EvanR> I guess you have to use more modules
2022-02-07 19:40:18 +0100mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-02-07 19:41:11 +0100Vajb(~Vajb@2001:999:274:c862:3b86:e1e1:5bff:355e) (Ping timeout: 252 seconds)
2022-02-07 19:41:37 +0100 <dminuoso> My use case is defining generic aeson options, it would be easy to say `let opts = defaultOptions { ... } in { instance ToJSON Foo where toJSON = genericToJSON opts; instance FromJSON Foo where parseJSON = genericParseJSON opts }`
2022-02-07 19:41:44 +0100cosimone(~user@93-47-231-87.ip115.fastwebnet.it) (Read error: Connection reset by peer)
2022-02-07 19:41:51 +0100 <dminuoso> Using more modules scales poorly, as that would move each such data type into a separate module
2022-02-07 19:42:14 +0100 <EvanR> funny I recall long ago advice to put every data type in its own module for some reason
2022-02-07 19:42:22 +0100 <EvanR> an operations elsewhere
2022-02-07 19:42:27 +0100 <monochrom> Actually if not for "one module per file" modules would scale.
2022-02-07 19:42:59 +0100 <monochrom> Note that Haskell 2010 does not disallow multiple modules per file. >:)
2022-02-07 19:43:35 +0100 <dminuoso> Dont some ML language allow multiple modules per file?
2022-02-07 19:45:17 +0100simendsjo(~user@84.211.91.241)
2022-02-07 19:45:58 +0100 <dminuoso> Im just worried if that would translate into one-object-file-per-module, that could perhaps degrade linker times a bit too much
2022-02-07 19:46:06 +0100ProfSimm(~ProfSimm@87.227.196.109)
2022-02-07 19:46:57 +0100 <EvanR> linker time is worse for more objects same size or larger objects same number
2022-02-07 19:47:01 +0100 <EvanR> ?
2022-02-07 19:48:07 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2022-02-07 19:51:37 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds)
2022-02-07 19:51:48 +0100 <sshine> dminuoso, sure, both SML and OCaml :)
2022-02-07 19:53:23 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-02-07 19:53:56 +0100 <monochrom> I think OCaml does not even use the system obj file format or the system linker.
2022-02-07 19:54:45 +0100 <monochrom> It uses its own *.cmo object file format, and it is one source file -> one cmo file. It also uses its own library archive format *.cma
2022-02-07 19:54:56 +0100 <sshine> dminuoso, but for SML(/NJ + others) there's also the .mlb files that can be used to establish some convention of one module per file... sort of like compilation units, I guess.
2022-02-07 19:55:05 +0100CiaoSen(~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2022-02-07 19:56:53 +0100boxscape_(~boxscape_@p4ff0b9d5.dip0.t-ipconnect.de)
2022-02-07 20:00:00 +0100cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20)
2022-02-07 20:01:37 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
2022-02-07 20:02:15 +0100Chai-T-Rex(~ChaiTRex@user/chaitrex)
2022-02-07 20:05:09 +0100gehmehgeh(~user@user/gehmehgeh) (Ping timeout: 276 seconds)
2022-02-07 20:05:48 +0100ChaiTRex(~ChaiTRex@user/chaitrex) (Ping timeout: 276 seconds)
2022-02-07 20:06:10 +0100gehmehgeh(~user@user/gehmehgeh)
2022-02-07 20:09:36 +0100zebrag(~chris@user/zebrag)
2022-02-07 20:10:04 +0100 <ski> i've often wanted `local'-`in'-`end', in Haskell
2022-02-07 20:11:07 +0100 <ski> (also, occasionally, declaration-level `if'-`then'-`else', and `case'-`of')
2022-02-07 20:11:45 +0100cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Read error: Connection reset by peer)
2022-02-07 20:11:56 +0100 <ski> (sshine : well, NJ has CM ..)
2022-02-07 20:12:18 +0100burnsidesLlama(~burnsides@dhcp168-036.wadham.ox.ac.uk)
2022-02-07 20:12:22 +0100cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20)
2022-02-07 20:13:12 +0100 <monochrom> "local instance Ord Bool where ... in ... end" would raise questions about instance coherence.
2022-02-07 20:13:18 +0100notzmv(~zmv@user/notzmv) (Ping timeout: 250 seconds)
2022-02-07 20:14:11 +0100 <monochrom> There are solutions. There may be too many rivalling solutions. Probably the Haskell committee decided to not divide themselves on it, and just adopt the common denominator: don't bother.
2022-02-07 20:15:09 +0100 <ski> yes, but those questions also arise for instances in `where' and `let'-`in'. i'm not sure of `local'-`in'-`end' bring any new complications there
2022-02-07 20:16:06 +0100 <monochrom> Ah right.
2022-02-07 20:16:32 +0100zincy(~zincy@2a00:23c8:970c:4801:68f0:cbbd:5b77:19e4) (Remote host closed the connection)
2022-02-07 20:16:42 +0100 <ski> (iow, the most obvious path is to simply allow value (including function) signatures and definitions, between `local' and `in', at least to begin with)
2022-02-07 20:16:57 +0100 <ski> (s/allow/allow only/)
2022-02-07 20:18:14 +0100burnsidesLlama(~burnsides@dhcp168-036.wadham.ox.ac.uk) (Remote host closed the connection)
2022-02-07 20:18:20 +0100burnsidesLlama(~burnsides@dhcp168-036.wadham.ox.ac.uk)
2022-02-07 20:18:25 +0100 <ski> dminuoso : perhaps Backpack could help .. ?
2022-02-07 20:22:48 +0100whatsupdoc(uid509081@id-509081.hampstead.irccloud.com)
2022-02-07 20:22:59 +0100cuz````(~user@38.140.58.234)
2022-02-07 20:26:54 +0100notzmv(~zmv@user/notzmv)
2022-02-07 20:30:20 +0100WzC(~Frank@77-162-168-71.fixed.kpn.net)
2022-02-07 20:30:47 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:1dc4:f5c4:a458:81) (Remote host closed the connection)
2022-02-07 20:31:00 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:1dc4:f5c4:a458:81)
2022-02-07 20:32:28 +0100EvanR(~EvanR@user/evanr) (Remote host closed the connection)
2022-02-07 20:33:17 +0100pooryori1k(~pooryoric@87-119-174-173.tll.elisa.ee)
2022-02-07 20:33:51 +0100Vq_(~vq@90-227-195-41-no77.tbcn.telia.com)
2022-02-07 20:34:13 +0100EvanR(~EvanR@user/evanr)
2022-02-07 20:36:57 +0100deadmarshal(~deadmarsh@95.38.113.203) (Ping timeout: 256 seconds)
2022-02-07 20:37:20 +0100bitmapper(uid464869@id-464869.lymington.irccloud.com)
2022-02-07 20:37:52 +0100xff0x(~xff0x@2001:1a81:530c:c100:3392:9410:3e85:84e1) (*.net *.split)
2022-02-07 20:37:52 +0100img(~img@user/img) (*.net *.split)
2022-02-07 20:37:52 +0100`2jt(~jtomas@130.red-88-22-46.staticip.rima-tde.net) (*.net *.split)
2022-02-07 20:37:52 +0100mstksg(~jle`@cpe-23-240-75-236.socal.res.rr.com) (*.net *.split)
2022-02-07 20:37:52 +0100phma(phma@2001:5b0:211c:1a98:48d4:386a:82f8:d37) (*.net *.split)
2022-02-07 20:37:52 +0100soft(~soft@2001:470:69fc:105::c75) (*.net *.split)
2022-02-07 20:37:52 +0100jmcantrell(~jmcantrel@user/jmcantrell) (*.net *.split)
2022-02-07 20:37:52 +0100hsiktas[m](~hsiktasm]@2001:470:69fc:105::30d4) (*.net *.split)
2022-02-07 20:37:52 +0100smichel17[m](~smichel17@2001:470:69fc:105::2d32) (*.net *.split)
2022-02-07 20:37:52 +0100ManofLetters[m](~manoflett@2001:470:69fc:105::3be) (*.net *.split)
2022-02-07 20:37:52 +0100ericson2314(~ericson23@2001:470:69fc:105::70c) (*.net *.split)
2022-02-07 20:37:52 +0100jkaye[m](~jkayematr@2001:470:69fc:105::1:86f7) (*.net *.split)
2022-02-07 20:37:52 +0100jinsun_(~jinsun@user/jinsun) (*.net *.split)
2022-02-07 20:37:52 +0100amesgen[m](~amesgenm]@2001:470:69fc:105::82b) (*.net *.split)
2022-02-07 20:37:52 +0100jackhill(~jackhill@kalessin.dragonsnail.net) (*.net *.split)
2022-02-07 20:37:52 +0100sajith(~sajith@user/sajith) (*.net *.split)
2022-02-07 20:37:52 +0100davetapley(sid666@id-666.uxbridge.irccloud.com) (*.net *.split)
2022-02-07 20:37:52 +0100jonrh(sid5185@id-5185.ilkley.irccloud.com) (*.net *.split)
2022-02-07 20:37:52 +0100tom__(~tom@2a00:23c8:970c:4801:5b6a:e81b:79dc:f684) (*.net *.split)
2022-02-07 20:37:52 +0100lieven(~mal@ns2.wyrd.be) (*.net *.split)
2022-02-07 20:37:52 +0100kaskal(~kaskal@2001:4bb8:2cc:5073:e1cf:a3ef:264a:1e80) (*.net *.split)
2022-02-07 20:37:52 +0100pooryorick(~pooryoric@87-119-174-173.tll.elisa.ee) (*.net *.split)
2022-02-07 20:37:52 +0100bollu(~bollu@159.65.151.13) (*.net *.split)
2022-02-07 20:37:52 +0100Noinia(~Frank@77-162-168-71.fixed.kpn.net) (*.net *.split)
2022-02-07 20:37:52 +0100Putonlalla(~sapekiis@it-cyan.it.jyu.fi) (*.net *.split)
2022-02-07 20:37:52 +0100urdh(~urdh@user/urdh) (*.net *.split)
2022-02-07 20:37:52 +0100Vq(~vq@90-227-195-41-no77.tbcn.telia.com) (*.net *.split)
2022-02-07 20:37:52 +0100acro(~acro@user/acro) (*.net *.split)
2022-02-07 20:37:52 +0100LambdaDuck(~anka@ksit.fixme.fi) (*.net *.split)
2022-02-07 20:37:52 +0100xacktm(xacktm@user/xacktm) (*.net *.split)
2022-02-07 20:37:52 +0100davl(~davl@207.154.228.18) (*.net *.split)
2022-02-07 20:37:52 +0100lyxia(~lyxia@poisson.chat) (*.net *.split)
2022-02-07 20:37:53 +0100SIben(~SIben@ns3106586.ip-5-135-191.eu) (*.net *.split)
2022-02-07 20:37:53 +0100ggVGc(~ggVGc@a.lowtech.earth) (*.net *.split)
2022-02-07 20:37:53 +0100Xe(~cadey@tailscale/xe) (*.net *.split)
2022-02-07 20:37:53 +0100dpratt__(sid193493@id-193493.helmsley.irccloud.com) (*.net *.split)
2022-02-07 20:37:53 +0100grfn(sid449115@id-449115.helmsley.irccloud.com) (*.net *.split)
2022-02-07 20:37:53 +0100bonz060(~quassel@2001:bc8:47a4:a23::1) (*.net *.split)
2022-02-07 20:39:53 +0100simendsjo(~user@84.211.91.241) (Remote host closed the connection)
2022-02-07 20:40:01 +0100doyougnu(~doyougnu@cpe-67-249-83-190.twcny.res.rr.com) (Ping timeout: 256 seconds)
2022-02-07 20:40:48 +0100jao(~jao@211.68.17.95.dynamic.jazztel.es)
2022-02-07 20:41:31 +0100Erutuon(~Erutuon@user/erutuon)
2022-02-07 20:42:26 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-02-07 20:42:26 +0100xff0x(~xff0x@2001:1a81:530c:c100:3392:9410:3e85:84e1)
2022-02-07 20:42:26 +0100`2jt(~jtomas@130.red-88-22-46.staticip.rima-tde.net)
2022-02-07 20:42:26 +0100mstksg(~jle`@cpe-23-240-75-236.socal.res.rr.com)
2022-02-07 20:42:26 +0100phma(phma@2001:5b0:211c:1a98:48d4:386a:82f8:d37)
2022-02-07 20:42:26 +0100soft(~soft@2001:470:69fc:105::c75)
2022-02-07 20:42:26 +0100jmcantrell(~jmcantrel@user/jmcantrell)
2022-02-07 20:42:26 +0100hsiktas[m](~hsiktasm]@2001:470:69fc:105::30d4)
2022-02-07 20:42:26 +0100smichel17[m](~smichel17@2001:470:69fc:105::2d32)
2022-02-07 20:42:26 +0100ManofLetters[m](~manoflett@2001:470:69fc:105::3be)
2022-02-07 20:42:26 +0100ericson2314(~ericson23@2001:470:69fc:105::70c)
2022-02-07 20:42:26 +0100jinsun_(~jinsun@user/jinsun)
2022-02-07 20:42:26 +0100jkaye[m](~jkayematr@2001:470:69fc:105::1:86f7)
2022-02-07 20:42:26 +0100amesgen[m](~amesgenm]@2001:470:69fc:105::82b)
2022-02-07 20:42:26 +0100jackhill(~jackhill@kalessin.dragonsnail.net)
2022-02-07 20:42:26 +0100sajith(~sajith@user/sajith)
2022-02-07 20:42:26 +0100davetapley(sid666@id-666.uxbridge.irccloud.com)
2022-02-07 20:42:26 +0100jonrh(sid5185@id-5185.ilkley.irccloud.com)
2022-02-07 20:42:26 +0100tom__(~tom@2a00:23c8:970c:4801:5b6a:e81b:79dc:f684)
2022-02-07 20:42:26 +0100lieven(~mal@ns2.wyrd.be)
2022-02-07 20:42:26 +0100kaskal(~kaskal@2001:4bb8:2cc:5073:e1cf:a3ef:264a:1e80)
2022-02-07 20:42:26 +0100bollu(~bollu@159.65.151.13)
2022-02-07 20:42:26 +0100Putonlalla(~sapekiis@it-cyan.it.jyu.fi)
2022-02-07 20:42:26 +0100urdh(~urdh@user/urdh)
2022-02-07 20:42:26 +0100acro(~acro@user/acro)
2022-02-07 20:42:26 +0100xacktm(xacktm@user/xacktm)
2022-02-07 20:42:26 +0100LambdaDuck(~anka@ksit.fixme.fi)
2022-02-07 20:42:26 +0100davl(~davl@207.154.228.18)
2022-02-07 20:42:26 +0100SIben(~SIben@ns3106586.ip-5-135-191.eu)
2022-02-07 20:42:26 +0100ggVGc(~ggVGc@a.lowtech.earth)
2022-02-07 20:42:26 +0100bonz060(~quassel@2001:bc8:47a4:a23::1)
2022-02-07 20:42:26 +0100Xe(~cadey@tailscale/xe)
2022-02-07 20:42:26 +0100dpratt__(sid193493@id-193493.helmsley.irccloud.com)
2022-02-07 20:42:26 +0100grfn(sid449115@id-449115.helmsley.irccloud.com)
2022-02-07 20:42:31 +0100d34df00d(~d34df00d@2600:1700:8c60:3a10::48) (Excess Flood)
2022-02-07 20:43:41 +0100img(~img@user/img)
2022-02-07 20:44:38 +0100lyxia(~lyxia@poisson.chat)
2022-02-07 20:46:02 +0100RosarioPulella[m(~rosariopu@2001:470:69fc:105::a57) (Ping timeout: 240 seconds)
2022-02-07 20:46:02 +0100finalti[m](~finaltima@2001:470:69fc:105::d909) (Ping timeout: 240 seconds)
2022-02-07 20:46:02 +0100fcortesi(~fcortesi@2001:470:69fc:105::f3a9) (Ping timeout: 240 seconds)
2022-02-07 20:46:12 +0100litharn[m](~litharnma@2001:470:69fc:105::1:8336) (Ping timeout: 245 seconds)
2022-02-07 20:46:12 +0100Las[m](~lasmatrix@2001:470:69fc:105::74e) (Ping timeout: 245 seconds)
2022-02-07 20:46:12 +0100Heffalump[m](~hsenagmat@2001:470:69fc:105::e11) (Ping timeout: 245 seconds)
2022-02-07 20:46:12 +0100Morrow[m](~morrowmma@2001:470:69fc:105::1d0) (Ping timeout: 245 seconds)
2022-02-07 20:46:12 +0100euphrates[m](~euphrates@2001:470:69fc:105::fbb5) (Ping timeout: 245 seconds)
2022-02-07 20:46:12 +0100Arathorn(~arathorn@2001:470:69fc:105::1f) (Ping timeout: 245 seconds)
2022-02-07 20:46:12 +0100reza[m](~rezaphone@2001:470:69fc:105::3eda) (Ping timeout: 245 seconds)
2022-02-07 20:46:12 +0100EkaiZend[m](~ekai-zend@2001:470:69fc:105::1:7756) (Ping timeout: 245 seconds)
2022-02-07 20:46:12 +0100sjanssen(~sjanssenm@2001:470:69fc:105::1:61d8) (Ping timeout: 245 seconds)
2022-02-07 20:46:12 +0100jesser[m](~jessermat@2001:470:69fc:105::d5ae) (Ping timeout: 245 seconds)
2022-02-07 20:46:12 +0100jchia[m](~jchiamatr@2001:470:69fc:105::c50b) (Ping timeout: 245 seconds)
2022-02-07 20:46:13 +0100juhp[m](~juhpmatri@2001:470:69fc:105::6e9) (Ping timeout: 250 seconds)
2022-02-07 20:46:13 +0100james[m]12(~jamesnina@2001:470:69fc:105::1:4203) (Ping timeout: 250 seconds)
2022-02-07 20:46:14 +0100marijan(~marijanma@2001:470:69fc:105::1:6cce) (Ping timeout: 240 seconds)
2022-02-07 20:46:14 +0100fgaz(~fgaz@2001:470:69fc:105::842) (Ping timeout: 240 seconds)
2022-02-07 20:46:14 +0100maerwald[m](~maerwaldm@2001:470:69fc:105::1ee) (Ping timeout: 240 seconds)
2022-02-07 20:46:14 +0100cdsmith(~cdsmithma@2001:470:69fc:105::284) (Ping timeout: 240 seconds)
2022-02-07 20:46:14 +0100SawyerBergeron[m(~sawyerber@2001:470:69fc:105::3036) (Ping timeout: 240 seconds)
2022-02-07 20:46:14 +0100unrooted(~unrooted@2001:470:69fc:105::a4a) (Ping timeout: 240 seconds)
2022-02-07 20:46:14 +0100Tisoxin(~ikosit@user/ikosit) (Ping timeout: 240 seconds)
2022-02-07 20:46:14 +0100Guillaum[m](~guiboumat@2001:470:69fc:105::1:72ac) (Ping timeout: 240 seconds)
2022-02-07 20:46:14 +0100sm(~sm@plaintextaccounting/sm) (Ping timeout: 240 seconds)
2022-02-07 20:46:14 +0100zfnmxt(~zfnmxtzfn@2001:470:69fc:105::2b32) (Ping timeout: 240 seconds)
2022-02-07 20:46:14 +0100zwro[m](~zwromatri@2001:470:69fc:105::1d4) (Ping timeout: 240 seconds)
2022-02-07 20:46:14 +0100mahene[m](~mahenemat@2001:470:69fc:105::1:6a93) (Ping timeout: 240 seconds)
2022-02-07 20:46:14 +0100joaquinmg[m](~joaquinmg@2001:470:69fc:105::1:67d2) (Ping timeout: 240 seconds)
2022-02-07 20:46:14 +0100kadoban(~kadoban@user/kadoban) (Ping timeout: 240 seconds)
2022-02-07 20:46:26 +0100octeep[m](~octeepoct@2001:470:69fc:105::1:3dbf) (Ping timeout: 250 seconds)
2022-02-07 20:46:26 +0100denbrahe(~denbrahe@2001:470:69fc:105::19c0) (Ping timeout: 250 seconds)
2022-02-07 20:46:26 +0100thomasjm[m](~thomasjmm@2001:470:69fc:105::c6d9) (Ping timeout: 250 seconds)
2022-02-07 20:46:26 +0100craige[m](~craigemcw@2001:470:69fc:105::35f1) (Ping timeout: 250 seconds)
2022-02-07 20:46:26 +0100unclechu(~unclechu@2001:470:69fc:105::354) (Ping timeout: 250 seconds)
2022-02-07 20:46:26 +0100bitonic(~bitonic@2001:470:69fc:105::1812) (Ping timeout: 250 seconds)
2022-02-07 20:46:26 +0100simmsb(~simmsb@2001:470:69fc:105::1:55c3) (Ping timeout: 250 seconds)
2022-02-07 20:46:26 +0100fendor[m](~fendormat@2001:470:69fc:105::fcbd) (Ping timeout: 250 seconds)
2022-02-07 20:46:26 +0100alexfmpe[m](~alexfmpem@2001:470:69fc:105::38ba) (Ping timeout: 250 seconds)
2022-02-07 20:46:26 +0100Michal[m](~oomiguelm@2001:470:69fc:105::1:5ab0) (Ping timeout: 250 seconds)
2022-02-07 20:46:32 +0100Christoph[m](~hpotsirhc@2001:470:69fc:105::2ff8) (Ping timeout: 240 seconds)
2022-02-07 20:46:32 +0100justosophy[m](~justosoph@2001:470:69fc:105::572f) (Ping timeout: 240 seconds)
2022-02-07 20:46:32 +0100ongy[m](~ongymatri@2001:470:69fc:105::5018) (Ping timeout: 240 seconds)
2022-02-07 20:46:32 +0100marinelli[m](~marinelli@2001:470:69fc:105::2d8) (Ping timeout: 240 seconds)
2022-02-07 20:46:32 +0100vaibhavsagar[m](~vaibhavsa@2001:470:69fc:105::ffe) (Ping timeout: 240 seconds)
2022-02-07 20:46:32 +0100ac(~aloiscoch@2001:470:69fc:105::65) (Ping timeout: 240 seconds)
2022-02-07 20:46:32 +0100schuelermine[m](~schuelerm@user/schuelermine) (Ping timeout: 240 seconds)
2022-02-07 20:46:35 +0100Inst[m](~instrmatr@2001:470:69fc:105::1:903e) (Ping timeout: 256 seconds)
2022-02-07 20:46:35 +0100phuegrvs[m](~phuegrvsm@2001:470:69fc:105::1:65e4) (Ping timeout: 256 seconds)
2022-02-07 20:46:36 +0100afotgkmnzj7asv3r(~afotgkmnz@2001:470:69fc:105::c24b) (Ping timeout: 256 seconds)
2022-02-07 20:46:36 +0100cstml[m](~cstmlmatr@2001:470:69fc:105::1:5c07) (Ping timeout: 256 seconds)
2022-02-07 20:46:36 +0100ormaaj(~ormaaj@user/ormaaj) (Ping timeout: 256 seconds)
2022-02-07 20:46:36 +0100DemiMarieObenour(~alwayscur@2001:470:69fc:105::4886) (Ping timeout: 256 seconds)
2022-02-07 20:46:36 +0100yehoshuapw(~yehoshuap@2001:470:69fc:105::a5f) (Ping timeout: 256 seconds)
2022-02-07 20:46:36 +0100JoseC[m](~jmcardonm@2001:470:69fc:105::1:7539) (Ping timeout: 256 seconds)
2022-02-07 20:46:36 +0100siraben(~siraben@user/siraben) (Ping timeout: 256 seconds)
2022-02-07 20:46:36 +0100benjamin[m]123(~benjaminm@2001:470:69fc:105::1:3f2f) (Ping timeout: 256 seconds)
2022-02-07 20:46:36 +0100alex[m]12(~alexchete@2001:470:69fc:105::1:1001) (Ping timeout: 256 seconds)
2022-02-07 20:46:36 +0100maralorn(~maralorn@2001:470:69fc:105::251) (Ping timeout: 256 seconds)
2022-02-07 20:46:36 +0100mmos[m](~mmosmatri@2001:470:69fc:105::1:8340) (Ping timeout: 256 seconds)
2022-02-07 20:46:36 +0100pfurla-matrix(~pedrofurl@2001:470:69fc:105::1:51d7) (Ping timeout: 256 seconds)
2022-02-07 20:46:39 +0100sekun[m](~hsekmatri@2001:470:69fc:105::d18f) (Ping timeout: 252 seconds)
2022-02-07 20:46:39 +0100wysteriary[m](~wysteriar@2001:470:69fc:105::a42e) (Ping timeout: 252 seconds)
2022-02-07 20:46:39 +0100sofviic[m](~sofviicma@2001:470:69fc:105::1:51fd) (Ping timeout: 252 seconds)
2022-02-07 20:46:39 +0100wildsebastian(~wildsebas@2001:470:69fc:105::1:14b1) (Ping timeout: 252 seconds)
2022-02-07 20:46:39 +0100SridharRatnakuma(~sridmatri@2001:470:69fc:105::1c2) (Ping timeout: 252 seconds)
2022-02-07 20:46:39 +0100cherryblossom[m](~cherryblo@2001:470:69fc:105::b789) (Ping timeout: 252 seconds)
2022-02-07 20:46:39 +0100tripa[m](~tripamatr@2001:470:69fc:105::1:4f7e) (Ping timeout: 252 seconds)
2022-02-07 20:46:39 +0100thejuan24f[m](~thejuan2m@2001:470:69fc:105::1:6569) (Ping timeout: 252 seconds)
2022-02-07 20:46:39 +0100Sixto[m](~provornyc@2001:470:69fc:105::1:74df) (Ping timeout: 252 seconds)
2022-02-07 20:46:39 +0100oak-(~oakuniver@2001:470:69fc:105::fcd) (Ping timeout: 250 seconds)
2022-02-07 20:46:39 +0100Artem[m](~artemtype@2001:470:69fc:105::75b) (Ping timeout: 250 seconds)
2022-02-07 20:46:39 +0100psydroid(~psydroid@user/psydroid) (Ping timeout: 250 seconds)
2022-02-07 20:46:39 +0100Yehoshua(~yehoshua@2001:470:69fc:105::1:593f) (Ping timeout: 250 seconds)
2022-02-07 20:46:42 +0100soft(~soft@2001:470:69fc:105::c75) (Ping timeout: 260 seconds)
2022-02-07 20:46:43 +0100jmcantrell(~jmcantrel@user/jmcantrell) (Ping timeout: 260 seconds)
2022-02-07 20:46:43 +0100hsiktas[m](~hsiktasm]@2001:470:69fc:105::30d4) (Ping timeout: 260 seconds)
2022-02-07 20:46:43 +0100smichel17[m](~smichel17@2001:470:69fc:105::2d32) (Ping timeout: 260 seconds)
2022-02-07 20:46:43 +0100ManofLetters[m](~manoflett@2001:470:69fc:105::3be) (Ping timeout: 260 seconds)
2022-02-07 20:46:43 +0100jkaye[m](~jkayematr@2001:470:69fc:105::1:86f7) (Ping timeout: 260 seconds)
2022-02-07 20:46:43 +0100amesgen[m](~amesgenm]@2001:470:69fc:105::82b) (Ping timeout: 260 seconds)
2022-02-07 20:47:04 +0100throwaaaa[m](~throwaaaa@2001:470:69fc:105::1:6fe6) (Ping timeout: 268 seconds)
2022-02-07 20:47:04 +0100quantum(~quantum@user/quantum/x-8556232) (Ping timeout: 268 seconds)
2022-02-07 20:47:04 +0100peddie(~peddie@2001:470:69fc:105::25d) (Ping timeout: 268 seconds)
2022-02-07 20:47:04 +0100moats(~oats@user/oats) (Ping timeout: 268 seconds)
2022-02-07 20:47:04 +0100Deide(~deide@user/deide) (Ping timeout: 268 seconds)
2022-02-07 20:47:04 +0100bb010g(~bb010g@2001:470:69fc:105::9a5) (Ping timeout: 268 seconds)
2022-02-07 20:47:04 +0100aidy(~aidy@2001:470:69fc:105::c7b4) (Ping timeout: 268 seconds)
2022-02-07 20:47:04 +0100kalxd[m](~kalxdmatr@2001:470:69fc:105::1:576e) (Ping timeout: 268 seconds)
2022-02-07 20:47:04 +0100jaror[m](~jaror@2001:470:69fc:105::265) (Ping timeout: 268 seconds)
2022-02-07 20:47:04 +0100jneira[m](~jneiramat@2001:470:69fc:105::d729) (Ping timeout: 268 seconds)
2022-02-07 20:47:04 +0100Nate[m](~m52957mat@2001:470:69fc:105::1:591a) (Ping timeout: 268 seconds)
2022-02-07 20:47:04 +0100ParsaAlizadeh[m](~lizadehma@2001:470:69fc:105::1:65a4) (Ping timeout: 268 seconds)
2022-02-07 20:47:59 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
2022-02-07 20:48:18 +0100zincy(~zincy@host86-151-99-97.range86-151.btcentralplus.com)
2022-02-07 20:49:40 +0100cawfee_cawfee
2022-02-07 20:50:26 +0100ericson2314(~ericson23@2001:470:69fc:105::70c) (Ping timeout: 260 seconds)
2022-02-07 20:50:26 +0100jinsun_(~jinsun@user/jinsun) (Ping timeout: 260 seconds)
2022-02-07 20:50:45 +0100carmysilna(~brightly-@2001:470:69fc:105::2190) (Ping timeout: 250 seconds)
2022-02-07 20:51:21 +0100noiobeforebed(~noiobefor@2001:470:69fc:105::1:3c2d) (Ping timeout: 268 seconds)
2022-02-07 20:53:18 +0100Vq_Vq
2022-02-07 20:54:18 +0100yauhsien_(~yauhsien@61-231-29-69.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-02-07 20:54:53 +0100yauhsien_(~yauhsien@61-231-29-69.dynamic-ip.hinet.net)
2022-02-07 20:55:12 +0100simendsjo(~user@84.211.91.241)
2022-02-07 20:58:10 +0100Arathorn(~arathorn@2001:470:69fc:105::1f)
2022-02-07 20:59:37 +0100yauhsien_(~yauhsien@61-231-29-69.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
2022-02-07 21:01:36 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 21:01:51 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 21:01:58 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 21:02:13 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 21:02:20 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 21:02:35 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 21:02:42 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 21:02:57 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 21:03:04 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 21:03:19 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 21:03:26 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-02-07 21:05:17 +0100juhp(~juhp@128.106.188.82) (Ping timeout: 256 seconds)
2022-02-07 21:07:29 +0100juhp(~juhp@128.106.188.82)
2022-02-07 21:10:37 +0100simendsjo(~user@84.211.91.241) (Ping timeout: 240 seconds)
2022-02-07 21:10:57 +0100jao(~jao@211.68.17.95.dynamic.jazztel.es) (Ping timeout: 256 seconds)
2022-02-07 21:12:18 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-02-07 21:17:15 +0100Null_A(~null_a@2601:645:8700:2290:6473:b18:2fbd:1123)
2022-02-07 21:18:09 +0100zfnmxt(~zfnmxtzfn@2001:470:69fc:105::2b32)
2022-02-07 21:20:07 +0100EkaiZend[m](~ekai-zend@2001:470:69fc:105::1:7756)
2022-02-07 21:21:44 +0100Yehoshua(~yehoshua@2001:470:69fc:105::1:593f)
2022-02-07 21:21:57 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-02-07 21:23:17 +0100ec(~ec@gateway/tor-sasl/ec) (Quit: ec)
2022-02-07 21:23:19 +0100bontaq(~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 256 seconds)
2022-02-07 21:23:54 +0100mahene[m](~mahenemat@2001:470:69fc:105::1:6a93)
2022-02-07 21:23:56 +0100jneira[m](~jneiramat@2001:470:69fc:105::d729)
2022-02-07 21:24:01 +0100thomasjm[m](~thomasjmm@2001:470:69fc:105::c6d9)
2022-02-07 21:24:15 +0100cdsmith(~cdsmithma@2001:470:69fc:105::284)
2022-02-07 21:24:42 +0100fcortesi(~fcortesi@2001:470:69fc:105::f3a9)
2022-02-07 21:24:43 +0100ParsaAlizadeh[m](~lizadehma@2001:470:69fc:105::1:65a4)
2022-02-07 21:24:48 +0100Artem[m](~artemtype@2001:470:69fc:105::75b)
2022-02-07 21:25:00 +0100Heffalump[m](~hsenagmat@2001:470:69fc:105::e11)
2022-02-07 21:25:18 +0100reza[m](~rezaphone@2001:470:69fc:105::3eda)
2022-02-07 21:25:36 +0100burnsidesLlama(~burnsides@dhcp168-036.wadham.ox.ac.uk) (Remote host closed the connection)
2022-02-07 21:26:39 +0100wildsebastian(~wildsebas@2001:470:69fc:105::1:14b1)
2022-02-07 21:27:49 +0100jchia[m](~jchiamatr@2001:470:69fc:105::c50b)
2022-02-07 21:27:53 +0100RosarioPulella[m(~rosariopu@2001:470:69fc:105::a57)
2022-02-07 21:28:30 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-02-07 21:28:39 +0100benjamin[m]123(~benjaminm@2001:470:69fc:105::1:3f2f)
2022-02-07 21:29:37 +0100joaquinmg[m](~joaquinmg@2001:470:69fc:105::1:67d2)
2022-02-07 21:29:56 +0100mmos[m](~mmosmatri@2001:470:69fc:105::1:8340)
2022-02-07 21:31:15 +0100simendsjo(~user@84.211.91.241)
2022-02-07 21:32:11 +0100Morrow[m](~morrowmma@2001:470:69fc:105::1d0)
2022-02-07 21:32:11 +0100sjanssen(~sjanssenm@2001:470:69fc:105::1:61d8)
2022-02-07 21:32:12 +0100litharn[m](~litharnma@2001:470:69fc:105::1:8336)
2022-02-07 21:32:14 +0100jesser[m](~jessermat@2001:470:69fc:105::d5ae)
2022-02-07 21:32:16 +0100sekun[m](~hsekmatri@2001:470:69fc:105::d18f)
2022-02-07 21:32:16 +0100sofviic[m](~sofviicma@2001:470:69fc:105::1:51fd)
2022-02-07 21:32:17 +0100marijan(~marijanma@2001:470:69fc:105::1:6cce)
2022-02-07 21:32:30 +0100oak-(~oakuniver@2001:470:69fc:105::fcd)
2022-02-07 21:32:36 +0100Nate[m](~m52957mat@2001:470:69fc:105::1:591a)
2022-02-07 21:32:37 +0100kalxd[m](~kalxdmatr@2001:470:69fc:105::1:576e)
2022-02-07 21:32:38 +0100aidy(~aidy@2001:470:69fc:105::c7b4)
2022-02-07 21:32:40 +0100phuegrvs[m](~phuegrvsm@2001:470:69fc:105::1:65e4)
2022-02-07 21:32:40 +0100Inst[m](~instrmatr@2001:470:69fc:105::1:903e)
2022-02-07 21:33:13 +0100james[m]12(~jamesnina@2001:470:69fc:105::1:4203)
2022-02-07 21:33:30 +0100jaror[m](~jaror@2001:470:69fc:105::265)
2022-02-07 21:33:30 +0100peddie(~peddie@2001:470:69fc:105::25d)
2022-02-07 21:33:58 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 21:34:37 +0100waleee(~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) (Ping timeout: 240 seconds)
2022-02-07 21:38:25 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 250 seconds)
2022-02-07 21:39:03 +0100finalti[m](~finaltima@2001:470:69fc:105::d909)
2022-02-07 21:39:05 +0100schuelermine[m](~schuelerm@user/schuelermine)
2022-02-07 21:39:06 +0100cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Ping timeout: 245 seconds)
2022-02-07 21:39:17 +0100unclechu(~unclechu@2001:470:69fc:105::354)
2022-02-07 21:39:23 +0100alex[m]12(~alexchete@2001:470:69fc:105::1:1001)
2022-02-07 21:41:58 +0100waleee(~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4)
2022-02-07 21:42:52 +0100cosimone(~user@93-47-231-87.ip115.fastwebnet.it)
2022-02-07 21:43:29 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.4)
2022-02-07 21:43:29 +0100ericson2314(~ericson23@2001:470:69fc:105::70c)
2022-02-07 21:43:29 +0100ManofLetters[m](~manoflett@2001:470:69fc:105::3be)
2022-02-07 21:43:49 +0100jinsun_(~jinsun@user/jinsun)
2022-02-07 21:44:22 +0100carmysilna(~brightly-@2001:470:69fc:105::2190)
2022-02-07 21:44:36 +0100burnsidesLlama(~burnsides@dhcp168-036.wadham.ox.ac.uk)
2022-02-07 21:45:08 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2022-02-07 21:45:49 +0100noiobeforebed(~noiobefor@2001:470:69fc:105::1:3c2d)
2022-02-07 21:46:06 +0100briandaed(~root@109.95.143.81.r.toneticgroup.pl)
2022-02-07 21:46:14 +0100Las[m](~lasmatrix@2001:470:69fc:105::74e)
2022-02-07 21:47:29 +0100jao(~jao@211.68.17.95.dynamic.jazztel.es)
2022-02-07 21:48:05 +0100jkaye[m](~jkayematr@2001:470:69fc:105::1:86f7)
2022-02-07 21:48:07 +0100amesgen[m](~amesgenm]@2001:470:69fc:105::82b)
2022-02-07 21:48:10 +0100bontaq`(~user@ool-45779fe5.dyn.optonline.net)
2022-02-07 21:48:38 +0100AlexisTP(~AlexisTP3@92.57.44.63)
2022-02-07 21:48:41 +0100pooryori1kpooryorick
2022-02-07 21:50:10 +0100alexfmpe[m](~alexfmpem@2001:470:69fc:105::38ba)
2022-02-07 21:50:14 +0100cosimone(~user@93-47-231-87.ip115.fastwebnet.it) (Remote host closed the connection)
2022-02-07 21:51:07 +0100cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20)
2022-02-07 21:51:45 +0100CiaoSen(~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2022-02-07 21:51:59 +0100zincy(~zincy@host86-151-99-97.range86-151.btcentralplus.com) (Ping timeout: 256 seconds)
2022-02-07 21:54:14 +0100taylorswift2018(~taylorswi@115-188-158-33-fibre.sparkbb.co.nz)
2022-02-07 21:56:14 +0100xff0x(~xff0x@2001:1a81:530c:c100:3392:9410:3e85:84e1) (Ping timeout: 260 seconds)
2022-02-07 21:58:05 +0100xff0x(~xff0x@2001:1a81:532d:cf00:6935:8bd3:eb0:937d)
2022-02-07 21:58:16 +0100simendsjo(~user@84.211.91.241) (Ping timeout: 245 seconds)
2022-02-07 22:00:07 +0100Null_A(~null_a@2601:645:8700:2290:6473:b18:2fbd:1123) (Remote host closed the connection)
2022-02-07 22:01:32 +0100 <maerwald> how do people run benchmarks locally these days with all the cpu throttling
2022-02-07 22:02:01 +0100lavaman(~lavaman@98.38.249.169)
2022-02-07 22:02:35 +0100SawyerBergeron[m(~sawyerber@2001:470:69fc:105::3036)
2022-02-07 22:02:38 +0100dffo^(~dffo@128-092-182-020.biz.spectrum.com)
2022-02-07 22:03:11 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl)
2022-02-07 22:03:33 +0100Raito_Bezarius(~Raito@wireguard/tunneler/raito-bezarius) (Ping timeout: 250 seconds)
2022-02-07 22:03:59 +0100eron(~eron@2804:431:c7c2:934:9877:36f8:e8ed:91e) ()
2022-02-07 22:04:09 +0100cstml[m](~cstmlmatr@2001:470:69fc:105::1:5c07)
2022-02-07 22:04:10 +0100 <[exa]> maerwald: throttling is a valid effect for benchmarking
2022-02-07 22:04:11 +0100JoseC[m](~jmcardonm@2001:470:69fc:105::1:7539)
2022-02-07 22:04:38 +0100 <[exa]> not trying to defend the sad state of the home CPUs tho. :D
2022-02-07 22:04:59 +0100zincy(~zincy@2a00:23c8:970c:4801:68f0:cbbd:5b77:19e4)
2022-02-07 22:06:29 +0100unrooted(~unrooted@2001:470:69fc:105::a4a)
2022-02-07 22:07:25 +0100 <maerwald> I'm basically testing my throttling then, not the code
2022-02-07 22:07:58 +0100juhp[m](~juhpmatri@2001:470:69fc:105::6e9)
2022-02-07 22:08:22 +0100merijn(~merijn@c-001-001-018.client.esciencecenter.eduvpn.nl) (Ping timeout: 260 seconds)
2022-02-07 22:08:44 +0100thejuan24f[m](~thejuan2m@2001:470:69fc:105::1:6569)
2022-02-07 22:09:07 +0100 <EvanR> the abstract performance of code
2022-02-07 22:09:09 +0100 <EvanR> hmm
2022-02-07 22:09:25 +0100zincy(~zincy@2a00:23c8:970c:4801:68f0:cbbd:5b77:19e4) (Ping timeout: 250 seconds)
2022-02-07 22:09:50 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.4)
2022-02-07 22:10:09 +0100 <EvanR> I wonder if you even need a real CPU for that
2022-02-07 22:10:34 +0100 <EvanR> also benchmarks were made to be gamed right
2022-02-07 22:10:39 +0100fgaz(~fgaz@2001:470:69fc:105::842)
2022-02-07 22:12:12 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2022-02-07 22:12:58 +0100cherryblossom[m](~cherryblo@2001:470:69fc:105::b789)
2022-02-07 22:13:16 +0100marinelli[m](~marinelli@2001:470:69fc:105::2d8)
2022-02-07 22:15:09 +0100alMalsamo(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 276 seconds)
2022-02-07 22:15:48 +0100maerwald[m](~maerwaldm@2001:470:69fc:105::1ee)
2022-02-07 22:16:26 +0100Raito_Bezarius(~Raito@wireguard/tunneler/raito-bezarius)
2022-02-07 22:17:05 +0100SridharRatnakuma(~sridmatri@2001:470:69fc:105::1c2)
2022-02-07 22:17:27 +0100yehoshuapw(~yehoshuap@2001:470:69fc:105::a5f)
2022-02-07 22:17:49 +0100immae1(~immae@2a01:4f8:141:53e7::) (Quit: WeeChat 2.9)
2022-02-07 22:18:12 +0100tripa[m](~tripamatr@2001:470:69fc:105::1:4f7e)
2022-02-07 22:18:18 +0100immae(~immae@2a01:4f8:141:53e7::)
2022-02-07 22:18:41 +0100cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Remote host closed the connection)
2022-02-07 22:18:59 +0100ongy[m](~ongymatri@2001:470:69fc:105::5018)
2022-02-07 22:19:15 +0100vaibhavsagar[m](~vaibhavsa@2001:470:69fc:105::ffe)
2022-02-07 22:19:18 +0100cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20)
2022-02-07 22:19:22 +0100cjb(~cjb@user/cjb)
2022-02-07 22:19:25 +0100jgeerds(~jgeerds@55d4a547.access.ecotel.net)
2022-02-07 22:20:26 +0100bb010g(~bb010g@2001:470:69fc:105::9a5)
2022-02-07 22:20:32 +0100 <dminuoso> ski: Im not convinced of backpack. It lacks maintenance/ownership and documentation.
2022-02-07 22:20:44 +0100gaff(~gaff@49.207.227.188)
2022-02-07 22:20:55 +0100zwro[m](~zwromatri@2001:470:69fc:105::1d4)
2022-02-07 22:21:34 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:1dc4:f5c4:a458:81) (Remote host closed the connection)
2022-02-07 22:21:34 +0100gaff(~gaff@49.207.227.188) (Client Quit)
2022-02-07 22:21:54 +0100cuz````(~user@38.140.58.234) (Read error: Connection reset by peer)
2022-02-07 22:22:38 +0100ac(~aloiscoch@2001:470:69fc:105::65)
2022-02-07 22:22:40 +0100safinaskar(~safinaska@109.252.91.116)
2022-02-07 22:23:47 +0100ubert(~Thunderbi@p200300ecdf099459bd0f645b3a8c5166.dip0.t-ipconnect.de)
2022-02-07 22:24:09 +0100pfurla-matrix(~pedrofurl@2001:470:69fc:105::1:51d7)
2022-02-07 22:24:18 +0100throwaaaa[m](~throwaaaa@2001:470:69fc:105::1:6fe6)
2022-02-07 22:24:19 +0100justosophy[m](~justosoph@2001:470:69fc:105::572f)
2022-02-07 22:24:25 +0100 <safinaskar> is it possible to do pattern matching on type-level value? here is what i am trying to do: https://godbolt.org/z/4xacfPM5n . unfortunately both variants of "read" don't compile. what to do?
2022-02-07 22:24:30 +0100Sixto[m](~provornyc@2001:470:69fc:105::1:74df)
2022-02-07 22:25:15 +0100zincy(~zincy@2a00:23c8:970c:4801:68f0:cbbd:5b77:19e4)
2022-02-07 22:25:24 +0100 <dminuoso> safinaskar: To answer the question in itself, yes. TyFams and typeclasses implement pattern matching on type constructors.
2022-02-07 22:25:34 +0100 <dminuoso> Or well, typeclass instances rather.
2022-02-07 22:26:17 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 240 seconds)
2022-02-07 22:26:34 +0100 <dminuoso> Alternatively you can do this with singletons at the value level
2022-02-07 22:26:38 +0100smichel17[m](~smichel17@2001:470:69fc:105::2d32)
2022-02-07 22:27:06 +0100bitonic(~bitonic@2001:470:69fc:105::1812)
2022-02-07 22:27:18 +0100 <dminuoso> All three with varying quality of life.
2022-02-07 22:27:23 +0100siraben(~siraben@user/siraben)
2022-02-07 22:27:46 +0100 <geekosaur> you really want idris imo
2022-02-07 22:27:48 +0100wysteriary[m](~wysteriar@2001:470:69fc:105::a42e)
2022-02-07 22:27:53 +0100ormaaj(~ormaaj@user/ormaaj)
2022-02-07 22:28:39 +0100 <dminuoso> The closest and simplest way is to have some surrogate typeclass Foo, write `instance Foo T` for each T that you care about, and add some method that essentially acts as a case-of branch
2022-02-07 22:28:46 +0100DemiMarieObenour(~alwayscur@2001:470:69fc:105::4886)
2022-02-07 22:28:53 +0100 <boxscape_> this particular case seems a pretty good fit for type classes if I'm understanding correctly, I don't think Idris is really necessary here
2022-02-07 22:29:18 +0100 <dminuoso> If you add a Proxy to that method, it becomes very simple to use
2022-02-07 22:29:22 +0100 <safinaskar> i want pattern matching on data constructors, not on type constructors!
2022-02-07 22:29:24 +0100cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Quit: ERC (IRC client for Emacs 27.1))
2022-02-07 22:29:27 +0100briandaed(~root@109.95.143.81.r.toneticgroup.pl) (Remote host closed the connection)
2022-02-07 22:29:38 +0100 <safinaskar> i want to pattern match on type-level values of type "Typ"
2022-02-07 22:29:40 +0100 <dminuoso> Sorry, Im not sure I understand given your godbolt code.
2022-02-07 22:29:43 +0100 <dminuoso> Yes.
2022-02-07 22:29:56 +0100 <safinaskar> this type (Typ) has two *data* constructors: CString and Record
2022-02-07 22:30:01 +0100 <dminuoso> safinaskar: The three techniques I described allow you to do that. A helper typeclass is the best fitting way.
2022-02-07 22:30:04 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:1dc4:f5c4:a458:81)
2022-02-07 22:30:18 +0100 <safinaskar> and i want to pattern match on them, i. e. "case x of CString -> .....; Record ... -> ......"
2022-02-07 22:30:19 +0100 <dminuoso> Ah hold on
2022-02-07 22:30:20 +0100psydroid(~psydroid@user/psydroid)
2022-02-07 22:30:35 +0100 <geekosaur> but once you promote it it's not a data constructor any more
2022-02-07 22:30:42 +0100 <dminuoso> safinaskar: They are not data constructors, they are promoted type constructors.
2022-02-07 22:30:49 +0100 <dminuoso> Let's do this in yahb quickly
2022-02-07 22:31:01 +0100 <dminuoso> % class Descr a where descr :: Proxy a -> String
2022-02-07 22:31:01 +0100 <yahb> dminuoso:
2022-02-07 22:31:05 +0100 <dminuoso> % :set -XDataKinds
2022-02-07 22:31:06 +0100 <yahb> dminuoso:
2022-02-07 22:31:10 +0100 <dminuoso> % data Color = Red | Blue
2022-02-07 22:31:10 +0100 <yahb> dminuoso:
2022-02-07 22:31:19 +0100 <dminuoso> % instance Descr Red where descr _ = "its red"
2022-02-07 22:31:19 +0100 <yahb> dminuoso:
2022-02-07 22:31:24 +0100 <dminuoso> % instance Descr Blue where descr _ = "its blue"
2022-02-07 22:31:24 +0100 <yahb> dminuoso:
2022-02-07 22:31:29 +0100 <geekosaur> once promoted your data constructor becomes a kind constructor and your data constructors become type constructors
2022-02-07 22:31:45 +0100 <dminuoso> % :set -XScopedTypeVariables
2022-02-07 22:31:45 +0100 <yahb> dminuoso:
2022-02-07 22:32:26 +0100 <safinaskar> okey, but how to check exhaustiveness? is there something similar but with exhaustiveness checking?
2022-02-07 22:32:32 +0100 <dminuoso> % foo :: forall a. Descr a -> String; foo = "The description: " <> descr (Proxy :: Proxy a)
2022-02-07 22:32:32 +0100 <yahb> dminuoso: ; <interactive>:77:18: error:; * Expected a type, but `Descr a' has kind `Constraint'; * In the type signature: foo :: forall a. Descr a -> String
2022-02-07 22:32:39 +0100 <dminuoso> safinaskar: Not possible with typeclasses due to open world assumption
2022-02-07 22:32:42 +0100 <EvanR> injective type family?
2022-02-07 22:32:49 +0100 <EvanR> closed type family
2022-02-07 22:33:01 +0100 <tomsmeding> ghc doesn't check exhaustiveness of a closed type family
2022-02-07 22:33:04 +0100 <dminuoso> Bringing us back to technique 1 I mentioned earlier
2022-02-07 22:33:06 +0100 <EvanR> blast
2022-02-07 22:33:21 +0100 <EvanR> nice one ghc
2022-02-07 22:33:23 +0100 <dminuoso> tyfams have the problem that you likely need to start with singletons very quickly for what I conceive your problem domain is
2022-02-07 22:33:27 +0100AlexisTP(~AlexisTP3@92.57.44.63) (Ping timeout: 250 seconds)
2022-02-07 22:34:03 +0100 <tomsmeding> % foo :: forall a. Descr a => Proxy a -> String ; foo _ = "The description: " <> descr (Proxy :: Proxy a)
2022-02-07 22:34:04 +0100 <yahb> tomsmeding:
2022-02-07 22:34:08 +0100 <tomsmeding> % foo (Proxy @Red)
2022-02-07 22:34:09 +0100 <yahb> tomsmeding: "The description: its red"
2022-02-07 22:34:44 +0100 <dminuoso> At that point, you might as well go all-in with singletons, and then rely on GHCs pattern match exhaustiveness checker again
2022-02-07 22:34:48 +0100 <dminuoso> And skip tyfams
2022-02-07 22:34:53 +0100 <tomsmeding> and if you think that you could have a typeclass method that retrieves back the Red/Blue value-level data constructor: congrats, that's one half of 'singletons'
2022-02-07 22:35:08 +0100tomsmedinghigh-fives dminuoso
2022-02-07 22:35:22 +0100DemiMarieObenour(~alwayscur@2001:470:69fc:105::4886) (Write error: Connection reset by peer)
2022-02-07 22:35:22 +0100psydroid(~psydroid@user/psydroid) (Write error: Connection reset by peer)
2022-02-07 22:35:22 +0100Sixto[m](~provornyc@2001:470:69fc:105::1:74df) (Read error: Connection reset by peer)
2022-02-07 22:35:22 +0100pfurla-matrix(~pedrofurl@2001:470:69fc:105::1:51d7) (Read error: Connection reset by peer)
2022-02-07 22:35:22 +0100ac(~aloiscoch@2001:470:69fc:105::65) (Read error: Connection reset by peer)
2022-02-07 22:35:23 +0100bitonic(~bitonic@2001:470:69fc:105::1812) (Read error: Connection reset by peer)
2022-02-07 22:35:23 +0100throwaaaa[m](~throwaaaa@2001:470:69fc:105::1:6fe6) (Write error: Connection reset by peer)
2022-02-07 22:35:23 +0100tripa[m](~tripamatr@2001:470:69fc:105::1:4f7e) (Read error: Connection reset by peer)
2022-02-07 22:35:23 +0100yehoshuapw(~yehoshuap@2001:470:69fc:105::a5f) (Write error: Connection reset by peer)
2022-02-07 22:35:23 +0100wysteriary[m](~wysteriar@2001:470:69fc:105::a42e) (Write error: Connection reset by peer)
2022-02-07 22:35:23 +0100zwro[m](~zwromatri@2001:470:69fc:105::1d4) (Read error: Connection reset by peer)
2022-02-07 22:35:23 +0100SridharRatnakuma(~sridmatri@2001:470:69fc:105::1c2) (Read error: Connection reset by peer)
2022-02-07 22:35:23 +0100siraben(~siraben@user/siraben) (Write error: Connection reset by peer)
2022-02-07 22:35:23 +0100cherryblossom[m](~cherryblo@2001:470:69fc:105::b789) (Read error: Connection reset by peer)
2022-02-07 22:35:23 +0100ongy[m](~ongymatri@2001:470:69fc:105::5018) (Read error: Connection reset by peer)
2022-02-07 22:35:23 +0100zfnmxt(~zfnmxtzfn@2001:470:69fc:105::2b32) (Write error: Connection reset by peer)
2022-02-07 22:35:23 +0100finalti[m](~finaltima@2001:470:69fc:105::d909) (Read error: Connection reset by peer)
2022-02-07 22:35:23 +0100kalxd[m](~kalxdmatr@2001:470:69fc:105::1:576e) (Read error: Connection reset by peer)
2022-02-07 22:35:25 +0100Las[m](~lasmatrix@2001:470:69fc:105::74e) (Write error: Connection reset by peer)
2022-02-07 22:35:25 +0100jkaye[m](~jkayematr@2001:470:69fc:105::1:86f7) (Write error: Connection reset by peer)
2022-02-07 22:35:25 +0100schuelermine[m](~schuelerm@user/schuelermine) (Read error: Connection reset by peer)
2022-02-07 22:35:25 +0100fgaz(~fgaz@2001:470:69fc:105::842) (Write error: Connection reset by peer)
2022-02-07 22:35:25 +0100jchia[m](~jchiamatr@2001:470:69fc:105::c50b) (Write error: Connection reset by peer)
2022-02-07 22:35:25 +0100unclechu(~unclechu@2001:470:69fc:105::354) (Read error: Connection reset by peer)
2022-02-07 22:35:25 +0100sofviic[m](~sofviicma@2001:470:69fc:105::1:51fd) (Read error: Connection reset by peer)
2022-02-07 22:35:25 +0100ormaaj(~ormaaj@user/ormaaj) (Write error: Connection reset by peer)
2022-02-07 22:35:25 +0100smichel17[m](~smichel17@2001:470:69fc:105::2d32) (Write error: Connection reset by peer)
2022-02-07 22:35:25 +0100wildsebastian(~wildsebas@2001:470:69fc:105::1:14b1) (Write error: Connection reset by peer)
2022-02-07 22:35:26 +0100thomasjm[m](~thomasjmm@2001:470:69fc:105::c6d9) (Read error: Connection reset by peer)
2022-02-07 22:35:26 +0100cdsmith(~cdsmithma@2001:470:69fc:105::284) (Read error: Connection reset by peer)
2022-02-07 22:35:26 +0100jneira[m](~jneiramat@2001:470:69fc:105::d729) (Read error: Connection reset by peer)
2022-02-07 22:35:26 +0100litharn[m](~litharnma@2001:470:69fc:105::1:8336) (Read error: Connection reset by peer)
2022-02-07 22:35:26 +0100bb010g(~bb010g@2001:470:69fc:105::9a5) (Read error: Connection reset by peer)
2022-02-07 22:35:26 +0100maerwald[m](~maerwaldm@2001:470:69fc:105::1ee) (Read error: Connection reset by peer)
2022-02-07 22:35:26 +0100marinelli[m](~marinelli@2001:470:69fc:105::2d8) (Read error: Connection reset by peer)
2022-02-07 22:35:26 +0100fcortesi(~fcortesi@2001:470:69fc:105::f3a9) (Read error: Connection reset by peer)
2022-02-07 22:35:26 +0100Artem[m](~artemtype@2001:470:69fc:105::75b) (Read error: Connection reset by peer)
2022-02-07 22:35:26 +0100SawyerBergeron[m(~sawyerber@2001:470:69fc:105::3036) (Write error: Connection reset by peer)
2022-02-07 22:35:26 +0100Nate[m](~m52957mat@2001:470:69fc:105::1:591a) (Write error: Connection reset by peer)
2022-02-07 22:35:26 +0100sjanssen(~sjanssenm@2001:470:69fc:105::1:61d8) (Write error: Connection reset by peer)
2022-02-07 22:35:26 +0100mahene[m](~mahenemat@2001:470:69fc:105::1:6a93) (Write error: Connection reset by peer)
2022-02-07 22:35:26 +0100ericson2314(~ericson23@2001:470:69fc:105::70c) (Read error: Connection reset by peer)
2022-02-07 22:35:26 +0100Inst[m](~instrmatr@2001:470:69fc:105::1:903e) (Read error: Connection reset by peer)
2022-02-07 22:35:26 +0100justosophy[m](~justosoph@2001:470:69fc:105::572f) (Read error: Connection reset by peer)
2022-02-07 22:35:26 +0100peddie(~peddie@2001:470:69fc:105::25d) (Write error: Connection reset by peer)
2022-02-07 22:35:26 +0100jaror[m](~jaror@2001:470:69fc:105::265) (Write error: Connection reset by peer)
2022-02-07 22:35:26 +0100noiobeforebed(~noiobefor@2001:470:69fc:105::1:3c2d) (Write error: Connection reset by peer)
2022-02-07 22:35:26 +0100alexfmpe[m](~alexfmpem@2001:470:69fc:105::38ba) (Write error: Connection reset by peer)
2022-02-07 22:35:26 +0100jesser[m](~jessermat@2001:470:69fc:105::d5ae) (Write error: Connection reset by peer)
2022-02-07 22:35:26 +0100mmos[m](~mmosmatri@2001:470:69fc:105::1:8340) (Write error: Connection reset by peer)
2022-02-07 22:35:26 +0100ManofLetters[m](~manoflett@2001:470:69fc:105::3be) (Read error: Connection reset by peer)
2022-02-07 22:35:26 +0100joaquinmg[m](~joaquinmg@2001:470:69fc:105::1:67d2) (Read error: Connection reset by peer)
2022-02-07 22:35:26 +0100ParsaAlizadeh[m](~lizadehma@2001:470:69fc:105::1:65a4) (Read error: Connection reset by peer)
2022-02-07 22:35:26 +0100phuegrvs[m](~phuegrvsm@2001:470:69fc:105::1:65e4) (Read error: Connection reset by peer)
2022-02-07 22:35:26 +0100Yehoshua(~yehoshua@2001:470:69fc:105::1:593f) (Read error: Connection reset by peer)
2022-02-07 22:35:26 +0100Heffalump[m](~hsenagmat@2001:470:69fc:105::e11) (Read error: Connection reset by peer)
2022-02-07 22:35:26 +0100carmysilna(~brightly-@2001:470:69fc:105::2190) (Read error: Connection reset by peer)
2022-02-07 22:35:26 +0100juhp[m](~juhpmatri@2001:470:69fc:105::6e9) (Read error: Connection reset by peer)
2022-02-07 22:35:26 +0100james[m]12(~jamesnina@2001:470:69fc:105::1:4203) (Read error: Connection reset by peer)
2022-02-07 22:35:26 +0100jinsun_(~jinsun@user/jinsun) (Read error: Connection reset by peer)
2022-02-07 22:35:26 +0100benjamin[m]123(~benjaminm@2001:470:69fc:105::1:3f2f) (Read error: Connection reset by peer)
2022-02-07 22:35:26 +0100reza[m](~rezaphone@2001:470:69fc:105::3eda) (Read error: Connection reset by peer)
2022-02-07 22:35:26 +0100vaibhavsagar[m](~vaibhavsa@2001:470:69fc:105::ffe) (Write error: Connection reset by peer)
2022-02-07 22:35:27 +0100cstml[m](~cstmlmatr@2001:470:69fc:105::1:5c07) (Write error: Connection reset by peer)
2022-02-07 22:35:27 +0100sekun[m](~hsekmatri@2001:470:69fc:105::d18f) (Write error: Connection reset by peer)
2022-02-07 22:35:27 +0100marijan(~marijanma@2001:470:69fc:105::1:6cce) (Read error: Connection reset by peer)
2022-02-07 22:35:27 +0100EkaiZend[m](~ekai-zend@2001:470:69fc:105::1:7756) (Write error: Connection reset by peer)
2022-02-07 22:35:27 +0100Morrow[m](~morrowmma@2001:470:69fc:105::1d0) (Read error: Connection reset by peer)
2022-02-07 22:35:27 +0100thejuan24f[m](~thejuan2m@2001:470:69fc:105::1:6569) (Read error: Connection reset by peer)
2022-02-07 22:35:27 +0100amesgen[m](~amesgenm]@2001:470:69fc:105::82b) (Read error: Connection reset by peer)
2022-02-07 22:35:27 +0100JoseC[m](~jmcardonm@2001:470:69fc:105::1:7539) (Read error: Connection reset by peer)
2022-02-07 22:35:27 +0100RosarioPulella[m(~rosariopu@2001:470:69fc:105::a57) (Write error: Connection reset by peer)
2022-02-07 22:35:27 +0100alex[m]12(~alexchete@2001:470:69fc:105::1:1001) (Write error: Connection reset by peer)
2022-02-07 22:35:27 +0100oak-(~oakuniver@2001:470:69fc:105::fcd) (Write error: Connection reset by peer)
2022-02-07 22:35:27 +0100unrooted(~unrooted@2001:470:69fc:105::a4a) (Write error: Connection reset by peer)
2022-02-07 22:35:27 +0100aidy(~aidy@2001:470:69fc:105::c7b4) (Write error: Connection reset by peer)
2022-02-07 22:35:27 +0100Arathorn(~arathorn@2001:470:69fc:105::1f) (Write error: Connection reset by peer)
2022-02-07 22:35:36 +0100 <dminuoso> safinaskar: Should you chose to go with singletons, please leave your sanity in the jar by the door on your way out.
2022-02-07 22:35:53 +0100 <dminuoso> The road to hell is paved with singletons.
2022-02-07 22:36:05 +0100 <Rembane> dminuoso: Are singletons the incredibly painful way to do dependently typed programming in Haskell?
2022-02-07 22:36:11 +0100 <dminuoso> Rembane: Yes.
2022-02-07 22:36:27 +0100 <dminuoso> Some limited form of it at any way
2022-02-07 22:36:56 +0100juhp[m](~juhpmatri@2001:470:69fc:105::6e9)
2022-02-07 22:39:12 +0100emf_(~emf@2620:10d:c090:400::5:9645) (Quit: emf_)
2022-02-07 22:40:03 +0100cynomys(~cynomys@user/cynomys)
2022-02-07 22:40:17 +0100ubert(~Thunderbi@p200300ecdf099459bd0f645b3a8c5166.dip0.t-ipconnect.de) (Remote host closed the connection)
2022-02-07 22:40:21 +0100ub(~Thunderbi@p548c8cd6.dip0.t-ipconnect.de)
2022-02-07 22:41:24 +0100zer0bitz(~zer0bitz@2001:2003:f74d:b800:bc81:ba25:7a70:67f2) (Read error: Connection reset by peer)
2022-02-07 22:41:56 +0100 <Rembane> dminuoso: Got it! Thanks!
2022-02-07 22:42:26 +0100jchia[m](~jchiamatr@2001:470:69fc:105::c50b)
2022-02-07 22:42:35 +0100fgaz(~fgaz@2001:470:69fc:105::842)
2022-02-07 22:42:38 +0100peddie(~peddie@2001:470:69fc:105::25d)
2022-02-07 22:42:39 +0100ububert
2022-02-07 22:42:45 +0100cdsmith(~cdsmithma@2001:470:69fc:105::284)
2022-02-07 22:43:03 +0100thomasjm[m](~thomasjmm@2001:470:69fc:105::c6d9)
2022-02-07 22:43:41 +0100bb010g(~bb010g@2001:470:69fc:105::9a5)
2022-02-07 22:43:42 +0100amesgen[m](~amesgenm]@2001:470:69fc:105::82b)
2022-02-07 22:43:42 +0100JoseC[m](~jmcardonm@2001:470:69fc:105::1:7539)
2022-02-07 22:44:03 +0100 <EvanR> I'm still waiting to identify what exactly out of all the type level shit I know is "singletons"
2022-02-07 22:44:04 +0100soft(~soft@2001:470:69fc:105::c75)
2022-02-07 22:44:09 +0100zfnmxt(~zfnmxtzfn@2001:470:69fc:105::2b32)
2022-02-07 22:44:34 +0100oak-(~oakuniver@2001:470:69fc:105::fcd)
2022-02-07 22:44:39 +0100 <EvanR> and why they stole C++'s awesome design pattern's name
2022-02-07 22:44:51 +0100kadoban(~kadoban@user/kadoban)
2022-02-07 22:44:51 +0100ericson2314(~ericson23@2001:470:69fc:105::70c)
2022-02-07 22:44:51 +0100moats(~oats@user/oats)
2022-02-07 22:44:51 +0100Arathorn(~arathorn@2001:470:69fc:105::1f)
2022-02-07 22:44:52 +0100unclechu(~unclechu@2001:470:69fc:105::354)
2022-02-07 22:45:06 +0100 <tomsmeding> safinaskar: with some hand-rolled singletons: https://paste.tomsmeding.com/BgzgyArQ
2022-02-07 22:45:20 +0100sekun[m](~hsekmatri@2001:470:69fc:105::d18f)
2022-02-07 22:45:27 +0100maralorn(~maralorn@2001:470:69fc:105::251)
2022-02-07 22:45:28 +0100reza[m](~rezaphone@2001:470:69fc:105::3eda)
2022-02-07 22:45:28 +0100quantum(~quantum@user/quantum/x-8556232)
2022-02-07 22:45:42 +0100Michal[m](~oomiguelm@2001:470:69fc:105::1:5ab0)
2022-02-07 22:45:42 +0100marinelli[m](~marinelli@2001:470:69fc:105::2d8)
2022-02-07 22:45:42 +0100denbrahe(~denbrahe@2001:470:69fc:105::19c0)
2022-02-07 22:45:42 +0100finalti[m](~finaltima@2001:470:69fc:105::d909)
2022-02-07 22:45:50 +0100 <tomsmeding> EvanR: I'm not completely sure (never actually used the singletons package lol), but I believe singletons is basically what I just posted, plus the corresponding Known* type classes
2022-02-07 22:45:54 +0100sjanssen(~sjanssenm@2001:470:69fc:105::1:61d8)
2022-02-07 22:45:55 +0100Las[m](~lasmatrix@2001:470:69fc:105::74e)
2022-02-07 22:45:55 +0100 <tomsmeding> but then auto-generated
2022-02-07 22:45:55 +0100Yehoshua(~yehoshua@2001:470:69fc:105::1:593f)
2022-02-07 22:46:08 +0100craige[m](~craigemcw@2001:470:69fc:105::35f1)
2022-02-07 22:46:08 +0100schuelermine[m](~schuelerm@user/schuelermine)
2022-02-07 22:46:08 +0100sm(~sm@plaintextaccounting/sm)
2022-02-07 22:46:09 +0100mahene[m](~mahenemat@2001:470:69fc:105::1:6a93)
2022-02-07 22:46:20 +0100sshinesshine`
2022-02-07 22:46:21 +0100justosophy[m](~justosoph@2001:470:69fc:105::572f)
2022-02-07 22:46:22 +0100hsiktas[m](~hsiktasm]@2001:470:69fc:105::30d4)
2022-02-07 22:46:35 +0100Morrow[m](~morrowmma@2001:470:69fc:105::1d0)
2022-02-07 22:46:35 +0100Artem[m](~artemtype@2001:470:69fc:105::75b)
2022-02-07 22:46:35 +0100psydroid(~psydroid@user/psydroid)
2022-02-07 22:46:36 +0100Christoph[m](~hpotsirhc@2001:470:69fc:105::2ff8)
2022-02-07 22:46:40 +0100 <tomsmeding> modulo minor differences in encoding the arguments precisely; I made different choices for Symbol and Typ there in the record cons case, not sure how 'singletons' would handle that thing
2022-02-07 22:46:48 +0100wysteriary[m](~wysteriar@2001:470:69fc:105::a42e)
2022-02-07 22:46:48 +0100alexfmpe[m](~alexfmpem@2001:470:69fc:105::38ba)
2022-02-07 22:46:48 +0100ongy[m](~ongymatri@2001:470:69fc:105::5018)
2022-02-07 22:46:48 +0100siraben(~siraben@user/siraben)
2022-02-07 22:46:48 +0100SawyerBergeron[m(~sawyerber@2001:470:69fc:105::3036)
2022-02-07 22:46:48 +0100smichel17[m](~smichel17@2001:470:69fc:105::2d32)
2022-02-07 22:46:48 +0100alex[m]123(~alexchete@2001:470:69fc:105::1:1001)
2022-02-07 22:46:48 +0100ManofLetters[m](~manoflett@2001:470:69fc:105::3be)
2022-02-07 22:46:48 +0100Tisoxin(~ikosit@user/ikosit)
2022-02-07 22:47:02 +0100noiobeforebed(~noiobefor@2001:470:69fc:105::1:3c2d)
2022-02-07 22:47:02 +0100carmysilna(~brightly-@2001:470:69fc:105::2190)
2022-02-07 22:47:02 +0100fendor[m](~fendormat@2001:470:69fc:105::fcbd)
2022-02-07 22:47:03 +0100aidy(~aidy@2001:470:69fc:105::c7b4)
2022-02-07 22:47:03 +0100DemiMarieObenour(~alwayscur@2001:470:69fc:105::4886)
2022-02-07 22:47:03 +0100vaibhavsagar[m](~vaibhavsa@2001:470:69fc:105::ffe)
2022-02-07 22:47:03 +0100jmcantrell(~jmcantrel@user/jmcantrell)
2022-02-07 22:47:03 +0100maerwald[m](~maerwaldm@2001:470:69fc:105::1ee)
2022-02-07 22:47:15 +0100RosarioPulella[m(~rosariopu@2001:470:69fc:105::a57)
2022-02-07 22:47:15 +0100wildsebastian(~wildsebas@2001:470:69fc:105::1:14b1)
2022-02-07 22:47:15 +0100jinsun_(~jinsun@user/jinsun)
2022-02-07 22:47:30 +0100benjamin[m]123(~benjaminm@2001:470:69fc:105::1:3f2f)
2022-02-07 22:47:30 +0100joaquinmg[m](~joaquinmg@2001:470:69fc:105::1:67d2)
2022-02-07 22:47:30 +0100Heffalump[m](~hsenagmat@2001:470:69fc:105::e11)
2022-02-07 22:47:30 +0100fcortesi(~fcortesi@2001:470:69fc:105::f3a9)
2022-02-07 22:47:43 +0100tripa[m](~tripamatr@2001:470:69fc:105::1:4f7e)
2022-02-07 22:47:43 +0100yehoshuapw(~yehoshuap@2001:470:69fc:105::a5f)
2022-02-07 22:47:55 +0100ormaaj(~ormaaj@user/ormaaj)
2022-02-07 22:47:55 +0100ac(~aloiscoch@2001:470:69fc:105::65)
2022-02-07 22:47:55 +0100bitonic(~bitonic@2001:470:69fc:105::1812)
2022-02-07 22:47:55 +0100SridharRatnakuma(~sridmatri@2001:470:69fc:105::1c2)
2022-02-07 22:47:55 +0100unrooted(~unrooted@2001:470:69fc:105::a4a)
2022-02-07 22:47:55 +0100Guillaum[m](~guiboumat@2001:470:69fc:105::1:72ac)
2022-02-07 22:47:55 +0100EkaiZend[m](~ekai-zend@2001:470:69fc:105::1:7756)
2022-02-07 22:47:55 +0100pfurla-matrix(~pedrofurl@2001:470:69fc:105::1:51d7)
2022-02-07 22:47:55 +0100kalxd[m](~kalxdmatr@2001:470:69fc:105::1:576e)
2022-02-07 22:47:55 +0100thejuan24f[m](~thejuan2m@2001:470:69fc:105::1:6569)
2022-02-07 22:47:56 +0100cstml[m](~cstmlmatr@2001:470:69fc:105::1:5c07)
2022-02-07 22:47:56 +0100zwro[m](~zwromatri@2001:470:69fc:105::1d4)
2022-02-07 22:47:56 +0100ParsaAlizadeh[m](~lizadehma@2001:470:69fc:105::1:65a4)
2022-02-07 22:47:56 +0100euphrates[m](~euphrates@2001:470:69fc:105::fbb5)
2022-02-07 22:47:56 +0100mmos[m](~mmosmatri@2001:470:69fc:105::1:8340)
2022-02-07 22:47:56 +0100jneira[m](~jneiramat@2001:470:69fc:105::d729)
2022-02-07 22:48:07 +0100cherryblossom[m](~cherryblo@2001:470:69fc:105::b789)
2022-02-07 22:48:07 +0100Nate[m](~m52957mat@2001:470:69fc:105::1:591a)
2022-02-07 22:48:07 +0100Inst[m](~instrmatr@2001:470:69fc:105::1:903e)
2022-02-07 22:48:07 +0100afotgkmnzj7asv3r(~afotgkmnz@2001:470:69fc:105::c24b)
2022-02-07 22:48:07 +0100octeep[m](~octeepoct@2001:470:69fc:105::1:3dbf)
2022-02-07 22:48:07 +0100marijan(~marijanma@2001:470:69fc:105::1:6cce)
2022-02-07 22:48:07 +0100phuegrvs[m](~phuegrvsm@2001:470:69fc:105::1:65e4)
2022-02-07 22:48:07 +0100sofviic[m](~sofviicma@2001:470:69fc:105::1:51fd)
2022-02-07 22:48:07 +0100jesser[m](~jessermat@2001:470:69fc:105::d5ae)
2022-02-07 22:48:08 +0100throwaaaa[m](~throwaaaa@2001:470:69fc:105::1:6fe6)
2022-02-07 22:48:08 +0100Sixto[m](~provornyc@2001:470:69fc:105::1:74df)
2022-02-07 22:48:08 +0100jkaye[m](~jkayematr@2001:470:69fc:105::1:86f7)
2022-02-07 22:48:08 +0100litharn[m](~litharnma@2001:470:69fc:105::1:8336)
2022-02-07 22:48:09 +0100james[m]123(~jamesnina@2001:470:69fc:105::1:4203)
2022-02-07 22:48:10 +0100simmsb(~simmsb@2001:470:69fc:105::1:55c3)
2022-02-07 22:48:10 +0100jaror[m](~jaror@2001:470:69fc:105::265)
2022-02-07 22:49:02 +0100 <EvanR> you have Typ and TypSing, so now there's the Typ type, Type datakind, and both type / kind for TypSing
2022-02-07 22:49:16 +0100emf(~emf@2620:10d:c090:400::5:9645)
2022-02-07 22:49:18 +0100 <tomsmeding> confused yet?
2022-02-07 22:49:22 +0100 <EvanR> yes
2022-02-07 22:49:40 +0100 <EvanR> what is singletonic about TypSing
2022-02-07 22:50:06 +0100 <EvanR> other than the name
2022-02-07 22:50:10 +0100doyougnu(~doyougnu@cpe-67-249-83-190.twcny.res.rr.com)
2022-02-07 22:50:17 +0100 <dminuoso> Mmm, is there some primitive in base that would yield both minimum and maximum at the same time?
2022-02-07 22:50:21 +0100waleee(~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) (Ping timeout: 250 seconds)
2022-02-07 22:50:29 +0100emf(~emf@2620:10d:c090:400::5:9645) (Client Quit)
2022-02-07 22:50:31 +0100 <dminuoso> Or do I have to roll my own if I want this in a single pass?
2022-02-07 22:50:31 +0100 <EvanR> sort?
2022-02-07 22:50:33 +0100 <tomsmeding> EvanR: the point is that the type "TypSing typ" for any type "typ" of kind "Typ" has exactly one value, namely the one mirroring the original Typ value
2022-02-07 22:50:46 +0100 <dminuoso> EvanR: That wont give me O(n)
2022-02-07 22:50:52 +0100 <Rembane> dminuoso: Semigroups and foldMap and Arrow! \o/
2022-02-07 22:51:04 +0100 <EvanR> I thought you mean min max my bad
2022-02-07 22:51:05 +0100tomsmedingis quite sure you don't need Arrow
2022-02-07 22:51:24 +0100 <Rembane> tomsmeding: You always need Arrow, you just don't know it yet.
2022-02-07 22:51:29 +0100 <dminuoso> EvanR: Mmm?
2022-02-07 22:51:34 +0100tomsmedinggently steps back a little
2022-02-07 22:51:51 +0100 <EvanR> the Arrow paradox
2022-02-07 22:51:53 +0100 <safinaskar> tomsmeding: thanks a lot
2022-02-07 22:52:10 +0100 <safinaskar> these singleteons are ugly. i am searching for better way
2022-02-07 22:52:12 +0100 <geekosaur> arrowdox
2022-02-07 22:52:24 +0100 <geekosaur> safinaskar, there is no better way in haskell
2022-02-07 22:53:19 +0100 <safinaskar> in fact, my task (probably you guessed) is to write implementation of binary format "Apache Avro" in haskell using cool haskell techniques such as GADTs
2022-02-07 22:53:41 +0100 <dminuoso> geekosaur: Mmm, I disagree.
2022-02-07 22:53:45 +0100 <tomsmeding> dminuoso: https://paste.tomsmeding.com/9SqnrGBH
2022-02-07 22:53:59 +0100 <dminuoso> Rethinking a type-level problem back into value level often does wonders.
2022-02-07 22:54:22 +0100 <safinaskar> "read" is supposed to be low-level parsing function. the binary format itself doesn't contain type info, so "read" must accept type as its argument. and now i am trying to pattern match on this type argument
2022-02-07 22:54:42 +0100 <Rembane> dminuoso: Does this solve your problem? https://paste.tomsmeding.com/IkJoiZlh
2022-02-07 22:54:43 +0100 <tomsmeding> (that <> definition can probably use some Applicative to compress that into a single case)
2022-02-07 22:54:56 +0100 <dminuoso> Rembane: Wow. That is truly cunning.
2022-02-07 22:55:01 +0100 <Rembane> dminuoso: Cool, eh? :D
2022-02-07 22:55:02 +0100 <tomsmeding> Rembane++
2022-02-07 22:55:04 +0100waleee(~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4)
2022-02-07 22:55:20 +0100 <Rembane> dminuoso: If you don't like &&& you can use functions and stuff instead.
2022-02-07 22:55:34 +0100 <safinaskar> there is similar lib for dealing with protobuf in haskell. now i will try to read its code for inspiration
2022-02-07 22:55:35 +0100 <tomsmeding> % :m +Control.Arrow Data.Monoid
2022-02-07 22:55:36 +0100 <yahb> tomsmeding:
2022-02-07 22:55:44 +0100 <tomsmeding> % foldMap (Min &&& Max) [1..5 :: Int]
2022-02-07 22:55:44 +0100 <yahb> tomsmeding: ; <interactive>:81:10: error:; * Data constructor not in scope: Min :: Int -> c; * Perhaps you meant one of these: variable `min' (imported from Prelude), variable `sin' (imported from Prelude); <interactive>:81:18: error:; * Data constructor not in scope: Max :: Int -> c'; * Perhaps you meant variable `max' (imported from Prelude)
2022-02-07 22:55:50 +0100 <tomsmeding> % import Data.Semigroup
2022-02-07 22:55:50 +0100 <yahb> tomsmeding:
2022-02-07 22:55:51 +0100 <tomsmeding> % foldMap (Min &&& Max) [1..5 :: Int]
2022-02-07 22:55:52 +0100 <yahb> tomsmeding: (Min {getMin = 1},Max {getMax = 5})
2022-02-07 22:56:15 +0100 <monochrom> w00t that's a nice use of the "if X is a monoid then Y->X is a monoid too" instance.
2022-02-07 22:56:24 +0100safinaskar_(~quassel@109-252-91-116.nat.spd-mgts.ru)
2022-02-07 22:56:37 +0100safinaskarsafinaskarw
2022-02-07 22:56:43 +0100safinaskar_safinaskar
2022-02-07 22:56:57 +0100 <dminuoso> % minMax :: (Ord a, Bounded a, Foldable f) => f a -> (a, a); minMax = coerce . foldMap (Min &&& Max)
2022-02-07 22:56:57 +0100 <yahb> dminuoso:
2022-02-07 22:57:11 +0100 <dminuoso> % minMax [1,3,3,5,10,2]
2022-02-07 22:57:12 +0100 <yahb> dminuoso: ; <interactive>:88:1: error:; * Ambiguous type variable `a0' arising from a use of `print'; prevents the constraint `(Show a0)' from being solved.; Probable fix: use a type annotation to specify what `a0' should be.; These potential instances exist:; instance Show a => Show (ZipList a) -- Defined in `Control.Applicative'; instance Show NestedAtomically -- Defined in
2022-02-07 22:57:36 +0100 <dminuoso> % minMax [1,3,3,5,10,2] @Int
2022-02-07 22:57:36 +0100 <yahb> dminuoso: ; <interactive>:89:1: error:; * Cannot apply expression of type `(a0, a0)'; to a visible type argument `Int'; * In the expression: minMax [1, 3, 3, 5, ....] @Int; In an equation for `it': it = minMax [1, 3, 3, ....] @Int
2022-02-07 22:57:41 +0100 <dminuoso> Err what
2022-02-07 22:57:47 +0100 <dminuoso> Ohh
2022-02-07 22:57:51 +0100 <EvanR> are you trying to `read' a value of "unknown type"
2022-02-07 22:57:52 +0100 <tomsmeding> % minMax @Int [1,3,3,5,10,2]
2022-02-07 22:57:52 +0100 <yahb> tomsmeding: (1,10)
2022-02-07 22:57:53 +0100 <monochrom> Should it be minMax @Int ?
2022-02-07 22:57:58 +0100 <monochrom> Yeah, that :)
2022-02-07 22:58:07 +0100 <EvanR> because I like the way juicy pixels does it, returning a sum type
2022-02-07 22:58:10 +0100safinaskarw(~safinaska@109.252.91.116) ()
2022-02-07 22:58:12 +0100 <EvanR> of well typed results
2022-02-07 22:58:16 +0100 <tomsmeding> o/
2022-02-07 22:58:28 +0100 <dminuoso> So that's curious, somehow I had always expected GHC not to be picky about where you put TypeApplications
2022-02-07 22:59:04 +0100 <tomsmeding> before ghc 9, the location of a forall could float, so 'Int -> forall a. a -> [a]' was the same as 'forall a. Int -> a -> [a]'
2022-02-07 22:59:09 +0100 <monochrom> All lambda calculi are very picky about orders :)
2022-02-07 22:59:11 +0100 <tomsmeding> @a should be in the location of the forall
2022-02-07 22:59:12 +0100 <lambdabot> Maybe you meant: activity activity-full admin all-dicts arr ask auto-reply auto-reply? v @ ? .
2022-02-07 22:59:29 +0100 <monochrom> It's why other people invented "keyword arguments".
2022-02-07 22:59:32 +0100michalz(~michalz@185.246.204.94) (Remote host closed the connection)
2022-02-07 22:59:38 +0100motherfsck(~motherfsc@user/motherfsck) (Quit: quit)
2022-02-07 22:59:42 +0100 <dminuoso> monochrom: Well Im just thinking that grammatically it seems not a big deal
2022-02-07 22:59:43 +0100 <EvanR> it's why they invented set theory *hide*
2022-02-07 22:59:45 +0100 <tomsmeding> here you have minMax :: forall a. f a -> (a, a), ignoring type classes, and you can't move the forall to after the first argumen
2022-02-07 22:59:54 +0100 <tomsmeding> hence must be minMax @Int :)
2022-02-07 23:00:09 +0100tomsmedingmakes the disclaimer that this sounds very sensible to me but I don't actually know for sure this is why
2022-02-07 23:00:21 +0100phma(phma@2001:5b0:211c:1a98:48d4:386a:82f8:d37) (Read error: Connection reset by peer)
2022-02-07 23:00:44 +0100 <monochrom> I think it's why, and there is nothing deeper about it.
2022-02-07 23:00:47 +0100 <tomsmeding> hm, doesn't seem to work for me with a function of type 'Int -> a -> [a]'
2022-02-07 23:01:07 +0100 <monochrom> Ah but have you tried Int -> forall a. a -> [a] ?
2022-02-07 23:01:32 +0100 <tomsmeding> % foo :: forall a. Int -> a -> [a] ; foo _ _ = []
2022-02-07 23:01:32 +0100 <yahb> tomsmeding:
2022-02-07 23:01:33 +0100 <geekosaur> er, doesnm't that forall floay out?
2022-02-07 23:01:39 +0100 <tomsmeding> % bar :: Int -> forall a. a -> [a] ; bar _ _ = []
2022-02-07 23:01:39 +0100shapr(~user@pool-173-73-44-186.washdc.fios.verizon.net) (Remote host closed the connection)
2022-02-07 23:01:39 +0100 <yahb> tomsmeding:
2022-02-07 23:01:40 +0100phma(phma@2001:5b0:215a:adf8:f4aa:f392:c0b4:ceef)
2022-02-07 23:01:44 +0100 <geekosaur> *float
2022-02-07 23:01:46 +0100 <tomsmeding> % foo 3 @Int 3
2022-02-07 23:01:47 +0100 <yahb> tomsmeding: ; <interactive>:93:1: error:; * Cannot apply expression of type `a0 -> [a0]'; to a visible type argument `Int'; * In the expression: foo 3 @Int 3; In an equation for `it': it = foo 3 @Int 3
2022-02-07 23:01:49 +0100 <tomsmeding> % bar 3 @Int 3
2022-02-07 23:01:49 +0100 <yahb> tomsmeding: []
2022-02-07 23:01:53 +0100shapr(~user@pool-173-73-44-186.washdc.fios.verizon.net)
2022-02-07 23:01:56 +0100 <tomsmeding>
2022-02-07 23:02:03 +0100 <geekosaur> actually I butchered that one badly enough I should just toss it :/
2022-02-07 23:02:31 +0100 <tomsmeding> apparently I was right except that the forall doesn't actually float?
2022-02-07 23:02:38 +0100 <geekosaur> odd
2022-02-07 23:02:56 +0100 <monochrom> Quicklook needs to make a difference between "forall a. X -> ..." and "X -> forall a. ..." to get the rest of impredicativity to work.
2022-02-07 23:03:09 +0100 <tomsmeding> I get the same result in my local ghc 8.10.7
2022-02-07 23:03:17 +0100 <tomsmeding> which is the interesting part
2022-02-07 23:03:30 +0100 <geekosaur> my head hurts
2022-02-07 23:04:07 +0100 <tomsmeding> % (foo 3 :: forall a. a -> [a]) @Int 3
2022-02-07 23:04:07 +0100 <yahb> tomsmeding: []
2022-02-07 23:04:13 +0100 <tomsmeding> this _does_ work
2022-02-07 23:04:13 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 250 seconds)
2022-02-07 23:05:09 +0100 <monochrom> yahb is at 9.0 which, although doesn't have Quicklook, does have that distinction to pave way.
2022-02-07 23:05:31 +0100 <tomsmeding> my local 8.10.7 doesn't have quick look and behaves the same for these tests
2022-02-07 23:05:36 +0100 <monochrom> Ah.
2022-02-07 23:05:50 +0100 <monochrom> Well, all lamba calcali are picky about orders. :)
2022-02-07 23:06:33 +0100califax-(~califax@user/califx)
2022-02-07 23:07:01 +0100 <monochrom> Personally I work at the level of "by default, order matters pedantically, unless the language is so nice as to relax it a little bit".
2022-02-07 23:07:05 +0100califax(~califax@user/califx) (Remote host closed the connection)
2022-02-07 23:07:38 +0100califax-califax
2022-02-07 23:07:47 +0100 <tomsmeding> I just put the type applications at the beginning always, hasn't failed yet :)
2022-02-07 23:08:25 +0100 <tomsmeding> which I guess means that I've never met a 'bar' yet in the wild
2022-02-07 23:08:51 +0100 <tomsmeding> up to the reader to decide which meaning of 'bar' I intend her
2022-02-07 23:08:53 +0100 <tomsmeding> e
2022-02-07 23:09:02 +0100 <Rembane> Good exercise.
2022-02-07 23:09:03 +0100 <Rembane> I've always thought that the type application applies to everything to the right of it.
2022-02-07 23:10:07 +0100 <tomsmeding> in a certain way I found the proposal for the 'forall a ->' syntax enlightening here
2022-02-07 23:10:16 +0100 <monochrom> Dependent typing will be where it makes sense to have a "forall" or generally "product over ..." in the middle and so the use site will also have @ in the middle.
2022-02-07 23:10:32 +0100 <tomsmeding> that makes a type argument _explicit_: 'forall a ->' is to 'forall a.' as 'a' is to '{a}' in Agda
2022-02-07 23:10:47 +0100 <monochrom> Yeah, that.
2022-02-07 23:10:52 +0100 <tomsmeding> so then the type becomes just another argument, in that place in the list of arguments
2022-02-07 23:11:15 +0100 <tomsmeding> bar :: Int -> forall a -> a -> [a]
2022-02-07 23:11:22 +0100`2jt(~jtomas@130.red-88-22-46.staticip.rima-tde.net) (Ping timeout: 260 seconds)
2022-02-07 23:11:23 +0100 <tomsmeding> bar 3 Int 4
2022-02-07 23:12:37 +0100 <tomsmeding> thanks for the mind exercises all, I'm going to bed :)
2022-02-07 23:13:16 +0100 <EvanR> haskell: a ~~soviet~~ scottish mind game
2022-02-07 23:13:36 +0100alo(~alo@user/alo)
2022-02-07 23:18:45 +0100waleee(~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) (Ping timeout: 250 seconds)
2022-02-07 23:19:43 +0100waleee(~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4)
2022-02-07 23:21:30 +0100 <EvanR> Update: As of version 3.37.0 (2021-11-27), SQLite provides STRICT tables that do rigid type enforcement, for developers who prefer that kind of thing.
2022-02-07 23:21:34 +0100 <EvanR> It's about time
2022-02-07 23:21:42 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.4)
2022-02-07 23:22:50 +0100Flonk(~Flonk@vps-zap441517-1.zap-srv.com) (Quit: Ping timeout (120 seconds))
2022-02-07 23:23:36 +0100Franciman(~Franciman@mx1.fracta.dev)
2022-02-07 23:24:22 +0100LiaoTao(~LiaoTao@gateway/tor-sasl/liaotao) (Quit: ZNC 1.8.2 - https://znc.in)
2022-02-07 23:24:37 +0100LiaoTao(~LiaoTao@gateway/tor-sasl/liaotao)
2022-02-07 23:26:57 +0100waleee(~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) (Ping timeout: 240 seconds)
2022-02-07 23:27:42 +0100 <hpc> "for developers who prefer that kind of thing" you say, as if you're not in #haskell :D
2022-02-07 23:27:57 +0100 <maerwald> lol
2022-02-07 23:28:01 +0100 <Clint> we're very contrarian
2022-02-07 23:28:32 +0100 <maerwald> "for weirdos who prefer that jazz"
2022-02-07 23:28:53 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 256 seconds)
2022-02-07 23:29:01 +0100waleee(~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4)
2022-02-07 23:29:05 +0100 <EvanR> their words not mine
2022-02-07 23:29:14 +0100 <hpc> ah
2022-02-07 23:30:28 +0100Erutuon(~Erutuon@user/erutuon)
2022-02-07 23:33:18 +0100sheb_(~sheb@31.223.228.71)
2022-02-07 23:35:27 +0100sheb(~sheb@31.223.228.71) (Ping timeout: 256 seconds)
2022-02-07 23:37:28 +0100 <Franciman> hi all, i'll try to be less edgy and more conforming, sorry
2022-02-07 23:37:29 +0100 <safinaskar> EvanR: thanks a lot for this info on STRICT tables!
2022-02-07 23:37:37 +0100 <Franciman> i've thought about my behaviour, and i apologise, again
2022-02-07 23:37:54 +0100 <safinaskar> EvanR: can i forbid NULLs in sqlite?
2022-02-07 23:37:58 +0100 <Franciman> i have a question. I thought i could find haskell's formal syntax in the language report, but i can't seem to find it
2022-02-07 23:38:01 +0100 <Franciman> where can i locate it?
2022-02-07 23:38:06 +0100 <Franciman> ehm
2022-02-07 23:38:09 +0100 <Franciman> formal semantics*
2022-02-07 23:38:17 +0100 <EvanR> sqlite-simple supports opening a database file, opening a (blank) in-memory database, but not copying a database from disk and opening that for purposes
2022-02-07 23:38:18 +0100 <Franciman> formal specification of haskell program semantics
2022-02-07 23:39:05 +0100 <EvanR> e.g. if you make a copy of a database to memory and use it read only, it can be trivially wrapped as pure (?)
2022-02-07 23:39:58 +0100 <EvanR> you could copy all the data to your own data structure, but then you don't get SQL for what its worth
2022-02-07 23:39:58 +0100 <safinaskar> Franciman: haskell report doesn't define formal semantics. but you can see something like formal semantics for haskell as implemented in GHC. the semantics defined in particular .pdf file located in GHC source tree
2022-02-07 23:40:25 +0100 <Franciman> ah
2022-02-07 23:40:33 +0100 <Franciman> so the standard doesn't define a formal semantics of the language
2022-02-07 23:40:43 +0100 <safinaskar> Franciman: yes :)
2022-02-07 23:40:57 +0100 <safinaskar> Franciman: this is usual situation for programming languages
2022-02-07 23:41:15 +0100 <safinaskar> Franciman: you can look at SML. it is language with formal semantics defined in the standard :)
2022-02-07 23:41:19 +0100 <Franciman> safinaskar: do you remember the name?
2022-02-07 23:41:21 +0100 <dminuoso> We have these denotational semantics instead that just.. somehow.. nobody has ever specified..
2022-02-07 23:41:22 +0100 <Franciman> of the pdf file
2022-02-07 23:41:40 +0100 <Franciman> yes, sml is gold
2022-02-07 23:41:42 +0100 <Franciman> xd
2022-02-07 23:41:49 +0100 <Franciman> i thought haskell had a formal semantics too in the standard
2022-02-07 23:41:59 +0100 <EvanR> haskell semantics is like jazz. If you gotta ask, you'll never know
2022-02-07 23:42:06 +0100_xor(~xor@dsl-50-5-233-169.fuse.net) (Quit: WeeChat 3.4)
2022-02-07 23:42:12 +0100 <Franciman> lol
2022-02-07 23:42:12 +0100 <EvanR> wait that's lisp
2022-02-07 23:42:25 +0100 <Franciman> dminuoso: sorry i couldn't parse. Is there a written document about it?
2022-02-07 23:42:40 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2022-02-07 23:42:46 +0100 <dminuoso> Franciman: By the amount of denotational semantics stuff on our wiki you'd think there was.
2022-02-07 23:42:47 +0100 <[exa]> Franciman: the semantics of whole haskell is probably too big to be practical, but it's nice to have a look of the sub-layers though, especially at STG and Cmm
2022-02-07 23:43:53 +0100 <Franciman> [exa]: do i find their semantics somewhere?
2022-02-07 23:44:15 +0100zincy(~zincy@2a00:23c8:970c:4801:68f0:cbbd:5b77:19e4) (Remote host closed the connection)
2022-02-07 23:44:17 +0100waleee(~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) (Ping timeout: 240 seconds)
2022-02-07 23:45:03 +0100 <EvanR> semantics for f x = (semantics for f) (semantics for x) where thing on the right is function application xD
2022-02-07 23:45:14 +0100 <[exa]> STG has a paper that gives a pretty clean picture of it, scholar.google should help
2022-02-07 23:45:30 +0100 <Franciman> does Core have a formal semantics at least?
2022-02-07 23:45:38 +0100 <Franciman> thanks [exa]
2022-02-07 23:45:45 +0100 <Franciman> well i still need to look in ghc's docs
2022-02-07 23:46:15 +0100 <Franciman> https://gitlab.haskell.org/ghc/ghc/-/tree/master/docs/core-spec here it is!
2022-02-07 23:46:16 +0100 <Franciman> i think
2022-02-07 23:46:43 +0100waleee(~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4)
2022-02-07 23:46:46 +0100Flonk(~Flonk@vps-zap441517-1.zap-srv.com)
2022-02-07 23:46:48 +0100vicfred(~vicfred@user/vicfred)
2022-02-07 23:46:56 +0100 <EvanR> semantics for \x -> body = \x -> semantics for body where thing on the right is a lambda
2022-02-07 23:48:12 +0100 <safinaskar> Franciman: https://github.com/ghc/ghc/blob/master/docs/core-spec/core-spec.pdf
2022-02-07 23:48:32 +0100 <Franciman> ty
2022-02-07 23:49:26 +0100 <[exa]> "Implementing lazy functional languages on stock hardware" by SPJ has a whole section on operational semantics of STG
2022-02-07 23:49:32 +0100gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2022-02-07 23:51:01 +0100 <Franciman> thanks
2022-02-07 23:51:29 +0100MatthiasG2(~matthias@i6DFA026C.versanet.de) (Quit: Lost terminal)
2022-02-07 23:55:28 +0100oberblastmeister(~oberblast@2001:470:69fc:105::3a60)
2022-02-07 23:55:38 +0100max22-(~maxime@2a01cb08833598007cddd107fb6e9829.ipv6.abo.wanadoo.fr) (Quit: Leaving)
2022-02-07 23:57:07 +0100azimut(~azimut@gateway/tor-sasl/azimut)