Home freenode/#haskell: Logs Calendar

Logs on 2021-03-28 (freenode/#haskell)

00:01:16 olligobber joins (olligobber@gateway/vpn/privateinternetaccess/olligobber)
00:01:26 × v01d4lph4 quits (~v01d4lph4@122.180.248.16) (Ping timeout: 252 seconds)
00:01:38 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
00:03:22 carlomagno joins (~cararell@148.87.23.6)
00:08:36 × carlomagno quits (~cararell@148.87.23.6) (Remote host closed the connection)
00:09:07 × puke quits (~vroom@217.138.252.196) (Remote host closed the connection)
00:09:33 puke joins (~vroom@217.138.252.196)
00:09:51 carlomagno joins (~cararell@148.87.23.6)
00:10:15 × carlomagno quits (~cararell@148.87.23.6) (Remote host closed the connection)
00:11:10 × vchlup quits (~vchlup@nat.brnet.cz) (Ping timeout: 265 seconds)
00:12:04 carlomagno joins (~cararell@148.87.23.6)
00:12:29 heatsink joins (~heatsink@2600:1700:bef1:5e10:1cfc:5265:7008:dc13)
00:14:20 × erisco quits (~erisco@d24-57-249-233.home.cgocable.net) (Quit: Leaving)
00:14:52 × Alleria_ quits (~AllahuAkb@2603-7000-3040-0000-e90c-4968-5b06-a6fe.res6.spectrum.com) (Read error: Connection reset by peer)
00:14:58 Ishutin joins (~ishutin@87-97-30-197.pool.digikabel.hu)
00:15:06 j joins (jess@freenode/staff/jess)
00:15:40 × Tuplanolla quits (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
00:15:46 luke joins (~luke@bitnomial/staff/luke)
00:16:24 molehillish joins (~molehilli@2600:8800:8d06:1800:6438:fe04:a25d:577)
00:16:44 aarvar joins (~foewfoiew@2601:602:a080:fa0:64a7:ab1c:edbd:150)
00:16:48 × carlomagno quits (~cararell@148.87.23.6) (Remote host closed the connection)
00:17:21 Alleria_ joins (~AllahuAkb@2603-7000-3040-0000-e90c-4968-5b06-a6fe.res6.spectrum.com)
00:17:46 × myShoggoth quits (~myShoggot@75.164.73.93) (Ping timeout: 240 seconds)
00:18:13 matryoshka joins (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809)
00:18:27 carlomagno joins (~cararell@148.87.23.6)
00:18:58 × Ishutin_ quits (~ishutin@84-236-21-59.pool.digikabel.hu) (Ping timeout: 276 seconds)
00:20:28 j is now known as jess
00:23:21 × DTZUZU quits (~DTZUZO@205.ip-149-56-132.net) (Read error: Connection reset by peer)
00:23:40 DTZUZU joins (~DTZUZO@205.ip-149-56-132.net)
00:25:06 × star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 268 seconds)
00:25:36 × zebrag quits (~inkbottle@aaubervilliers-654-1-98-245.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
00:25:38 × pera quits (~pera@unaffiliated/pera) (Ping timeout: 240 seconds)
00:25:46 × Tario quits (~Tario@201.192.165.173) (Ping timeout: 240 seconds)
00:25:59 zebrag joins (~inkbottle@aaubervilliers-654-1-98-245.w86-212.abo.wanadoo.fr)
00:26:41 × carlomagno quits (~cararell@148.87.23.6) (Remote host closed the connection)
00:27:41 Tario joins (~Tario@200.119.187.3)
00:27:49 carlomagno joins (~cararell@148.87.23.6)
00:28:38 Vadrigar_ joins (~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de)
00:30:23 star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
00:31:18 × elliott_ quits (~elliott@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 260 seconds)
00:32:58 × Vadrigar_ quits (~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds)
00:33:00 × nbloomf quits (~nbloomf@76.217.43.73) (Quit: My MacBook has gone to sleep. ZZZzzz…)
00:35:16 × borne quits (~fritjof@200116b8640fd800f7ed9fd86a2491f0.dip.versatel-1u1.de) (Ping timeout: 240 seconds)
00:35:47 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
00:35:58 × lordyod quits (~lordyod@c-67-169-144-132.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
00:36:08 × Chai-T-Rex quits (~ChaiTRex@gateway/tor-sasl/chaitrex) (Remote host closed the connection)
00:36:36 Chai-T-Rex joins (~ChaiTRex@gateway/tor-sasl/chaitrex)
00:37:53 nbloomf joins (~nbloomf@76.217.43.73)
00:41:55 dave_uy1 is now known as dave_uy
00:42:35 × madjestic quits (~Android@86-88-72-244.fixed.kpn.net) (Ping timeout: 265 seconds)
00:44:51 <dgpratt> A lot of example/sample Haskell project setups I see out there pair a library project with an executable project. I assume the principal reason for doing this is to facilitate automated/coded testing?
00:45:57 jamm_ joins (~jamm@unaffiliated/jamm)
00:47:46 × xff0x quits (~xff0x@2001:1a81:529e:7a00:7793:8daf:79fd:68db) (Ping timeout: 240 seconds)
00:49:21 <L29Ah> dgpratt: it's a wrong way to define tests; there's a separate feature in cabal to define executable tests
00:50:19 × jamm_ quits (~jamm@unaffiliated/jamm) (Ping timeout: 250 seconds)
00:50:38 <L29Ah> also sometimes a simple CLI over a library is useful on its own
00:53:24 <dgpratt> I see. It's not always clear to me what is done for the purpose of exposition vs. what is considered to be standard/best practice.
00:53:39 × haritz quits (~hrtz@unaffiliated/haritz) (Quit: ZNC 1.6.5+deb1+deb9u2 - http://znc.in)
00:56:23 × acidjnk_new quits (~acidjnk@p200300d0c72b9586d8aaf3880c64deb7.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
00:56:51 × dpl__ quits (~dpl@77.121.78.163) (Quit: dpl__)
00:57:29 dpl_ joins (~dpl@77.121.78.163)
01:00:05 haritz joins (~hrtz@62.3.70.206)
01:00:05 × haritz quits (~hrtz@62.3.70.206) (Changing host)
01:00:05 haritz joins (~hrtz@unaffiliated/haritz)
01:00:41 <d34df00d> I want to have a mix of mutability (ST-like, for mutable vectors) and early abort semantics (Maybe-like). How my transformer stack should look like?
01:00:57 <d34df00d> I'm staring at Control.Monad.Primitive and don't understand that.
01:02:02 <d34df00d> Ah, I'm a dummy. I should first do runMaybeT and then do runST, I guess.
01:07:04 × dsrt^ quits (dsrt@ip98-184-89-2.mc.at.cox.net) ()
01:07:59 × Tario quits (~Tario@200.119.187.3) (Read error: Connection reset by peer)
01:08:20 vs^ joins (vs@ip98-184-89-2.mc.at.cox.net)
01:08:54 Tario joins (~Tario@201.192.165.173)
01:09:29 × nbloomf quits (~nbloomf@76.217.43.73) (Quit: My MacBook has gone to sleep. ZZZzzz…)
01:15:22 nbloomf joins (~nbloomf@2600:1700:ad14:3020:1187:cf29:d5f2:66a9)
01:16:09 minoru_shiraeesh joins (~shiraeesh@46.34.207.10)
01:18:53 × Deide quits (~Deide@217.155.19.23) (Quit: Seeee yaaaa)
01:19:46 × stree quits (~stree@68.36.8.116) (Ping timeout: 260 seconds)
01:25:04 × Synthetica quits (uid199651@gateway/web/irccloud.com/x-lnpmltxyeixgvflc) (Quit: Connection closed for inactivity)
01:25:35 × zebrag quits (~inkbottle@aaubervilliers-654-1-98-245.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
01:25:58 zebrag joins (~inkbottle@aaubervilliers-654-1-98-245.w86-212.abo.wanadoo.fr)
01:28:07 × molehillish quits (~molehilli@2600:8800:8d06:1800:6438:fe04:a25d:577) (Remote host closed the connection)
01:28:38 molehillish joins (~molehilli@2600:8800:8d06:1800:6438:fe04:a25d:577)
01:31:37 <monochrom> :)
01:32:09 <monochrom> It goes like "MaybeT (ST s)" so yeah, runMaybeT (runST ...)
01:32:40 <monochrom> err runST (runMaybeT ...)
01:33:02 stree joins (~stree@68.36.8.116)
01:35:03 × molehillish quits (~molehilli@2600:8800:8d06:1800:6438:fe04:a25d:577) (Remote host closed the connection)
01:41:29 × proteus-guy quits (~proteusgu@cm-58-10-208-13.revip7.asianet.co.th) (Remote host closed the connection)
01:44:16 × haritz quits (~hrtz@unaffiliated/haritz) (Quit: ZNC 1.6.5+deb1+deb9u2 - http://znc.in)
01:50:47 s00pcan joins (~chris@075-133-056-178.res.spectrum.com)
01:50:58 <zebrag> [Hum...] I'd say the use of underscore is related to "ellipsis", probably so are variables... Anyway I think if we believe etymonline.com, an "ellipse" would "fall short" of a parabola.
01:54:50 rajivr joins (uid269651@gateway/web/irccloud.com/x-xwsvhleeocbenfhu)
01:57:23 <zebrag> "eleven" and "twelve" are cognate to ellipsis too.
02:02:24 molehillish joins (~molehilli@2600:8800:8d06:1800:6438:fe04:a25d:577)
02:05:51 gnumonic joins (~gnumonic@c-73-170-91-210.hsd1.ca.comcast.net)
02:06:14 jakio6 joins (cab67555@202.182.117.85)
02:07:16 FinnElija joins (~finn_elij@gateway/tor-sasl/finnelija/x-67402716)
02:07:16 finn_elija is now known as Guest56721
02:07:16 FinnElija is now known as finn_elija
02:10:45 × Guest56721 quits (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Ping timeout: 240 seconds)
02:12:41 <koz_> :t foldl'
02:12:42 <lambdabot> Foldable t => (b -> a -> b) -> b -> t a -> b
02:14:29 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:1187:cf29:d5f2:66a9) (Quit: My MacBook has gone to sleep. ZZZzzz…)
02:16:24 × molehillish quits (~molehilli@2600:8800:8d06:1800:6438:fe04:a25d:577) (Remote host closed the connection)
02:19:25 <zebrag> [hum:] arrows are pointing downward and rightward when it's not trouble. (The other way around with string diagrams though). A cone is "over" a diagram, and a cocone "under".
02:25:35 × zebrag quits (~inkbottle@aaubervilliers-654-1-98-245.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
02:25:58 zebrag joins (~inkbottle@aaubervilliers-654-1-98-245.w86-212.abo.wanadoo.fr)
02:29:17 geowiesnot joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
02:30:08 × luke quits (~luke@bitnomial/staff/luke) (Quit: sleep)
02:32:16 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
02:33:58 × geowiesnot quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 240 seconds)
02:36:00 × Sheilong quits (uid293653@gateway/web/irccloud.com/x-dvleaosxdfpycapj) ()
02:36:49 dansho joins (~dansho@ec2-54-150-245-168.ap-northeast-1.compute.amazonaws.com)
02:37:34 × average quits (uid473595@gateway/web/irccloud.com/x-cgevxjwlwytwuber) (Quit: Connection closed for inactivity)
02:37:38 × olligobber quits (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Ping timeout: 240 seconds)
02:43:14 <bbhoss> why does :info div show it as an infix? how can a function be infix and not infix at the same time?
02:43:23 dyeplexer joins (~lol@unaffiliated/terpin)
02:43:41 <bbhoss> I get that the backticks means use it as infix, but showing it as infix in ghci info when they're not provided is interesting to me
02:44:46 <glguy> bbhoss, it shows it because it has a custom fixity
02:45:42 elliott_ joins (~elliott@pool-108-51-101-42.washdc.fios.verizon.net)
02:46:24 <bbhoss> do all the infix operators work like that? it shows them in their "fixed"? form?
02:46:58 <bbhoss> in the form that they'd look if being used as an infix?
02:47:08 <glguy> If something has a custom fixity, then :info shows it
02:50:06 × alx741 quits (~alx741@186.178.109.231) (Quit: alx741)
02:50:56 olligobber joins (olligobber@gateway/vpn/privateinternetaccess/olligobber)
02:51:46 <bbhoss> how is it determined what functions need backticks. symbols don't need them but everything else does?
02:53:29 <mniip> symbols are infix by default, alphanumerics are prefix by default
02:53:30 <glguy> operator symbols are infix by default and prefix when surrounded by ()
02:53:43 <glguy> identifiers are the other way around
02:53:49 <mniip> (symbol) makes it prefix, `alphanumeric` makes it infix
02:55:15 <bbhoss> is there a way to make an alphanumeric function infix without needing backticks? sorry if I'm missing the obvious
03:01:21 <mniip> no
03:04:41 xff0x joins (~xff0x@2001:1a81:5218:cc00:6ca6:3129:ba4e:7b5)
03:05:57 Jd007 joins (~Jd007@162.156.11.151)
03:06:40 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
03:09:20 ezrakilty joins (~ezrakilty@97-113-58-224.tukw.qwest.net)
03:14:42 × Erutuon_ quits (~Erutuon@97-116-16-233.mpls.qwest.net) (Ping timeout: 268 seconds)
03:16:52 × Guest55480 quits (~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) (Ping timeout: 252 seconds)
03:16:53 × RusAlex quits (~Chel@unaffiliated/rusalex) (Read error: Connection reset by peer)
03:17:50 RusAlex joins (~Chel@unaffiliated/rusalex)
03:18:19 × roconnor quits (~roconnor@host-45-58-230-226.dyn.295.ca) (Ping timeout: 258 seconds)
03:19:09 × Wizek quits (uid191769@gateway/web/irccloud.com/x-npgducelboulpnpm) (Quit: Connection closed for inactivity)
03:19:15 roconnor joins (~roconnor@host-45-58-230-226.dyn.295.ca)
03:21:17 elusive joins (~Jeanne-Ka@static-198-54-134-105.cust.tzulo.com)
03:21:28 × irc_user quits (uid423822@gateway/web/irccloud.com/x-qzrrxhbhoabztmbj) (Quit: Connection closed for inactivity)
03:21:28 myShoggoth joins (~myShoggot@75.164.73.93)
03:21:36 × HarveyPwca quits (~HarveyPwc@2601:246:c180:a570:29df:3b00:ad0e:3a06) (Quit: Leaving)
03:24:44 × dansho quits (~dansho@ec2-54-150-245-168.ap-northeast-1.compute.amazonaws.com) (Remote host closed the connection)
03:25:09 dansho joins (~dansho@ec2-54-150-245-168.ap-northeast-1.compute.amazonaws.com)
03:33:46 × poljar1 quits (~poljar@93-139-86-101.adsl.net.t-com.hr) (Remote host closed the connection)
03:34:24 poljar1 joins (~poljar@93-139-86-101.adsl.net.t-com.hr)
03:36:37 × mrchampion quits (~mrchampio@38.18.109.23) (Remote host closed the connection)
03:37:04 × xff0x quits (~xff0x@2001:1a81:5218:cc00:6ca6:3129:ba4e:7b5) (Remote host closed the connection)
03:37:24 xff0x joins (~xff0x@2001:1a81:5218:cc00:f32e:e077:cf40:ecd7)
03:38:12 ph88 joins (~ph88@2a02:8109:9e00:7e5c:e93f:8176:4aa5:ca0b)
03:40:56 × stree quits (~stree@68.36.8.116) (Ping timeout: 246 seconds)
03:42:18 × ph88 quits (~ph88@2a02:8109:9e00:7e5c:e93f:8176:4aa5:ca0b) (Ping timeout: 246 seconds)
03:44:17 × monochrom quits (trebla@216.138.220.146) (Quit: NO CARRIER)
03:50:15 wei2912 joins (~wei2912@unaffiliated/wei2912)
03:54:20 stree joins (~stree@68.36.8.116)
03:55:57 × conal_ quits (~conal@192.145.118.149) (Quit: Computer has gone to sleep.)
03:57:57 monochrom joins (trebla@216.138.220.146)
03:59:37 conal joins (~conal@192.145.118.72)
04:00:01 × myShoggoth quits (~myShoggot@75.164.73.93) (Read error: Connection reset by peer)
04:00:11 × machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 260 seconds)
04:00:50 × elusive quits (~Jeanne-Ka@static-198-54-134-105.cust.tzulo.com) (Quit: Leaving)
04:00:52 × clog quits (~nef@bespin.org) (Ping timeout: 252 seconds)
04:01:23 Rudd0 joins (~Rudd0@185.189.115.108)
04:02:37 × zebrag quits (~inkbottle@aaubervilliers-654-1-98-245.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
04:05:06 × minoru_shiraeesh quits (~shiraeesh@46.34.207.10) (Ping timeout: 265 seconds)
04:07:35 × solvr quits (57e3c46d@87.227.196.109) (Quit: Connection closed)
04:09:26 pupuupup joins (~pupuupup@node-bv.pool-125-24.dynamic.totinternet.net)
04:10:23 × fresheyeball quits (~isaac@c-71-237-105-37.hsd1.co.comcast.net) (Quit: WeeChat 2.9)
04:10:31 Erutuon_ joins (~Erutuon@97-116-16-233.mpls.qwest.net)
04:12:21 × pavonia quits (~user@unaffiliated/siracusa) (Quit: Bye!)
04:12:49 × Jd007 quits (~Jd007@162.156.11.151) (Quit: Jd007)
04:17:18 × pupuupup quits (~pupuupup@node-bv.pool-125-24.dynamic.totinternet.net) (Ping timeout: 246 seconds)
04:17:41 nbloomf joins (~nbloomf@2600:1700:ad14:3020:dd79:922b:dd45:f445)
04:20:10 minoru_shiraeesh joins (~shiraeesh@46.34.207.10)
04:20:59 Jd007 joins (~Jd007@162.156.11.151)
04:26:55 DirefulSalt joins (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt)
04:28:41 justsomeguy joins (~justsomeg@unaffiliated/--/x-3805311)
04:29:05 Vadrigar_ joins (~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de)
04:30:15 × azure1 quits (~azure@103.154.230.130) (Ping timeout: 246 seconds)
04:30:44 azure1 joins (~azure@103.154.230.130)
04:31:24 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:dd79:922b:dd45:f445) (Quit: My MacBook has gone to sleep. ZZZzzz…)
04:33:24 × Vadrigar_ quits (~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de) (Ping timeout: 246 seconds)
04:37:41 × dansho quits (~dansho@ec2-54-150-245-168.ap-northeast-1.compute.amazonaws.com) (Quit: Leaving)
04:38:10 solvr joins (57e3c46d@87.227.196.109)
04:42:15 × dpl_ quits (~dpl@77.121.78.163) (Ping timeout: 268 seconds)
04:46:22 molehillish joins (~molehilli@2600:8800:8d06:1800:6438:fe04:a25d:577)
04:50:26 × stree quits (~stree@68.36.8.116) (Quit: Caught exception)
04:50:50 stree joins (~stree@68.36.8.116)
04:52:48 Lycurgus joins (~niemand@98.4.120.166)
04:53:07 isBEKaml joins (~isBEKaml@unaffiliated/isbekaml)
04:54:33 desophos joins (~desophos@2601:249:1680:a570:2c06:4263:a6df:407d)
05:02:55 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
05:03:16 pupuupup joins (~pupuupup@node-bv.pool-125-24.dynamic.totinternet.net)
05:03:18 × minoru_shiraeesh quits (~shiraeesh@46.34.207.10) (Ping timeout: 240 seconds)
05:07:21 × pupuupup quits (~pupuupup@node-bv.pool-125-24.dynamic.totinternet.net) (Ping timeout: 246 seconds)
05:09:31 × matryoshka quits (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) (Ping timeout: 276 seconds)
05:11:26 × Jd007 quits (~Jd007@162.156.11.151) (Quit: Jd007)
05:16:16 × ezrakilty quits (~ezrakilty@97-113-58-224.tukw.qwest.net) (Remote host closed the connection)
05:25:54 minoru_shiraeesh joins (~shiraeesh@46.34.207.10)
05:25:56 × elliott_ quits (~elliott@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 246 seconds)
05:30:59 × minoru_shiraeesh quits (~shiraeesh@46.34.207.10) (Ping timeout: 268 seconds)
05:31:04 tpefreedom joins (~tsomers@184-157-240-110.dyn.centurytel.net)
05:31:29 minoru_shiraeesh joins (~shiraeesh@46.34.207.10)
05:32:38 × Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer)
05:32:54 Tario joins (~Tario@201.192.165.173)
05:33:19 wallacer joins (~quassel@2001:bc8:1824:9a:cafe:babe:b00b:aa01)
05:33:20 × wallacer quits (~quassel@2001:bc8:1824:9a:cafe:babe:b00b:aa01) (Max SendQ exceeded)
05:33:31 wallacer joins (~quassel@2001:bc8:1824:9a:cafe:babe:b00b:aa01)
05:33:32 × wallacer quits (~quassel@2001:bc8:1824:9a:cafe:babe:b00b:aa01) (Max SendQ exceeded)
05:33:44 DTZUZU_ joins (~DTZUZO@207.81.119.43)
05:35:42 × DTZUZU quits (~DTZUZO@205.ip-149-56-132.net) (Ping timeout: 246 seconds)
05:36:20 × isBEKaml quits (~isBEKaml@unaffiliated/isbekaml) (Quit: leaving)
05:36:46 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
05:37:10 drbean_ joins (~drbean@TC210-63-209-190.static.apol.com.tw)
05:38:46 × dexterfoo quits (dexter@2a01:7e00::f03c:91ff:fe86:59ec) (Quit: WeeChat 1.9.1)
05:38:47 solidus-river joins (~mike@174.127.249.180)
05:40:02 takuan joins (~takuan@178-116-218-225.access.telenet.be)
05:40:53 hidedagger joins (~nate@unaffiliated/hidedagger)
05:41:22 × Lycurgus quits (~niemand@98.4.120.166) (Quit: Exeunt)
05:43:58 × Tario quits (~Tario@201.192.165.173) (Ping timeout: 240 seconds)
05:45:34 × urodna quits (~urodna@unaffiliated/urodna) (Quit: urodna)
05:53:22 × mozzarella quits (~sam@unaffiliated/sam113101) (Ping timeout: 265 seconds)
05:54:00 bitmagie joins (~Thunderbi@200116b80660de0030b444d902e7bc81.dip.versatel-1u1.de)
05:55:12 mozzarella joins (~sam@unaffiliated/sam113101)
05:57:43 clog joins (~nef@bespin.org)
05:58:48 × tpefreedom quits (~tsomers@184-157-240-110.dyn.centurytel.net) (Quit: Leaving)
06:03:24 × tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
06:06:24 × paddymahoney quits (~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com) (Read error: Connection reset by peer)
06:07:12 paddymahoney joins (~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com)
06:07:19 × minoru_shiraeesh quits (~shiraeesh@46.34.207.10) (Read error: No route to host)
06:07:37 minoru_shiraeesh joins (~shiraeesh@46.34.207.10)
06:09:01 × benkolera quits (uid285671@gateway/web/irccloud.com/x-xxmlbqheparjayob) (Quit: Connection closed for inactivity)
06:09:21 × minoru_shiraeesh quits (~shiraeesh@46.34.207.10) (Read error: No route to host)
06:09:42 minoru_shiraeesh joins (~shiraeesh@46.34.207.10)
06:14:18 × minoru_shiraeesh quits (~shiraeesh@46.34.207.10) (Client Quit)
06:14:30 minoru_shiraeesh joins (~shiraeesh@46.34.207.10)
06:16:17 × bitmapper quits (uid464869@gateway/web/irccloud.com/x-zbdmgvvkmwccqscd) (Quit: Connection closed for inactivity)
06:20:38 × minoru_shiraeesh quits (~shiraeesh@46.34.207.10) (Ping timeout: 240 seconds)
06:28:02 ania123 joins (d4488c32@212.72.140.50)
06:30:52 × molehillish quits (~molehilli@2600:8800:8d06:1800:6438:fe04:a25d:577) (Remote host closed the connection)
06:33:05 minoru_shiraeesh joins (~shiraeesh@46.34.207.10)
06:33:46 × Erutuon_ quits (~Erutuon@97-116-16-233.mpls.qwest.net) (Ping timeout: 252 seconds)
06:34:12 molehillish joins (~molehilli@2600:8800:8d06:1800:6438:fe04:a25d:577)
06:39:20 madjestic joins (~Android@86-88-72-244.fixed.kpn.net)
06:44:04 Lord_of_Life joins (~Lord@unaffiliated/lord-of-life/x-0885362)
06:47:24 coot joins (~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl)
06:48:51 × molehillish quits (~molehilli@2600:8800:8d06:1800:6438:fe04:a25d:577) (Remote host closed the connection)
06:49:36 molehillish joins (~molehilli@2600:8800:8d06:1800:6438:fe04:a25d:577)
06:52:56 danvet joins (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa)
06:54:09 idhugo_ joins (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net)
06:55:21 × molehillish quits (~molehilli@2600:8800:8d06:1800:6438:fe04:a25d:577) (Ping timeout: 252 seconds)
06:56:10 × Techcable quits (~Techcable@168.235.93.147) (Quit: ZNC - https://znc.in)
06:57:03 mac_ava joins (~mac_ava@2001:4430:5058:5bb0::832:30a4)
06:58:25 Techcable joins (~Techcable@168.235.93.147)
06:59:10 × stree quits (~stree@68.36.8.116) (Ping timeout: 268 seconds)
06:59:21 × carlomagno quits (~cararell@148.87.23.6) (Ping timeout: 246 seconds)
07:00:13 Vadrigar_ joins (~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de)
07:00:16 × gxt quits (~gxt@gateway/tor-sasl/gxt) (Remote host closed the connection)
07:00:45 gxt joins (~gxt@gateway/tor-sasl/gxt)
07:04:26 × Vadrigar_ quits (~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds)
07:06:21 × danvet quits (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 246 seconds)
07:09:47 × vs^ quits (vs@ip98-184-89-2.mc.at.cox.net) ()
07:10:31 × Ariakenom quits (~Ariakenom@2001:9b1:efb:fc00:b497:8c3b:17d1:d29) (Read error: Connection reset by peer)
07:11:52 stree joins (~stree@68.36.8.116)
07:15:18 × minoru_shiraeesh quits (~shiraeesh@46.34.207.10) (Ping timeout: 240 seconds)
07:18:30 dsrt^ joins (dsrt@ip98-184-89-2.mc.at.cox.net)
07:20:10 molehillish joins (~molehilli@2600:8800:8d06:1800:6438:fe04:a25d:577)
07:23:00 × davidfetter1 quits (~davidfett@37.120.211.188) (Remote host closed the connection)
07:29:16 × molehillish quits (~molehilli@2600:8800:8d06:1800:6438:fe04:a25d:577) (Ping timeout: 276 seconds)
07:30:43 Vadrigar_ joins (~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de)
07:31:18 × locrian9 quits (~mike@99-153-255-194.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 240 seconds)
07:31:45 gurmble joins (~Thunderbi@freenode/staff/grumble)
07:32:31 × Chai-T-Rex quits (~ChaiTRex@gateway/tor-sasl/chaitrex) (Remote host closed the connection)
07:32:40 Lycurgus joins (~niemand@98.4.120.166)
07:32:50 Chai-T-Rex joins (~ChaiTRex@gateway/tor-sasl/chaitrex)
07:33:32 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
07:33:49 malumore joins (~malumore@151.62.119.109)
07:33:49 × ezzieyguywuf quits (~Unknown@unaffiliated/ezzieyguywuf) (Ping timeout: 276 seconds)
07:35:41 × grumble quits (grumble@freenode/staff/grumble) (Remote host closed the connection)
07:35:49 gurmble is now known as grumble
07:36:42 minoru_shiraeesh joins (~shiraeesh@46.34.207.10)
07:36:46 Kerberos88 joins (~Kerberos8@ppp-94-68-130-83.home.otenet.gr)
07:37:11 × Kerberos88 quits (~Kerberos8@ppp-94-68-130-83.home.otenet.gr) (Client Quit)
07:38:48 zleap joins (~zleap@37.120.211.188)
07:41:18 × cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
07:41:51 × xsperry quits (~as@unaffiliated/xsperry) (Ping timeout: 260 seconds)
07:47:28 Franciman joins (~francesco@host-79-53-62-46.retail.telecomitalia.it)
07:48:15 molehillish joins (~molehilli@2600:8800:8d06:1800:6438:fe04:a25d:577)
07:51:21 × solvr quits (57e3c46d@87.227.196.109) (Quit: Connection closed)
07:52:49 × molehillish quits (~molehilli@2600:8800:8d06:1800:6438:fe04:a25d:577) (Ping timeout: 250 seconds)
07:54:39 × minoru_shiraeesh quits (~shiraeesh@46.34.207.10) (Ping timeout: 246 seconds)
07:59:36 elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
08:01:20 × olligobber quits (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Ping timeout: 246 seconds)
08:02:53 × hidedagger quits (~nate@unaffiliated/hidedagger) (Quit: WeeChat 3.1)
08:07:34 ADG1089 joins (~aditya@27.58.165.185)
08:08:10 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
08:08:13 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 265 seconds)
08:10:12 ezzieyguywuf joins (~Unknown@unaffiliated/ezzieyguywuf)
08:10:17 borne joins (~fritjof@200116b8644f3500f7ed9fd86a2491f0.dip.versatel-1u1.de)
08:16:04 × danso quits (~dan@2001:1970:52e7:d000:96b8:6dff:feb3:c009) (Ping timeout: 276 seconds)
08:16:34 olligobber joins (olligobber@gateway/vpn/privateinternetaccess/olligobber)
08:17:32 Gurkenglas joins (~Gurkengla@unaffiliated/gurkenglas)
08:26:13 × p3n quits (~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1) (Remote host closed the connection)
08:26:35 × idhugo_ quits (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 265 seconds)
08:27:14 p3n joins (~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1)
08:29:10 × Lycurgus quits (~niemand@98.4.120.166) (Quit: Exeunt)
08:29:37 idhugo_ joins (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net)
08:30:20 danso joins (~dan@d67-193-121-2.home3.cgocable.net)
08:31:32 Wizek joins (uid191769@gateway/web/irccloud.com/x-ivxcahppedejjawd)
08:31:44 curl joins (5ce955fb@gateway/web/cgi-irc/kiwiirc.com/ip.92.233.85.251)
08:31:46 Sornaensis joins (~Sornaensi@077213203030.dynamic.telenor.dk)
08:32:55 kuribas joins (~user@ptr-25vy0i929e202xlroa1.18120a2.ip6.access.telenet.be)
08:33:26 <curl> hi, yesterday we spoke about the concept of sum-records, and emulating them as a GADT
08:33:52 txb920 joins (5af6ddfd@90.246.221.253)
08:34:12 <curl> extensible product types are sum types, and so to get eg list records we need sum-records
08:35:08 × Sorny quits (~Sornaensi@45.41.132.136) (Ping timeout: 252 seconds)
08:35:39 Tuplanolla joins (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
08:35:55 <curl> recursive programmes are also similarly extensible in construction, and require the same sum-record method
08:36:44 <curl> eg branching on the basecase
08:37:41 <curl> otherwise our programs if they were just nested function calls would be made of products
08:37:52 <curl> and sums enter on pattern matching for example
08:39:59 <curl> ie, the structure on which we can represent a lazy functional program must have sum-records, for the recursive accessors
08:41:05 <curl> as a form of cycle explicating reference
08:41:46 xsperry joins (~as@unaffiliated/xsperry)
08:42:57 <curl> one thing im not sure about is how to get scope limitation
08:43:23 sord937 joins (~sord937@gateway/tor-sasl/sord937)
08:43:40 <curl> since these records are available for anywhere in the datastructure to reference, its like being able to use different functions local scope, which is bad
08:44:15 wonko7 joins (~wonko7@62.115.229.50)
08:45:27 × vicfred quits (vicfred@gateway/vpn/mullvad/vicfred) (Quit: Leaving)
08:45:41 purelazy joins (502a2a96@80-42-42-150.dynamic.dsl.as9105.com)
08:45:51 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Remote host closed the connection)
08:46:16 sord937 joins (~sord937@gateway/tor-sasl/sord937)
08:46:35 <curl> what you would want is eg, being able to have everything declared "at the same level" being with shared scope, but that requires something intrinsically listlike in the program datatypes structure
08:46:54 × purelazy quits (502a2a96@80-42-42-150.dynamic.dsl.as9105.com) (Client Quit)
08:47:28 <curl> scope access restrictions then seem quite a specific thing that would have a bizzare syntax that might be overboard, if this was actually going to make its way into something like GADT syntax
08:48:27 <curl> where the need to represent cyclic structures is more general than trying to represent recursive programs which seems to need an altered syntax
08:48:57 <curl> for scoping
08:48:59 jacks2 joins (~bc8134e3@217.29.117.252)
08:49:35 <curl> which maybe isnt such an unnatural consideration when making these record references to make cycles
08:52:24 <curl> the main result is basically that all you need is record accessors instead of values to get cycles, and if this can have scope restriction
08:52:59 <curl> and that this needs sum-records
08:53:33 <curl> and actually, making the whole GADT in one go instead of making it in levels is not normal haskell
08:54:19 <curl> normally you put it together when you construct the value, rather than the GADT
08:54:41 molehillish joins (~molehilli@2600:8800:8d06:1800:6438:fe04:a25d:577)
08:55:22 <curl> the type indexing for the referencing meaning its shape is designated at decleration of the GADT, and so there is no need to not have it be constructed there too
08:55:46 <curl> but this needs to bring with it some amount of machenery from how we construct values
08:56:10 <curl> its not easy to say, eg, repeat one branch n times, when declaring the GADT
08:56:29 <curl> whereas this is exactly how we would construct a value
08:56:40 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
08:58:04 <curl> at least with something like "where" in the GADT construction syntax
08:59:06 × molehillish quits (~molehilli@2600:8800:8d06:1800:6438:fe04:a25d:577) (Ping timeout: 258 seconds)
09:00:06 × jkaye[m] quits (jkayematri@gateway/shell/matrix.org/x-ennhxxzzzhkixwvh) (Quit: Idle for 30+ days)
09:00:06 × alecs[m] quits (malumorema@gateway/shell/matrix.org/x-rhoytvrhanidetkb) (Quit: Idle for 30+ days)
09:01:52 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
09:02:04 × shutdown_-h_now quits (~arjan@2001:1c06:2d0b:2312:71ef:dee2:f1b7:70aa) (Ping timeout: 245 seconds)
09:02:12 <curl> unless somehow the "referencing" was differed until the construction of values, but the point of bringing it into the GADT decleration was to have the references available there
09:02:37 <curl> the records to any position that could be referenced to create cycles
09:02:51 <curl> im unsure at this point
09:05:40 <curl> i think the version with cycles created at the value construction is the version we have now, and the GADT version would be better by handling cyclic references the same as branches in a nested datatype
09:07:13 × drbean_ quits (~drbean@TC210-63-209-190.static.apol.com.tw) (Quit: ZNC 1.8.2+cygwin2 - https://znc.in)
09:07:32 × zleap quits (~zleap@37.120.211.188) (Remote host closed the connection)
09:07:36 <curl> the main difference is that you have to have this special environment for as you assemble the layers of the nested datatypes
09:07:46 raym joins (~ray@115.187.32.14)
09:08:00 <curl> so that you can refer to "this" as the whole thing and access over it with the record accessors
09:08:52 × Sgeo quits (~Sgeo@ool-18b98aa4.dyn.optonline.net) (Read error: Connection reset by peer)
09:09:22 <curl> which obviously you can do when constructing values
09:10:38 × Vadrigar_ quits (~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds)
09:10:57 <curl> so then maybe the whole thing would work with a kind of souped up type synonym
09:12:04 pera joins (~pera@unaffiliated/pera)
09:13:14 <curl> if i write; type A = [Double], there are no records to access over the [], so it seems like it would need a HList or something where we could get type info about each position seperately
09:13:21 <curl> but really what it needs are sum-records
09:15:30 <curl> if i pretend i have these with a tuple, i could write like; type' B = (Double,Fst B,(Double,Fst (Thrd B)))
09:16:27 <curl> i guess the records should be lowercase...
09:16:55 × desophos quits (~desophos@2601:249:1680:a570:2c06:4263:a6df:407d) (Read error: Connection reset by peer)
09:17:25 <curl> data Pair a b = Pair {fst :: a,snd :: b}
09:17:47 <curl> type' C = Pair Double (fst C)
09:18:04 jakalx parts (~jakalx@base.jakalx.net) ("Error from remote client")
09:18:18 <curl> and i would need sum records to do anything fancy and branching recursive
09:18:24 <curl> ie finite lazy
09:18:41 shutdown_-h_now joins (~arjan@2001:1c06:2d0b:2312:54a5:8b06:7d0d:55e6)
09:19:38 × stree quits (~stree@68.36.8.116) (Ping timeout: 240 seconds)
09:22:10 <curl> though that might be wrong, since sum types would be instantiated one way or the other, so cant actually be *accessed* over as if there was a choice of which it is
09:22:41 <curl> ie the whole record accessor might be wrong, its just like fromLeft that is used because it knows it is Left
09:25:53 kqr joins (~kqr@vps.xkqr.org)
09:27:09 × madjestic quits (~Android@86-88-72-244.fixed.kpn.net) (Ping timeout: 268 seconds)
09:27:33 × heatsink quits (~heatsink@2600:1700:bef1:5e10:1cfc:5265:7008:dc13) (Remote host closed the connection)
09:28:22 <curl> i guess its that the same accessor works accross a range of sum datatypes
09:28:34 <curl> eg 4th can be used on a list of any length
09:29:36 <curl> but then it seems strange that somehow this sum-records has ended up with something like a definition of (!!) for lists
09:30:48 × solidus-river quits (~mike@174.127.249.180) (Remote host closed the connection)
09:31:01 <curl> i guess defining the poistion over an arbitrary recursive program is going to be nion impossible
09:31:12 Criggie1 joins (~Criggie@185.204.1.185)
09:31:18 × malumore quits (~malumore@151.62.119.109) (Ping timeout: 240 seconds)
09:32:21 <curl> so either an expanded syntax for the definition of records, or full dependent types allowing the regular implementations over the values to be used like "record accessors"
09:32:47 Vadrigar_ joins (~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de)
09:33:08 stree joins (~stree@68.36.8.116)
09:35:18 shad0w_ joins (a0ca255a@160.202.37.90)
09:35:46 <curl> so the type of a GADT constructor could be like Constructor :: MyGADT `at` somePosition -> [a] !! 2 -> MyGADT
09:37:08 <curl> erm, i dont think the [a] !! 2 actually works, because you dont know what that contains, but MyGADT `at` somePostion should be defined in the GADT declaration
09:37:18 <curl> though then im not sure where `at' is defined
09:37:28 × pera quits (~pera@unaffiliated/pera) (Ping timeout: 252 seconds)
09:37:49 fendor joins (~fendor@77.119.130.155.wireless.dyn.drei.com)
09:38:19 Varis joins (~Tadas@unaffiliated/varis)
09:38:58 × Vadrigar_ quits (~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds)
09:39:01 <maralorn> curl: Why don't you write a blog post? That seems mich more appropriate for this kind of communication.
09:42:04 Guest55480 joins (~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de)
09:46:00 <curl> for the feedback
09:46:06 <curl> hopefully!
09:46:24 <curl> im not sure the idea is ready for publication yet
09:46:33 <curl> i was thinking i might try some test cases first
09:46:55 <curl> but cant really implement it before working through a few ideas, some of which seem quite difficult
09:47:15 <curl> would love the input of someone able to understand the idea
09:47:58 <curl> before embarking on anything too ambitious while working in a total vaccum
09:48:55 <curl> seems pointless when there are people with the expertise that could potentially save from errors at the first phase of a project
09:49:47 <curl> i think i managed to describe the concept well enough for such consultation
09:52:32 × Alleria__ quits (~textual@2603-7000-3040-0000-eca8-d3b7-f438-6f95.res6.spectrum.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
09:54:18 jakalx joins (~jakalx@base.jakalx.net)
09:56:46 <curl> it probably makes more sense as a language proposal than a blog post really, but its nowhere near at that stage yet
09:56:56 <curl> i guess this would be the place to ask
09:57:07 acidjnk_new joins (~acidjnk@p200300d0c72b9586d8aaf3880c64deb7.dip0.t-ipconnect.de)
09:59:24 <curl> all i really want is to be able to write :: Fst (Pair a b) -> MyGADT, instead of :: a -> MyGADT
10:00:24 <curl> woah, i can do that already...
10:00:38 <curl> hang on this actually might work
10:01:45 × coot quits (~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
10:03:16 _ht joins (~quassel@82-169-194-8.biz.kpn.net)
10:05:04 <curl> no, i still cant make reference to *this* object though, so even if i could say "this branch of a tree points to this other position on *another* tree" i cant ensure the nother three is this tree
10:05:43 <curl> but i guess i dont need to...
10:08:04 × marek quits (~mmahut@209.250.249.245) (Changing host)
10:08:04 marek joins (~mmahut@fedora/pyxel)
10:08:17 × ADG1089 quits (~aditya@27.58.165.185) (Remote host closed the connection)
10:11:02 molehillish joins (~molehilli@2600:8800:8d06:1800:6438:fe04:a25d:577)
10:11:50 geowiesnot joins (~user@87-89-181-157.abo.bbox.fr)
10:15:33 <maralorn> curl: So for me personally following a long thought like this in IRC does not work. It’s the wrong medium. And from what I can observe I don‘t get the feeling that you are getting any meaningful feedback.
10:15:40 × molehillish quits (~molehilli@2600:8800:8d06:1800:6438:fe04:a25d:577) (Ping timeout: 276 seconds)
10:15:54 <curl> ok
10:18:18 <maralorn> Anyways can someone please tell me that I am overlooking the great library for dealing with calendars, event recurrence, etc. that obviously everyone in the ecosystem is using and that is still maintained?
10:23:28 <siers> how do I do (+1) for data inside newtype with Control.Lens.Wrapped?
10:24:59 <siers> is it meant for that even?
10:25:33 <olligobber> I managed to mess up my haskell installation
10:26:11 <siers> ah, it's (_Wrapped %~ (+1))
10:26:16 <olligobber> what is meant to be in .ghc/x86_64-linux-8.10.4/environments/default ?
10:27:26 <olligobber> well, deleting the last line of it fixed my issue
10:28:24 heatsink joins (~heatsink@2600:1700:bef1:5e10:f0bc:f236:90c7:a6f5)
10:29:14 Alleria joins (~textual@zrcout.mskcc.org)
10:29:37 Alleria is now known as Guest19166
10:29:53 <kuribas> how do you install executables with cabal?
10:30:28 <[exa]> `cabal install`?
10:31:08 <kuribas> Warning: You asked to install executables, but there are no executables in
10:31:08 <kuribas> target: yaml
10:31:19 <kuribas> yet: https://hackage.haskell.org/package/yaml
10:31:28 <[exa]> ah, it's got the --lib switch (or similar)
10:31:32 <kuribas> Executables: yaml2json, json2yaml, examples
10:31:41 <kuribas> what does that mean?
10:31:49 <[exa]> did you disable the no-exe flag?
10:32:06 <[exa]> (`-f -no-exe`)
10:32:28 × hexo quits (~hexo@83.167.228.130) (Read error: Connection reset by peer)
10:32:28 hacxman is now known as hexo
10:32:47 × heatsink quits (~heatsink@2600:1700:bef1:5e10:f0bc:f236:90c7:a6f5) (Ping timeout: 252 seconds)
10:32:56 <kuribas> no?
10:33:58 <kuribas> I just did cabal install yaml
10:34:09 <kuribas> I didn't enable or disable anything
10:34:28 × shad0w_ quits (a0ca255a@160.202.37.90) (Quit: Connection closed)
10:36:00 <siers> can I define data and do something else at the same time in lambdabot?
10:36:00 hexo- joins (~hexo@2a01:430:17:1::ffff:328)
10:36:38 <kuribas> [exa]: can that be overridden?
10:38:12 <kuribas> why is that flag there anyway?
10:38:53 mrd joins (~mrd@45.61.147.211)
10:39:03 × mrd quits (~mrd@45.61.147.211) (Changing host)
10:39:03 mrd joins (~mrd@debian/developer/mrd)
10:39:55 <kuribas> I mean, what is the point of having an executable in a package if it doesn't get installed anyway?
10:40:31 × borne quits (~fritjof@200116b8644f3500f7ed9fd86a2491f0.dip.versatel-1u1.de) (Ping timeout: 250 seconds)
10:42:55 × wei2912 quits (~wei2912@unaffiliated/wei2912) (Remote host closed the connection)
10:43:41 Vadrigar_ joins (~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de)
10:46:33 romesrf joins (~romesrf@44.190.189.46.rev.vodafone.pt)
10:48:18 × Vadrigar_ quits (~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds)
10:48:43 Vadrigar_ joins (~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de)
10:50:35 gehmehgeh joins (~ircuser1@gateway/tor-sasl/gehmehgeh)
10:51:46 <[exa]> kuribas: yaml is usually installed as a library for just parsing yamls into many projects, 99% users will neve need the tools. Devs who need the tools are free to install them, at the cost of the compute time + storage
10:52:04 <kuribas> [exa]: how?
10:52:06 <[exa]> that's perhaps cleaner than unnecessarily spawning another package yaml-tools or so
10:52:21 <[exa]> `cabal install -f -no-exe yaml` doesn't work?
10:52:26 madjest39 joins (~Android@77-63-117-209.mobile.kpn.net)
10:53:00 <kuribas> ah it does, thanks!
10:53:16 <[exa]> siers: by defining data, you mean defining a data type? (the other both here knows that for sure)
10:53:37 <siers> yeah, data type
10:53:39 <[exa]> % data SiersData = Siers Int
10:53:39 <yahb> [exa]:
10:53:45 <[exa]> % :t Siers 123
10:53:45 <yahb> [exa]: SiersData
10:54:06 × Vadrigar_ quits (~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de) (Ping timeout: 268 seconds)
10:54:18 <[exa]> as always, suggest not defining too many datatypes here :]
10:57:31 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:57:52 pera joins (~pera@unaffiliated/pera)
10:58:21 Vadrigar_ joins (~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de)
11:01:05 <siers> however I understood that my newtype is not the kind meant to be used with lens
11:03:15 <[exa]> why not
11:03:38 × Vadrigar_ quits (~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds)
11:03:47 <siers> it seems like it works for Const because Const has type parameters whereas mine is newtype X = Map .. ..
11:04:06 × ania123 quits (d4488c32@212.72.140.50) (Quit: Connection closed)
11:06:25 invaser joins (~Thunderbi@31.148.23.125)
11:06:38 <romesrf> hey everyone, if i have a list of [Maybe Something] and i want to convert it to [Something] as long none of the elements is nothing
11:06:42 <romesrf> how would i do it?
11:07:15 <curl> :t catMaybe
11:07:17 <lambdabot> error:
11:07:17 <lambdabot> • Variable not in scope: catMaybe
11:07:17 <lambdabot> • Perhaps you meant one of these:
11:07:39 <curl> :t catMaybes
11:07:40 <lambdabot> [Maybe a] -> [a]
11:07:57 <curl> oh, if *none* are Nothing
11:08:23 <romesrf> curl: that looks nice still, i'll look into it
11:08:23 <curl> you could check the lengths were the same from the return of catMaybes
11:09:04 <romesrf> i think i can describe what i'm trying to do better hmm
11:09:28 <siers> I wrote data P = forall c. (C c) => P { c :: c }, and I have an update function from C typeclass, but I can't update that field in P with the new value :/
11:10:32 <curl> we need the code
11:11:27 jakalx parts (~jakalx@base.jakalx.net) ("Error from remote client")
11:11:41 <siers> judging by this it might just not be implemented https://gitlab.haskell.org/ghc/ghc/-/issues/16501
11:12:50 <curl> it wasnt clear you were having an issue with records
11:13:08 <siers> I thought P is a record
11:13:23 <curl> it says it pattern matches ok
11:13:41 <curl> that bug you linked is something to do with using a record in an edit
11:14:08 <curl> if we could see the code you have and the error it would be helpful
11:15:02 solvr joins (57e3c46d@87.227.196.109)
11:15:47 <romesrf> i have a fun typeOf :: (Expr -> Maybe Type). some patterns are resolved with typeOf (Patt exp) = do (typ <- typeOf exp) return typ. By doing this, i can work with Maybe types in the function body and if a recursive evaluation is Nothing for an expression part, it will stop evaluation (because of the definition of >>=) - and eval to Nothing. And i have this working. Now i'm trying to make something
11:15:49 <romesrf> similar but for "typeOf (Tup list) = ..." -> If any item of the list is "Nothing" then it should evaluate to Nothing, else it should be a list of the evaluated types from each element
11:16:00 <romesrf> i might have made this more confusing :)
11:16:07 <siers> curl, https://github.com/siers/ppmz/commit/258ebad2e4f85e7f23e3f1e4932f3a1501b6019f
11:16:53 <curl> oh so you hit this with lenses?
11:16:58 × wonko7 quits (~wonko7@62.115.229.50) (Ping timeout: 240 seconds)
11:17:18 <curl> maybe they are using the record somehow with all their TH stuff
11:17:36 <siers> the lenses are separate with L suffix, they shouldn't affect this, I think
11:17:46 <curl> i guess that means a rewrite that uses pattern matching instead of records is then not an option
11:18:06 <curl> could you provide a least sufficient example?
11:19:11 <curl> i thought maybe it was from makeFieldOptics
11:19:20 Vadrigar_ joins (~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de)
11:21:40 jakalx joins (~jakalx@base.jakalx.net)
11:22:07 <romesrf> Okay, i wrote a sample of what i'm trying to do (https://paste.tomsmeding.com/twchJjgx), maybe with the previous explanation it makes some more sense
11:23:12 <siers> curl, I should be able to make a small one, yeah
11:23:26 <siers> but it really just does seem unimplemented
11:25:04 haskellstudent joins (~AdminUser@213-225-9-45.nat.highway.a1.net)
11:26:17 son0p joins (~son0p@181.58.39.182)
11:29:26 heatsink joins (~heatsink@2600:1700:bef1:5e10:f0bc:f236:90c7:a6f5)
11:30:54 <siers> http://sprunge.us/MK2zE7
11:31:09 <siers> with errors: http://sprunge.us/4WqGTB
11:31:39 × mac_ava quits (~mac_ava@2001:4430:5058:5bb0::832:30a4) (Ping timeout: 250 seconds)
11:31:39 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
11:34:19 × heatsink quits (~heatsink@2600:1700:bef1:5e10:f0bc:f236:90c7:a6f5) (Ping timeout: 276 seconds)
11:34:39 <haskellstudent> I am trying to understand memory usage in Haskell. This small program allocates about 1GB of memory, as it should, but it never give back the memory to the OS.
11:34:44 <haskellstudent> https://paste.tomsmeding.com/LzgUfgvh
11:34:56 jakalx parts (~jakalx@base.jakalx.net) ("Error from remote client")
11:35:10 jakalx joins (~jakalx@base.jakalx.net)
11:35:12 <siers> ooo, NumericUnderscores – didn't know
11:35:16 <siers> ruby had those
11:35:30 <haskellstudent> after a long time of cofusion i found out that this is normal behaviour, but it should be able to be changed with: stack run -- +RTS --disable-delayed-os-memory-return
11:36:08 <haskellstudent> but that switch doesnt make a difference on ghc 8.10.4, memory usage displayed in the OS stays at 1GB. is there a way to make it return it?
11:36:50 <siers> 1GB or 16GB?
11:37:29 <haskellstudent> 1011728 kb as per ps aux, so about 1GB as it should be
11:38:15 wonko7 joins (~wonko7@45.15.17.60)
11:38:23 <haskellstudent> but it should be garbage collected and deallocated after the print. which it is as far as i can tell, but not given back to the OS
11:39:46 × gnumonic quits (~gnumonic@c-73-170-91-210.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
11:41:08 × stree quits (~stree@68.36.8.116) (Ping timeout: 246 seconds)
11:42:54 × berberman quits (~berberman@unaffiliated/berberman) (Ping timeout: 245 seconds)
11:43:24 berberman joins (~berberman@unaffiliated/berberman)
11:44:10 <romesrf> i figured my problem out some other way
11:44:31 <romesrf> my question was far from good hahah, thank you curl, catMaybes was useful :)
11:45:40 × Varis quits (~Tadas@unaffiliated/varis) (Remote host closed the connection)
11:47:39 × jacks2 quits (~bc8134e3@217.29.117.252) (Quit: quit)
11:49:12 × xff0x quits (~xff0x@2001:1a81:5218:cc00:f32e:e077:cf40:ecd7) (Quit: xff0x)
11:50:04 × curl quits (5ce955fb@gateway/web/cgi-irc/kiwiirc.com/ip.92.233.85.251) (Quit: Connection closed)
11:52:13 malumore joins (~malumore@151.62.119.109)
11:52:47 <Uniaika> maralorn: got your message from the 26th, thanks for the heads-up :)
11:52:47 <siers> ski, that sprunge.us ↑ is what I came up with. I was hoping this would theoretically give me faster code without branches if the code gets specialized
11:53:36 <siers> ski, but it seems that I'll just use a ADT and have branches. I know that it will be very guessable for the branch prediction
11:54:32 stree joins (~stree@68.36.8.116)
11:55:48 mouseghost joins (~draco@wikipedia/desperek)
11:56:04 × mrd quits (~mrd@debian/developer/mrd) (Remote host closed the connection)
12:00:09 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
12:01:46 drbean_ joins (~drbean@TC210-63-209-56.static.apol.com.tw)
12:01:56 × geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 268 seconds)
12:04:05 mrd joins (~mrd@45.61.147.211)
12:04:11 × mrd quits (~mrd@45.61.147.211) (Changing host)
12:04:11 mrd joins (~mrd@debian/developer/mrd)
12:05:24 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
12:05:28 × hexfive quits (~hexfive@50.35.83.177) (Quit: i must go. my people need me.)
12:05:46 jpds joins (~jpds@gateway/tor-sasl/jpds)
12:11:03 × lawid quits (~quassel@dslb-090-186-099-083.090.186.pools.vodafone-ip.de) (Read error: Connection reset by peer)
12:12:22 <maerwald> Another problem with the abstract filepath proposal I discovered: there's no way to write a sensible total IsString instance, since String can contain e.g. NUL, which is disallowed on both windows and unix. Can that instance really ignore this?
12:15:13 <Uniaika> IsString instance is a bad thing in this case
12:15:20 <Uniaika> (I many cases actually)
12:15:35 <Uniaika> koz_ has a nice alternative approach with quasi-quoters for ASCII text
12:15:38 lawid joins (~quassel@dslb-084-059-133-060.084.059.pools.vodafone-ip.de)
12:17:20 ixlun joins (~matthew@109.249.184.133)
12:17:51 EyalSK joins (~EyalSK@2a10:8003:382:0:8c97:7234:8b62:78bd)
12:18:25 shad0w_ joins (a0ca255a@160.202.37.90)
12:18:36 × star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 268 seconds)
12:25:02 xff0x joins (~xff0x@2001:1a81:5218:cc00:1202:f6b4:5d5f:dc8c)
12:27:49 jacks2 joins (~bc8134e3@217.29.117.252)
12:27:52 JusTrying joins (63ea3fd6@cpe64777d649f83-cm64777d649f80.cpe.net.cable.rogers.com)
12:29:06 toorevitimirp joins (~tooreviti@117.182.181.200)
12:30:21 heatsink joins (~heatsink@2600:1700:bef1:5e10:f0bc:f236:90c7:a6f5)
12:32:24 <JusTrying> Learning Haskell and got an assignment to do. My execution always gets stuck on this bit: https://paste.tomsmeding.com/kDIv2Ior. I have evaluated the if statement separately and it works but not when its used to update the variable
12:33:25 <mouseghost> wah?
12:33:38 <mouseghost> haskell variables are immutable
12:34:36 <JusTrying> I see, so I simply cannot update the variable once assigned a value
12:34:40 <JusTrying> whats the best way around this
12:34:55 × heatsink quits (~heatsink@2600:1700:bef1:5e10:f0bc:f236:90c7:a6f5) (Ping timeout: 258 seconds)
12:35:04 <L29Ah> nonono, haskell variables are mutable
12:35:08 <mouseghost> oh D:?
12:35:10 <mouseghost> ma bad ;w;
12:35:11 <L29Ah> but that's a binding, not a variable
12:35:14 <mouseghost> oh
12:36:12 <JusTrying> is there any particular reason that bit of code would get stuck at exeuction?
12:36:22 <JusTrying> if i comment it out, everything else works fine
12:36:31 <L29Ah> the reason is that you made a recursion
12:36:43 <L29Ah> as you refered the binding itself in its definition
12:37:17 <JusTrying> hmm, so that causes it to evaluate all over again
12:37:38 zebrag joins (~inkbottle@aaubervilliers-654-1-98-245.w86-212.abo.wanadoo.fr)
12:37:52 <JusTrying> I learned that if statments have a separate scope so the best was to update variables is by using if statments for values
12:38:13 <JusTrying> but how do I make it so the value is not changed if the if statements is not true
12:39:04 <shad0w_> L29Ah: did you mean, immutable ?
12:39:06 <L29Ah> just name your bindings uniquely so you don't accidentally reference itself
12:39:17 <L29Ah> shad0w_: no
12:39:25 <haskellstudent> ok I finally figured out the mistery. I have to run the program with +RTS --disable-delayed-os-memory-return AND manually call performGC to get the memory back https://paste.tomsmeding.com/gvZwDLa4
12:39:33 <L29Ah> shad0w_: a variable in haskell is called IORef, just to confuse people :)
12:40:00 <shad0w_> isn't IORef like a pointer ?
12:40:00 <L29Ah> and in the language itself there are no variables
12:40:30 <JusTrying> I will need to update variable based on if statements several times so having unique names would be a bit of a hassle
12:40:35 <JusTrying> bindings I meant
12:42:19 <L29Ah> JusTrying: on the other hand, if you do that, you won't have a same name for different values, so it won't confuse you
12:43:26 <L29Ah> shad0w_: yeah
12:43:53 <L29Ah> there's no variables that are passed by value by default
12:44:05 <JusTrying> my assignment is to evaluate a poker hand, my current elixir implementation evaluates each case (straight, flush e.t.c) 1 by 1 and each time updating the variable
12:44:08 <JusTrying> thats what I was trying to do
12:44:15 <shad0w_> im sure i read somewhere haskell variables are immutable. and ghci treats them special to make it easy think they are mutable ?
12:44:46 <L29Ah> > let a = 1 in let a = a in a
12:44:48 <lambdabot> *Exception: <<loop>>
12:45:02 <L29Ah> % let a = 1 in let a = a in a
12:45:07 <yahb> L29Ah: [Timed out]
12:45:17 <L29Ah> same in ghci
12:45:58 <hpc> ghci is like a giant do block in that respect - when you define the same variable on multiple lines the most recent one shadows the older ones
12:46:03 LKoen joins (~LKoen@191.254.88.92.rev.sfr.net)
12:50:28 coot joins (~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl)
12:50:32 ADG1089 joins (~aditya@27.58.165.185)
12:52:55 × shad0w_ quits (a0ca255a@160.202.37.90) (Quit: Connection closed)
12:53:08 × _ashbreeze_ quits (~mark@64.85.214.234.reverse.socket.net) (Remote host closed the connection)
12:53:45 × Vadrigar_ quits (~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de) (Ping timeout: 268 seconds)
12:54:40 _ashbreeze_ joins (~mark@64.85.214.234.reverse.socket.net)
12:57:03 geekosaur joins (ae68c070@cpe-174-104-192-112.neo.res.rr.com)
12:58:10 <maerwald> Uniaika: yes, quasiquoters are a non-issue. But they don't solve the problem of user-input.
12:58:39 <maerwald> I guess it's ok to provide a fromString that returns Maybe
12:58:48 <maerwald> and for statically known thing refer ppl to quasiquoters
12:59:14 <maerwald> I use them heavily myself, but they increase compile-time and break hasktags
13:01:07 <Uniaika> I switched from hasktags some time ago
13:01:18 <maerwald> to?
13:01:18 <Uniaika> maerwald: ah okay, I thought the IsString instance was for user input
13:01:30 <maerwald> it is for that and overloadedstrings
13:01:36 <Uniaika> maerwald: I have fast-tags installed
13:01:50 <maerwald> most ppl prefer OverloadedStrings over quasiquoters
13:02:36 <Uniaika> maerwald: well, you need to make a choice between favouring what most people think they want, or have them use quasi-quoters and have them be safe
13:03:00 Varis joins (~Tadas@unaffiliated/varis)
13:03:09 <maerwald> TH is a plague :) so you have the choice between that and a partial instance
13:04:38 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
13:05:00 nbloomf joins (~nbloomf@2600:1700:ad14:3020:691c:dac0:4d1f:d151)
13:05:27 <maerwald> (also, TH causes problem for HLS)
13:05:41 <maerwald> (for cross-compiling too)
13:06:18 <maerwald> but the worst thing is: I can never remember any of it
13:07:30 <maerwald> and what's the point: the next GHC release may break it anyway :p
13:07:53 × bgamari quits (~bgamari@2001:470:e438::1) (Ping timeout: 258 seconds)
13:11:23 geowiesnot joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
13:16:06 × romesrf quits (~romesrf@44.190.189.46.rev.vodafone.pt) (Ping timeout: 265 seconds)
13:16:17 <ski> siers : hm ?
13:18:13 bgamari joins (~bgamari@72.65.101.179)
13:18:49 jamm_ joins (~jamm@unaffiliated/jamm)
13:20:08 × olligobber quits (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Remote host closed the connection)
13:24:22 jamm__ joins (~jamm@unaffiliated/jamm)
13:25:38 × zebrag quits (~inkbottle@aaubervilliers-654-1-98-245.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
13:25:58 zebrag joins (~inkbottle@aaubervilliers-654-1-98-245.w86-212.abo.wanadoo.fr)
13:26:46 × son0p quits (~son0p@181.58.39.182) (Quit: Lost terminal)
13:27:32 × ixlun quits (~matthew@109.249.184.133) (Ping timeout: 246 seconds)
13:27:54 × jamm_ quits (~jamm@unaffiliated/jamm) (Ping timeout: 245 seconds)
13:29:06 × geowiesnot quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 240 seconds)
13:29:22 romesrf joins (~romesrf@44.190.189.46.rev.vodafone.pt)
13:30:46 <dminuoso> Im thinking it would be nice if HLS could generate tags, that would avoid the QuasiQuote issues
13:31:05 heatsink joins (~heatsink@2600:1700:bef1:5e10:f0bc:f236:90c7:a6f5)
13:34:05 ubert1 joins (~Thunderbi@p200300ecdf25d913ca5b76fffe29f233.dip0.t-ipconnect.de)
13:34:50 × raym quits (~ray@115.187.32.14) (Quit: leaving)
13:35:52 × heatsink quits (~heatsink@2600:1700:bef1:5e10:f0bc:f236:90c7:a6f5) (Ping timeout: 276 seconds)
13:36:29 dpl_ joins (~dpl@77.121.78.163)
13:36:59 mrchampion joins (~mrchampio@38.18.109.23)
13:38:04 × coot quits (~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
13:38:54 <Uniaika> dminuoso: at this point it's just a matter of plugging-in the right tags generator, right?
13:39:18 × lawid quits (~quassel@dslb-084-059-133-060.084.059.pools.vodafone-ip.de) (Ping timeout: 240 seconds)
13:40:43 son0p joins (~son0p@181.136.122.143)
13:41:47 lawid joins (~quassel@dslb-090-186-199-034.090.186.pools.vodafone-ip.de)
13:43:15 × pera quits (~pera@unaffiliated/pera) (Ping timeout: 246 seconds)
13:43:42 × elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 268 seconds)
13:47:44 matryoshka joins (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809)
13:49:15 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:691c:dac0:4d1f:d151) (Quit: My MacBook has gone to sleep. ZZZzzz…)
13:52:34 × ADG1089 quits (~aditya@27.58.165.185) (Remote host closed the connection)
13:54:04 <JusTrying> can a function be defined twice for different types of parameter. it would have the same name but the type of parameters would be different
13:54:28 <geekosaur> not with different types, no
13:54:44 nbloomf joins (~nbloomf@2600:1700:ad14:3020:6df1:6df7:a151:690b)
13:55:13 <c_wraith> It's really bad for type inference if a name might refer to things with different types
13:56:09 <maerwald> classes
13:56:26 <c_wraith> at least when using them, the types unify.
13:56:42 × wonko7 quits (~wonko7@45.15.17.60) (Ping timeout: 252 seconds)
13:57:26 × drbean_ quits (~drbean@TC210-63-209-56.static.apol.com.tw) (Ping timeout: 240 seconds)
13:57:43 × haskellstudent quits (~AdminUser@213-225-9-45.nat.highway.a1.net) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
13:59:24 ixlun joins (~matthew@109.249.184.133)
14:00:12 Wuzzy joins (~Wuzzy@p57a2ecf2.dip0.t-ipconnect.de)
14:02:18 × stree quits (~stree@68.36.8.116) (Ping timeout: 240 seconds)
14:03:40 Deide joins (~Deide@217.155.19.23)
14:05:58 × jakio6 quits (cab67555@202.182.117.85) (Quit: Connection closed)
14:06:33 × idhugo_ quits (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Remote host closed the connection)
14:06:56 urodna joins (~urodna@unaffiliated/urodna)
14:07:00 idhugo_ joins (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net)
14:13:19 coot joins (~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl)
14:13:20 <wz1000> dminuoso: you can use hiedb for something like that, it would be quite easy to write a subcommand that generates tags databases for you: https://github.com/wz1000/HieDb
14:14:16 Vadrigar_ joins (~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de)
14:15:38 Tario joins (~Tario@201.192.165.173)
14:15:50 stree joins (~stree@68.36.8.116)
14:16:30 <kuribas> why does error handling in aeson suck so much?
14:16:37 <kuribas> Left "Error in $: parsing () failed, expected Array, but encountered Object"
14:17:00 <kuribas> in a 3453 line JSON file.
14:18:15 [exa] .oO(jSoN iS fOr JaVaScRiPtS nOt HuMaNs)
14:18:27 <kuribas> what does $ mean? What does () mean?
14:18:41 minoru_shiraeesh joins (~shiraeesh@46.34.207.10)
14:18:43 <kuribas> [exa]: tell that to the rest of the world?
14:19:10 × Vadrigar_ quits (~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds)
14:19:15 <kuribas> JSON being a crappy format doesn't mean a parser should return proper errors...
14:19:30 <kuribas> oh wait I see it...
14:19:49 <kuribas> it's defaulting to unit ...
14:20:34 × idhugo_ quits (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 260 seconds)
14:22:10 <[exa]> anyway the '$' seems like the jquery locator, at least from others report: https://discourse.haskell.org/t/aesonexception-error-in-system-info-key-os-not-present/1048
14:22:21 pavonia joins (~user@unaffiliated/siracusa)
14:23:43 sMuNiX joins (~sMuNiX@lnsm2-montreal02-142-118-236-120.internet.virginmobile.ca)
14:24:02 <[exa]> aeson docs seem to call it "json path"
14:26:02 × _ashbreeze_ quits (~mark@64.85.214.234.reverse.socket.net) (Remote host closed the connection)
14:26:51 star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
14:27:22 × JusTrying quits (63ea3fd6@cpe64777d649f83-cm64777d649f80.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
14:27:29 _ashbreeze_ joins (~mark@64.85.214.234.reverse.socket.net)
14:28:24 <kuribas> is that some json standard then?
14:30:27 pera joins (~pera@unaffiliated/pera)
14:32:47 machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca)
14:33:15 <kuribas> jquery is not related to JSON, or is it?
14:33:25 <Uniaika> nope
14:33:29 <Uniaika> entirely different stuff
14:34:13 <Uniaika> and yes '$' could refer to jsonpath
14:34:28 <Uniaika> (which is very much like xmlpath, but for json)
14:34:33 <Uniaika> https://github.com/json-path/JsonPath
14:35:20 geowiesnot joins (~user@87-89-181-157.abo.bbox.fr)
14:35:47 <edwardk> holy crap. i managed to get rid of all the unsafeCoerces in my linear-logic package
14:36:08 <kuribas> Uniaika: nice, so there is logic behind it :)
14:37:46 × machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 252 seconds)
14:37:49 <hpc> edwardk: time to add them to another package :D
14:39:15 <Uniaika> edwardk: they're never really gone you know? Just waitiing behind the corner, in another codebase, in maybe twenty years time… ;)
14:41:59 <siers> ski, sorry, never mind :)
14:42:10 <hpc> how do you decide where to use unsafeCoerce anyway? i can only ever seem to find a place for it in joke snippets
14:43:28 <ski> siers : np :)
14:43:49 <ski> edwardk : replacing them with ?
14:44:06 × minoru_shiraeesh quits (~shiraeesh@46.34.207.10) (Ping timeout: 240 seconds)
14:44:34 × acidjnk_new quits (~acidjnk@p200300d0c72b9586d8aaf3880c64deb7.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
14:46:06 <edwardk> ski: managed to get them to all shake out, actually.
14:46:22 <ski> so, falling out, naturally ?
14:46:37 <kuribas> Uniaika: btw, I tested my xml parser on a big xml, and reasonably complex parser. It works like a charm, the errors are precise and clear. Definitely worth our time :)
14:46:45 <edwardk> https://github.com/ekmett/linear-logic/blob/main/src/Linear/Logic.hs and https://github.com/ekmett/linear-logic/blob/main/src/Linear/Logic/Functor.hs used to be full of them
14:46:51 <Uniaika> kuribas: ah, glorious!! :)
14:46:56 <Uniaika> I'm happy for you
14:47:34 <kuribas> Uniaika: I cannot imagine how painful debugging xml-conduit must be...
14:48:06 <ski> (reminds me of how i managed to remove all `undefined's from some code, by replacing `ContT () M' by `ContT Void M'. using `Void' kept me straight/sane, so that i could convince myself that the original `undefined's would never have been triggered (i didn't need to use `void :: Void -> a', in this piece of code))
14:48:17 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:6df1:6df7:a151:690b) (Quit: My MacBook has gone to sleep. ZZZzzz…)
14:48:18 <edwardk> ski: well, when working with _'s to derive the terms you need them to hack around the lack of correct usage info. so you slip in Unsafe.Linear.toLinear's a bunch and i have an unsafePar combinator that i use instead of my par constructor to build ⅋'s while I have a definition flayed open.
14:48:33 <edwardk> But once the definition is done, I can go through and strip all that stuff out
14:48:38 <edwardk> and get a nice safe haskelly definition
14:48:44 × ixlun quits (~matthew@109.249.184.133) (Read error: Connection reset by peer)
14:48:45 <Uniaika> kuribas: and we will probably never know! As a matter of fact, I almost entirely forgotten the details of our session together
14:49:08 <siers> Hi! I wanted to write a data record that would have an parametric existential type which the compiler could inline and specialize typeclass instances. I wrote it like this (only with single type for now) and it might work the way I want, but the data record updates aren't implemented. Is there a different way to do this?
14:49:10 <siers> http://sprunge.us/5Ui15a?haskell
14:49:14 <kuribas> Uniaika: basically you told me to write unit tests, we did and then I found the error rather quickly :)
14:49:35 <Uniaika> kuribas: ah yes, now I recall, the never-ending parsing stuff
14:49:59 <Uniaika> siers: why do you hate yourself so much?
14:50:08 <siers> Uniaika, :)
14:50:15 <edwardk> but this appears to give a model of full intuitionistic linear logic, all 4 connectives with all the laws interoperating them, along all 4 of Top, Bot, 0 and 1 as distinct entities.
14:50:24 <siers> Uniaika, tell me
14:50:24 <Uniaika> just write the damn SPECIALISE by hand :P
14:50:45 <Uniaika> < siers> Uniaika, tell me // nope, I'm not foraging into your psyche today :P
14:51:01 <ski> edwardk : oh, you're doing something like Mike Shulman's approach
14:52:14 <ski> hm
14:53:28 <mniip> it's a little hard to say what the approach actually is
14:54:02 <mniip> since the original paper kind of calls for a category bifibered over Hask
14:54:13 <edwardk> ski: yeah this is shulman's approach but extended to allow me to offer a real linear logic rather than affine logic, because i have more distinctions available in the target language
14:54:25 <mniip> but here (P+, P-) is actually represented by its P+ part
14:54:40 <mniip> with the P+ to P- mapping being assigned by type family
14:54:48 <mniip> which we can do because we're in an open kind
14:55:02 <edwardk> yeah
14:55:31 <edwardk> we have newtypes upon which to hang the types of refutations
14:55:48 <mniip> another thought is, what if we talk about the algebra synthetically
14:55:53 <edwardk> but unlike shulman's approach none of our connectives actually coincide exactly in terms of how positive evidence works
14:56:14 <mniip> we model Not as (P+, P-) mapsto (P-, P+) but what if we made it a syntactical operation
14:56:15 <edwardk> because we have fine enough distinctions in the target that With and (*) no longer have the same positive form
14:56:51 <edwardk> i'm somewhat inclined to try to model the positive connectives as Not's of the negative connectives.
14:56:52 <edwardk> why?
14:57:01 <mniip> we have a bifibration Chu(Hask, 0) -> Hask x Hask^op
14:57:06 <edwardk> i made the negative connectives polymorphic in their runtime representations ;)
14:57:19 <mniip> syntactically that's evidenced by the modality monads/comonads
14:57:21 <edwardk> that would let me do the entire logic unboxed.
14:58:36 <mniip> so really instead of looking at Chu(Hask, 0)
14:58:46 <mniip> we're looking at Hask ~ Chu(C, 0) for some C we don't talk about
14:58:56 <edwardk> yeah
14:58:57 <mniip> I think that's what it is at least
14:59:05 <edwardk> that sounds right
14:59:38 <mniip> that kind of explains why Why is so weird
14:59:55 <mniip> because it comes from an adjunction with C which we haven't talked about
14:59:57 × cantstanya quits (~chatting@gateway/tor-sasl/cantstanya) (Ping timeout: 240 seconds)
15:01:07 <mniip> 1616943426 [17:57:06] <edwardk> i made the negative connectives polymorphic in their runtime representations ;)
15:01:11 <mniip> do you have an unboxed Y yet
15:01:23 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
15:01:25 <edwardk> ooh
15:01:48 <mniip> just kidding you can't
15:01:54 <edwardk> i think the pattern synonym overhead that manufactured the proof would be larger
15:02:12 <mniip> this goes back to the unboxed Refl threada
15:02:18 <edwardk> (# Proxy# a | Proxy# b #)
15:02:20 <ski> unrelatedly, would any of you happen to know what coherence condition one should have, if one wanted to "lift" a free functor over another (with the same domain category) ? i was thinking we may want the forgetfuls in a pullback, and then maybe also the frees in a pushout ? and what are reasonably coherence conditions ?
15:02:38 <edwardk> is a machine int
15:02:48 <mniip> actually I'd love to fix the unboxed Refl story
15:02:48 <edwardk> you were saying?
15:02:55 <mniip> but I'm not sure how
15:02:56 ski looks at Gurkenglas
15:02:57 <edwardk> oh wait
15:03:00 <edwardk> that doesn't quite work
15:03:46 <mniip> apparently coercions are second class citizens in core
15:04:01 <mniip> (why?)
15:04:02 <edwardk> (# Refl# a c | Refl# b c #) -- where we need the coercion to come into scope when you match on Refl# by evil pattern synonym magic
15:04:02 cantstanya joins (~chatting@gateway/tor-sasl/cantstanya)
15:04:25 molehillish joins (~molehilli@2600:8800:8d06:1800:6438:fe04:a25d:577)
15:04:57 <mniip> wait
15:05:08 <mniip> richard's main argument was that coercions should terminate
15:05:28 <mniip> and hence CoVars are special beasts that only refer to "evaluated" coercions
15:05:40 <mniip> but don't we have the exact same story for unlifted bindings
15:05:55 <edwardk> yes, my Refl# here has to be a zero width object with a rule that says when you pattern match on it ito manufacture the (~) witness in a pattern synonym out of yolo fresh air.
15:05:58 <ski> how's `Refl#' defined ?
15:06:19 <mniip> likely Void#
15:06:26 <mniip> with a pattern synonym with unsafeCoerce# in it
15:06:41 <mniip> I'd really love to be able to define Refl# as an unlifted newtype over (~)
15:06:43 <mniip> that would be sick
15:06:47 <mniip> but there be dragons
15:06:53 <edwardk> newtype Refl a b = Refl (# #) -- pattern Refl# :: () => (a ~ b) => Refl# a b -- by using an evil unsafeCoerce Refl'd to manufacture the witness
15:07:54 <edwardk> er Refl#'s for the first two in that line
15:08:14 <mniip> I prefer calling it :~:# for consistency
15:08:21 <edwardk> yeah
15:08:22 <mniip> Refl# :: a :~:# a
15:08:24 <edwardk> its :~:#
15:08:57 <edwardk> though here i might as well just define Y# a b c as a Int# internally and build the two proofs manually rather than generalize
15:09:00 <edwardk> to reduce overhead
15:09:22 × _ashbreeze_ quits (~mark@64.85.214.234.reverse.socket.net) (Remote host closed the connection)
15:09:35 <mniip> what is the rep of (# a ~ b | c ~ d #) anyway?
15:09:45 <mniip> a register and two zero width slots?
15:09:50 <edwardk> yeah
15:09:54 <edwardk> one zero width
15:09:58 <mniip> er right
15:10:35 _ashbreeze_ joins (~mark@64.85.214.234.reverse.socket.net)
15:11:54 × invaser quits (~Thunderbi@31.148.23.125) (Ping timeout: 260 seconds)
15:13:35 alx741 joins (~alx741@186.178.109.231)
15:14:10 nbloomf joins (~nbloomf@2600:1700:ad14:3020:6df1:6df7:a151:690b)
15:16:14 Vadrigar_ joins (~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de)
15:20:38 × Vadrigar_ quits (~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds)
15:22:02 <edwardk> pattern synonyms aren't updated to work with linear types yet
15:22:20 <edwardk> so the matchers that get inserted will have the wrong types
15:25:38 × zebrag quits (~inkbottle@aaubervilliers-654-1-98-245.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
15:25:44 <edwardk> oh wait, we don't care about Y being linear!
15:25:59 zebrag joins (~inkbottle@aaubervilliers-654-1-98-245.w86-212.abo.wanadoo.fr)
15:28:30 <edwardk> so close to working
15:28:47 <edwardk> but the case analysis multiplicities get screwed, not just that Y has different counts
15:29:02 raichoo joins (~raichoo@dslb-092-073-192-171.092.073.pools.vodafone-ip.de)
15:30:26 × EyalSK quits (~EyalSK@2a10:8003:382:0:8c97:7234:8b62:78bd) (Quit: Leaving)
15:31:24 lawid_ joins (~quassel@dslb-090-186-171-096.090.186.pools.vodafone-ip.de)
15:31:36 × lawid quits (~quassel@dslb-090-186-199-034.090.186.pools.vodafone-ip.de) (Ping timeout: 268 seconds)
15:31:40 × conal quits (~conal@192.145.118.72) (Quit: Computer has gone to sleep.)
15:32:05 heatsink joins (~heatsink@2600:1700:bef1:5e10:f0bc:f236:90c7:a6f5)
15:32:34 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:6df1:6df7:a151:690b) (Quit: My MacBook has gone to sleep. ZZZzzz…)
15:33:47 × Lowl3v3l quits (~Lowl3v3l@dslb-002-207-103-026.002.207.pools.vodafone-ip.de) (Remote host closed the connection)
15:34:55 haritz joins (~hrtz@62.3.70.206)
15:34:55 × haritz quits (~hrtz@62.3.70.206) (Changing host)
15:34:55 haritz joins (~hrtz@unaffiliated/haritz)
15:35:28 DavidEichmann joins (~david@47.27.93.209.dyn.plus.net)
15:35:36 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
15:36:45 × heatsink quits (~heatsink@2600:1700:bef1:5e10:f0bc:f236:90c7:a6f5) (Ping timeout: 252 seconds)
15:37:52 conal joins (~conal@192.145.118.71)
15:38:38 × petersen quits (~petersen@redhat/juhp) (Quit: petersen)
15:39:18 petersen joins (~petersen@redhat/juhp)
15:39:54 <edwardk> got it to work
15:43:46 × conal quits (~conal@192.145.118.71) (Ping timeout: 240 seconds)
15:43:55 <edwardk> https://github.com/ekmett/linear-logic/blob/main/src/Linear/Logic/Y.hs <- clearly that is the foundation upon which all logic should be built
15:44:10 Lowl3v3l joins (~Lowl3v3l@dslb-002-207-103-026.002.207.pools.vodafone-ip.de)
15:44:27 <edwardk> note the ~~ even
15:44:39 conal joins (~conal@198.8.81.202)
15:46:44 tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net)
15:47:17 Vadrigar_ joins (~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de)
15:47:33 nbloomf joins (~nbloomf@2600:1700:ad14:3020:6df1:6df7:a151:690b)
15:47:54 <ski> what's the `~~' ?
15:48:21 <ski> heterogenous equality ?
15:48:58 × petersen quits (~petersen@redhat/juhp) (Quit: petersen)
15:49:40 petersen joins (~petersen@redhat/juhp)
15:50:04 <edwardk> ski: yeah
15:50:09 <edwardk> i j and k can be different kinds
15:50:20 <Uniaika> I refuse to acknowledge the existence of this symbol if it has no entry in the Haskell Wiki
15:50:26 <Uniaika> https://wiki.haskell.org/Keywords <- no ~~, ergo it does not exist
15:50:33 <edwardk> its in Data.Type.Equality
15:50:49 <edwardk> and post dates that list
15:51:30 <Uniaika> curse, I will have to document it
15:53:45 jakalx parts (~jakalx@base.jakalx.net) ("Error from remote client")
15:53:53 <wz1000> Uniaika: it's not a keyword, is it? It is a legal identifier for a type operator
15:54:24 tpefreedom joins (~tsomers@184-157-240-110.dyn.centurytel.net)
15:54:30 × Vadrigar_ quits (~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de) (Ping timeout: 246 seconds)
15:55:24 × rkvist quits (~user@138.197.72.132) (Quit: wait wut)
16:00:13 <Uniaika> wz1000: idk if it can be arbitrarily given to your own type operators, GHC.Types defines it with an empty class declaration (in https://hackage.haskell.org/package/ghc-prim-0.6.1/docs/src/GHC.Types.html#~~ ) but since the comment right after it is a GHC Note, I would be inclined to say that it has a fair level of magic treatement by the compiler ;)
16:00:29 × mouseghost quits (~draco@wikipedia/desperek) (Quit: mew wew)
16:00:52 <mniip> ~~ can, ~ cannot
16:01:29 <mniip> (~) is built-in syntax like (:)
16:01:55 <Uniaika> mniip: even if it's also defined as an empty class declaration in GHC.Types?
16:01:56 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:6df1:6df7:a151:690b) (Quit: My MacBook has gone to sleep. ZZZzzz…)
16:01:59 <mniip> (~~) is a special constraint, but not actually a special identifier/syntax
16:02:06 <Uniaika> oki doki
16:02:17 <Uniaika> ah wait, you meant term-level (~)
16:02:25 <mniip> I meant type level
16:02:29 <Uniaika> oh okay
16:02:52 <mniip> that class declaration is bogus anyway
16:03:09 <Uniaika> I'm interested to know why :)
16:03:51 nbloomf joins (~nbloomf@2600:1700:ad14:3020:6df1:6df7:a151:690b)
16:03:53 <mniip> that class declaration suggests that the dictionary for (a ~~ b) is an empty box
16:04:24 cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
16:04:48 × jokester quits (~mono@unaffiliated/jokester) (Ping timeout: 258 seconds)
16:04:50 <mniip> it isn't
16:05:35 <Uniaika> ah, tricky indeed
16:05:45 <mniip> c.f. eq_sel and heq_sel
16:05:58 <Uniaika> oh, int-index has had this GHC proposal open https://github.com/ghc-proposals/ghc-proposals/pull/371
16:06:27 <Uniaika> mniip: I don't follow you
16:06:34 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
16:08:02 jokester joins (~mono@unaffiliated/jokester)
16:08:27 Vadrigar_ joins (~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de)
16:09:14 idhugo_ joins (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net)
16:10:28 × txb920 quits (5af6ddfd@90.246.221.253) (Quit: Connection closed)
16:10:33 <mniip> ~~ has ~# as "superclass"
16:10:41 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
16:10:51 <mniip> i.e. the dictionary for (a ~~ b) has a "field" with (a ~# b)
16:11:08 <mniip> this field is selected by a function called heq_sel
16:11:23 <mniip> GHC.Types.heq_sel, I think
16:11:50 × vgtw quits (~vgtw@gateway/tor-sasl/vgtw) (Remote host closed the connection)
16:12:54 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
16:14:16 <mniip> (I
16:14:30 <mniip> (I'm not sure what's preventing you from being able to look at it with :i)
16:14:47 × idhugo_ quits (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 268 seconds)
16:15:29 <Uniaika> indeed :i doesn't show ~# as the superclass
16:15:57 <mniip> % :i (~~)
16:15:59 <yahb> mniip: type (~~) :: forall k0 k1. k0 -> k1 -> Constraint; class (a ~~ b) => (~~) a b; -- Defined in `GHC.Types'; infix 4 ~~
16:16:04 <mniip> there is a superclass
16:16:08 <wz1000> Uniaika: type a ~~ b = (a,b)
16:16:10 <wz1000> that works
16:16:16 <wz1000> if you set -XTypeOperators
16:16:34 <Uniaika> wz1000: curse. Thanks! :)
16:16:36 <mniip> however there's some machinery that translates primitive equalities back into surface haskell
16:16:38 <mniip> % :set -fprint-equality-relations
16:16:39 <yahb> mniip:
16:16:42 <mniip> % :i (~~)
16:16:43 <yahb> mniip: type (~~) :: forall k0 k1. k0 -> k1 -> Constraint; class (a GHC.Prim.~# b) => (~~) a b; -- Defined in `GHC.Types'; infix 4 ~~
16:16:53 <Uniaika> Ah! there it is!
16:17:01 <Uniaika> that's the tricky bit ;)
16:17:24 × raichoo quits (~raichoo@dslb-092-073-192-171.092.073.pools.vodafone-ip.de) (Quit: Lost terminal)
16:17:43 <wz1000> even `(~#)` is not a keywork
16:17:45 <wz1000> keyword
16:18:08 <wz1000> you can supply your own definition using TypeOperators and MagicHash
16:18:24 plutoniix joins (~q@node-ugt.pool-125-24.dynamic.totinternet.net)
16:18:25 × malumore quits (~malumore@151.62.119.109) (Remote host closed the connection)
16:18:28 <wz1000> its more like primops, like unsafeCoerce#
16:18:35 <wz1000> which is also magic, but not a keywork
16:18:42 <wz1000> keyword, aargh
16:18:47 <Uniaika> yeah don't worry
16:18:49 Lycurgus joins (~niemand@98.4.120.166)
16:19:02 malumore joins (~malumore@151.62.119.109)
16:19:05 <mniip> % :i Coercible
16:19:05 <yahb> mniip: {-; Coercible is a special constraint with custom solving rules.; It is not a class.; Please see section `The Coercible constraint`; of the user's guide for details.; -}; type role Coercible representational representational; type Coercible :: forall k. k -> k -> Constraint; class (a ~R# b) => Coercible a b; -- Defined in `GHC.Types'
16:19:09 × malumore quits (~malumore@151.62.119.109) (Remote host closed the connection)
16:19:13 <Uniaika> wz1000: I guess by "keyword" I also want to express that there was some fairly special treatement given by the compiler. :)
16:19:18 <mniip> now ~R# is outright not haskell syntax
16:19:19 <mniip> :P
16:19:35 <Uniaika> ($) can be thought of as a keyword due to its special treatment, for instance
16:19:48 <Uniaika> looks like a regular-ass operator but no! more magic under the hood
16:19:48 malumore joins (~malumore@151.62.119.109)
16:19:51 <wz1000> not anymore with ImpredicativeTypes I think
16:19:55 × malumore quits (~malumore@151.62.119.109) (Remote host closed the connection)
16:19:59 <mniip> still is
16:20:02 <mniip> but uh
16:20:08 <mniip> that's called a "wired in id"
16:20:20 <mniip> which is very different from "syntax"
16:20:21 <Uniaika> yes, thanks for the better terminology mniip
16:20:33 malumore joins (~malumore@151.62.119.109)
16:20:38 <Uniaika> indeed they don't appear at the same level in the compiler implementation
16:20:56 <mniip> there's things the compiler needs to be able to refer to, and things the compiler needs to be able to uniquely identify
16:21:21 <mniip> wired-in types, bindings, etc
16:21:46 × romesrf quits (~romesrf@44.190.189.46.rev.vodafone.pt) (Quit: WeeChat 3.1)
16:22:56 raichoo joins (~raichoo@dslb-092-073-192-171.092.073.pools.vodafone-ip.de)
16:23:35 elliott_ joins (~elliott@pool-108-51-101-42.washdc.fios.verizon.net)
16:24:02 × stree quits (~stree@68.36.8.116) (Ping timeout: 268 seconds)
16:24:34 ADG1089 joins (~aditya@27.58.165.185)
16:24:53 <wz1000> mniip: way less special treatment anyway: https://gitlab.haskell.org/ghc/ghc/-/blob/master/compiler/GHC/Tc/Gen/App.hs#L271
16:26:17 <wz1000> and no special treatment at all if you have -XImpredicativeTypes
16:27:41 <Uniaika> aaand this is far outside of my domain of competence :P
16:28:31 × toorevitimirp quits (~tooreviti@117.182.181.200) (Quit: Konversation terminated!)
16:28:52 <mniip> it's mailing richard hours
16:30:55 × son0p quits (~son0p@181.136.122.143) (Quit: Lost terminal)
16:31:36 <Uniaika> it's also fucking sunday so I think we've earned some rest until monday >_>
16:33:35 Sheilong joins (uid293653@gateway/web/irccloud.com/x-qyihkevgdfchqfky)
16:33:41 heatsink joins (~heatsink@2600:1700:bef1:5e10:f0bc:f236:90c7:a6f5)
16:33:42 machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca)
16:36:53 stree joins (~stree@68.36.8.116)
16:37:45 jakalx joins (~jakalx@base.jakalx.net)
16:37:54 × heatsink quits (~heatsink@2600:1700:bef1:5e10:f0bc:f236:90c7:a6f5) (Ping timeout: 245 seconds)
16:37:57 toorevitimirp joins (~tooreviti@117.182.181.200)
16:38:32 minoru_shiraeesh joins (~shiraeesh@46.34.207.10)
16:39:59 Kaiepi joins (~Kaiepi@47.54.252.148)
16:40:03 × gehmehgeh quits (~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving)
16:41:55 × toorevitimirp quits (~tooreviti@117.182.181.200) (Client Quit)
16:42:00 <edwardk> mniip: i want to be able to pass around ~#'s myself damnit. =(
16:42:11 elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
16:42:24 <edwardk> we need CONSTRAINT :: RuntimeRep -> Type
16:42:45 <edwardk> less magic pls
16:43:41 × cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
16:43:43 × Criggie1 quits (~Criggie@185.204.1.185) (Remote host closed the connection)
16:43:44 <edwardk> oh neat, i didn't realize they turned on quicklook for sections all the time
16:43:53 <edwardk> that could save me some code and make me actually use sections
16:44:13 Jd007 joins (~Jd007@162.156.11.151)
16:44:56 × ADG1089 quits (~aditya@27.58.165.185) (Quit: Konversation terminated!)
16:45:26 <mniip> edwardk, such as (\case `id`) ?
16:45:35 <ski> mniip : so what's `~#', how does it differ from `~~' ?
16:46:04 <ski> "sections" ?
16:46:08 <mniip> ~# is the Core-only unboxed equality constructor
16:46:14 <ski> hm
16:46:29 <ski> heterogenous too, i assume
16:46:29 supercoven joins (~Supercove@dsl-hkibng31-54fabd-233.dhcp.inet.fi)
16:46:40 <mniip> (a :: k1) ~# (b :: k2) :: TYPE (TupleRep [])
16:46:41 <mniip> yes
16:46:54 <ski> ok
16:46:54 × zaquest quits (~notzaques@5.128.210.178) (Read error: Connection reset by peer)
16:47:36 zaquest joins (~notzaques@5.128.210.178)
16:47:51 <ski> (hm, so it's an unboxed tuple type, not a constraint ?)
16:50:15 <mniip> type ~ constraint
16:50:30 leonardys joins (~leonard@118.136.35.158)
16:52:31 <ski> % :k (~)
16:52:31 <yahb> ski: k -> k -> Constraint
16:52:41 × Vadrigar_ quits (~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds)
16:54:22 × jamm__ quits (~jamm@unaffiliated/jamm) (Remote host closed the connection)
16:54:58 <ski> % :k (~~)
16:54:58 <yahb> ski: k0 -> k1 -> Constraint
16:55:01 <ski> % :k (~#)
16:55:01 <yahb> ski: ; <interactive>:1:1: error:; Not in scope: type constructor or class `~#'; Perhaps you meant `~~' (imported from GHC.Exts)
16:59:56 robwerks1 joins (~robwerks@195.140.213.38)
17:00:02 Erutuon_ joins (~Erutuon@97-116-16-233.mpls.qwest.net)
17:00:57 × AkechiShiro quits (~AkechiShi@2a01:e0a:5f9:9681:4cfc:952:318a:ea87) (Quit: WeeChat 2.9)
17:01:06 × dpl_ quits (~dpl@77.121.78.163) (Ping timeout: 240 seconds)
17:02:00 elusive joins (~Jeanne-Ka@static-198-54-134-137.cust.tzulo.com)
17:02:09 abhixec joins (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net)
17:03:02 × tpefreedom quits (~tsomers@184-157-240-110.dyn.centurytel.net) (Quit: Leaving)
17:05:32 × Lycurgus quits (~niemand@98.4.120.166) (Quit: Exeunt)
17:05:47 ixlun joins (~matthew@109.249.184.133)
17:05:48 madjestic joins (~Android@86-88-72-244.fixed.kpn.net)
17:06:17 AkechiShiro joins (~AkechiShi@2a01:e0a:5f9:9681:1473:3dff:fe42:56a9)
17:09:18 × madjest39 quits (~Android@77-63-117-209.mobile.kpn.net) (Ping timeout: 240 seconds)
17:09:43 × Tene_ quits (~tene@mail.digitalkingdom.org) (Ping timeout: 276 seconds)
17:09:55 mollberg joins (~mollberg@78-69-80-125-no85.tbcn.telia.com)
17:10:01 × ByronJohnson quits (~bairyn@unaffiliated/bob0) (Ping timeout: 260 seconds)
17:10:26 Vadrigar_ joins (~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de)
17:14:46 × Vadrigar_ quits (~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds)
17:14:51 ahri joins (~ahri@178.209.40.84)
17:15:53 Tene joins (~tene@mail.digitalkingdom.org)
17:15:53 × Tene quits (~tene@mail.digitalkingdom.org) (Changing host)
17:15:53 Tene joins (~tene@poipu/supporter/slacker/tene)
17:16:21 ByronJohnson joins (~bairyn@unaffiliated/bob0)
17:16:22 supercoven_ joins (~Supercove@dsl-hkibng31-54fabd-233.dhcp.inet.fi)
17:19:26 × supercoven quits (~Supercove@dsl-hkibng31-54fabd-233.dhcp.inet.fi) (Ping timeout: 240 seconds)
17:23:57 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds)
17:24:05 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:6df1:6df7:a151:690b) (Quit: My MacBook has gone to sleep. ZZZzzz…)
17:25:38 × zebrag quits (~inkbottle@aaubervilliers-654-1-98-245.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
17:25:58 zebrag joins (~inkbottle@aaubervilliers-654-1-98-245.w86-212.abo.wanadoo.fr)
17:27:55 × jacks2 quits (~bc8134e3@217.29.117.252) (Quit: http://www.okay.uz/ (Session timeout))
17:28:48 nbloomf joins (~nbloomf@2600:1700:ad14:3020:6df1:6df7:a151:690b)
17:32:02 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
17:32:38 × plutoniix quits (~q@node-ugt.pool-125-24.dynamic.totinternet.net) (Ping timeout: 240 seconds)
17:33:36 × Zone77xx quits (Zone77xx@gateway/vpn/privateinternetaccess/zone77xx) (Remote host closed the connection)
17:33:48 Vadrigar_ joins (~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de)
17:34:06 × leonardys quits (~leonard@118.136.35.158) (Quit: WeeChat 3.1)
17:35:56 <maerwald> does anything speak against using getFileSystemEncoding with unsafePerformIO? Specifically while doing: fromByteString :: ByteString -> FilePath
17:37:26 × coot quits (~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
17:38:45 <maerwald> I'm starting to think that system calls on files should not just return the ByteString, but also the locale at the time of the call
17:39:20 <maerwald> well, not system calls, but where haskell runs them
17:39:47 <hpc> funny enough, getFileSystemEncoding is already defined in terms of unsafePerformIO
17:40:04 <ski> @hoogle getFileSystemEncoding
17:40:05 <lambdabot> GHC.IO.Encoding getFileSystemEncoding :: IO TextEncoding
17:40:05 <lambdabot> System.Directory.Internal.Prelude getFileSystemEncoding :: IO TextEncoding
17:40:32 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
17:40:36 <hpc> it looks like if you never call setFileSystemEncoding, it's completely safe to unsafePerformIO
17:41:02 <[exa]> it's just setting/getting a global variable right?
17:41:13 <[exa]> "global" "variable" in haskell sense
17:41:33 <hpc> internally it uses a mutable global variable
17:41:34 <hpc> yeah
17:41:34 × rajivr quits (uid269651@gateway/web/irccloud.com/x-xwsvhleeocbenfhu) (Quit: Connection closed for inactivity)
17:41:39 <hpc> an IORef
17:41:42 <ski> oh, it's a process-extent `IORef', inside ?
17:41:46 <ski> ok
17:43:00 <maerwald> hpc: which basically means "the locale at the time the process was started"
17:43:08 <ski> Mercury has a notion of pure,semipure, and impure predicates (and functions) (in addition to the "standard" way of doing I/O, which is threading around `io.world' uniquely through the program, similar to how Clean does it)
17:43:11 <maerwald> is that good enough?
17:43:16 jakalx parts (~jakalx@base.jakalx.net) ("Error from remote client")
17:43:38 <hpc> worse, the locale at the time of the first time you evaluate something that executes that initialization
17:43:51 <ski> impure ones need to be performed in the order written. semipure ones can be permuted amongst each other, but not commuted past an impure one
17:43:54 Mrbuck joins (~Mrbuck@gateway/tor-sasl/mrbuck)
17:44:08 <geekosaur> which misses that the filesystem may have its own encoding…
17:44:12 dexter joins (dexter@2a01:7e00::f03c:91ff:fe86:59ec)
17:44:23 <geekosaur> (or none, on POSIX)
17:44:25 <maerwald> geekosaur: there's no such thing
17:44:28 <maerwald> right
17:44:37 <maerwald> so you can encode whatever, regardless of locale
17:44:47 <maerwald> then you can bruteforce your way through it
17:45:01 <ski> @wiki Top level mutable state
17:45:01 ezrakilty joins (~ezrakilty@97-113-58-224.tukw.qwest.net)
17:45:02 <lambdabot> https://wiki.haskell.org/Top_level_mutable_state
17:45:02 DTZUZU joins (~DTZUZO@205.ip-149-56-132.net)
17:46:08 dexter is now known as dexterfoo
17:46:20 <maerwald> hpc: well... when using getFileSystemEncoding at the "call site" of the syscalls kinda makes more sense then
17:47:04 <maerwald> but it returns the same thing regardless of environment unless setFileSystemEncoding is used?
17:47:12 × Mrbuck quits (~Mrbuck@gateway/tor-sasl/mrbuck) (Client Quit)
17:47:54 × DTZUZU_ quits (~DTZUZO@207.81.119.43) (Ping timeout: 268 seconds)
17:48:42 <hpc> GHC.IO.Encoding.Iconv.localeEncodingName seems to be the initial value, whatever that is
17:50:13 <hpc> looks like a foreign import, so no clue what it does
17:50:22 <hpc> presumably whatever iconv does
17:51:03 × Vadrigar_ quits (~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de) (Ping timeout: 246 seconds)
17:54:24 <maerwald> I only see these choices: 1. assume UTF8, 2. utilize getFileSystemEncoding, 3. brute-force through encodings?
17:55:43 <maerwald> or 4: foo :: ByteString -> Encoding -> String -- only that makes no sense on windows
17:56:11 × hiroaki quits (~hiroaki@2a02:8108:8c40:2bb8:48b8:55e3:ebc5:16b6) (Remote host closed the connection)
17:56:46 × ixlun quits (~matthew@109.249.184.133) (Ping timeout: 240 seconds)
17:56:52 hiroaki joins (~hiroaki@2a02:8108:8c40:2bb8:35c5:fb8d:f07:96c1)
17:57:07 × dyeplexer quits (~lol@unaffiliated/terpin) (Remote host closed the connection)
17:58:44 <edwardk> mniip: i wonder if i could get access to ~# with template haskell reify shenanigans
17:58:45 plutoniix joins (~q@ppp-49-237-18-51.revip6.asianet.co.th)
18:00:04 galapagos joins (~galapagos@117.222.71.68)
18:00:14 borne joins (~fritjof@200116b8644f3500f7ed9fd86a2491f0.dip.versatel-1u1.de)
18:00:41 <edwardk> Then Y a b c = (# a ~# c | b ~# c #) -- with a _slightly_ evil way to bring the proof into scope, etc.
18:04:46 jakalx joins (~jakalx@base.jakalx.net)
18:05:31 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Quit: Lost terminal)
18:05:58 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
18:06:03 <mniip> huh
18:06:12 <mniip> ~# is actually a type and not a constraint
18:07:16 × ddellaco_ quits (~ddellacos@86.106.143.144) (Remote host closed the connection)
18:08:21 × jophish quits (~jophish@li1766-207.members.linode.com) (Quit: WeeChat 3.1)
18:08:43 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
18:08:52 <mniip> % $(pure <$> tySynD (mkName "E") [] (conT $ mkNameG_tc "ghc-prim" "GHC.Prim" "~#"));
18:08:52 <yahb> mniip:
18:08:56 <mniip> % :k E
18:08:56 <yahb> mniip: k0 -> k1 -> TYPE ('TupleRep '[])
18:09:05 <mniip> looks like you can
18:10:34 <ski> bah, anyone happen to have a link handy to the "monad tunneling problem" post ?
18:11:32 <ski> mniip : well, that's what i was asking about, before ..
18:13:16 × Someguy123 quits (~someguy@unaffiliated/compgenius999) (Ping timeout: 240 seconds)
18:13:48 <wz1000> duckduckgo gave me this: http://smonad.com/problems/nonlocality.php
18:13:48 × elliott_ quits (~elliott@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 246 seconds)
18:13:59 <wz1000> which is interesting, to say the least...
18:14:10 <mniip> oh, oh my
18:14:18 <mniip> % :t $(varE $ mkNameG_v "ghc-prim" "GHC.Types" "eq_sel")
18:14:19 <yahb> mniip: forall {k} {b :: k}. b GHC.Prim.~# b
18:14:46 × ezrakilty quits (~ezrakilty@97-113-58-224.tukw.qwest.net) (Remote host closed the connection)
18:15:23 ezrakilty joins (~ezrakilty@97-113-58-224.tukw.qwest.net)
18:15:51 <mniip> ah of course, this is the tidied type
18:16:00 <mniip> really it's (a ~ b) => a ~# b
18:16:08 v01d4lph4 joins (~v01d4lph4@122.180.248.16)
18:16:12 <mniip> contrast with
18:16:15 <mniip> % :t $(varE $ mkNameG_v "ghc-prim" "GHC.Types" "coercible_sel")
18:16:16 <yahb> mniip: forall {k} {a :: k} {b :: k}. Coercible a b => a ~R# b
18:16:23 <ski> wz1000 : yea, i got that too :(
18:18:00 <ski> mniip : so `~#' is like a heterogenous, unboxed, `:~:' ?
18:18:28 <mniip> the distinction between them all is more intricate in Core
18:19:26 × malumore quits (~malumore@151.62.119.109) (Ping timeout: 260 seconds)
18:19:26 <mniip> but yes, ~# is heterogeneous and unboxed
18:19:46 × star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 240 seconds)
18:20:18 × v01d4lph4 quits (~v01d4lph4@122.180.248.16) (Ping timeout: 240 seconds)
18:20:39 galapagos parts (~galapagos@117.222.71.68) ()
18:22:24 idhugo_ joins (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net)
18:25:07 mouseghost joins (~draco@87-206-9-185.dynamic.chello.pl)
18:25:08 × mouseghost quits (~draco@87-206-9-185.dynamic.chello.pl) (Changing host)
18:25:08 mouseghost joins (~draco@wikipedia/desperek)
18:25:37 × zebrag quits (~inkbottle@aaubervilliers-654-1-98-245.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
18:25:45 bitmapper joins (uid464869@gateway/web/irccloud.com/x-qnuflznzjiymbjnq)
18:25:58 zebrag joins (~inkbottle@aaubervilliers-654-1-98-245.w86-212.abo.wanadoo.fr)
18:26:32 <ski> mm. okay
18:28:13 × Guest19166 quits (~textual@zrcout.mskcc.org) (Quit: My MacBook has gone to sleep. ZZZzzz…)
18:28:16 star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
18:28:19 × borne quits (~fritjof@200116b8644f3500f7ed9fd86a2491f0.dip.versatel-1u1.de) (Ping timeout: 245 seconds)
18:28:39 <ski> wz1000 : hm, i wonder whether that's related to Leibniz' "Monadology"
18:28:43 malumore joins (~malumore@151.62.119.109)
18:28:46 × elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 252 seconds)
18:29:08 <mniip> % $(do { k <- newName "k"; a <- newName "a"; b <- newName "b"; pure <$> newtypeD (cxt []) (mkName ":~:#") [KindedTV a (VarT k), KindedTV b (VarT k)] Nothing (normalC (mkName "Refl#") [bangType (pure $ Bang NoSourceUnpackedness NoSourceStrictness) $ conT (mkNameG_tc "ghc-prim" "GHC.Prim" "~#") `appT` varT a `appT` varT b]) [] });
18:29:08 <yahb> mniip: ; <interactive>:21:106: error:; * Couldn't match expected type: TyVarBndr (); with actual type: Kind -> TyVarBndr Language.Haskell.TH.Type; * Probable cause: `KindedTV' is applied to too few arguments; In the expression: KindedTV a (VarT k); In the third argument of `newtypeD', namely `[KindedTV a (VarT k), KindedTV b (VarT k)]'; In the second argument of `(<$>
18:29:19 Alleria joins (~textual@zrcout.mskcc.org)
18:29:21 <mniip> % $(do { k <- newName "k"; a <- newName "a"; b <- newName "b"; pure <$> newtypeD (cxt []) (mkName ":~:#") [KindedTV a () (VarT k), KindedTV b () (VarT k)] Nothing (normalC (mkName "Refl#") [bangType (pure $ Bang NoSourceUnpackedness NoSourceStrictness) $ conT (mkNameG_tc "ghc-prim" "GHC.Prim" "~#") `appT` varT a `appT` varT b]) [] });
18:29:21 <yahb> mniip:
18:29:26 <mniip> % :i :~:#
18:29:26 <yahb> mniip: type role (:~:#) nominal nominal; type (:~:#) :: forall k. k -> k -> TYPE ('TupleRep '[]); newtype (:~:#) a b = Refl# (a GHC.Prim.~# b); -- Defined at <interactive>:22:2
18:29:29 <mniip> wild
18:29:38 <mniip> it doesn't work of course
18:29:42 Alleria is now known as Guest26792
18:30:20 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:6df1:6df7:a151:690b) (Quit: My MacBook has gone to sleep. ZZZzzz…)
18:32:00 <ski> % :k :~:#
18:32:00 <yahb> ski: ; <interactive>:1:1: error: Operator applied to too few arguments: :~:#
18:32:00 × geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 246 seconds)
18:32:06 <ski> % :k (:~:#)
18:32:06 <yahb> ski: k -> k -> TYPE ('TupleRep '[])
18:32:58 <mniip> it would be really, really cool if you could have this as a newtype
18:33:05 <mniip> whilst also having Refl# :: a :~:# a
18:33:28 <mniip> unfortunately current Core machinery will die really painfully
18:34:06 <mniip> when you try to cast <a> :: a ~# a, along N::~:# :: (:~:#) ~R# (~#)
18:34:45 × Guest26792 quits (~textual@zrcout.mskcc.org) (Ping timeout: 268 seconds)
18:35:03 heatsink joins (~heatsink@2600:1700:bef1:5e10:f0bc:f236:90c7:a6f5)
18:35:14 kupi joins (uid212005@gateway/web/irccloud.com/x-rsqhffuuxfehttck)
18:35:28 nbloomf joins (~nbloomf@2600:1700:ad14:3020:f167:a89:f05f:5d78)
18:35:39 × Xnuk quits (~xnuk@vultr.xnu.kr) (Quit: ZNC - https://znc.in)
18:36:09 Sgeo joins (~Sgeo@ool-18b98aa4.dyn.optonline.net)
18:36:20 Xnuk joins (~xnuk@45.76.202.58)
18:39:21 × heatsink quits (~heatsink@2600:1700:bef1:5e10:f0bc:f236:90c7:a6f5) (Ping timeout: 252 seconds)
18:43:13 CrazyPython joins (~crazypyth@98.122.164.118)
18:43:59 __minoru__shirae joins (~shiraeesh@109.166.57.99)
18:44:36 × minoru_shiraeesh quits (~shiraeesh@46.34.207.10) (Ping timeout: 246 seconds)
18:44:57 × stree quits (~stree@68.36.8.116) (Ping timeout: 246 seconds)
18:46:05 <ski> hm, so how does `~R#' differ ?
18:47:54 cub3s_ joins (bifunc2@gateway/vpn/protonvpn/bifunc2)
18:48:27 <cub3s_> What is the state of the art with Nix for Haskell? Are people still using nixpkgs or are many people migrating to haskell.nix? https://www.youtube.com/watch?v=j71ZkinDeUM
18:53:58 __monty__ joins (~toonn@unaffiliated/toonn)
18:54:53 jamm_ joins (~jamm@unaffiliated/jamm)
18:57:38 <mniip> ski, ~R# is the representation coercion
18:57:57 Alleria__ joins (~textual@2603-7000-3040-0000-908d-bfdf-28c9-9e71.res6.spectrum.com)
18:58:11 stree joins (~stree@68.36.8.116)
18:59:24 × jamm_ quits (~jamm@unaffiliated/jamm) (Ping timeout: 258 seconds)
19:01:16 × ezrakilty quits (~ezrakilty@97-113-58-224.tukw.qwest.net) (Remote host closed the connection)
19:03:14 × DTZUZU quits (~DTZUZO@205.ip-149-56-132.net) (Ping timeout: 252 seconds)
19:06:28 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Remote host closed the connection)
19:08:26 × shailangsa quits (~shailangs@host86-161-220-11.range86-161.btcentralplus.com) ()
19:09:14 × Gurkenglas quits (~Gurkengla@unaffiliated/gurkenglas) (Remote host closed the connection)
19:09:38 × Rudd0 quits (~Rudd0@185.189.115.108) (Ping timeout: 240 seconds)
19:10:19 ezrakilty joins (~ezrakilty@97-113-58-224.tukw.qwest.net)
19:12:34 <ski> hm, so i suppose it's related to `Coercible'
19:12:57 average joins (uid473595@gateway/web/irccloud.com/x-ouzrkvprxkvmvpoy)
19:13:37 × mollberg quits (~mollberg@78-69-80-125-no85.tbcn.telia.com) (Remote host closed the connection)
19:14:31 mollberg joins (~mollberg@78-69-80-125-no85.tbcn.telia.com)
19:16:20 locrian9 joins (~mike@cpe-104-173-20-162.socal.res.rr.com)
19:17:06 luke joins (~luke@bitnomial/staff/luke)
19:17:33 × raichoo quits (~raichoo@dslb-092-073-192-171.092.073.pools.vodafone-ip.de) (Quit: Lost terminal)
19:18:19 geowiesnot joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
19:19:04 jakalx parts (~jakalx@base.jakalx.net) ("Disconnected: Replaced by new connection")
19:21:01 × Narinas quits (~Narinas@187-178-93-112.dynamic.axtel.net) (Ping timeout: 265 seconds)
19:22:44 × conal quits (~conal@198.8.81.202) (Quit: Computer has gone to sleep.)
19:29:07 conal joins (~conal@64.71.133.70)
19:29:32 × bonz060 quits (~quassel@2001:bc8:47a4:a23::1) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
19:31:59 bonz060 joins (~quassel@2001:bc8:47a4:a23::1)
19:32:52 solidus-river joins (~mike@174.127.249.180)
19:32:55 DTZUZU joins (~DTZUZO@205.ip-149-56-132.net)
19:33:13 × luke quits (~luke@bitnomial/staff/luke) (Ping timeout: 260 seconds)
19:34:15 heatsink joins (~heatsink@2600:1700:bef1:5e10:f0bc:f236:90c7:a6f5)
19:34:41 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
19:36:11 × idhugo_ quits (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 240 seconds)
19:36:30 luke__ joins (~luke@bitnomial/staff/luke)
19:37:04 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
19:38:22 Narinas joins (~Narinas@187-178-93-112.dynamic.axtel.net)
19:38:45 × cub3s_ quits (bifunc2@gateway/vpn/protonvpn/bifunc2) (Quit: disconnected)
19:40:26 × DirefulSalt quits (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Remote host closed the connection)
19:41:13 DirefulSalt joins (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt)
19:41:34 × geekosaur quits (ae68c070@cpe-174-104-192-112.neo.res.rr.com) (Quit: Connection closed)
19:41:40 Lord_of_Life_ joins (~Lord@unaffiliated/lord-of-life/x-0885362)
19:42:28 × Lord_of_Life quits (~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 252 seconds)
19:43:07 Lord_of_Life_ is now known as Lord_of_Life
19:47:36 Vadrigar_ joins (~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de)
19:49:52 × Jd007 quits (~Jd007@162.156.11.151) (Quit: Jd007)
19:51:41 × Vadrigar_ quits (~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds)
19:52:29 Jd007 joins (~Jd007@162.156.11.151)
19:52:43 × Jd007 quits (~Jd007@162.156.11.151) (Client Quit)
19:55:38 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
19:59:28 × mollberg quits (~mollberg@78-69-80-125-no85.tbcn.telia.com) (Remote host closed the connection)
19:59:40 mollberg joins (~mollberg@78-69-80-125-no85.tbcn.telia.com)
20:00:49 knupfer joins (~Thunderbi@i577BCD8A.versanet.de)
20:02:23 × knupfer quits (~Thunderbi@i577BCD8A.versanet.de) (Client Quit)
20:02:37 knupfer joins (~Thunderbi@200116b82b1bf900f4ddc88911e80e0d.dip.versatel-1u1.de)
20:02:40 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
20:04:27 × _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
20:05:16 × elusive quits (~Jeanne-Ka@static-198-54-134-137.cust.tzulo.com) (Quit: Leaving)
20:06:18 × madjestic quits (~Android@86-88-72-244.fixed.kpn.net) (Ping timeout: 240 seconds)
20:09:53 shailangsa joins (~shailangs@host86-161-220-11.range86-161.btcentralplus.com)
20:09:55 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:f167:a89:f05f:5d78) (Quit: My MacBook has gone to sleep. ZZZzzz…)
20:10:04 ixlun joins (~matthew@109.249.184.133)
20:11:11 Mrbuck joins (~Mrbuck@gateway/tor-sasl/mrbuck)
20:12:29 coot joins (~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl)
20:14:49 × luke__ quits (~luke@bitnomial/staff/luke) (Quit: sleep)
20:21:10 × kuribas quits (~user@ptr-25vy0i929e202xlroa1.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
20:21:23 × locrian9 quits (~mike@cpe-104-173-20-162.socal.res.rr.com) (Quit: leaving)
20:23:08 ddellacosta joins (~ddellacos@86.106.143.53)
20:25:50 locrian9 joins (~mike@cpe-104-173-20-162.socal.res.rr.com)
20:26:55 vgtw joins (~vgtw@gateway/tor-sasl/vgtw)
20:27:02 vicfred joins (~vicfred@unaffiliated/vicfred)
20:27:49 × ddellacosta quits (~ddellacos@86.106.143.53) (Ping timeout: 260 seconds)
20:29:32 × fiQ2 quits (~fiQ@mirkk.ninja) (Quit: ZNC - https://znc.in)
20:29:58 fiQ2 joins (~fiQ@2a06:82c2:0:12bc::1)
20:30:46 × supercoven_ quits (~Supercove@dsl-hkibng31-54fabd-233.dhcp.inet.fi) (Ping timeout: 240 seconds)
20:31:09 × ubert1 quits (~Thunderbi@p200300ecdf25d913ca5b76fffe29f233.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
20:34:44 × bonz060 quits (~quassel@2001:bc8:47a4:a23::1) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
20:35:04 bonz060 joins (~quassel@2001:bc8:47a4:a23::1)
20:36:18 × coot quits (~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
20:37:28 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
20:37:41 × bonz060 quits (~quassel@2001:bc8:47a4:a23::1) (Client Quit)
20:38:02 bonz060 joins (~quassel@2001:bc8:47a4:a23::1)
20:38:35 lawid joins (~quassel@dslb-090-186-023-078.090.186.pools.vodafone-ip.de)
20:39:30 elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
20:40:06 × bonz060 quits (~quassel@2001:bc8:47a4:a23::1) (Client Quit)
20:40:31 bonz060 joins (~quassel@2001:bc8:47a4:a23::1)
20:41:00 × CrazyPython quits (~crazypyth@98.122.164.118) ()
20:42:24 × lawid_ quits (~quassel@dslb-090-186-171-096.090.186.pools.vodafone-ip.de) (Ping timeout: 268 seconds)
20:42:25 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 268 seconds)
20:42:55 Jd007 joins (~Jd007@162.156.11.151)
20:44:15 × Alleria_ quits (~AllahuAkb@2603-7000-3040-0000-e90c-4968-5b06-a6fe.res6.spectrum.com) (Read error: Connection reset by peer)
20:44:40 Alleria_ joins (~AllahuAkb@2603-7000-3040-0000-f003-eca1-8bf8-0ed7.res6.spectrum.com)
20:45:06 × vjacob quits (~vjacob@217.71.0.65) (Remote host closed the connection)
20:45:29 vjacob joins (~vjacob@217.71.0.65)
20:45:46 × Jd007 quits (~Jd007@162.156.11.151) (Client Quit)
20:46:27 CrazyPython joins (~crazypyth@98.122.164.118)
20:48:48 × ixlun quits (~matthew@109.249.184.133) (Read error: Connection reset by peer)
20:49:14 brandly joins (~brandly@c-73-68-15-46.hsd1.ma.comcast.net)
20:50:00 CrazyPython is now known as JamesLu
20:50:41 azure2 joins (~azure@103.154.230.130)
20:53:15 olligobber joins (olligobber@gateway/vpn/privateinternetaccess/olligobber)
20:53:36 × azure1 quits (~azure@103.154.230.130) (Ping timeout: 252 seconds)
20:54:40 × heatsink quits (~heatsink@2600:1700:bef1:5e10:f0bc:f236:90c7:a6f5) (Remote host closed the connection)
20:55:36 × abhixec quits (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Quit: leaving)
20:58:23 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
20:59:26 × solvr quits (57e3c46d@87.227.196.109) (Quit: Connection closed)
20:59:50 × mollberg quits (~mollberg@78-69-80-125-no85.tbcn.telia.com) (Remote host closed the connection)
21:00:26 mollberg joins (~mollberg@78-69-80-125-no85.tbcn.telia.com)
21:01:06 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
21:02:03 × Varis quits (~Tadas@unaffiliated/varis) (Remote host closed the connection)
21:03:01 × zekriad quits (~zekriad@74.193.156.94) (Quit: Textual IRC Client: www.textualapp.com)
21:05:38 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds)
21:06:11 × stree quits (~stree@68.36.8.116) (Ping timeout: 240 seconds)
21:07:05 Jd007 joins (~Jd007@162.156.11.151)
21:10:12 hexfive joins (~hexfive@50.35.83.177)
21:10:56 × Alleria_ quits (~AllahuAkb@2603-7000-3040-0000-f003-eca1-8bf8-0ed7.res6.spectrum.com) (Read error: Connection reset by peer)
21:11:04 × Jd007 quits (~Jd007@162.156.11.151) (Client Quit)
21:11:19 × DirefulSalt quits (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Remote host closed the connection)
21:11:25 Alleria_ joins (~AllahuAkb@69.202.254.168)
21:11:32 borne joins (~fritjof@200116b8644f3500f7ed9fd86a2491f0.dip.versatel-1u1.de)
21:11:40 DirefulSalt joins (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt)
21:12:38 dpl_ joins (~dpl@77.121.78.163)
21:14:09 × knupfer quits (~Thunderbi@200116b82b1bf900f4ddc88911e80e0d.dip.versatel-1u1.de) (Ping timeout: 245 seconds)
21:17:46 × tsaka__ quits (~torstein@2a02:587:1b11:6000:3679:6212:ccf6:706f) (Ping timeout: 240 seconds)
21:17:46 todda7 joins (~torstein@athedsl-266674.home.otenet.gr)
21:19:29 stree joins (~stree@68.36.8.116)
21:20:38 × Lord_of_Life quits (~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 268 seconds)
21:21:50 × Alleria_ quits (~AllahuAkb@69.202.254.168) (Ping timeout: 252 seconds)
21:22:48 Alleria_ joins (~AllahuAkb@2603-7000-3040-0000-f003-eca1-8bf8-0ed7.res6.spectrum.com)
21:25:37 × zebrag quits (~inkbottle@aaubervilliers-654-1-98-245.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
21:25:58 zebrag joins (~inkbottle@aaubervilliers-654-1-98-245.w86-212.abo.wanadoo.fr)
21:26:11 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds)
21:26:46 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
21:26:59 Exp0_N3T joins (~Exp0_N3T@62-11-5-120.dialup.tiscali.it)
21:27:08 heatsink joins (~heatsink@2600:1700:bef1:5e10:f0bc:f236:90c7:a6f5)
21:27:16 <Exp0_N3T> hello there!
21:27:32 Exp0_N3T parts (~Exp0_N3T@62-11-5-120.dialup.tiscali.it) ()
21:27:46 × Alleria_ quits (~AllahuAkb@2603-7000-3040-0000-f003-eca1-8bf8-0ed7.res6.spectrum.com) (Ping timeout: 276 seconds)
21:28:39 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 268 seconds)
21:30:31 × ezrakilty quits (~ezrakilty@97-113-58-224.tukw.qwest.net) (Remote host closed the connection)
21:31:35 Alleria_ joins (~AllahuAkb@2603-7000-3040-0000-f003-eca1-8bf8-0ed7.res6.spectrum.com)
21:33:11 × brandly quits (~brandly@c-73-68-15-46.hsd1.ma.comcast.net) (Ping timeout: 240 seconds)
21:36:01 fendor_ joins (~fendor@77.119.130.24.wireless.dyn.drei.com)
21:36:35 × jb55 quits (~jb55@gateway/tor-sasl/jb55) (Remote host closed the connection)
21:37:22 jakalx joins (~jakalx@base.jakalx.net)
21:39:09 × fendor quits (~fendor@77.119.130.155.wireless.dyn.drei.com) (Ping timeout: 268 seconds)
21:39:28 stepcut joins (~stepcut@c-73-176-245-178.hsd1.il.comcast.net)
21:41:07 <stepcut> I am trying to use haskell-language-server+vscode.. and I have no idea what I am doing. I'd like to use cabal to build my project.. I think somehow I have to create a tasks.json so I can use 'Run Build Task...', but then I need some sort of problemMatcher?
21:41:12 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
21:41:36 × xff0x quits (~xff0x@2001:1a81:5218:cc00:1202:f6b4:5d5f:dc8c) (Ping timeout: 245 seconds)
21:41:46 × malumore quits (~malumore@151.62.119.109) (Ping timeout: 240 seconds)
21:42:18 × __monty__ quits (~toonn@unaffiliated/toonn) (Quit: leaving)
21:42:26 × heatsink quits (~heatsink@2600:1700:bef1:5e10:f0bc:f236:90c7:a6f5) (Remote host closed the connection)
21:43:54 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 260 seconds)
21:45:20 × JamesLu quits (~crazypyth@98.122.164.118) ()
21:45:21 × stepcut quits (~stepcut@c-73-176-245-178.hsd1.il.comcast.net) (Remote host closed the connection)
21:45:55 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 268 seconds)
21:46:11 × mouseghost quits (~draco@wikipedia/desperek) (Quit: mew wew)
21:49:24 × pera quits (~pera@unaffiliated/pera) (Ping timeout: 246 seconds)
21:50:51 solvr joins (57e3c46d@87.227.196.109)
21:54:12 × Franciman quits (~francesco@host-79-53-62-46.retail.telecomitalia.it) (Quit: Leaving)
21:54:47 xff0x joins (~xff0x@2001:1a81:523f:7b00:3c18:a9e7:56f9:4d88)
21:57:32 × solvr quits (57e3c46d@87.227.196.109) (Quit: Connection closed)
21:59:31 elliott_ joins (~elliott@pool-108-51-101-42.washdc.fios.verizon.net)
21:59:46 × sdrodge quits (~sdrodge@unaffiliated/sdrodge) (Ping timeout: 240 seconds)
22:00:23 Rudd0 joins (~Rudd0@185.189.115.108)
22:02:56 × fendor_ quits (~fendor@77.119.130.24.wireless.dyn.drei.com) (Remote host closed the connection)
22:03:08 ambiso9921 joins (~ambiso@209.182.239.205)
22:06:07 × ambiso992 quits (~ambiso@209.182.239.205) (Ping timeout: 276 seconds)
22:13:31 xiinotulp joins (~q@ppp-27-55-67-28.revip3.asianet.co.th)
22:13:45 × mollberg quits (~mollberg@78-69-80-125-no85.tbcn.telia.com) (Remote host closed the connection)
22:14:00 mollberg joins (~mollberg@78-69-80-125-no85.tbcn.telia.com)
22:16:28 × mollberg quits (~mollberg@78-69-80-125-no85.tbcn.telia.com) (Client Quit)
22:16:39 knonk joins (b9d94544@185.217.69.68)
22:17:26 × plutoniix quits (~q@ppp-49-237-18-51.revip6.asianet.co.th) (Ping timeout: 260 seconds)
22:17:48 × knonk quits (b9d94544@185.217.69.68) (Client Quit)
22:19:41 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
22:21:54 × LKoen quits (~LKoen@191.254.88.92.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”)
22:22:39 × notzmv quits (~zmv@unaffiliated/zmv) (Ping timeout: 246 seconds)
22:24:09 × average quits (uid473595@gateway/web/irccloud.com/x-ouzrkvprxkvmvpoy) (Quit: Connection closed for inactivity)
22:24:47 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 268 seconds)
22:25:18 coot joins (~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl)
22:26:50 × Tuplanolla quits (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
22:29:15 × nf quits (~n@monade.li) (Quit: Fairfarren.)
22:30:59 nf joins (~n@monade.li)
22:33:17 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
22:34:35 × __minoru__shirae quits (~shiraeesh@109.166.57.99) (Ping timeout: 246 seconds)
22:34:45 CrazyPython joins (~crazypyth@98.122.164.118)
22:35:26 CrazyPython is now known as JamesLu
22:36:35 ddere joins (uid110888@gateway/web/irccloud.com/x-ydfajrwtbkzcpvbs)
22:41:13 × Mrbuck quits (~Mrbuck@gateway/tor-sasl/mrbuck) (Quit: WeeChat 2.8)
22:42:01 × justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 250 seconds)
22:42:06 nbloomf joins (~nbloomf@2600:1700:ad14:3020:f167:a89:f05f:5d78)
22:43:09 heatsink joins (~heatsink@2600:1700:bef1:5e10:f0bc:f236:90c7:a6f5)
22:45:07 × borne quits (~fritjof@200116b8644f3500f7ed9fd86a2491f0.dip.versatel-1u1.de) (Ping timeout: 276 seconds)
22:45:48 borne joins (~fritjof@2a06:8782:ffbb:1337:ce73:3416:bcd:fc35)
22:47:59 cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
22:48:22 × heatsink quits (~heatsink@2600:1700:bef1:5e10:f0bc:f236:90c7:a6f5) (Ping timeout: 276 seconds)
22:53:50 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:f167:a89:f05f:5d78) (Quit: My MacBook has gone to sleep. ZZZzzz…)
22:55:12 solvr joins (57e3c46d@87.227.196.109)
22:55:25 heatsink joins (~heatsink@2600:1700:bef1:5e10:f0bc:f236:90c7:a6f5)
22:57:03 notzmv joins (~zmv@unaffiliated/zmv)
22:57:05 × recon_- quits (~quassel@2602:febc:0:b6::6ca2) (Quit: No Ping reply in 180 seconds.)
22:58:01 ddellacosta joins (~ddellacos@86.106.143.53)
22:58:56 × coot quits (~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
23:00:23 ixlun joins (~matthew@109.249.184.133)
23:03:00 × ddellacosta quits (~ddellacos@86.106.143.53) (Ping timeout: 268 seconds)
23:04:39 recon_- joins (~quassel@2602:febc:0:b6::6ca2)
23:04:41 × elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 260 seconds)
23:05:12 × solvr quits (57e3c46d@87.227.196.109) (Quit: Connection closed)
23:07:18 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
23:25:37 × zebrag quits (~inkbottle@aaubervilliers-654-1-98-245.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
23:25:58 zebrag joins (~inkbottle@aaubervilliers-654-1-98-245.w86-212.abo.wanadoo.fr)
23:27:41 × stree quits (~stree@68.36.8.116) (Ping timeout: 268 seconds)
23:27:43 solvr joins (57e3c46d@87.227.196.109)
23:28:47 MarcelineVQ joins (~anja@198.254.208.159)
23:29:08 <solvr> Do you know what bothers me in FP. It's all about composing functions and type systems in complex trees and pipelines, but in the end, precisely 0 of that survives the process boundary, let alone the machine boundary. And we're a more interconnected and distributed world than ever. So the sunk cost in modeling elaborately in FP doesn't provide good
23:29:09 <solvr> ROI.
23:29:26 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
23:31:35 × Tesseraction quits (~Tesseract@unaffiliated/tesseraction) (Remote host closed the connection)
23:33:26 ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta)
23:37:52 × ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 252 seconds)
23:38:33 × xsperry quits (~as@unaffiliated/xsperry) ()
23:38:58 xsperry joins (~as@unaffiliated/xsperry)
23:40:22 stree joins (~stree@68.36.8.116)
23:42:01 <Axman6> I'm not sure I agree, what about when you use Haskell and Purescript in the browser? Yes there's serialisation to (usually) JSON, but it's cheacked on each end. if you use Servant you can generate your client code so its types align with your server. at some point, everythign has to be bytes on a wire
23:42:46 <solvr> Axman6, you can serialize aspects of the type system, but a function pipeline, less so
23:44:09 nbloomf joins (~nbloomf@2600:1700:ad14:3020:f167:a89:f05f:5d78)
23:44:16 Jacob` joins (~user@97-113-25-104.tukw.qwest.net)
23:44:21 irc_user joins (uid423822@gateway/web/irccloud.com/x-qhkvurpryivhyrpb)
23:44:37 Jacob` parts (~user@97-113-25-104.tukw.qwest.net) ()
23:45:25 Vadrigar_ joins (~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de)
23:46:37 <wrunt> solvr: Your argument is analogous to "The world is such a dangerous place, there's just no point wearing seat belts."
23:46:56 <wrunt> I still wear a seat belt because I want to reduce my risk, not so I'm immortal.
23:48:30 × conal quits (~conal@64.71.133.70) (Ping timeout: 252 seconds)
23:49:46 conal joins (~conal@107.181.166.205)
23:50:29 × Vadrigar_ quits (~Vadrigar@ip5b417208.dynamic.kabel-deutschland.de) (Ping timeout: 268 seconds)
23:50:43 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:f167:a89:f05f:5d78) (Quit: My MacBook has gone to sleep. ZZZzzz…)
23:53:27 <wrunt> Also, once you've made the initial investment in learning Haskell, it doesn't take that long to write programs. The "modeling elaborately" doesn't cost you much, and can actually help you finish faster and give you better guarantees that you're done.
23:56:32 jud joins (~jud@206.217.205.84)
23:56:32 × jud quits (~jud@206.217.205.84) (Changing host)
23:56:32 jud joins (~jud@unaffiliated/jud)
23:57:57 nbloomf joins (~nbloomf@2600:1700:ad14:3020:f167:a89:f05f:5d78)

All times are in UTC on 2021-03-28.