2021/04/18

2021-04-18 00:00:27 +0200gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh) (Remote host closed the connection)
2021-04-18 00:01:06 +0200malumore_(~malumore@151.62.116.94) (Ping timeout: 240 seconds)
2021-04-18 00:01:44 +0200todda7(~torstein@athedsl-4519432.home.otenet.gr)
2021-04-18 00:01:47 +0200gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh)
2021-04-18 00:04:33 +0200elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 240 seconds)
2021-04-18 00:05:39 +0200kiweun(~kiweun@2607:fea8:2a62:9600:b5bb:e6d4:94df:23fa)
2021-04-18 00:06:40 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-04-18 00:08:22 +0200Rudd0(~Rudd0@185.189.115.103)
2021-04-18 00:10:47 +0200hiroaki_(~hiroaki@2a02:908:4b18:8c40:38ad:46e5:7ba6:a020) (Ping timeout: 260 seconds)
2021-04-18 00:10:53 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 246 seconds)
2021-04-18 00:13:07 +0200danvet(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 260 seconds)
2021-04-18 00:13:49 +0200fendor(~fendor@77.119.129.72.wireless.dyn.drei.com) (Remote host closed the connection)
2021-04-18 00:14:41 +0200__minoru__shirae(~shiraeesh@109.166.59.72) (Ping timeout: 240 seconds)
2021-04-18 00:15:35 +0200Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
2021-04-18 00:16:31 +0200gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving)
2021-04-18 00:18:24 +0200frozenErebus(~frozenEre@37.231.244.249)
2021-04-18 00:21:04 +0200sz0(uid110435@gateway/web/irccloud.com/x-nyvqwpzmynjyzzuv) (Quit: Connection closed for inactivity)
2021-04-18 00:30:29 +0200Rudd0(~Rudd0@185.189.115.103) (Ping timeout: 246 seconds)
2021-04-18 00:31:11 +0200jonatan(~nate@h77-53-70-163.cust.a3fiber.se) (Ping timeout: 246 seconds)
2021-04-18 00:31:41 +0200son0p(~ff@181.136.122.143) (Remote host closed the connection)
2021-04-18 00:34:10 +0200Rudd0(~Rudd0@185.189.115.108)
2021-04-18 00:37:02 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
2021-04-18 00:40:03 +0200charlie_hu(b4d927b7@180.217.39.183)
2021-04-18 00:40:18 +0200Nahra(~user@unaffiliated/nahra)
2021-04-18 00:40:28 +0200charlie_hu(b4d927b7@180.217.39.183) (Client Quit)
2021-04-18 00:42:13 +0200nut(~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 268 seconds)
2021-04-18 00:43:12 +0200jonatan(~nate@h77-53-70-163.cust.a3fiber.se)
2021-04-18 00:43:53 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-04-18 00:47:21 +0200Guest78317(~laudiacay@67.176.215.84)
2021-04-18 00:47:27 +0200Varis(~Tadas@unaffiliated/varis) (Remote host closed the connection)
2021-04-18 00:48:34 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 252 seconds)
2021-04-18 00:49:49 +0200Jd007(~Jd007@162.156.11.151)
2021-04-18 00:50:59 +0200Kaeipi(~Kaiepi@47.54.252.148) (Remote host closed the connection)
2021-04-18 00:52:08 +0200Guest78317(~laudiacay@67.176.215.84) (Ping timeout: 265 seconds)
2021-04-18 00:52:09 +0200elliott_(~elliott_@pool-108-18-30-46.washdc.fios.verizon.net)
2021-04-18 00:59:19 +0200rond_(5940206b@89-64-32-107.dynamic.chello.pl) (Quit: Connection closed)
2021-04-18 00:59:30 +0200geowiesnot(~user@87-89-181-157.abo.bbox.fr)
2021-04-18 01:02:30 +0200dmytrish(~mitra@37.228.247.154) (Ping timeout: 252 seconds)
2021-04-18 01:03:22 +0200__monty__(~toonn@unaffiliated/toonn) (Quit: leaving)
2021-04-18 01:04:13 +0200frozenErebus(~frozenEre@37.231.244.249) (Ping timeout: 240 seconds)
2021-04-18 01:07:12 +0200supercoven(~Supercove@dsl-hkibng31-58c384-213.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-04-18 01:07:13 +0200Jd007(~Jd007@162.156.11.151) (Ping timeout: 240 seconds)
2021-04-18 01:08:07 +0200frozenErebus(~frozenEre@37.231.244.249)
2021-04-18 01:09:41 +0200geiger_(~geiger@90.212.77.86) (Ping timeout: 246 seconds)
2021-04-18 01:15:41 +0200dmytrish(~mitra@2a02:8084:a82:d900:319a:d200:a43d:3e3c)
2021-04-18 01:17:26 +0200frozenErebus(~frozenEre@37.231.244.249) (Ping timeout: 240 seconds)
2021-04-18 01:18:34 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-04-18 01:18:44 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-04-18 01:20:06 +0200usr25(~usr25@unaffiliated/usr25) (Read error: Connection reset by peer)
2021-04-18 01:22:52 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds)
2021-04-18 01:32:18 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-04-18 01:36:39 +0200dmytrish(~mitra@2a02:8084:a82:d900:319a:d200:a43d:3e3c) (Ping timeout: 260 seconds)
2021-04-18 01:39:01 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 252 seconds)
2021-04-18 01:39:30 +0200vgtw(~vgtw@gateway/tor-sasl/vgtw) (Remote host closed the connection)
2021-04-18 01:39:45 +0200vgtw(~vgtw@gateway/tor-sasl/vgtw)
2021-04-18 01:44:21 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-04-18 01:47:04 +0200stef204(~stef204@unaffiliated/stef-204/x-384198)
2021-04-18 01:47:15 +0200Lowl3v3l(~Lowl3v3l@dslb-002-207-103-026.002.207.pools.vodafone-ip.de) (Read error: Connection reset by peer)
2021-04-18 01:48:19 +0200justanotheruser(~justanoth@unaffiliated/justanotheruser) (Ping timeout: 260 seconds)
2021-04-18 01:49:10 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 265 seconds)
2021-04-18 01:57:39 +0200ddellacosta(~ddellacos@86.106.143.40)
2021-04-18 01:58:22 +0200 <dmj`> Does microlens not have uniplate support?
2021-04-18 01:59:10 +0200 <dmj`> maybe its too "micro" for that
2021-04-18 02:02:07 +0200ddellacosta(~ddellacos@86.106.143.40) (Ping timeout: 252 seconds)
2021-04-18 02:05:33 +0200rprije(~rprije@59-102-63-15.tpgi.com.au)
2021-04-18 02:06:11 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-04-18 02:10:53 +0200star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 240 seconds)
2021-04-18 02:19:02 +0200star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
2021-04-18 02:19:11 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-04-18 02:22:35 +0200Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2021-04-18 02:22:48 +0200machinedgod(~machinedg@24.105.81.50) (Ping timeout: 252 seconds)
2021-04-18 02:24:35 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
2021-04-18 02:26:06 +0200Ariakenom(~Ariakenom@2001:9b1:efb:fc00:35d5:f540:5742:5bbb) (Quit: Leaving)
2021-04-18 02:27:31 +0200stef204(~stef204@unaffiliated/stef-204/x-384198) (Ping timeout: 250 seconds)
2021-04-18 02:28:24 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-04-18 02:30:52 +0200Tario(~Tario@201.192.165.173)
2021-04-18 02:34:12 +0200dmytrish(~mitra@2a02:8084:a82:d900:319a:d200:a43d:3e3c)
2021-04-18 02:35:15 +0200ddellacosta(~ddellacos@86.106.143.79)
2021-04-18 02:36:31 +0200GothAlice1(~GothAlice@217.146.82.202) (Remote host closed the connection)
2021-04-18 02:39:31 +0200ddellacosta(~ddellacos@86.106.143.79) (Ping timeout: 252 seconds)
2021-04-18 02:40:35 +0200dmytrish(~mitra@2a02:8084:a82:d900:319a:d200:a43d:3e3c) (Ping timeout: 260 seconds)
2021-04-18 02:41:36 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-04-18 02:43:18 +0200star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 265 seconds)
2021-04-18 02:50:04 +0200Narinas(~Narinas@187-178-93-112.dynamic.axtel.net) (Read error: Connection reset by peer)
2021-04-18 02:50:51 +0200Narinas(~Narinas@187-178-93-112.dynamic.axtel.net)
2021-04-18 02:53:20 +0200T-Junk(~T-Junk@178.239.168.171)
2021-04-18 02:57:13 +0200stef204(~stef204@unaffiliated/stef-204/x-384198)
2021-04-18 02:58:20 +0200nineonine(~nineonine@2604:3d08:7785:9600:2926:4844:fa1f:b849) (Remote host closed the connection)
2021-04-18 02:59:22 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4)
2021-04-18 03:03:47 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Ping timeout: 258 seconds)
2021-04-18 03:03:57 +0200lambdaman(~lambdaman@s66-183-152-156.bc.hsia.telus.net)
2021-04-18 03:05:24 +0200Kaiepi(~Kaiepi@47.54.252.148)
2021-04-18 03:08:45 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-04-18 03:13:45 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 265 seconds)
2021-04-18 03:14:14 +0200HannaM(~quassel@p54849510.dip0.t-ipconnect.de) (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
2021-04-18 03:15:21 +0200Guest78317(~laudiacay@67.176.215.84)
2021-04-18 03:16:23 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 246 seconds)
2021-04-18 03:19:32 +0200Guest78317(~laudiacay@67.176.215.84) (Ping timeout: 246 seconds)
2021-04-18 03:22:13 +0200lechner(~lechner@letbox-vps.us-core.com)
2021-04-18 03:23:28 +0200hidedagger(~nate@unaffiliated/hidedagger)
2021-04-18 03:24:26 +0200Codaraxis(Codaraxis@gateway/vpn/mullvad/codaraxis)
2021-04-18 03:24:55 +0200 <lechner> Hi, I am on my second Haskell project. Using ghc from Debian but vendored packages from Hackage, what is the right sequence to build the example on this page, please? http://hackage.haskell.org/package/amqp-0.22.0/docs/Network-AMQP.html
2021-04-18 03:25:15 +0200xff0x(~xff0x@2001:1a81:5285:4800:4b3b:6e1b:c5f9:114d) (Ping timeout: 258 seconds)
2021-04-18 03:26:42 +0200lambdaman(~lambdaman@s66-183-152-156.bc.hsia.telus.net) (Remote host closed the connection)
2021-04-18 03:26:46 +0200Deide(~Deide@217.155.19.23) (Quit: Seeee yaaaa)
2021-04-18 03:27:07 +0200xff0x(~xff0x@2001:1a81:52bc:3c00:e093:d566:52f:38b9)
2021-04-18 03:27:39 +0200 <sm[m]> hi lechner . what problem have you got ?
2021-04-18 03:28:23 +0200lambdaman(~lambdaman@s66-183-152-156.bc.hsia.telus.net)
2021-04-18 03:29:11 +0200 <lechner> sm[m]: Hi, should i use stack? which one? last time i got confused by another tool, maybe cabal?
2021-04-18 03:30:10 +0200 <lechner> to rephrase, is 'stack new' still the way to go?
2021-04-18 03:31:06 +0200dpl(~dpl@77-121-78-163.chn.volia.net) (Ping timeout: 240 seconds)
2021-04-18 03:31:14 +0200 <sm[m]> lechner: you can use either, but I would, yes. To just quickly build this example: stack ghc --package amqp file.hs
2021-04-18 03:31:25 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4)
2021-04-18 03:31:32 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Remote host closed the connection)
2021-04-18 03:31:45 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4)
2021-04-18 03:31:55 +0200 <sm[m]> no need to create a project if you're just building an example
2021-04-18 03:32:16 +0200 <lechner> thanks, i have stack 2.3.3 in Debian bullseye. is that good enough?
2021-04-18 03:32:33 +0200 <lechner> well, i have to go to production anyway
2021-04-18 03:32:54 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Remote host closed the connection)
2021-04-18 03:33:03 +0200 <sm[m]> I would get the latest, 2.5.x. "stack upgrade", or look for a newer deb
2021-04-18 03:33:08 +0200 <sm[m]> but you can try
2021-04-18 03:33:56 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4)
2021-04-18 03:35:19 +0200 <lechner> thanks so much! it's a privilege to get help from you, if you are the SM i think you are
2021-04-18 03:35:43 +0200 <sm[m]> I'm not Simon Marlow :)
2021-04-18 03:35:59 +0200hypercube(hypercube@gateway/vpn/protonvpn/hypercube) (Ping timeout: 246 seconds)
2021-04-18 03:36:09 +0200 <lechner> bummer. thanks, anyway! :)
2021-04-18 03:36:23 +0200 <sm[m]> np
2021-04-18 03:36:38 +0200 <lechner> i won't tell anyone
2021-04-18 03:36:55 +0200 <sm[m]> doesn't matter.. they can tell somehow :)
2021-04-18 03:37:58 +0200 <lechner> with your commitment to this channel you deserve greater accolades, anyhow!
2021-04-18 03:38:09 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Ping timeout: 250 seconds)
2021-04-18 03:39:46 +0200 <sm[m]> I keep telling them...
2021-04-18 03:40:50 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-04-18 03:45:06 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds)
2021-04-18 03:46:10 +0200 <lechner> looks like i have to adjust some Debian QA tools for Hackage. can the explicit deprecation of stack version 9.9.9 be detected somehow? tracker.debian.org doesn't get it 'new upstream version available': https://tracker.debian.org/pkg/haskell-stack http://hackage.haskell.org/package/stack/preferred
2021-04-18 03:47:11 +0200geowiesnot(~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 246 seconds)
2021-04-18 03:47:44 +0200gnumonic(~gnumonic@c-73-170-91-210.hsd1.ca.comcast.net)
2021-04-18 03:52:21 +0200 <sm[m]> maybe Clint knows
2021-04-18 03:57:48 +0200sz0(uid110435@gateway/web/irccloud.com/x-zwmbhzhzwgqqzplk)
2021-04-18 03:59:04 +0200 <Clint> lechner: you might try #hackage if you want enhancements to distro-monitor or some api
2021-04-18 04:00:33 +0200 <lechner> Clint: okay, i'll ask over there. thanks!
2021-04-18 04:01:30 +0200jao(~jao@pdpc/supporter/professional/jao)
2021-04-18 04:02:57 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-04-18 04:03:38 +0200Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net) (Ping timeout: 252 seconds)
2021-04-18 04:03:47 +0200Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net)
2021-04-18 04:04:33 +0200jacks2(~bc8134e3@217.29.117.252) (Quit: http://www.okay.uz/)
2021-04-18 04:05:40 +0200olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber)
2021-04-18 04:05:53 +0200mozzarella(~sam@unaffiliated/sam113101) (Ping timeout: 240 seconds)
2021-04-18 04:06:15 +0200nineonine(~nineonine@2604:3d08:7785:9600:2926:4844:fa1f:b849)
2021-04-18 04:06:47 +0200lambdaman(~lambdaman@s66-183-152-156.bc.hsia.telus.net) (Remote host closed the connection)
2021-04-18 04:06:50 +0200stef204(~stef204@unaffiliated/stef-204/x-384198) (Quit: WeeChat 3.1)
2021-04-18 04:08:47 +0200lambdaman(~lambdaman@s66-183-152-156.bc.hsia.telus.net)
2021-04-18 04:09:15 +0200 <gnumonic> I'm not 100% sure if this is the right question but: Is there a way to force immediate kind unification? I'm testing some type level stuff w/ higher order defunctionalized type level functions (:: (k1 ~> k2) ~> k3 ish) and I can't tell whether they work as intended without compiling (which takes like 15 minutes).
2021-04-18 04:09:50 +0200hidedagger(~nate@unaffiliated/hidedagger) (Quit: WeeChat 3.1)
2021-04-18 04:11:38 +0200nineonine(~nineonine@2604:3d08:7785:9600:2926:4844:fa1f:b849) (Ping timeout: 258 seconds)
2021-04-18 04:14:54 +0200 <infinisil> gnumonic: Can you split it into multiple files?
2021-04-18 04:15:01 +0200 <nicholasbulka> what kind of data structure, or pattern, might be best to use for sorting Integers across lists, returning the same shape of the list.
2021-04-18 04:15:31 +0200 <infinisil> nicholasbulka: Example?
2021-04-18 04:16:00 +0200 <nicholasbulka> well, consider chars actually
2021-04-18 04:16:02 +0200 <nicholasbulka> [ [
2021-04-18 04:16:02 +0200 <nicholasbulka> ['H', 'H', 'W', 'O'], ['O','O','O','O']
2021-04-18 04:16:02 +0200 <nicholasbulka> ['W', 'W', 'O', 'W'], => ['W','W','W','W']
2021-04-18 04:16:04 +0200 <nicholasbulka> ['H', 'H', 'O', 'O'] ['H','H','H','H']
2021-04-18 04:16:06 +0200 <nicholasbulka> ] ]
2021-04-18 04:16:12 +0200 <gnumonic> infinisil: no :-( Not without doing the recursive module thing. I'm trying to do some heavy dependently typed stuff and (almost) everything depends on (almost) everything else in some way
2021-04-18 04:16:29 +0200 <gnumonic> And tbh I couldn't get the recursive module thing to work after a few hours and so I gave up
2021-04-18 04:17:51 +0200 <nicholasbulka> where H = 1.36, W = 1.00, A = 0.87, and 0 = 0.80 (so sorting lowest first basically)
2021-04-18 04:17:54 +0200 <infinisil> gnumonic: Maybe https://downloads.haskell.org/ghc/latest/docs/html/users_guide/phases.html#ghc-flag--fno-code
2021-04-18 04:18:36 +0200ddellacosta(~ddellacos@86.106.143.79)
2021-04-18 04:19:28 +0200rajivr(uid269651@gateway/web/irccloud.com/x-cevinofdvazcujky)
2021-04-18 04:19:44 +0200mozzarella(~sam@unaffiliated/sam113101)
2021-04-18 04:19:50 +0200 <infinisil> nicholasbulka: That's an odd use case. Haskell lists aren't really good for this. Do you need exactly this or can you change the input/output to some better data structure?
2021-04-18 04:20:00 +0200 <gnumonic> That'll omit TH splices right? I'm using singletons to generate defunctionalization symbols so I don't think that'll work. I mean I could do all of that by hand but... not sure that'd really save me time. I guess I'll just try to be careful. Compile times really balloon when you do a lot of type family stuff
2021-04-18 04:20:37 +0200 <nicholasbulka> it's a code wars problem, the input is always of the form ...
2021-04-18 04:20:43 +0200 <nicholasbulka> fixedTests :: [([Char], [[Char]], [[Char]])]
2021-04-18 04:20:43 +0200 <nicholasbulka> fixedTests =
2021-04-18 04:20:43 +0200 <nicholasbulka> [
2021-04-18 04:20:45 +0200 <nicholasbulka> ( "Should be able to sort 3 liquids"
2021-04-18 04:20:47 +0200 <nicholasbulka> ,
2021-04-18 04:20:49 +0200 <nicholasbulka> [ "HHWO"
2021-04-18 04:20:51 +0200 <nicholasbulka> , "WWOW"
2021-04-18 04:20:53 +0200 <nicholasbulka> , "HHOO"
2021-04-18 04:20:55 +0200 <nicholasbulka> ]
2021-04-18 04:20:57 +0200 <nicholasbulka> ,
2021-04-18 04:21:17 +0200 <infinisil> gnumonic: I'd give -fno-code a try
2021-04-18 04:22:07 +0200 <gnumonic> mkay i'll flip it on and see what happens. thanks!
2021-04-18 04:22:44 +0200kristijonas(~kristijon@78-56-32-39.static.zebra.lt)
2021-04-18 04:22:53 +0200ddellacosta(~ddellacos@86.106.143.79) (Ping timeout: 246 seconds)
2021-04-18 04:23:53 +0200mozzarella(~sam@unaffiliated/sam113101) (Ping timeout: 240 seconds)
2021-04-18 04:26:30 +0200 <infinisil> nicholasbulka: Can't think of a nice pattern. I think you'll have to extract the list lengths
2021-04-18 04:26:55 +0200 <nicholasbulka> yeah
2021-04-18 04:27:05 +0200 <nicholasbulka> I haven't been able to think of anything elegant either
2021-04-18 04:27:35 +0200mozzarella(~sam@unaffiliated/sam113101)
2021-04-18 04:27:36 +0200 <nicholasbulka> generally seems hard to swap things arbitrarily across functors
2021-04-18 04:27:45 +0200 <nicholasbulka> but I am new
2021-04-18 04:28:30 +0200 <infinisil> I guess you want functions for `[[a]] -> ([Int], [a])` and the inverse
2021-04-18 04:30:08 +0200 <infinisil> nicholasbulka: Is it a matrix?
2021-04-18 04:30:18 +0200 <infinisil> Is the length of each sublist always the same?
2021-04-18 04:30:47 +0200justsomeguy(~justsomeg@unaffiliated/--/x-3805311)
2021-04-18 04:30:49 +0200 <nicholasbulka> yes, it's always 2x3 to 2x3 or 4x1 to 4x1 etc.
2021-04-18 04:31:09 +0200 <sm[m]> do pragmas like OPTIONS_GHC, NOINLINE need to immediately precede the type signature/function declaration ? Or can I add some ordinary comment lines in between ?
2021-04-18 04:32:56 +0200 <infinisil> nicholasbulka: Ah then you only need `[[a]] -> (Int, [a])` and the inverse
2021-04-18 04:33:05 +0200 <infinisil> Where the Int is the length of a sublist
2021-04-18 04:33:07 +0200fiedlr(~fiedlr@83.148.33.254) (Remote host closed the connection)
2021-04-18 04:33:25 +0200fiedlr(~fiedlr@83.148.33.254)
2021-04-18 04:33:52 +0200Alleria_(~AllahuAkb@2603-7000-3040-0000-1861-6f3f-b8b6-91aa.res6.spectrum.com) (Ping timeout: 258 seconds)
2021-04-18 04:35:15 +0200 <infinisil> ,tias
2021-04-18 04:35:25 +0200 <infinisil> sm[m]: Try it and see! (then tell us what you saw)
2021-04-18 04:35:31 +0200lambdaman(~lambdaman@s66-183-152-156.bc.hsia.telus.net) (Remote host closed the connection)
2021-04-18 04:36:35 +0200 <sm[m]> alas my mental stack is full, I have lazily stuck those comments at the top
2021-04-18 04:37:22 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
2021-04-18 04:38:13 +0200 <nicholasbulka> that makes sense, thanks!
2021-04-18 04:39:38 +0200spacebase(~spacebase@97-118-136-127.hlrn.qwest.net) (Ping timeout: 268 seconds)
2021-04-18 04:40:15 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 268 seconds)
2021-04-18 04:40:47 +0200pthariensflame(~pthariens@2600:6c52:727f:4200:ecc8:7d66:24f2:c0bf)
2021-04-18 04:41:22 +0200lambdaman(~lambdaman@s66-183-152-156.bc.hsia.telus.net)
2021-04-18 04:42:18 +0200theDon(~td@muedsl-82-207-238-217.citykom.de) (Ping timeout: 240 seconds)
2021-04-18 04:44:17 +0200theDon(~td@94.134.91.146)
2021-04-18 04:46:10 +0200lambdaman(~lambdaman@s66-183-152-156.bc.hsia.telus.net) (Ping timeout: 252 seconds)
2021-04-18 04:46:18 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4)
2021-04-18 04:47:20 +0200FinnElija(~finn_elij@gateway/tor-sasl/finnelija/x-67402716)
2021-04-18 04:47:20 +0200finn_elijaGuest10534
2021-04-18 04:47:20 +0200FinnElijafinn_elija
2021-04-18 04:48:54 +0200kristijonas(~kristijon@78-56-32-39.static.zebra.lt) (Remote host closed the connection)
2021-04-18 04:49:15 +0200kristijonas(~kristijon@78-56-32-39.static.zebra.lt)
2021-04-18 04:49:16 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
2021-04-18 04:50:44 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Ping timeout: 258 seconds)
2021-04-18 04:51:09 +0200Guest10534(~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Ping timeout: 240 seconds)
2021-04-18 04:51:18 +0200pthariensflame(~pthariens@2600:6c52:727f:4200:ecc8:7d66:24f2:c0bf) ()
2021-04-18 04:56:06 +0200seven_three(~user@pool-96-233-64-53.bstnma.fios.verizon.net)
2021-04-18 04:59:23 +0200ddellacosta(~ddellacos@86.106.143.40)
2021-04-18 05:00:38 +0200Ishutin_(~ishutin@94-21-174-90.pool.digikabel.hu)
2021-04-18 05:01:26 +0200seven_three(~user@pool-96-233-64-53.bstnma.fios.verizon.net) ("ERC (IRC client for Emacs 27.2)")
2021-04-18 05:01:42 +0200Feuermagier(~Feuermagi@2a02:2488:4211:3400:7285:c2ff:fe22:172e)
2021-04-18 05:03:26 +0200ddellacosta(~ddellacos@86.106.143.40) (Ping timeout: 240 seconds)
2021-04-18 05:03:53 +0200Ishutin(~ishutin@193-110-63-24.cable-modem.hdsnet.hu) (Ping timeout: 260 seconds)
2021-04-18 05:05:33 +0200Feuermagier_(~Feuermagi@2a02:2488:4211:3400:7285:c2ff:fe22:172e)
2021-04-18 05:05:45 +0200Feuermagier(~Feuermagi@2a02:2488:4211:3400:7285:c2ff:fe22:172e) (Read error: Connection reset by peer)
2021-04-18 05:05:57 +0200Feuermagier_(~Feuermagi@2a02:2488:4211:3400:7285:c2ff:fe22:172e) (Remote host closed the connection)
2021-04-18 05:11:55 +0200star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
2021-04-18 05:12:19 +0200mozzarella(~sam@unaffiliated/sam113101) (Ping timeout: 268 seconds)
2021-04-18 05:12:56 +0200russruss40(~russruss@my.russellmcc.com) (Ping timeout: 260 seconds)
2021-04-18 05:13:53 +0200russruss40(~russruss@my.russellmcc.com)
2021-04-18 05:26:21 +0200justanotheruser(~justanoth@unaffiliated/justanotheruser)
2021-04-18 05:28:20 +0200plutoniix(~q@ppp-223-24-146-11.revip6.asianet.co.th)
2021-04-18 05:30:27 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-04-18 05:35:31 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 252 seconds)
2021-04-18 05:42:33 +0200justanotheruser(~justanoth@unaffiliated/justanotheruser) (Quit: WeeChat 2.9)
2021-04-18 05:45:15 +0200justanotheruser(~justanoth@unaffiliated/justanotheruser)
2021-04-18 05:49:48 +0200alx741(~alx741@186.178.109.113) (Quit: alx741)
2021-04-18 05:54:37 +0200Jd007(~Jd007@162.156.11.151)
2021-04-18 05:56:54 +0200waleee-cl(uid373333@gateway/web/irccloud.com/x-mkcsziznqohoylbr) (Quit: Connection closed for inactivity)
2021-04-18 06:01:52 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-04-18 06:02:18 +0200Unhammer(~Unhammer@gateway/tor-sasl/unhammer) (Remote host closed the connection)
2021-04-18 06:02:49 +0200Unhammer(~Unhammer@gateway/tor-sasl/unhammer)
2021-04-18 06:04:44 +0200conal(~conal@64.71.133.70) (Read error: Connection reset by peer)
2021-04-18 06:05:44 +0200urodna(~urodna@unaffiliated/urodna) (Quit: urodna)
2021-04-18 06:06:35 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 268 seconds)
2021-04-18 06:06:48 +0200elliott__(~elliott@pool-108-18-30-46.washdc.fios.verizon.net)
2021-04-18 06:07:00 +0200thunderrd(~thunderrd@183.182.111.104) (Ping timeout: 265 seconds)
2021-04-18 06:10:40 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4)
2021-04-18 06:10:47 +0200conal(~conal@64.71.133.70)
2021-04-18 06:11:32 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Remote host closed the connection)
2021-04-18 06:15:45 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4)
2021-04-18 06:17:52 +0200quinn(~quinn@c-73-223-224-163.hsd1.ca.comcast.net)
2021-04-18 06:20:26 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Ping timeout: 258 seconds)
2021-04-18 06:25:50 +0200kristijonas(~kristijon@78-56-32-39.static.zebra.lt) (Remote host closed the connection)
2021-04-18 06:26:17 +0200kristijonas(~kristijon@78-56-32-39.static.zebra.lt)
2021-04-18 06:26:56 +0200elliott__(~elliott@pool-108-18-30-46.washdc.fios.verizon.net) (Ping timeout: 268 seconds)
2021-04-18 06:28:02 +0200__minoru__shirae(~shiraeesh@109.166.58.81)
2021-04-18 06:31:35 +0200NGravity(csp@gateway/shell/xshellz/x-wehocrdvpegpsnls) (Ping timeout: 260 seconds)
2021-04-18 06:33:34 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-04-18 06:36:34 +0200s00pcan(~chris@075-133-056-178.res.spectrum.com) (Ping timeout: 252 seconds)
2021-04-18 06:36:36 +0200mozzarella(~sam@unaffiliated/sam113101)
2021-04-18 06:38:09 +0200s00pcan(~chris@107.181.165.217)
2021-04-18 06:38:53 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-04-18 06:39:38 +0200justsomeguy(~justsomeg@unaffiliated/--/x-3805311) (Quit: WeeChat 3.0.1)
2021-04-18 06:39:38 +0200zaquest(~notzaques@5.128.210.178) (Read error: Connection reset by peer)
2021-04-18 06:40:03 +0200zaquest(~notzaques@5.128.210.178)
2021-04-18 06:41:21 +0200drbean_(~drbean@TC210-63-209-220.static.apol.com.tw)
2021-04-18 06:41:23 +0200Unhammer(~Unhammer@gateway/tor-sasl/unhammer) (Remote host closed the connection)
2021-04-18 06:42:23 +0200geowiesnot(~user@87-89-181-157.abo.bbox.fr)
2021-04-18 06:43:12 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds)
2021-04-18 06:44:39 +0200Unhammer(~Unhammer@gateway/tor-sasl/unhammer)
2021-04-18 06:47:28 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4)
2021-04-18 06:48:05 +0200Patrick333(0ecfcc5d@14.207.204.93)
2021-04-18 06:50:24 +0200lambdaman(~lambdaman@s66-183-152-156.bc.hsia.telus.net)
2021-04-18 06:54:01 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Ping timeout: 250 seconds)
2021-04-18 06:55:38 +0200nicholasbulka(~nicholasb@2601:900:4301:da0:c8b6:8ee4:f90a:54d2) (Remote host closed the connection)
2021-04-18 06:57:59 +0200nicholasbulka(~nicholasb@2601:900:4301:da0:c8b6:8ee4:f90a:54d2)
2021-04-18 06:59:26 +0200qwerty2o(~qwerty2o@93-172-139-92.bb.netvision.net.il) (Ping timeout: 240 seconds)
2021-04-18 07:02:15 +0200nicholasbulka(~nicholasb@2601:900:4301:da0:c8b6:8ee4:f90a:54d2) (Ping timeout: 250 seconds)
2021-04-18 07:04:39 +0200Jd007(~Jd007@162.156.11.151) (Quit: Jd007)
2021-04-18 07:07:26 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-04-18 07:08:04 +0200hidedagger(~nate@unaffiliated/hidedagger)
2021-04-18 07:09:40 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4)
2021-04-18 07:10:37 +0200lechner(~lechner@letbox-vps.us-core.com) (Quit: WeeChat 3.0)
2021-04-18 07:10:37 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Remote host closed the connection)
2021-04-18 07:11:36 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4)
2021-04-18 07:12:45 +0200idhugo(~idhugo@87-49-147-45-mobile.dk.customer.tdc.net)
2021-04-18 07:15:53 +0200Guest78317(~laudiacay@67.176.215.84)
2021-04-18 07:16:07 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Ping timeout: 250 seconds)
2021-04-18 07:17:07 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-04-18 07:18:04 +0200hrnz(~hrnz@unaffiliated/hrnz)
2021-04-18 07:20:01 +0200ericsagnes(~ericsagne@2405:6580:0:5100:cd2f:135d:b869:baa3) (Ping timeout: 250 seconds)
2021-04-18 07:20:34 +0200Guest78317(~laudiacay@67.176.215.84) (Ping timeout: 252 seconds)
2021-04-18 07:21:40 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 252 seconds)
2021-04-18 07:30:36 +0200jao-(~jao@pdpc/supporter/professional/jao)
2021-04-18 07:30:48 +0200jao-(~jao@pdpc/supporter/professional/jao) (Client Quit)
2021-04-18 07:32:14 +0200ericsagnes(~ericsagne@2405:6580:0:5100:c907:2b1b:a88e:a342)
2021-04-18 07:33:23 +0200geiger(~geiger@90.212.77.86)
2021-04-18 07:37:08 +0200lawt(~lawt@2601:200:8101:f140:dea6:32ff:fea1:adfa) (Read error: Connection reset by peer)
2021-04-18 07:38:10 +0200rprije(~rprije@59-102-63-15.tpgi.com.au) (Remote host closed the connection)
2021-04-18 07:40:58 +0200Patrick333(0ecfcc5d@14.207.204.93) (Quit: Ping timeout (120 seconds))
2021-04-18 07:47:44 +0200 <dmj`> Control.Lens.Plated.transform is incredible
2021-04-18 07:49:27 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-04-18 07:49:30 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4)
2021-04-18 07:50:51 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Remote host closed the connection)
2021-04-18 07:51:53 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4)
2021-04-18 07:52:50 +0200lawt(~lawt@2601:200:8101:f140:dea6:32ff:fea1:adfa)
2021-04-18 07:53:33 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds)
2021-04-18 07:55:48 +0200lechner(~lechner@letbox-vps.us-core.com)
2021-04-18 07:56:25 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Ping timeout: 250 seconds)
2021-04-18 07:58:41 +0200freegraph(~freegraph@103.58.155.176)
2021-04-18 08:02:40 +0200nineonine(~nineonine@2604:3d08:7785:9600:2926:4844:fa1f:b849)
2021-04-18 08:04:26 +0200nineonine(~nineonine@2604:3d08:7785:9600:2926:4844:fa1f:b849) (Remote host closed the connection)
2021-04-18 08:05:25 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4)
2021-04-18 08:06:46 +0200cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 252 seconds)
2021-04-18 08:09:51 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Ping timeout: 250 seconds)
2021-04-18 08:13:41 +0200thunderrd(~thunderrd@183.182.114.233)
2021-04-18 08:15:20 +0200Jd007(~Jd007@162.156.11.151)
2021-04-18 08:20:24 +0200hidedagger(~nate@unaffiliated/hidedagger) (Quit: WeeChat 3.1)
2021-04-18 08:21:53 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
2021-04-18 08:22:02 +0200nut(~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2021-04-18 08:22:44 +0200qwerty2o(~qwerty2o@188.64.207.157)
2021-04-18 08:25:44 +0200ddellacosta(~ddellacos@86.106.143.248)
2021-04-18 08:27:21 +0200wildlander(~wildlande@unaffiliated/wildlander)
2021-04-18 08:30:12 +0200ddellacosta(~ddellacos@86.106.143.248) (Ping timeout: 252 seconds)
2021-04-18 08:35:34 +0200 <lechner> Hi, should this use of 'threadDelay' cause a 3-second sleep? https://dpaste.org/Gndj#L27
2021-04-18 08:36:45 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4)
2021-04-18 08:37:46 +0200 <lechner> sorry, this is the one https://dpaste.org/va3m#L27
2021-04-18 08:38:02 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Remote host closed the connection)
2021-04-18 08:39:04 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4)
2021-04-18 08:41:09 +0200 <glguy> Hopefully not
2021-04-18 08:41:28 +0200 <lechner> how can i, please?
2021-04-18 08:41:54 +0200 <lechner> it does not
2021-04-18 08:42:15 +0200 <glguy> That'll pause for 3 milliseconds
2021-04-18 08:42:27 +0200 <dmj`> secs x = (x*1000*1000)
2021-04-18 08:42:42 +0200 <dmj`> @def secs x = (x*1000*1000)
2021-04-18 08:42:44 +0200 <lambdabot> Defined.
2021-04-18 08:42:48 +0200 <dmj`> > secs 3
2021-04-18 08:42:50 +0200 <lambdabot> 3000000
2021-04-18 08:43:05 +0200 <dmj`> :t threadDelay (secs 3)
2021-04-18 08:43:07 +0200 <lambdabot> error:
2021-04-18 08:43:07 +0200 <lambdabot> Variable not in scope: threadDelay :: t0 -> t
2021-04-18 08:43:37 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 252 seconds)
2021-04-18 08:43:39 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Ping timeout: 250 seconds)
2021-04-18 08:49:04 +0200 <lechner> thanks! my second haskell experiment is almost working now
2021-04-18 08:49:41 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-04-18 08:53:18 +0200MidAutumnHotaru(~MidAutumn@unaffiliated/midautumnhotaru) (Quit: Quit 啾)
2021-04-18 08:53:36 +0200MidAutumnHotaru(~MidAutumn@unaffiliated/midautumnhotaru)
2021-04-18 08:54:25 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
2021-04-18 08:58:08 +0200 <lechner> hi, is that @def trick supposed to work in my .hs file, too?
2021-04-18 08:58:22 +0200gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh)
2021-04-18 08:58:22 +0200buckworst(~nate@180.243.10.86)
2021-04-18 08:58:52 +0200Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
2021-04-18 08:58:56 +0200buckworst(~nate@180.243.10.86) (Client Quit)
2021-04-18 08:59:12 +0200ddellacosta(~ddellacos@86.106.143.157)
2021-04-18 09:00:06 +0200rekahsoft(~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
2021-04-18 09:00:11 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-04-18 09:00:54 +0200 <lechner> never mind, it worked without the @def
2021-04-18 09:00:57 +0200idhugo(~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 260 seconds)
2021-04-18 09:03:12 +0200stux|RC-only(stux2@grid9.quadspeedi.net) (Ping timeout: 265 seconds)
2021-04-18 09:03:18 +0200ddellacosta(~ddellacos@86.106.143.157) (Ping timeout: 240 seconds)
2021-04-18 09:03:36 +0200malumore(~malumore@151.62.123.9)
2021-04-18 09:03:55 +0200malumore(~malumore@151.62.123.9) (Remote host closed the connection)
2021-04-18 09:04:08 +0200malumore(~malumore@151.62.123.9)
2021-04-18 09:04:11 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-04-18 09:04:28 +0200Lowl3v3l(~Lowl3v3l@dslb-002-207-103-026.002.207.pools.vodafone-ip.de)
2021-04-18 09:04:46 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2021-04-18 09:06:32 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
2021-04-18 09:06:36 +0200qwerty2o(~qwerty2o@188.64.207.157) (Read error: Connection reset by peer)
2021-04-18 09:06:59 +0200danvet(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa)
2021-04-18 09:08:42 +0200Tario(~Tario@201.192.165.173) (Ping timeout: 252 seconds)
2021-04-18 09:10:41 +0200Jd007(~Jd007@162.156.11.151) (Quit: Jd007)
2021-04-18 09:15:50 +0200TheBlingInTheNor(1829ec3e@24.41.236.62)
2021-04-18 09:15:53 +0200TheBlingInTheNor(1829ec3e@24.41.236.62) ()
2021-04-18 09:18:52 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4)
2021-04-18 09:20:05 +0200stux|RC(stux2@grid9.quadspeedi.net)
2021-04-18 09:23:17 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Ping timeout: 258 seconds)
2021-04-18 09:26:33 +0200stux|RC(stux2@grid9.quadspeedi.net) (Ping timeout: 240 seconds)
2021-04-18 09:33:26 +0200__minoru__shirae(~shiraeesh@109.166.58.81) (Ping timeout: 240 seconds)
2021-04-18 09:36:32 +0200lambdaman(~lambdaman@s66-183-152-156.bc.hsia.telus.net) (Remote host closed the connection)
2021-04-18 09:37:17 +0200lambdaman(~lambdaman@s66-183-152-156.bc.hsia.telus.net)
2021-04-18 09:37:42 +0200wildlander(~wildlande@unaffiliated/wildlander) (Quit: Konversation terminated!)
2021-04-18 09:38:02 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-04-18 09:39:08 +0200ddellacosta(~ddellacos@86.106.143.144)
2021-04-18 09:40:04 +0200lambdaman(~lambdaman@s66-183-152-156.bc.hsia.telus.net) (Remote host closed the connection)
2021-04-18 09:40:18 +0200lambdaman(~lambdaman@s66-183-152-156.bc.hsia.telus.net)
2021-04-18 09:40:21 +0200lambdaman(~lambdaman@s66-183-152-156.bc.hsia.telus.net) (Remote host closed the connection)
2021-04-18 09:40:57 +0200lambdaman(~lambdaman@s66-183-152-156.bc.hsia.telus.net)
2021-04-18 09:43:48 +0200ddellacosta(~ddellacos@86.106.143.144) (Ping timeout: 265 seconds)
2021-04-18 09:43:51 +0200hinsley(4b891f5f@gateway/web/cgi-irc/kiwiirc.com/ip.75.137.31.95)
2021-04-18 09:45:55 +0200__minoru__shirae(~shiraeesh@109.166.58.81)
2021-04-18 09:47:07 +0200stux|RC(stux2@grid9.quadspeedi.net)
2021-04-18 09:47:20 +0200asheshambasta(~user@ptr-e1lysav1t8vxyatkqxm.18120a2.ip6.access.telenet.be)
2021-04-18 09:48:20 +0200wonko7(~wonko7@62.115.229.50)
2021-04-18 09:48:38 +0200lambdaman(~lambdaman@s66-183-152-156.bc.hsia.telus.net) (Ping timeout: 265 seconds)
2021-04-18 09:49:14 +0200lambdaman(~lambdaman@s66-183-152-156.bc.hsia.telus.net)
2021-04-18 09:49:31 +0200Cale_(~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com)
2021-04-18 09:50:01 +0200Cale(~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com) (Ping timeout: 260 seconds)
2021-04-18 09:50:23 +0200elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2021-04-18 09:51:26 +0200idhugo(~idhugo@87-49-147-45-mobile.dk.customer.tdc.net)
2021-04-18 09:54:08 +0200lambdaman(~lambdaman@s66-183-152-156.bc.hsia.telus.net) (Ping timeout: 268 seconds)
2021-04-18 10:00:57 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4)
2021-04-18 10:01:07 +0200_ht(~quassel@82-169-194-8.biz.kpn.net)
2021-04-18 10:01:09 +0200frozenErebus(~frozenEre@37.231.244.249)
2021-04-18 10:05:02 +0200xiinotulp(~q@ppp-27-55-72-27.revip3.asianet.co.th)
2021-04-18 10:06:57 +0200hendursa1(~weechat@gateway/tor-sasl/hendursaga)
2021-04-18 10:08:13 +0200plutoniix(~q@ppp-223-24-146-11.revip6.asianet.co.th) (Ping timeout: 240 seconds)
2021-04-18 10:09:57 +0200hendursaga(~weechat@gateway/tor-sasl/hendursaga) (Ping timeout: 240 seconds)
2021-04-18 10:10:01 +0200frozenErebus(~frozenEre@37.231.244.249) (Ping timeout: 260 seconds)
2021-04-18 10:10:34 +0200 <nut> what is the time complexity of list constructor (:) ?
2021-04-18 10:10:43 +0200 <nut> is it O(1)?
2021-04-18 10:10:49 +0200 <Rembane> nut: Yes!
2021-04-18 10:11:02 +0200 <nut> What about any data constructor ?
2021-04-18 10:11:14 +0200 <nut> always O(1) ?
2021-04-18 10:11:15 +0200 <Rembane> Usually O(1)
2021-04-18 10:12:51 +0200 <Rembane> I suppose Data.Map.insert isn't a constructor, so almost always is a reasonable assumption.
2021-04-18 10:13:09 +0200 <nut> i see
2021-04-18 10:13:16 +0200 <Rembane> nut: Is your program being slow?
2021-04-18 10:13:37 +0200 <c_wraith> When there's a strict field you have to account for the possibility of forcing the field when the constructor is evaluated.
2021-04-18 10:14:01 +0200 <nut> No, I'm just being curious. I'm trying to solve a bunch of algorithmic problems in Haskell and trying to figure out their time complexity
2021-04-18 10:14:03 +0200 <c_wraith> But otherwise it's O(1). And even in that case, you can claim it's O(1) and just getting saddled with additional work through no fault of its own.
2021-04-18 10:15:34 +0200 <nut> When the solution is list based(a lot of them are), I have to be careful to use only O(1) operations
2021-04-18 10:15:45 +0200_xor(~xor@74.215.46.133) (Quit: WeeChat 3.1)
2021-04-18 10:16:17 +0200 <c_wraith> I'd think of it as you have to be careful not to nest O(n) operations.
2021-04-18 10:16:38 +0200 <c_wraith> because map and the folds are fine to use
2021-04-18 10:16:42 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-04-18 10:17:20 +0200 <nut> Yeah, the other day i also wondered about folds
2021-04-18 10:17:51 +0200 <c_wraith> well. foldl and foldr are each fine when used in the right cases.
2021-04-18 10:18:05 +0200 <c_wraith> err. foldl is unlikely to be fine. foldl' is fine
2021-04-18 10:18:12 +0200 <Rembane> I was just going to say that. :)
2021-04-18 10:19:23 +0200 <gentauro> here we go again -> https://old.reddit.com/r/haskell/comments/msa3oq/safe_haskell/
2021-04-18 10:19:34 +0200frozenErebus(~frozenEre@37.231.244.249)
2021-04-18 10:19:39 +0200 <gentauro> why the heck are people so eager to remove `Safe Haskell`?
2021-04-18 10:20:03 +0200 <nut> I've used foldr the other day for traversing the list backwards: https://leetcode.com/problems/next-greater-element-i/discuss/1161837/6-lines-Haskell-Implementation
2021-04-18 10:20:04 +0200 <gentauro> the single feature that makes Haskell unique and allow us to write `sound` code will be removed?
2021-04-18 10:20:08 +0200 <gentauro> :(
2021-04-18 10:20:21 +0200 <nut> But not sure about its performance
2021-04-18 10:20:25 +0200 <gentauro> anybody of for designning a new programming language that takes Safe Haskell as the core?
2021-04-18 10:20:56 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 246 seconds)
2021-04-18 10:22:04 +0200wonko7(~wonko7@62.115.229.50) (Ping timeout: 252 seconds)
2021-04-18 10:22:29 +0200 <Rembane> nut: If you're doing O(1) in the function used in foldr, the whole thing should be O(n)
2021-04-18 10:23:14 +0200 <nut> Rembane: and recursive function calls too, O(1) ?
2021-04-18 10:23:33 +0200fer(2f3d8672@47.61.134.114)
2021-04-18 10:24:03 +0200 <nut> I mean function calls should have a bit more overhead
2021-04-18 10:24:26 +0200 <c_wraith> gentauro: because no one knows what it does, no one knows what it should do, and no one wants to maintain code that is clearly not used by enough people for there to be a shared understanding
2021-04-18 10:24:32 +0200 <Rembane> nut: Almost none, and even if they have, they do not affect the O-part, it just adds a constant to each operation
2021-04-18 10:25:19 +0200LKoen(~LKoen@77.168.9.109.rev.sfr.net)
2021-04-18 10:26:15 +0200 <c_wraith> gentauro: most notably, no one agrees on what "safe" means, and Safe Haskell doesn't have an opinion. It just reports what modules say.
2021-04-18 10:26:17 +0200 <gentauro> c_wraith: I would argue that people know what it does. It enforces "correctness". But, if you look enough into Haskell packages, you realize that (way) to many people tend to take the shortcuts and just `inject` here and there stuff
2021-04-18 10:26:35 +0200 <gentauro> removing the possibility of a the users to rely on the packages
2021-04-18 10:26:54 +0200 <nut> new question: my code contains plain text passwords for sending smtp emails. after compiling down to binary, is it safe to distrubute to others? can the password be recovered?
2021-04-18 10:26:55 +0200 <gentauro> I personally find `Safe Haskell` as indispensable for Haskell
2021-04-18 10:27:01 +0200frozenErebus(~frozenEre@37.231.244.249) (Ping timeout: 252 seconds)
2021-04-18 10:27:05 +0200 <gentauro> but sadly, I'm one of the very few
2021-04-18 10:27:11 +0200 <c_wraith> Safe Haskell is useless because different modules mean different things by "safe"
2021-04-18 10:27:12 +0200 <nut> the compiliation is done be ghc
2021-04-18 10:27:17 +0200 <Cale_> Correctness with respect to what though?
2021-04-18 10:27:22 +0200 <c_wraith> So it has no guarantees you can actually rely on
2021-04-18 10:27:23 +0200Cale_Cale
2021-04-18 10:27:51 +0200 <gentauro> perhaps, I should join https://www.well-typed.com/ if they would allow me to work on the Safe Haskell full-time xD
2021-04-18 10:28:13 +0200gentaurowho would sponsor this? Simon Marlow (FB)? or SPJ (MS)?
2021-04-18 10:28:24 +0200 <nut> or does ghc has some kind of mechanics to encrypt the code?
2021-04-18 10:28:32 +0200 <gentauro> c_wraith: it does
2021-04-18 10:29:19 +0200lambdaman(~lambdaman@s66-183-152-156.bc.hsia.telus.net)
2021-04-18 10:29:22 +0200tomsmeding(~tomsmedin@tomsmeding.com) (Quit: ZNC 1.8.2 - https://znc.in)
2021-04-18 10:29:40 +0200 <gentauro> when I turn on safe haskell, I can't use `Data.Text` because there is some `unsafePerformIO`
2021-04-18 10:29:47 +0200 <gentauro> I like that GHC tells me that
2021-04-18 10:29:59 +0200 <c_wraith> Only because the text package decided to tell you that
2021-04-18 10:30:08 +0200 <c_wraith> If a package decided not to tell you, you wouldn't know
2021-04-18 10:30:25 +0200gentauro«when I turn on safe haskell» should be «when I turn on safe haskell and add `-XSafe -fpackage-trust -trust = base`»
2021-04-18 10:30:43 +0200tomsmeding(~tomsmedin@tomsmeding.com)
2021-04-18 10:31:17 +0200 <gentauro> c_wraith: how come? How do you tell?
2021-04-18 10:31:41 +0200 <gentauro> my understanding is that packages are infered to be safe or unsafe right?
2021-04-18 10:31:44 +0200 <gentauro> by GHC
2021-04-18 10:31:58 +0200hinsley(4b891f5f@gateway/web/cgi-irc/kiwiirc.com/ip.75.137.31.95) (Ping timeout: 252 seconds)
2021-04-18 10:32:04 +0200 <gentauro> if a package is unsafe, you can't mark it as safe. You can mark it as trustworthy
2021-04-18 10:32:31 +0200 <c_wraith> that only gets you unsafe things from base
2021-04-18 10:32:37 +0200 <c_wraith> what about other unsafe things?
2021-04-18 10:33:55 +0200 <gentauro> c_wraith: https://gitlab.com/uniprocess/haskell-template/-/blob/master/pkg/uniprocess/package.yaml#L37-47
2021-04-18 10:34:11 +0200 <gentauro> this is how I trust packages that I want to use
2021-04-18 10:34:44 +0200 <c_wraith> If you're trusting array, you've already got no safety
2021-04-18 10:35:21 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Ping timeout: 258 seconds)
2021-04-18 10:35:30 +0200mikoto-chan(~anass@gateway/tor-sasl/mikoto-chan)
2021-04-18 10:35:47 +0200 <gentauro> c_wraith: how come?
2021-04-18 10:36:00 +0200jao(~jao@pdpc/supporter/professional/jao) (Ping timeout: 265 seconds)
2021-04-18 10:36:27 +0200T-Junk(~T-Junk@178.239.168.171) (Remote host closed the connection)
2021-04-18 10:36:43 +0200 <gentauro> you understand that you are allowed to use FFI and code is still Safe right? http://blog.stermon.com/articles/2019/02/04/haskell-usage-of-malloc-free-is-safe.html
2021-04-18 10:36:50 +0200 <gentauro> it's the way you expose your logic
2021-04-18 10:37:34 +0200 <gentauro> in my snippet, I use a lot of FFI, but, since all my logic exposes IO in the signatures it's fine as the consumer will understand that something happens under the hood
2021-04-18 10:38:35 +0200 <gentauro> what tends to happen with a lot of libraries is that `peeps` hide `IO`. Search (CTRL+F Main.hs) http://blog.stermon.com/articles/2019/02/09/haskell-bitonic-sorter-concurrent.html
2021-04-18 10:39:23 +0200 <gentauro> you can see that I `remove` IO in `trust = unsafePerformIO . sort`. If I do this, I need to tell people using my logic that "I'm doing some `nasty` stuff under the hood, so be aware"
2021-04-18 10:41:50 +0200lambdaman(~lambdaman@s66-183-152-156.bc.hsia.telus.net) (Ping timeout: 252 seconds)
2021-04-18 10:45:35 +0200 <gentauro> tdammers: Hey, they really want to remove Safe Haskell :( https://old.reddit.com/r/haskell/comments/msa3oq/safe_haskell/guy6upc/
2021-04-18 10:46:24 +0200 <gentauro> tdammers: what is well-typed stand on this? :)
2021-04-18 10:50:54 +0200JackSparrow(~JackSparr@139.28.218.148)
2021-04-18 10:52:47 +0200Varis(~Tadas@unaffiliated/varis)
2021-04-18 10:53:02 +0200jamestmartin(james@jtmar.me) (Quit: ZNC 1.8.2+deb2+b1 - https://znc.in)
2021-04-18 10:53:19 +0200jamestmartin(james@jtmar.me)
2021-04-18 10:56:51 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-04-18 11:01:01 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-04-18 11:01:30 +0200hypercube(hypercube@gateway/vpn/protonvpn/hypercube)
2021-04-18 11:01:37 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 265 seconds)
2021-04-18 11:02:21 +0200rdivyanshu(uid322626@gateway/web/irccloud.com/x-ogmvxpqranhkqdsz)
2021-04-18 11:03:19 +0200darjeeling_(~darjeelin@115.215.40.116) (Ping timeout: 252 seconds)
2021-04-18 11:03:21 +0200jumper149(~jumper149@80.240.31.34)
2021-04-18 11:03:43 +0200 <Cale> gentauro: By the way, it's not necessarily safe to compile (or load in ghci) Haskell code that is marked as safe using safe Haskell. One thing it can do is run an arbitrary preprocessor program that, for instance can be an included shell script.
2021-04-18 11:03:46 +0200darjeeling_(~darjeelin@115.215.40.116)
2021-04-18 11:05:32 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2021-04-18 11:08:28 +0200 <Cale> So, Safe Haskell preventing Template Haskell from being used might be seen as a bit strange, given that you could run a shell script that compiles a separate Haskell program that does a source to source translation, and runs that program to transform the code.
2021-04-18 11:09:06 +0200 <nshepperd2> how? ghc pragmas?
2021-04-18 11:09:22 +0200 <Cale> {-# OPTIONS_GHC -F -pgmF foo.sh #-}
2021-04-18 11:09:27 +0200 <Cale> yeah
2021-04-18 11:09:47 +0200 <nshepperd2> seems like it should be relatively straightforward to turn those off
2021-04-18 11:10:00 +0200 <nshepperd2> compare to, like, implementing all of SafeHaskell
2021-04-18 11:12:06 +0200lambdaman(~lambdaman@s66-183-152-156.bc.hsia.telus.net)
2021-04-18 11:12:12 +0200jess(jess@freenode/staff/jess) (Quit: back soon)
2021-04-18 11:14:00 +0200 <Cale> Well, maybe... there are a bunch of potentially sneaky flags to look for though
2021-04-18 11:14:19 +0200fendor(~fendor@178.165.130.27.wireless.dyn.drei.com)
2021-04-18 11:14:34 +0200 <nshepperd2> i assume lambdabot doesn't let you do this
2021-04-18 11:14:56 +0200 <c_wraith> lambdabot doesn't let you add pragmas at all
2021-04-18 11:15:33 +0200freegraph(~freegraph@103.58.155.176) (Quit: Leaving)
2021-04-18 11:16:03 +0200 <nshepperd2> perfect
2021-04-18 11:16:32 +0200lambdaman(~lambdaman@s66-183-152-156.bc.hsia.telus.net) (Ping timeout: 240 seconds)
2021-04-18 11:16:58 +0200 <gentauro> nshepperd2: I agree :)
2021-04-18 11:17:23 +0200 <gentauro> Cale: if your project uses the -XSafe flag, you can't even start `ghci` ;)
2021-04-18 11:17:24 +0200frozenErebus(~frozenEre@37.231.244.249)
2021-04-18 11:17:46 +0200 <gentauro> when I do (ad-hoc) development, I need to comment the -XSafe flag …
2021-04-18 11:18:30 +0200 <Cale> gentauro: I mean, you can still build a project that uses -XSafe, and ghc will interpret the {-# OPTIONS_GHC ... #-} pragmas in it
2021-04-18 11:18:40 +0200 <gentauro> my understanding is that compiler flags will always overwrite file flags right? And you can allow/dissallow which pragmas can be used by a project
2021-04-18 11:19:56 +0200 <gentauro> oh
2021-04-18 11:20:13 +0200 <gentauro> and since `OPTIONS_GHC` can't be disallowed,
2021-04-18 11:20:25 +0200 <gentauro> then a Safe file will execute a script?
2021-04-18 11:20:31 +0200 <Cale> yep
2021-04-18 11:20:35 +0200 <gentauro> wow, that is some bad desing
2021-04-18 11:22:11 +0200 <Cale> Safe Haskell doesn't mean it's safe to compile the code, it means a bunch of random stuff which has to do with trying to make sure expression evaluation is referentially transparent... but which might be mistaken for stuff that has to do with making it safe to build the code, especially given TH being forbidden is one of the things it does.
2021-04-18 11:23:48 +0200lambdaman(~lambdaman@s66-183-152-156.bc.hsia.telus.net)
2021-04-18 11:24:04 +0200 <nshepperd2> the reddit post links to https://gitlab.haskell.org/ghc/ghc/-/issues/19590 but removing safe haskell doesn't really seem like it will solve the problem
2021-04-18 11:24:49 +0200ClaudiusMaximus(~claude@cpc98210-croy26-2-0-cust137.19-2.cable.virginm.net)
2021-04-18 11:24:49 +0200ClaudiusMaximus(~claude@cpc98210-croy26-2-0-cust137.19-2.cable.virginm.net) (Changing host)
2021-04-18 11:24:49 +0200ClaudiusMaximus(~claude@unaffiliated/claudiusmaximus)
2021-04-18 11:28:00 +0200 <Cale> Well, I haven't seen the reddit post, but yeah, the thing Ed's suggesting is a solution to one of the things that makes Safe Haskell annoying for package maintainers at least.
2021-04-18 11:28:11 +0200lambdaman(~lambdaman@s66-183-152-156.bc.hsia.telus.net) (Ping timeout: 240 seconds)
2021-04-18 11:28:26 +0200 <Cale> Removing Safe Haskell would be a more extreme solution to the annoyance, I suppose :P
2021-04-18 11:28:33 +0200 <nshepperd2> i mean, ed filed the bug because he wants to use safe haskell
2021-04-18 11:29:03 +0200 <nshepperd2> if he didn't want his code to work in irc bots and such he could just not use the extension at all
2021-04-18 11:29:05 +0200 <Cale> Well, maybe, or he has users who want to use Safe Haskell at least.
2021-04-18 11:29:11 +0200thblt(~thblt@unaffiliated/thblt) ("ERC (IRC client for Emacs 28.0.50)")
2021-04-18 11:29:37 +0200 <Cale> (I doubt he personally cares about it all that much, but I don't really know)
2021-04-18 11:29:42 +0200 <nshepperd2> pointing to that bug as a reason to remove safe haskell seems deeply confused
2021-04-18 11:31:08 +0200 <gentauro> wouldn't it be a fair approach, for all the `peeps` that don't want to use `Safe Haskell` to just mark all their work is `Unsafe`?
2021-04-18 11:31:08 +0200Sgeo(~Sgeo@ool-18b98aa4.dyn.optonline.net) (Read error: Connection reset by peer)
2021-04-18 11:31:09 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-04-18 11:31:22 +0200 <gentauro> I mean, if they don't care about safety, well that's what `unsafe` is for :)
2021-04-18 11:31:35 +0200 <Cale> The deeper thing is that it's unclear to everyone what "safe" really ought to mean, including the designers of Safe Haskell. It's already a conglomerate of a few unrelated kinds of safety, and those kinds of safety don't necessarily imply what someone might be thinking of when they see the word "safe".
2021-04-18 11:32:40 +0200 <gentauro> so my understanding from Taylor Fausak tweet a time ago on Safe Haskell was that only 2% of Haskellers care about Safe (or have heard of it)
2021-04-18 11:33:05 +0200 <Cale> I don't know that removing it altogether is the right thing to do, but pulling it apart into some things that have more clearly-defined goals might make sense.
2021-04-18 11:34:49 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-04-18 11:36:02 +0200 <nshepperd2> most of the machinery there seems to exist to prove the kind of safety where an Int is actually an Int and not a set of instructions for launching the missiles
2021-04-18 11:36:10 +0200ddellacosta(~ddellacos@86.106.143.183)
2021-04-18 11:36:35 +0200 <nshepperd2> it probably does make sense to separate "it's safe to compile this" into a separate feature
2021-04-18 11:37:28 +0200 <maerwald> haskell can be made safe?
2021-04-18 11:39:14 +0200 <nshepperd2> sure why not
2021-04-18 11:39:20 +0200idhugo(~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 246 seconds)
2021-04-18 11:40:30 +0200ddellacosta(~ddellacos@86.106.143.183) (Ping timeout: 252 seconds)
2021-04-18 11:41:22 +0200 <gentauro> my understanding of Safe Haskell, still has to do with some `runtime` guarantees provided at compile time
2021-04-18 11:41:29 +0200 <Cale> Also, with the way that it currently is, there are a lot of things which are "unsafe" which one might not care about so much when deciding what goes in the trusted set, but membership in the trusted set is all-or-nothing.
2021-04-18 11:42:11 +0200 <gentauro> in the sense that: "when you run this, it wouldn't launch the missiles" and not so much "when you build this, it wouldn't launch the missiles"
2021-04-18 11:42:15 +0200 <gentauro> right?
2021-04-18 11:42:43 +0200drbean_(~drbean@TC210-63-209-220.static.apol.com.tw) (Quit: ZNC 1.8.2+cygwin2 - https://znc.in)
2021-04-18 11:43:03 +0200gentaurothe last sentence Cale just showed that with `OPTIONS_GHC` pragma, you can run stuff when compiling, but not at runtime
2021-04-18 11:43:49 +0200 <Cale> So, if you think it's okay to trust package foo because you had a look at foo-1.0 and it just uses Data.Coerce a bit for the sake of performance, well, when foo-1.1 comes out and does an unsafePerformIO, you're already trusting it.
2021-04-18 11:44:31 +0200 <gentauro> Cale: you can't mark a package at `trustworthy` if they don't expose `unsafePerformIO` ;)
2021-04-18 11:44:42 +0200 <gentauro> that's what is happening with `Data.Text`
2021-04-18 11:45:04 +0200 <Cale> hm?
2021-04-18 11:45:20 +0200 <Cale> text is marked trustworthy
2021-04-18 11:45:42 +0200 <Cale> Or at least, the Data.Text module is
2021-04-18 11:45:52 +0200 <Cale> But that's not what I'm talking about
2021-04-18 11:45:53 +0200 <gentauro> Cale: not building -> https://uniprocess.org/template.html ;)
2021-04-18 11:47:05 +0200 <Cale> What I mean is that if you decide to add text to your trusted package set, then that's the end of it, pretty much. Anything it marks as trustworthy, you're fine with.
2021-04-18 11:47:06 +0200 <nshepperd2> I don't understand that
2021-04-18 11:47:07 +0200gentaurolet me rephrase: «Cale: you can't mark a package at `trustworthy` if they don't expose `unsafePerformIO` ;)» as «Cale: you can't mark a package at `trustworthy` if they use `unsafePerformIO` and don't expose it in the signature ;)»
2021-04-18 11:47:29 +0200bitmagie(~Thunderbi@200116b8068a3b00488727cbe58c7a6a.dip.versatel-1u1.de)
2021-04-18 11:47:48 +0200 <nshepperd2> can't how? is this a philosophical objection to adding -trust=text?
2021-04-18 11:48:02 +0200bitmagie(~Thunderbi@200116b8068a3b00488727cbe58c7a6a.dip.versatel-1u1.de) (Client Quit)
2021-04-18 11:48:45 +0200 <gentauro> nshepperd2: I tried, GHC doesn't build
2021-04-18 11:49:00 +0200 <Cale> Trustworthy doesn't impose any restrictions on the module being marked as such
2021-04-18 11:49:12 +0200 <nshepperd2> huh?
2021-04-18 11:49:45 +0200 <Cale> Ah, well, it adds a couple, but not much
2021-04-18 11:50:12 +0200 <Cale> Trustworthy modules are allowed to invoke unsafe things
2021-04-18 11:50:30 +0200 <Cale> That's the point of Trustworthy vs. Safe
2021-04-18 11:50:30 +0200 <gentauro> Cale: that is correct
2021-04-18 11:50:45 +0200 <Cale> But there's no distinction between different kinds of "unsafe" things
2021-04-18 11:51:56 +0200Major_Biscuit(~Major_Bis@82-169-100-198.biz.kpn.net)
2021-04-18 11:52:02 +0200 <Cale> So if you think a package is good enough about its present interpretation of "Trustworthy" to add it to your trusted set, once you've done that, you're never going to be warned if that package starts using things that are more likely to be problematic -- no such distinction exists.
2021-04-18 11:55:13 +0200 <nshepperd2> well, -trust=foo means either that you trust the foo maintainer to verify referential transparency to your satisfaction or that you personally checked that specific version of the code, i suppose
2021-04-18 11:55:21 +0200jbetz_(uid283648@gateway/web/irccloud.com/x-ebjzdarufjrfhfrh) (Quit: Connection closed for inactivity)
2021-04-18 11:55:38 +0200 <Cale> yeah
2021-04-18 11:58:28 +0200 <nshepperd2> you could imagine a more fine grained system where you -trust=Module.Name or even -trust=package-version.Module.Name.identifier
2021-04-18 11:58:29 +0200 <Cale> But of course, I could also have just done that without Safe Haskell... I think it's just at an awkward place, where it doesn't quite accomplish enough to be useful more often than it is an annoyance.
2021-04-18 11:58:50 +0200 <nshepperd2> not sure who would want to go to that extent though
2021-04-18 12:00:24 +0200 <nshepperd2> well the point of safe haskell isn't to verify Trustworthy modules for you... it's for verifying the Safe modules
2021-04-18 12:00:30 +0200 <Cale> It might be nice to be able to say "I trust anything to use Unsafe.Coerce", and then if that was the only violation of a Trustworthy module, then it gets approved.
2021-04-18 12:00:44 +0200 <gentauro> «Not in scope: ‘System.Environment.withArgs’» and «Not in scope: ‘Control.Monad.void’» by added `-XSafe` to a stack script: https://pastebin.ubuntu.com/p/5nvcpMDrtg/
2021-04-18 12:01:11 +0200 <gentauro> so I guess -Xsafe remove modules from `base` that doesn't live-up to it's requirements?
2021-04-18 12:01:34 +0200 <Cale> Well, not all the modules in base are marked Safe
2021-04-18 12:02:06 +0200 <nshepperd2> gentauro: it should print out a bunch of errors saying that things can't be safely imported
2021-04-18 12:02:13 +0200 <Cale> er, I meant to say Data.Coerce above, not Unsafe.Coerce, haha
2021-04-18 12:02:34 +0200 <Cale> (but it was a metavariable anyway)
2021-04-18 12:02:49 +0200 <nshepperd2> then you add -trust=base and then it lets you import those modules
2021-04-18 12:03:51 +0200 <gentauro> nshepperd2: it doesn't. But it might be to the nature of `stack` (wrapping?)
2021-04-18 12:03:56 +0200 <Cale> System.Environment is marked Safe though
2021-04-18 12:04:09 +0200 <gentauro> but normally when I build with GCH, it gives me all those kind of errors as you mention
2021-04-18 12:04:16 +0200 <Cale> That error looks like something else, I'm not sure
2021-04-18 12:04:41 +0200 <nshepperd2> ah, a stack misfeature
2021-04-18 12:04:59 +0200 <gentauro> Cale: Probably. I really haven't got `-XSafe` to work with `ghci` so I think it will probably not work with `stack scripts` neither
2021-04-18 12:05:19 +0200 <nshepperd2> "ghci -XSafe -fpackage-trust -trust=base -trust=text" works just fine for me
2021-04-18 12:05:20 +0200 <Cale> Yeah, I haven't ever had an occasion to use stack, so I don't know what its quirks are
2021-04-18 12:05:45 +0200 <nshepperd2> I can import Data.Text and do stuff with it, no problems
2021-04-18 12:06:29 +0200 <gentauro> nshepperd2: so it's fixed? :o
2021-04-18 12:06:53 +0200gentauroI have to be honest that last time I tried, it was ages ago (COVID-19 has destroyed my notion of time)
2021-04-18 12:07:31 +0200 <Cale> gentauro: Well, I don't think nshepperd was using stack...
2021-04-18 12:07:44 +0200z88(~z88@221.85-84-199.dynamic.clientes.euskaltel.es)
2021-04-18 12:07:53 +0200 <gentauro> Cale: no, I was refering to: "ghci -XSafe -fpackage-trust -trust=base -trust=text"
2021-04-18 12:08:12 +0200 <gentauro> that's huge (if I can finally use the Data.Text package) :)
2021-04-18 12:08:16 +0200 <Cale> That was broken?
2021-04-18 12:08:32 +0200 <gentauro> Cale: around 2018 - 2019 it was :)
2021-04-18 12:08:35 +0200aveltras(uid364989@gateway/web/irccloud.com/x-uutfhochnudnpuow)
2021-04-18 12:08:46 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-04-18 12:08:53 +0200 <gentauro> but again, 2019 in my brain was just "not long time ago"
2021-04-18 12:08:56 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-04-18 12:10:04 +0200 <aveltras> is there a way to get "C♯O" to work as a data constructor using extensions or something ? I guess not because of reserver character (note this isn't the classic "#") but still ask because it would be nice since "D♭0" works fine
2021-04-18 12:10:45 +0200 <Cale> I think that'll parse as the application of the infix operator ♯ to C and 0
2021-04-18 12:11:19 +0200 <Cale> It's odd to me that one would work and not the other?
2021-04-18 12:11:43 +0200 <aveltras> i get "not a data constructor '♯'
2021-04-18 12:11:51 +0200 <aveltras> oh wait
2021-04-18 12:11:58 +0200 <Cale> Well, yeah, it's... not a data constructor
2021-04-18 12:12:07 +0200 <aveltras> in fact neither works, it complains about the second if first is commented out
2021-04-18 12:12:13 +0200 <aveltras> too bad then
2021-04-18 12:12:16 +0200 <Cale> The only "uppercase" symbol character is :
2021-04-18 12:12:46 +0200 <Cale> But you probably wanted that to parse as all one identifier name, which it won't, because it's a mix of alphanums and symbols
2021-04-18 12:12:55 +0200 <gentauro> yeah, it is fixed :o
2021-04-18 12:12:58 +0200Major_Biscuit(~Major_Bis@82-169-100-198.biz.kpn.net) (Ping timeout: 240 seconds)
2021-04-18 12:12:58 +0200 <gentauro> `stack ghci --ghc-options -XSafe --ghc-options -fpackage-trust --ghc-options -trust=base --ghc-options -trust=text`
2021-04-18 12:13:06 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds)
2021-04-18 12:13:12 +0200 <Cale> aveltras: You could make a ♯ function...
2021-04-18 12:13:21 +0200 <gentauro> `λ> import Data.Text (0.01 secs, 0 bytes)`
2021-04-18 12:13:37 +0200 <gentauro> `λ> import System.IO.Unsafe<no location info>: error:System.IO.Unsafe: Can't be safely imported!The module itself isn't safe.`
2021-04-18 12:13:40 +0200 <gentauro> nice !!!
2021-04-18 12:13:54 +0200 <Cale> aveltras: I kind of hate this suggestion though ;)
2021-04-18 12:14:30 +0200 <aveltras> i'll stick with the spelled version then (Csharp0, Dflat0), a bit uglier on the eyes though
2021-04-18 12:14:40 +0200 <Cale> Like, (♯) :: Diatonic -> Octave -> Note
2021-04-18 12:14:43 +0200 <Cale> haha
2021-04-18 12:16:06 +0200malumore(~malumore@151.62.123.9) (Ping timeout: 240 seconds)
2021-04-18 12:16:06 +0200nut(~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 240 seconds)
2021-04-18 12:18:56 +0200Codaraxis_(~Codaraxis@141.98.255.147)
2021-04-18 12:19:27 +0200 <Cale> Or you could make an ordinary sharp function which takes a note (probably in some more convenient representation) and goes up by 8 perfect fifths and then down 4 octaves ;)
2021-04-18 12:21:13 +0200Codaraxis(Codaraxis@gateway/vpn/mullvad/codaraxis) (Ping timeout: 240 seconds)
2021-04-18 12:23:12 +0200geowiesnot(~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 240 seconds)
2021-04-18 12:23:33 +0200 <aveltras> im not that familiar with music theory right now, just wanted to reproduce https://pages.mtu.edu/~suits/notefreqs.html with a big sum type, not sure that's the best way to approach this anyway, might be better to have the seven notes and a ToFrequency typeclass which takes the note and a "modifier" # b since in the end, i'll probably parse those from strings
2021-04-18 12:25:18 +0200 <Cale> Whenever a type has more data constructors than there will be times that you're going to ever pattern match on it completely, one thing to consider is whether you'd rather just make a record of the results of those pattern matches
2021-04-18 12:28:27 +0200 <aveltras> i guess that's the case here :)
2021-04-18 12:29:58 +0200 <Cale> > [2**(k/12) * 440 | k <- [-57 ..]]
2021-04-18 12:30:00 +0200 <lambdabot> [16.351597831287414,17.323914436054505,18.354047994837977,19.445436482630058...
2021-04-18 12:30:16 +0200 <Cale> That's the formula for the frequency column in that table btw
2021-04-18 12:30:20 +0200nicholasbulka(~nicholasb@2601:900:4301:da0:34df:482b:a0b7:2d77)
2021-04-18 12:31:21 +0200 <Cale> The wavelength is just the speed of sound divided by the frequency.
2021-04-18 12:31:45 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-04-18 12:32:39 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4)
2021-04-18 12:33:42 +0200 <Cale> If I was only concerned with 12 tone equal temperament, I would probably just use integer values for notes -- probably can't go too wrong with MIDI's convention.
2021-04-18 12:34:34 +0200nicholasbulka(~nicholasb@2601:900:4301:da0:34df:482b:a0b7:2d77) (Ping timeout: 258 seconds)
2021-04-18 12:35:33 +0200 <Cale> btw, I was off by one above, should have been 7 perfect fifths (of course, I was thinking it was the eighth note along the circle of fifths, lol)
2021-04-18 12:35:49 +0200 <Cale> > (3/2)^7 / 2^4
2021-04-18 12:35:51 +0200 <lambdabot> 1.06787109375
2021-04-18 12:35:57 +0200 <Cale> > 2^(1/12)
2021-04-18 12:35:59 +0200 <lambdabot> error:
2021-04-18 12:35:59 +0200 <lambdabot> • Could not deduce (Integral b0) arising from a use of ‘^’
2021-04-18 12:35:59 +0200 <lambdabot> from the context: Num a
2021-04-18 12:36:02 +0200 <Cale> > 2**(1/12)
2021-04-18 12:36:04 +0200 <lambdabot> 1.0594630943592953
2021-04-18 12:36:08 +0200 <aveltras> im not even sure what i need right now, the temporary goal is to have a svg with frets of a sitar being colored when a note is played and sound playing in the browser, still experimenting with sound apis
2021-04-18 12:36:20 +0200 <Cale> ahh, cool
2021-04-18 12:36:49 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds)
2021-04-18 12:36:57 +0200 <Cale> The frets of most sitars are not tuned to equal temperament :)
2021-04-18 12:38:06 +0200 <aveltras> ye, right now im still a beginner, so just the fact of mapping sitar tuning in my head to western tuning is kind of irritating when tuning the strings
2021-04-18 12:38:27 +0200 <Cale> Well, they're movable, but people position them according to various just intonations I think
2021-04-18 12:38:32 +0200 <aveltras> not sure i can extract a frequency from the microphone browser apis but that would be neat too
2021-04-18 12:38:52 +0200lambdaman(~lambdaman@s66-183-152-156.bc.hsia.telus.net)
2021-04-18 12:42:43 +0200 <Cale> If you know the frequency f0 of the open string, you can take the frequency you hear f1, and f0/f1 will be the fraction of the length of the string that the fret is at
2021-04-18 12:43:36 +0200lambdaman(~lambdaman@s66-183-152-156.bc.hsia.telus.net) (Ping timeout: 265 seconds)
2021-04-18 12:44:29 +0200 <Cale> e.g. double the frequency, half the string length
2021-04-18 12:45:22 +0200ddellacosta(~ddellacos@86.106.143.10)
2021-04-18 12:46:33 +0200 <aveltras> ye, i'll have to experiment with this
2021-04-18 12:48:30 +0200thblt(~thblt@unaffiliated/thblt)
2021-04-18 12:49:05 +0200berberman(~berberman@unaffiliated/berberman)
2021-04-18 12:49:35 +0200berberman_(~berberman@unaffiliated/berberman) (Ping timeout: 260 seconds)
2021-04-18 12:49:53 +0200ddellacosta(~ddellacos@86.106.143.10) (Ping timeout: 265 seconds)
2021-04-18 12:50:06 +0200nisstyre(wes@python-zero/conduct-committee/nisstyre) (Ping timeout: 258 seconds)
2021-04-18 12:51:38 +0200 <Cale> (of course, if the string is bent, it'll be a higher pitch :)
2021-04-18 12:53:19 +0200ph88(~ph88@2a02:8109:9e00:7e5c:d5ef:86b3:afc4:9258)
2021-04-18 12:54:25 +0200 <Cale> (that happens because the speed of sound in the string changes under tension)
2021-04-18 12:54:59 +0200ph88(~ph88@2a02:8109:9e00:7e5c:d5ef:86b3:afc4:9258) (Client Quit)
2021-04-18 12:55:15 +0200 <fendor> is there a convenient way with stack to generate a html report for a package? `stack haddock` generates it correctly, but it prints the path to a .html file with lots of other stuff in between.
2021-04-18 12:55:23 +0200JackSparrow(~JackSparr@139.28.218.148) (Remote host closed the connection)
2021-04-18 12:55:29 +0200kuribas(~user@ptr-25vy0ia8k0uf95hxb72.18120a2.ip6.access.telenet.be)
2021-04-18 12:56:19 +0200zeenk(~zeenk@2a02:2f04:a10b:af00:91ba:3645:1cdb:9a75)
2021-04-18 12:57:20 +0200HannaM(~quassel@p54849510.dip0.t-ipconnect.de)
2021-04-18 12:57:31 +0200 <tdammers> gentauro: I don't think Well-Typed has any particular stance on the matter, though I'm sure some of us individually do
2021-04-18 12:58:08 +0200Varis(~Tadas@unaffiliated/varis) (Remote host closed the connection)
2021-04-18 12:59:24 +0200 <tdammers> aveltras: I've done some modest work in that area myself, and IMO you want separate types for "chromatic pitches" (12 chromatic steps to the octave) and "diatonic pitches with accidentals" (7 diatonic steps to the octave, plus an arbitrary number of flats/sharps isomorphic to the integers)
2021-04-18 13:00:02 +0200 <tdammers> so F# could be represented in the chromatic type as "6 chromatic steps up from C", or in the diatonic system as "3 diatonic steps up from C with one sharp"
2021-04-18 13:00:20 +0200 <tdammers> in the chromatic system, F# and Gb are equal; in the diatonic one, they're not
2021-04-18 13:01:31 +0200dyeplexer(~lol@unaffiliated/terpin)
2021-04-18 13:01:36 +0200 <tdammers> to calculate 12-TET frequencies, you need to first convert diatonic pitches to chromatic ones; then you can take the chromatic distance from your reference pitch (a' = 440 Hz or whatever you want to use), and throw that into the 2^(n/12) formula
2021-04-18 13:02:11 +0200 <thblt> haskell-mode in Emacs seems to support inline SVG in ghci, does anyone have an exemple of how to use this?
2021-04-18 13:02:14 +0200nisstyre(wes@python-zero/conduct-committee/nisstyre)
2021-04-18 13:02:25 +0200 <tdammers> for various just intonations, there's not really an alternative to following the steps that the tuning system uses
2021-04-18 13:04:02 +0200__minoru__shirae(~shiraeesh@109.166.58.81) (Ping timeout: 246 seconds)
2021-04-18 13:04:05 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Ping timeout: 250 seconds)
2021-04-18 13:14:18 +0200lambdaman(~lambdaman@s66-183-152-156.bc.hsia.telus.net)
2021-04-18 13:19:10 +0200lambdaman(~lambdaman@s66-183-152-156.bc.hsia.telus.net) (Ping timeout: 252 seconds)
2021-04-18 13:23:46 +0200xiinotulp(~q@ppp-27-55-72-27.revip3.asianet.co.th) (Ping timeout: 240 seconds)
2021-04-18 13:24:35 +0200coot(~coot@37.30.50.130.nat.umts.dynamic.t-mobile.pl)
2021-04-18 13:25:31 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-04-18 13:30:26 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds)
2021-04-18 13:33:31 +0200HarveyPwca(~HarveyPwc@c-98-220-98-201.hsd1.il.comcast.net) (Quit: Leaving)
2021-04-18 13:35:07 +0200frozenErebus(~frozenEre@37.231.244.249) (Ping timeout: 252 seconds)
2021-04-18 13:35:43 +0200 <olligobber> I managed to make a lambda have type (a -> a) -> a in haskell, using only function application, lambdas, and newtype constructors and destructors
2021-04-18 13:37:12 +0200xiinotulp(~q@node-umb.pool-125-24.dynamic.totinternet.net)
2021-04-18 13:37:51 +0200dmytrish(~mitra@2a02:8084:a82:d900:319a:d200:a43d:3e3c)
2021-04-18 13:38:56 +0200jamestmartin(james@jtmar.me) (Quit: ZNC 1.8.2+deb2+b1 - https://znc.in)
2021-04-18 13:39:26 +0200jamestmartin(james@jtmar.me)
2021-04-18 13:40:33 +0200 <olligobber> I'm surprised having recursive types gives you recursive values
2021-04-18 13:41:27 +0200geowiesnot(~user@87-89-181-157.abo.bbox.fr)
2021-04-18 13:41:48 +0200rdivyanshu(uid322626@gateway/web/irccloud.com/x-ogmvxpqranhkqdsz) (Quit: Connection closed for inactivity)
2021-04-18 13:43:23 +0200Feuermagier(~Feuermagi@2a02:2488:4211:3400:7285:c2ff:fe22:172e)
2021-04-18 13:46:29 +0200Deide(~Deide@217.155.19.23)
2021-04-18 13:51:11 +0200Codaraxis_(~Codaraxis@141.98.255.147) (Remote host closed the connection)
2021-04-18 13:51:35 +0200Codaraxis_(~Codaraxis@141.98.255.147)
2021-04-18 14:03:33 +0200Codaraxis_(~Codaraxis@141.98.255.147) (Remote host closed the connection)
2021-04-18 14:03:48 +0200 <tomsmeding> olligobber: see also the third bullet point under https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/bugs.html#bugs-in-ghc
2021-04-18 14:03:54 +0200Codaraxis_(~Codaraxis@141.98.255.147)
2021-04-18 14:05:13 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-04-18 14:05:26 +0200 <wz1000> gentauro: you can write unsafeCoerce (and so unsafePerformIO) in SafeHaskell
2021-04-18 14:05:39 +0200ericsagnes(~ericsagne@2405:6580:0:5100:c907:2b1b:a88e:a342) (Ping timeout: 260 seconds)
2021-04-18 14:05:42 +0200Codaraxis_(~Codaraxis@141.98.255.147) (Remote host closed the connection)
2021-04-18 14:05:46 +0200 <olligobber> tomsmeding, oh, interesting
2021-04-18 14:05:57 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-04-18 14:06:03 +0200Codaraxis_(~Codaraxis@141.98.255.147)
2021-04-18 14:06:26 +0200lambdaman(~lambdaman@s66-183-152-156.bc.hsia.telus.net)
2021-04-18 14:07:10 +0200Varis(~Tadas@unaffiliated/varis)
2021-04-18 14:07:18 +0200frozenErebus(~frozenEre@37.231.244.249)
2021-04-18 14:07:19 +0200jtk(~jtk@178.239.168.171)
2021-04-18 14:07:51 +0200machinedgod(~machinedg@24.105.81.50)
2021-04-18 14:07:52 +0200zaquest(~notzaques@5.128.210.178) (Ping timeout: 240 seconds)
2021-04-18 14:09:38 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds)
2021-04-18 14:10:20 +0200Sornaensis(~Sornaensi@077213199124.dynamic.telenor.dk)
2021-04-18 14:10:53 +0200lambdaman(~lambdaman@s66-183-152-156.bc.hsia.telus.net) (Ping timeout: 246 seconds)
2021-04-18 14:13:04 +0200zaquest(~notzaques@5.128.210.178)
2021-04-18 14:15:13 +0200star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 240 seconds)
2021-04-18 14:18:10 +0200ericsagnes(~ericsagne@2405:6580:0:5100:500e:ae68:cb1a:24a)
2021-04-18 14:21:58 +0200star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
2021-04-18 14:25:24 +0200LKoen_(~LKoen@77.168.9.109.rev.sfr.net)
2021-04-18 14:28:00 +0200LKoen(~LKoen@77.168.9.109.rev.sfr.net) (Ping timeout: 265 seconds)
2021-04-18 14:31:27 +0200hendursa1(~weechat@gateway/tor-sasl/hendursaga) (Quit: hendursa1)
2021-04-18 14:31:43 +0200hendursaga(~weechat@gateway/tor-sasl/hendursaga)
2021-04-18 14:33:53 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-04-18 14:34:34 +0200royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-04-18 14:38:01 +0200__monty__(~toonn@unaffiliated/toonn)
2021-04-18 14:38:21 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
2021-04-18 14:40:14 +0200terra(53fbe65d@c83-251-230-93.bredband.comhem.se)
2021-04-18 14:40:46 +0200terra(53fbe65d@c83-251-230-93.bredband.comhem.se) ()
2021-04-18 14:40:53 +0200__minoru__shirae(~shiraeesh@109.166.58.81)
2021-04-18 14:41:04 +0200malumore(~malumore@151.62.123.9)
2021-04-18 14:42:21 +0200drbean_(~drbean@TC210-63-209-202.static.apol.com.tw)
2021-04-18 14:43:06 +0200TerraDOOM(53fbe65d@c83-251-230-93.bredband.comhem.se)
2021-04-18 14:43:28 +0200Major_Biscuit(~Major_Bis@82-169-100-198.biz.kpn.net)
2021-04-18 14:43:39 +0200 <TerraDOOM> is this a place I can ask questions?
2021-04-18 14:44:55 +0200 <[exa]> yes, you just tested it.
2021-04-18 14:45:06 +0200 <TerraDOOM> fair point
2021-04-18 14:45:06 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-04-18 14:45:11 +0200star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 240 seconds)
2021-04-18 14:45:31 +0200 <merijn> >.>
2021-04-18 14:46:22 +0200 <TerraDOOM> anyway, I'm trying to apply a function created by composing an infinite list, and can't really figure out how to do it lazily
2021-04-18 14:47:21 +0200 <TerraDOOM> `recDice3 = foldl (flip (.)) id (map (mapEvery update) [2..])` this is the definition I've got, update is simply Int -> Int
2021-04-18 14:48:01 +0200 <TerraDOOM> oh right, `mapEvery` is just map but applies to only the nth element
2021-04-18 14:48:22 +0200 <TerraDOOM> or only every nth* I should say
2021-04-18 14:48:24 +0200 <merijn> Maybe your mapEvery isn't "productive" enough? Hard to say without seeing its implementation
2021-04-18 14:49:18 +0200 <TerraDOOM> is there ``` for multiline formatting or anything of the sort?
2021-04-18 14:49:58 +0200 <[exa]> nope, all ascii. But `this` or ⌜this⌝ is a nice way to mark code in ascii too
2021-04-18 14:50:00 +0200 <__monty__> Isn't the problem foldl's "strict"ness?
2021-04-18 14:50:04 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 252 seconds)
2021-04-18 14:50:16 +0200 <TerraDOOM> I tried foldr, didn't work
2021-04-18 14:50:20 +0200 <TerraDOOM> `
2021-04-18 14:50:20 +0200 <TerraDOOM> mapEvery :: (a -> a) -> Int -> [a] -> [a]
2021-04-18 14:50:21 +0200 <TerraDOOM> mapEvery f n xs = take (n-1) xs ++ case drop (n-1) xs of
2021-04-18 14:50:21 +0200 <TerraDOOM>                                      y : ys -> f y : mapEvery f n ys
2021-04-18 14:50:22 +0200 <TerraDOOM>                                      [] -> []
2021-04-18 14:50:22 +0200 <TerraDOOM> `
2021-04-18 14:50:32 +0200 <TerraDOOM> didn't work the way I wanted it to but oh well
2021-04-18 14:50:52 +0200 <[exa]> TerraDOOM: also, if sharing code samples with more than 1 line, please pastebin them instead, it's better if there are more than 2-3 discussions going on
2021-04-18 14:51:00 +0200 <TerraDOOM> will do, sorry
2021-04-18 14:51:00 +0200 <[exa]> </irc_primer>
2021-04-18 14:51:21 +0200 <[exa]> np now I guess
2021-04-18 14:52:38 +0200Major_Biscuit(~Major_Bis@82-169-100-198.biz.kpn.net) (Ping timeout: 252 seconds)
2021-04-18 14:53:31 +0200 <[exa]> TerraDOOM: btw you might want to check `iterate` and similar functions, looks like you're trying to that with your foldl
2021-04-18 14:54:03 +0200olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber) (Remote host closed the connection)
2021-04-18 14:55:26 +0200gnumonic(~gnumonic@c-73-170-91-210.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
2021-04-18 14:56:39 +0200 <TerraDOOM> what're the similar functions? `iterate` looks to be pretty close to what I need, but I can't fully see how it'd work out in this case
2021-04-18 14:59:05 +0200Major_Biscuit(~Major_Bis@82-169-100-198.biz.kpn.net)
2021-04-18 15:01:06 +0200kristijonas(~kristijon@78-56-32-39.static.zebra.lt) (Ping timeout: 240 seconds)
2021-04-18 15:01:44 +0200 <TerraDOOM> for some extra context, I'm just trying to implement a naive, brute force "solution" for project euler problem 641, mainly to check my actual solution for correctness
2021-04-18 15:02:46 +0200kristijonas(~kristijon@78-56-32-39.static.zebra.lt)
2021-04-18 15:05:37 +0200 <TerraDOOM> actually I think I can make iterate work how I want it to, nvm
2021-04-18 15:07:55 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-04-18 15:09:24 +0200 <xsperry> > let mapEvery n f = map (\(i, x) -> if i `mod` n == 0 then f x else x) . zip [1..] in mapEvery 2 (*10) [1..5]
2021-04-18 15:09:26 +0200 <lambdabot> [1,20,3,40,5]
2021-04-18 15:10:14 +0200whataday(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2021-04-18 15:11:21 +0200whataday(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2021-04-18 15:12:57 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 268 seconds)
2021-04-18 15:16:18 +0200ddellacosta(~ddellacos@86.106.143.131)
2021-04-18 15:16:26 +0200 <TerraDOOM> xsperry: that definition also works, but the issue remains. I'm pretty sure the problem is that it has to compose the whole infinite list before attempting to apply the result
2021-04-18 15:19:37 +0200nut(~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2021-04-18 15:19:42 +0200urodna(~urodna@unaffiliated/urodna)
2021-04-18 15:19:53 +0200nut(~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Remote host closed the connection)
2021-04-18 15:20:43 +0200ddellacosta(~ddellacos@86.106.143.131) (Ping timeout: 252 seconds)
2021-04-18 15:20:47 +0200nut(~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2021-04-18 15:24:51 +0200nut(~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Remote host closed the connection)
2021-04-18 15:25:41 +0200Major_Biscuit(~Major_Bis@82-169-100-198.biz.kpn.net) (Ping timeout: 240 seconds)
2021-04-18 15:26:18 +0200qwerty2o(~qwerty2o@188.64.207.157)
2021-04-18 15:27:05 +0200nisstyre(wes@python-zero/conduct-committee/nisstyre) (Ping timeout: 250 seconds)
2021-04-18 15:29:19 +0200nisstyre(wes@python-zero/conduct-committee/nisstyre)
2021-04-18 15:32:57 +0200Major_Biscuit(~Major_Bis@82-169-100-198.biz.kpn.net)
2021-04-18 15:34:20 +0200gzj(~gzj@unaffiliated/gzj)
2021-04-18 15:36:55 +0200nut(~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2021-04-18 15:38:02 +0200Guest78317(~laudiacay@67.176.215.84)
2021-04-18 15:42:06 +0200coot(~coot@37.30.50.130.nat.umts.dynamic.t-mobile.pl) (Ping timeout: 240 seconds)
2021-04-18 15:42:56 +0200Guest78317(~laudiacay@67.176.215.84) (Ping timeout: 260 seconds)
2021-04-18 15:44:22 +0200ep1ctetus(~epictetus@ip72-194-54-201.sb.sd.cox.net)
2021-04-18 15:46:38 +0200Alleria(~textual@zrcout.mskcc.org)
2021-04-18 15:47:01 +0200AlleriaGuest72361
2021-04-18 15:47:08 +0200gzj(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2021-04-18 15:47:11 +0200Major_Biscuit(~Major_Bis@82-169-100-198.biz.kpn.net) (Ping timeout: 240 seconds)
2021-04-18 15:47:27 +0200gzj(~gzj@unaffiliated/gzj)
2021-04-18 15:48:21 +0200ddellacosta(~ddellacos@86.106.143.131)
2021-04-18 15:48:28 +0200TerraDOOM(53fbe65d@c83-251-230-93.bredband.comhem.se) (Quit: Connection closed)
2021-04-18 15:53:10 +0200ddellacosta(~ddellacos@86.106.143.131) (Ping timeout: 252 seconds)
2021-04-18 15:53:10 +0200qwerty2o(~qwerty2o@188.64.207.157) (Ping timeout: 252 seconds)
2021-04-18 15:54:29 +0200unlink_(~unlink2@p57b853bf.dip0.t-ipconnect.de) (Remote host closed the connection)
2021-04-18 15:57:08 +0200unlink2(~unlink2@p57b853bf.dip0.t-ipconnect.de)
2021-04-18 15:59:05 +0200drbean_(~drbean@TC210-63-209-202.static.apol.com.tw) (Quit: ZNC 1.8.2+cygwin2 - https://znc.in)
2021-04-18 16:05:02 +0200unlink2(~unlink2@p57b853bf.dip0.t-ipconnect.de) (Remote host closed the connection)
2021-04-18 16:05:26 +0200lambdaman(~lambdaman@s66-183-152-156.bc.hsia.telus.net)
2021-04-18 16:06:11 +0200unlink2(~unlink2@p57b853bf.dip0.t-ipconnect.de)
2021-04-18 16:06:13 +0200geowiesnot(~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 240 seconds)
2021-04-18 16:07:10 +0200rond_(5940206b@89-64-32-107.dynamic.chello.pl)
2021-04-18 16:07:40 +0200 <gentauro> wz1000: I already mentioned that -> http://blog.stermon.com/articles/2019/02/04/haskell-usage-of-malloc-free-is-safe.html
2021-04-18 16:08:12 +0200 <gentauro> wz1000: the point with Safe Haskell is that as long as you expose your IO effects in the signatures, you are good to go
2021-04-18 16:08:45 +0200 <gentauro> then the consumer of you library package will have to make a decision to `trust` or `not-trust` it. I find that approach acceptable
2021-04-18 16:09:41 +0200lambdaman(~lambdaman@s66-183-152-156.bc.hsia.telus.net) (Ping timeout: 240 seconds)
2021-04-18 16:10:55 +0200Rudd0(~Rudd0@185.189.115.108) (Ping timeout: 268 seconds)
2021-04-18 16:12:14 +0200 <maerwald> I'm more interested in how my binary behaves than I am about libraries. At least when it's about "safety".
2021-04-18 16:12:50 +0200 <maerwald> I think the approach there is backwards, but maybe that's just a definition disagreement
2021-04-18 16:14:41 +0200 <wz1000> gentauro: I don't get it, if you can write `unsafePerformIO` in SafeHaskell, what guarantees are you getting?
2021-04-18 16:16:19 +0200danvet(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 260 seconds)
2021-04-18 16:18:16 +0200 <gentauro> wz1000: if you write `unsafePerformIO` in Haskell, you can mark you module as `trustworthy`, but never `safe`
2021-04-18 16:18:47 +0200 <gentauro> then I as a consumer can say: "hmmm, I find wz1000 work trustable" and I therefore trust you package
2021-04-18 16:19:18 +0200gentauronormally, you would spend time going through the code and check yourself
2021-04-18 16:19:52 +0200 <wz1000> gentauro: but you are forgetting about GHC bugs
2021-04-18 16:19:59 +0200 <wz1000> https://gist.github.com/708c43a3ed4438c4850966479cf0be16
2021-04-18 16:20:06 +0200 <gentauro> the point is, if Safe Haskell is removed, then we could just rename everything to `npm` cos we would be as bad as them
2021-04-18 16:20:32 +0200 <wz1000> but we are as bad as them already
2021-04-18 16:20:33 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-04-18 16:20:44 +0200 <wz1000> and nobody is seriously attempting to make us any better
2021-04-18 16:21:36 +0200gzj(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2021-04-18 16:21:59 +0200 <gentauro> wz1000: `<interactive>:3:7: error: Variable not in scope: unsafeCoerce`
2021-04-18 16:22:04 +0200frozenErebus(~frozenEre@37.231.244.249) (Ping timeout: 265 seconds)
2021-04-18 16:22:11 +0200 <gentauro> with `stack ghci --ghc-options -XSafe --ghc-options -fpackage-trust --ghc-options -trust=base`
2021-04-18 16:22:38 +0200 <gentauro> wz1000: so Safe Haskell works as expected ;)
2021-04-18 16:23:10 +0200gentauroplease Mr. Haskells peeps, don't remove Safe Haskell, converting the language to JavaScript 0.11 + npm :(
2021-04-18 16:23:30 +0200 <maerwald> I don't think safe haskell has significant impact on ecosystem quality
2021-04-18 16:23:46 +0200 <wz1000> gentauro: are you running the same code? I can run it with ghci -XSafe -fpackage-trust -trust=base LaunchMissiles.hs
2021-04-18 16:24:06 +0200gentaurohaven't our (devs) people suffered enough?
2021-04-18 16:24:07 +0200 <wz1000> gentauro: there is a definition of unsafeCoerce in the file...
2021-04-18 16:25:04 +0200 <gentauro> wz1000: oh, I thought you were pointing to `unsafeCoerce`. My bad :9
2021-04-18 16:25:04 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 252 seconds)
2021-04-18 16:25:16 +0200dpl(~dpl@77-121-78-163.chn.volia.net)
2021-04-18 16:26:26 +0200 <gentauro> wz1000: your code works
2021-04-18 16:26:27 +0200 <gentauro> :(
2021-04-18 16:26:30 +0200 <maerwald> https://hackage.haskell.org/package/directory-1.3.6.1/docs/System-Directory.html this is Safe haskell, but on windows it will likely fail to delete a file and moreso directories, because the IO logic isn't sufficient
2021-04-18 16:26:39 +0200 <maerwald> so what does it matter?
2021-04-18 16:27:05 +0200 <wz1000> gentauro: it will be fixed in 9.2 I think: https://gitlab.haskell.org/ghc/ghc/-/issues/19287
2021-04-18 16:27:34 +0200 <int-e> SafeHaskell has always assumed that the type system itself is sound... so yes, ghc bugs are a big problem
2021-04-18 16:28:10 +0200 <gentauro> wz1000: but this only happens cos of `DuplicateRecordFields` right?
2021-04-18 16:28:21 +0200 <gentauro> I normally specify in my cabal files which PRAGMAS I allow
2021-04-18 16:28:28 +0200gentaurovery very few
2021-04-18 16:28:35 +0200 <int-e> it also doesn't really cover the compilation of libraries... you can do all kinds of evil things in Setup.l?hs and the like.
2021-04-18 16:28:41 +0200 <wz1000> yes, but only because you don't know of any other ways of adding unsoundness
2021-04-18 16:28:44 +0200 <gentauro> which is annoying, but helps keep out all these "strange" things
2021-04-18 16:29:18 +0200 <maerwald> so deleting directories recursively on windows via that module is NOT safe
2021-04-18 16:29:38 +0200 <maerwald> *shrug*
2021-04-18 16:29:45 +0200 <nshepperd2> maerwald: IO is intended to be able to do anything, so that's working as intended
2021-04-18 16:29:49 +0200 <maerwald> yes
2021-04-18 16:29:55 +0200 <maerwald> hence Safe haskell isn't interesting
2021-04-18 16:30:03 +0200Wuzzy(~Wuzzy@p5790e74f.dip0.t-ipconnect.de)
2021-04-18 16:30:12 +0200 <maerwald> there are bigger fish to fry if you care about *safety*
2021-04-18 16:30:14 +0200 <nshepperd2> if you want IO that can't do anything, you better use Safe Haskell and only use a free monad
2021-04-18 16:30:29 +0200 <maerwald> that won't fix that bug
2021-04-18 16:30:29 +0200 <nshepperd2> with a limited set of operations
2021-04-18 16:30:42 +0200 <maerwald> the type system isn't the problem here
2021-04-18 16:30:47 +0200 <gentauro> to be honest, my assumption has always been that anything running on Windows was unsafe :)
2021-04-18 16:31:09 +0200gentauroI once prepared to run something on windows, but gave up cos of CI/CD …
2021-04-18 16:31:13 +0200lambdaman(~lambdaman@s66-183-152-156.bc.hsia.telus.net)
2021-04-18 16:31:32 +0200 <gentauro> if it builds on a Linux distro, I find that enough
2021-04-18 16:31:37 +0200 <maerwald> well, this was an example... it won't be hard finding unix IO code that is unsafe
2021-04-18 16:31:40 +0200 <nshepperd2> maerwald: not sure how your example is relevant then
2021-04-18 16:31:54 +0200 <maerwald> nshepperd2: I just explained it :)
2021-04-18 16:32:04 +0200 <nshepperd2> your complaint seems to be that ghc isn't a superintelligent mind reading robot?
2021-04-18 16:32:14 +0200 <maerwald> no
2021-04-18 16:32:37 +0200 <nshepperd2> of course you have to write the right code instead of the wrong code if you want to write a program that does something
2021-04-18 16:32:39 +0200 <maerwald> <maerwald> there are bigger fish to fry if you care about *safety*
2021-04-18 16:33:19 +0200 <maerwald> <maerwald> I don't think safe haskell has significant impact on ecosystem quality
2021-04-18 16:33:23 +0200 <maerwald> those were my points
2021-04-18 16:33:51 +0200 <nshepperd2> who says 'ecosystem quality' is what it's for
2021-04-18 16:34:18 +0200 <maerwald> nshepperd2: ppl just said it's what separates us from npm
2021-04-18 16:34:22 +0200 <maerwald> did you read the backlog?
2021-04-18 16:35:05 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-04-18 16:35:11 +0200 <gentauro> nshepperd2: I do
2021-04-18 16:35:12 +0200frozenErebus(~frozenEre@37.231.244.249)
2021-04-18 16:35:23 +0200 <gentauro> in the sense: "let me decide which packages to trust"
2021-04-18 16:35:37 +0200 <gentauro> and "compiler, please help tell me if I'm wrong in my assumptions"
2021-04-18 16:35:43 +0200 <int-e> Size of the community seems to be a bigger factor, honestly.
2021-04-18 16:35:46 +0200 <gentauro> I like that
2021-04-18 16:36:25 +0200 <gentauro> int-e: the bigger the community, the more "shortcuts" there will be taken in code
2021-04-18 16:37:22 +0200 <nshepperd2> some people writing IO routines that don't do what you want just seems like a totally different issue to preventing pure code from launching missiles
2021-04-18 16:37:24 +0200 <maerwald> I think fixing broken core packages and base is more worthwhile
2021-04-18 16:37:48 +0200 <maerwald> for ecosystem quality
2021-04-18 16:38:03 +0200Zunaka(~IceChat9@176.24.159.82)
2021-04-18 16:38:23 +0200 <maerwald> preventing pure code from launching missiles is nothing I lose sleep over... it's just a haskell marketing trick
2021-04-18 16:38:30 +0200lambdaman(~lambdaman@s66-183-152-156.bc.hsia.telus.net) (Ping timeout: 265 seconds)
2021-04-18 16:38:40 +0200 <maerwald> show me a program that doesn't have massive amounts of IO anyway
2021-04-18 16:38:45 +0200 <nshepperd2> it has some applications
2021-04-18 16:38:49 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-04-18 16:38:56 +0200 <maerwald> hell, the RTS can launch missiles all the time
2021-04-18 16:39:06 +0200 <gentauro> I like Marlows quote on Safe Haskell: http://blog.stermon.com/articles/2019/02/21/the-main-reason-i-use-safe-haskell-is-restriction.html
2021-04-18 16:39:16 +0200 <gentauro> “For typical Haskell programmers, using {-# LANGUAGE Safe #-} will be like -Wall: something that is considered good practice from a hygiene point of view. If you don’t need access to unsafe features, then it’s better to write in the safe subset, where you have stronger guarantees. Just like -Wall, you get to choose whether to use {-# LANGUAGE Safe #-} or not.”
2021-04-18 16:39:27 +0200 <int-e> we all know that the impact of missiles is corrupting all your files and leaving behind core dumps
2021-04-18 16:39:52 +0200malumore(~malumore@151.62.123.9) (Ping timeout: 240 seconds)
2021-04-18 16:39:57 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds)
2021-04-18 16:40:41 +0200nut(~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 240 seconds)
2021-04-18 16:41:26 +0200 <maerwald> That's why I'm confused no one in haskell seems to be particularly worried about checking binaries against specifications. Even in correctness critical domains, the maximum I've seen was type level programming and property tests.
2021-04-18 16:41:30 +0200 <nshepperd2> and i don't think it makes any sense at all to take aim at a ghc feature on the basis that some other unrelated problem exists
2021-04-18 16:42:06 +0200 <maerwald> it's all about time, maintenance and gain
2021-04-18 16:42:41 +0200jao(~jao@pdpc/supporter/professional/jao)
2021-04-18 16:43:44 +0200 <nshepperd2> sure, it's easier to destroy than to create
2021-04-18 16:43:46 +0200Guest72361(~textual@zrcout.mskcc.org) (Ping timeout: 252 seconds)
2021-04-18 16:43:58 +0200 <maerwald> no it isn't... deleting code is the hardest
2021-04-18 16:44:11 +0200 <maerwald> writing new code is the easiest :)
2021-04-18 16:44:22 +0200xkapastel(uid17782@gateway/web/irccloud.com/x-isdhgqaucsczyafg)
2021-04-18 16:44:52 +0200frozenErebus(~frozenEre@37.231.244.249) (Ping timeout: 252 seconds)
2021-04-18 16:45:46 +0200 <maerwald> but this is more of a bikeshed topic... do what you will! :)
2021-04-18 16:47:19 +0200frozenErebus(~frozenEre@37.231.244.249)
2021-04-18 16:47:20 +0200tv(~tv@unaffiliated/tv) (Ping timeout: 246 seconds)
2021-04-18 16:48:47 +0200Alleria(~textual@mskresolve-a.mskcc.org)
2021-04-18 16:49:12 +0200AlleriaGuest27054
2021-04-18 16:50:38 +0200 <int-e> gentauro: if you benefit from SafeHaskell you should probably chime in on goldfire's question (subject: Safe Hashell?) on haskell-cafe
2021-04-18 16:51:16 +0200Tario(~Tario@201.192.165.173)
2021-04-18 16:52:44 +0200 <gentauro> int-e: I have been doing that ;)
2021-04-18 16:53:00 +0200gentauroshadow-copying our discussions to the reddit post xD
2021-04-18 16:53:22 +0200 <int-e> well, reddit is invisible to me
2021-04-18 16:54:34 +0200 <gentauro> int-e: why is that? You don't reddit?
2021-04-18 16:54:58 +0200ddellacosta(~ddellacos@86.106.143.144)
2021-04-18 16:55:39 +0200 <int-e> gentauro: IRC is already all the https://xkcd.com/386/ I can take
2021-04-18 16:56:13 +0200 <int-e> There's also the javascript issue, but teddit solves that I suppose.
2021-04-18 16:56:34 +0200 <gentauro> int-e: xD
2021-04-18 16:56:55 +0200 <gentauro> int-e: I left twitter cos of that. It ended up in a "shouting contest"
2021-04-18 16:57:32 +0200gentauroat some point you realized how you are loosing IQ with every discussion and then, the best thing to do is just delete it :)
2021-04-18 16:57:41 +0200tv(~tv@unaffiliated/tv)
2021-04-18 16:59:38 +0200ddellacosta(~ddellacos@86.106.143.144) (Ping timeout: 268 seconds)
2021-04-18 16:59:54 +0200Synthetica(uid199651@gateway/web/irccloud.com/x-xpxejlqaymkwmeed)
2021-04-18 17:00:19 +0200 <nshepperd2> it's just another user-hostile website
2021-04-18 17:01:10 +0200son0p(~ff@181.136.122.143)
2021-04-18 17:01:37 +0200ph88(~ph88@2a02:8109:9e00:7e5c:d5ef:86b3:afc4:9258)
2021-04-18 17:03:49 +0200 <tomsmeding> gentauro: not saying you should or should not do anything, but I would just like to remind you that you can also link https://ircbrowse.tomsmeding.com/browse/haskell?id=445503#trid445503 instead of copying the whole conversation over :)
2021-04-18 17:03:56 +0200star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
2021-04-18 17:05:12 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-04-18 17:11:10 +0200Chai-T-Rex(~ChaiTRex@gateway/tor-sasl/chaitrex) (Remote host closed the connection)
2021-04-18 17:11:18 +0200 <gentauro> tomsmeding: I didn't knew of that :o
2021-04-18 17:11:19 +0200 <gentauro> tx
2021-04-18 17:11:20 +0200 <gentauro> htx
2021-04-18 17:11:21 +0200gnumonic(~gnumonic@c-73-170-91-210.hsd1.ca.comcast.net)
2021-04-18 17:11:21 +0200 <gentauro> thx
2021-04-18 17:11:24 +0200 <tomsmeding> :)
2021-04-18 17:11:28 +0200 <tomsmeding> typing is hard
2021-04-18 17:11:37 +0200Chai-T-Rex(~ChaiTRex@gateway/tor-sasl/chaitrex)
2021-04-18 17:12:02 +0200 <tomsmeding> gentauro: at some point I'll build a view that ignores all the join/leave messages
2021-04-18 17:12:30 +0200 <tomsmeding> (note that 99.9% of the current code is Chris Done's)
2021-04-18 17:12:37 +0200 <gentauro> tomsmeding: I was just going to write that
2021-04-18 17:13:04 +0200 <gentauro> perhaps a parameter on the link?
2021-04-18 17:13:18 +0200gentauros/parameter/bookmark paramater/
2021-04-18 17:13:55 +0200gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving)
2021-04-18 17:14:06 +0200 <tomsmeding> for example, yes
2021-04-18 17:14:31 +0200 <tomsmeding> issue is more that the current code is not terribly supportive of such an alternate view :p
2021-04-18 17:14:34 +0200 <tomsmeding> but not impossible
2021-04-18 17:16:41 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-04-18 17:17:31 +0200wanglifeng(~wanglifen@60.177.176.45)
2021-04-18 17:19:35 +0200gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh)
2021-04-18 17:20:56 +0200tv(~tv@unaffiliated/tv) (Quit: WeeChat 2.9)
2021-04-18 17:21:23 +0200wanglifeng(~wanglifen@60.177.176.45) (Client Quit)
2021-04-18 17:21:41 +0200ericsagnes(~ericsagne@2405:6580:0:5100:500e:ae68:cb1a:24a) (Ping timeout: 258 seconds)
2021-04-18 17:25:28 +0200tv(~tv@unaffiliated/tv)
2021-04-18 17:25:32 +0200frozenErebus(~frozenEre@37.231.244.249) (Ping timeout: 268 seconds)
2021-04-18 17:25:47 +0200tv(~tv@unaffiliated/tv) (Client Quit)
2021-04-18 17:26:18 +0200tv(~tv@unaffiliated/tv)
2021-04-18 17:28:51 +0200Zunaka(~IceChat9@176.24.159.82) (Read error: Connection reset by peer)
2021-04-18 17:29:05 +0200Zunaka(~IceChat9@176.24.159.82)
2021-04-18 17:29:12 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-04-18 17:32:06 +0200Kaeipi(~Kaiepi@47.54.252.148)
2021-04-18 17:32:23 +0200Sheilong(uid293653@gateway/web/irccloud.com/x-whlsqwhgakhmwdwp)
2021-04-18 17:32:28 +0200Kaiepi(~Kaiepi@47.54.252.148) (Remote host closed the connection)
2021-04-18 17:33:19 +0200ericsagnes(~ericsagne@2405:6580:0:5100:26cf:eb6d:4a80:182c)
2021-04-18 17:33:35 +0200 <gentauro> :)
2021-04-18 17:33:41 +0200qwerty2o(~qwerty2o@93-172-139-92.bb.netvision.net.il)
2021-04-18 17:33:57 +0200cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2021-04-18 17:33:58 +0200Kaeipi(~Kaiepi@47.54.252.148) (Remote host closed the connection)
2021-04-18 17:34:05 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 265 seconds)
2021-04-18 17:34:20 +0200Kaeipi(~Kaiepi@47.54.252.148)
2021-04-18 17:36:08 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2021-04-18 17:36:33 +0200nineonine(~nineonine@2604:3d08:7785:9600:2926:4844:fa1f:b849)
2021-04-18 17:37:14 +0200qwerty2o(~qwerty2o@93-172-139-92.bb.netvision.net.il) (Read error: Connection reset by peer)
2021-04-18 17:37:25 +0200nineonine(~nineonine@2604:3d08:7785:9600:2926:4844:fa1f:b849) (Remote host closed the connection)
2021-04-18 17:38:25 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4)
2021-04-18 17:42:46 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Ping timeout: 258 seconds)
2021-04-18 17:45:52 +0200ddellacosta(~ddellacos@86.106.143.92)
2021-04-18 17:52:37 +0200kritzefitz(~kritzefit@212.86.56.80)
2021-04-18 17:53:32 +0200pavonia(~user@unaffiliated/siracusa) (Quit: Bye!)
2021-04-18 17:54:06 +0200Pickchea(~private@unaffiliated/pickchea)
2021-04-18 17:54:39 +0200seveg(~gabriel@2a02-ab04-0249-8d00-dea6-32ff-fe17-0993.dynamic.v6.chello.sk) (Ping timeout: 258 seconds)
2021-04-18 17:56:22 +0200elliott__(~elliott@pool-108-18-30-46.washdc.fios.verizon.net)
2021-04-18 17:56:30 +0200Sorna(~Sornaensi@077213200034.dynamic.telenor.dk)
2021-04-18 17:56:34 +0200seveg(~gabriel@2a02-ab04-0249-8d00-dea6-32ff-fe17-0993.dynamic.v6.chello.sk)
2021-04-18 17:58:32 +0200Sornaensis(~Sornaensi@077213199124.dynamic.telenor.dk) (Ping timeout: 252 seconds)
2021-04-18 17:58:33 +0200Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck)
2021-04-18 17:58:49 +0200mach1speed(~textual@S0106f0b4d2c39cee.va.shawcable.net)
2021-04-18 18:00:11 +0200s00pcan(~chris@107.181.165.217) (Ping timeout: 240 seconds)
2021-04-18 18:00:14 +0200Komrad_Kafuka(1b04ce5c@27.4.206.92)
2021-04-18 18:01:09 +0200jluttine(~jluttine@85-23-66-6.bb.dnainternet.fi) (Quit: WeeChat 3.0)
2021-04-18 18:01:28 +0200 <Komrad_Kafuka> Hi guys, I have an error I can't quite decipher. Upon writing this code I get the following error https://paste.tomsmeding.com/ev5G1fig
2021-04-18 18:01:39 +0200 <Komrad_Kafuka> It'd be great if someone could help me
2021-04-18 18:02:24 +0200Bergle_2(~Bergle_4@101.165.90.119)
2021-04-18 18:02:58 +0200 <monochrom> Where is line "57"?
2021-04-18 18:03:04 +0200 <monochrom> err nevermind
2021-04-18 18:03:20 +0200 <jiribenes> Komrad_Kafuka: You can't use backticks (`), Haskell thinks it's something else. Just replace "sqx`" with "sqx"
2021-04-18 18:04:19 +0200Rudd0(~Rudd0@185.189.115.108)
2021-04-18 18:04:57 +0200Bergle_1(~Bergle_4@101.165.90.119) (Ping timeout: 245 seconds)
2021-04-18 18:05:12 +0200 <monochrom> Also delete the comma after "pow (x1 - x2) 2"
2021-04-18 18:05:39 +0200frozenErebus(~frozenEre@37.231.244.249)
2021-04-18 18:05:50 +0200 <Komrad_Kafuka> yeah It's giving me another set of horrendous errors
2021-04-18 18:05:53 +0200alx741(~alx741@186.178.109.113)
2021-04-18 18:06:40 +0200 <Komrad_Kafuka> https://paste.tomsmeding.com/Ugc0G1df
2021-04-18 18:07:03 +0200malumore(~malumore@151.62.123.9)
2021-04-18 18:07:33 +0200 <monochrom> "pow" is not defined anywhere.
2021-04-18 18:08:18 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-04-18 18:08:50 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2021-04-18 18:09:09 +0200 <Komrad_Kafuka> that solved the first part
2021-04-18 18:10:23 +0200 <Komrad_Kafuka> the ''could'nt match unexpected type'' error, can't quite make out what that means
2021-04-18 18:10:40 +0200ep1ctetus(~epictetus@ip72-194-54-201.sb.sd.cox.net) (Ping timeout: 252 seconds)
2021-04-18 18:10:42 +0200Major_Biscuit(~Major_Bis@82-169-100-198.biz.kpn.net)
2021-04-18 18:13:25 +0200bitmagie(~Thunderbi@200116b8068a3b00f97fc6eea4dcadef.dip.versatel-1u1.de)
2021-04-18 18:14:53 +0200bitmagie(~Thunderbi@200116b8068a3b00f97fc6eea4dcadef.dip.versatel-1u1.de) (Client Quit)
2021-04-18 18:15:29 +0200 <monochrom> xs is a list, distance doesn't expect its 1st parameter to be a list
2021-04-18 18:16:31 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4)
2021-04-18 18:16:46 +0200Major_Biscuit(~Major_Bis@82-169-100-198.biz.kpn.net) (Ping timeout: 240 seconds)
2021-04-18 18:17:23 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Remote host closed the connection)
2021-04-18 18:18:26 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4)
2021-04-18 18:19:16 +0200geekosaur(930099da@rrcs-147-0-153-218.central.biz.rr.com)
2021-04-18 18:19:50 +0200Major_Biscuit(~Major_Bis@82-169-100-198.biz.kpn.net)
2021-04-18 18:22:26 +0200jakalx(~jakalx@base.jakalx.net) ()
2021-04-18 18:23:01 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Ping timeout: 258 seconds)
2021-04-18 18:24:21 +0200Jd007(~Jd007@162.156.11.151)
2021-04-18 18:25:21 +0200Major_Biscuit(~Major_Bis@82-169-100-198.biz.kpn.net) (Ping timeout: 268 seconds)
2021-04-18 18:26:35 +0200nineonine(~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4)
2021-04-18 18:27:15 +0200 <xe4> https://www.twanvl.nl/blog/haskell/overloading-functional-references
2021-04-18 18:27:34 +0200 <xe4> I was following along with this article up until name = FRef { get = name_ , set = \n e -> e { name_ = n } } -- which doesn't compile
2021-04-18 18:27:54 +0200 <xe4> and the function below that doesn't compile either: name = ref name_ (\n e -> e { name_ = n })
2021-04-18 18:28:18 +0200 <xe4> suggestions on getting the examples to compile?
2021-04-18 18:28:57 +0200Komrad_Kafuka(1b04ce5c@27.4.206.92) (Quit: Connection closed)
2021-04-18 18:30:46 +0200DavidEichmann(~david@147.136.46.217.dyn.plus.net) (Remote host closed the connection)
2021-04-18 18:34:04 +0200jluttine(~jluttine@85-23-66-6.bb.dnainternet.fi)
2021-04-18 18:34:19 +0200v01d4lph4(~v01d4lph4@122.162.20.198)
2021-04-18 18:42:53 +0200frozenErebus(~frozenEre@37.231.244.249) (Ping timeout: 260 seconds)
2021-04-18 18:43:38 +0200elliott_(~elliott_@pool-108-18-30-46.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
2021-04-18 18:43:46 +0200Zunaka(~IceChat9@176.24.159.82) (Ping timeout: 260 seconds)
2021-04-18 18:44:21 +0200idhugo(~idhugo@87-49-147-45-mobile.dk.customer.tdc.net)
2021-04-18 18:46:05 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-04-18 18:47:13 +0200jluttine(~jluttine@85-23-66-6.bb.dnainternet.fi) (Ping timeout: 240 seconds)
2021-04-18 18:48:38 +0200kritzefitz(~kritzefit@212.86.56.80) (Ping timeout: 240 seconds)
2021-04-18 18:49:12 +0200ddellacosta(~ddellacos@86.106.143.92) (Ping timeout: 240 seconds)
2021-04-18 18:49:14 +0200 <monochrom> What is the exact verbatim error message?
2021-04-18 18:50:32 +0200mach1speed(~textual@S0106f0b4d2c39cee.va.shawcable.net) (Quit: Textual IRC Client: www.textualapp.com)
2021-04-18 18:51:07 +0200wonko7(~wonko7@62.115.229.50)
2021-04-18 18:55:05 +0200toorevitimirp(~tooreviti@117.182.181.144)
2021-04-18 18:55:44 +0200 <int-e> gentauro: btw, what is [Safe {H}askel] (see https://uniprocess.org/effects.html )?
2021-04-18 18:56:10 +0200toorevitimirp(~tooreviti@117.182.181.144) (Remote host closed the connection)
2021-04-18 18:56:20 +0200 <int-e> (both the {H} from bibtex (presumably) and the missing l are slightly odd)
2021-04-18 18:56:47 +0200Wizek(uid191769@gateway/web/irccloud.com/x-imzvaajwbwqznbhg)
2021-04-18 18:58:35 +0200elliott__(~elliott@pool-108-18-30-46.washdc.fios.verizon.net) (Ping timeout: 246 seconds)
2021-04-18 18:59:38 +0200nut(~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2021-04-18 19:00:21 +0200hendursaga(~weechat@gateway/tor-sasl/hendursaga) (Ping timeout: 240 seconds)
2021-04-18 19:00:31 +0200elliott_(~elliott_@pool-108-18-30-46.washdc.fios.verizon.net)
2021-04-18 19:01:09 +0200hendursaga(~weechat@gateway/tor-sasl/hendursaga)
2021-04-18 19:03:34 +0200Zunaka(~IceChat9@176.24.159.82)
2021-04-18 19:03:58 +0200Sgeo(~Sgeo@ool-18b98aa4.dyn.optonline.net)
2021-04-18 19:04:35 +0200 <hpc> int-e: scroll all the way down the page
2021-04-18 19:07:38 +0200gnumonic(~gnumonic@c-73-170-91-210.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
2021-04-18 19:08:00 +0200jakalx(~jakalx@base.jakalx.net)
2021-04-18 19:08:19 +0200 <int-e> hpc: ... not sure why you're pointing me there. It replicates the exact same problem.
2021-04-18 19:09:23 +0200 <int-e> I mean, I can identify the paper, but the title is still messed up.
2021-04-18 19:11:44 +0200 <hpc> ah, you were asking why the formatting is messed up then?
2021-04-18 19:11:49 +0200 <hpc> not actually "what" it was?
2021-04-18 19:11:59 +0200 <int-e> Yes, sorry.
2021-04-18 19:14:26 +0200jluttine(~jluttine@85-23-66-6.bb.dnainternet.fi)
2021-04-18 19:14:48 +0200v01d4lph4(~v01d4lph4@122.162.20.198) (Remote host closed the connection)
2021-04-18 19:15:21 +0200v01d4lph4(~v01d4lph4@122.162.20.198)
2021-04-18 19:16:02 +0200AkechiShiro(~AkechiShi@2a01:e0a:5f9:9681:1473:3dff:fe42:56a9)
2021-04-18 19:16:35 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-04-18 19:17:02 +0200royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2021-04-18 19:17:45 +0200frozenErebus(~frozenEre@37.231.244.249)
2021-04-18 19:17:51 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-04-18 19:18:43 +0200DavidEichmann(~david@147.136.46.217.dyn.plus.net)
2021-04-18 19:19:16 +0200gzj(~gzj@unaffiliated/gzj)
2021-04-18 19:19:56 +0200v01d4lph4(~v01d4lph4@122.162.20.198) (Ping timeout: 260 seconds)
2021-04-18 19:19:57 +0200Major_Biscuit(~Major_Bis@82-169-100-198.biz.kpn.net)
2021-04-18 19:20:58 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds)
2021-04-18 19:22:44 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
2021-04-18 19:23:40 +0200elliott__(~elliott@pool-108-18-30-46.washdc.fios.verizon.net)
2021-04-18 19:23:52 +0200idhugo(~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 240 seconds)
2021-04-18 19:24:05 +0200lambdaman(~lambdaman@s66-183-152-156.bc.hsia.telus.net)
2021-04-18 19:24:25 +0200gzj(~gzj@unaffiliated/gzj) (Ping timeout: 260 seconds)
2021-04-18 19:24:27 +0200stef204(~stef204@unaffiliated/stef-204/x-384198)
2021-04-18 19:25:50 +0200mudfog(~mudfog@ec2-54-152-211-54.compute-1.amazonaws.com)
2021-04-18 19:28:33 +0200kritzefitz(~kritzefit@212.86.56.80)
2021-04-18 19:30:21 +0200hendursaga(~weechat@gateway/tor-sasl/hendursaga) (Ping timeout: 240 seconds)
2021-04-18 19:30:55 +0200nicholasbulka(~nicholasb@2601:900:4301:da0:dc4d:c0e7:8d0c:41f6)
2021-04-18 19:33:01 +0200hendursaga(~weechat@gateway/tor-sasl/hendursaga)
2021-04-18 19:33:13 +0200xff0x(~xff0x@2001:1a81:52bc:3c00:e093:d566:52f:38b9) (Ping timeout: 250 seconds)
2021-04-18 19:34:22 +0200xff0x(~xff0x@2001:1a81:52bc:3c00:45ea:1449:467:f132)
2021-04-18 19:35:28 +0200nicholasbulka(~nicholasb@2601:900:4301:da0:dc4d:c0e7:8d0c:41f6) (Ping timeout: 258 seconds)
2021-04-18 19:35:44 +0200 <nut> do people use linked list in Haskell ?
2021-04-18 19:36:20 +0200 <nut> How is it often done?
2021-04-18 19:38:31 +0200 <koz_> nut: Yes, and using [], since that's a (singly) linked list.
2021-04-18 19:38:45 +0200Guest78317(~laudiacay@67.176.215.84)
2021-04-18 19:42:11 +0200asheshambasta(~user@ptr-e1lysav1t8vxyatkqxm.18120a2.ip6.access.telenet.be) (Ping timeout: 248 seconds)
2021-04-18 19:43:08 +0200Guest78317(~laudiacay@67.176.215.84) (Ping timeout: 265 seconds)
2021-04-18 19:43:22 +0200 <gentauro> int-e: good catch with Haskell missing one `l`. The {H} was taking from the CEFP bibtex file: https://simonmar.github.io/bib/par-tutorial-cefp-2012_abstract.html
2021-04-18 19:43:40 +0200frozenErebus(~frozenEre@37.231.244.249) (Quit: leaving)
2021-04-18 19:44:27 +0200 <gentauro> ups, wrong link https://simonmar.github.io/bib/safe-haskell-2012.bib
2021-04-18 19:45:59 +0200 <gentauro> int-e: I guess I forgot to remove the {} aroudn the H
2021-04-18 19:48:20 +0200endofexclusive(~asdf@c188-150-152-7.bredband.comhem.se)
2021-04-18 19:50:18 +0200Jd007(~Jd007@162.156.11.151) (Quit: Jd007)
2021-04-18 19:51:13 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-04-18 19:52:28 +0200lambdaman(~lambdaman@s66-183-152-156.bc.hsia.telus.net) (Remote host closed the connection)
2021-04-18 19:54:29 +0200haritz(~hrtz@unaffiliated/haritz) (Quit: ZNC 1.7.2+deb3 - https://znc.in)
2021-04-18 19:55:41 +0200 <int-e> gentauro: no big deal, but it does look strange :)
2021-04-18 19:56:11 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2021-04-18 19:57:00 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-04-18 19:58:42 +0200hidedagger(~nate@unaffiliated/hidedagger)
2021-04-18 19:58:57 +0200 <gentauro> int-e: If I recall from my days in uni, the {H} in bibtex ment something (I just can recall it)
2021-04-18 19:59:10 +0200 <gentauro> any peeps still in academia that can tell?
2021-04-18 19:59:35 +0200gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving)
2021-04-18 20:01:09 +0200hendursaga(~weechat@gateway/tor-sasl/hendursaga) (Ping timeout: 240 seconds)
2021-04-18 20:01:13 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds)
2021-04-18 20:01:46 +0200 <gentauro> int-e: fixed now :) https://uniprocess.org/effects.html
2021-04-18 20:01:57 +0200hendursaga(~weechat@gateway/tor-sasl/hendursaga)
2021-04-18 20:03:13 +0200idhugo(~idhugo@87-49-147-45-mobile.dk.customer.tdc.net)
2021-04-18 20:05:55 +0200 <yushyin> gentauro: {H} keeps the case otherwise bibtex (depending on the citation style) will lower-case the H in Haskell
2021-04-18 20:06:21 +0200Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck) (Ping timeout: 240 seconds)
2021-04-18 20:09:59 +0200hendursaga(~weechat@gateway/tor-sasl/hendursaga) (Remote host closed the connection)
2021-04-18 20:13:29 +0200hendursaga(~weechat@gateway/tor-sasl/hendursaga)
2021-04-18 20:13:45 +0200 <dmj`> nut: all the time, but its used moreso as a control structure (for loop replacement), not as a data structure, since its not a packed representation (no cache locality)
2021-04-18 20:14:17 +0200 <dmj`> Control.Lens.Plated.transform can really give recursion schemes a run for its money
2021-04-18 20:14:44 +0200 <int-e> gentauro: thanks :)
2021-04-18 20:15:06 +0200endofexclusive(~asdf@c188-150-152-7.bredband.comhem.se) ("Leaving")
2021-04-18 20:15:51 +0200hendursaga(~weechat@gateway/tor-sasl/hendursaga) (Remote host closed the connection)
2021-04-18 20:16:14 +0200hendursaga(~weechat@gateway/tor-sasl/hendursaga)
2021-04-18 20:16:53 +0200 <gentauro> yushyin: you are right. Now I recall it. Thx
2021-04-18 20:22:08 +0200jamm_(~jamm@unaffiliated/jamm)
2021-04-18 20:23:24 +0200jtk(~jtk@178.239.168.171) (Remote host closed the connection)
2021-04-18 20:24:09 +0200dyeplexer(~lol@unaffiliated/terpin) (Remote host closed the connection)
2021-04-18 20:26:46 +0200s00pcan(~chris@075-133-056-178.res.spectrum.com)
2021-04-18 20:28:11 +0200idhugo(~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 240 seconds)
2021-04-18 20:29:31 +0200rayyyy(~nanoz@gateway/tor-sasl/nanoz)
2021-04-18 20:30:10 +0200nicholasbulka(~nicholasb@2601:900:4301:da0:5d1c:812e:1a75:163c)
2021-04-18 20:31:07 +0200stiell(~stian@fsf/member/stiell) (Ping timeout: 260 seconds)
2021-04-18 20:32:26 +0200nicholasbulka(~nicholasb@2601:900:4301:da0:5d1c:812e:1a75:163c) (Remote host closed the connection)
2021-04-18 20:32:42 +0200nicholasbulka(~nicholasb@2601:900:4301:da0:5d1c:812e:1a75:163c)
2021-04-18 20:34:14 +0200ddellacosta(~ddellacos@86.106.143.144)
2021-04-18 20:34:15 +0200rajivr(uid269651@gateway/web/irccloud.com/x-cevinofdvazcujky) (Quit: Connection closed for inactivity)
2021-04-18 20:34:24 +0200haritz(~hrtz@62.3.70.206)
2021-04-18 20:34:25 +0200haritz(~hrtz@62.3.70.206) (Changing host)
2021-04-18 20:34:25 +0200haritz(~hrtz@unaffiliated/haritz)
2021-04-18 20:35:50 +0200machinedgod(~machinedg@24.105.81.50) (Ping timeout: 252 seconds)
2021-04-18 20:38:13 +0200fer(2f3d8672@47.61.134.114) (Quit: Connection closed)
2021-04-18 20:38:19 +0200aveltras(uid364989@gateway/web/irccloud.com/x-uutfhochnudnpuow) (Quit: Connection closed for inactivity)
2021-04-18 20:38:38 +0200ddellacosta(~ddellacos@86.106.143.144) (Ping timeout: 240 seconds)
2021-04-18 20:39:11 +0200Major_Biscuit(~Major_Bis@82-169-100-198.biz.kpn.net) (Ping timeout: 240 seconds)
2021-04-18 20:39:16 +0200coot(~coot@37.30.50.130.nat.umts.dynamic.t-mobile.pl)
2021-04-18 20:41:24 +0200Tesseraction(~Tesseract@unaffiliated/tesseraction) (Read error: Connection reset by peer)
2021-04-18 20:41:52 +0200darjeeling_(~darjeelin@115.215.40.116) (Ping timeout: 240 seconds)
2021-04-18 20:45:09 +0200hendursaga(~weechat@gateway/tor-sasl/hendursaga) (Ping timeout: 240 seconds)
2021-04-18 20:46:34 +0200s00pcan(~chris@075-133-056-178.res.spectrum.com) (Ping timeout: 268 seconds)
2021-04-18 20:47:53 +0200s00pcan(~chris@107.181.165.217)
2021-04-18 20:48:19 +0200hendursaga(~weechat@gateway/tor-sasl/hendursaga)
2021-04-18 20:48:25 +0200kristijonas(~kristijon@78-56-32-39.static.zebra.lt) (Ping timeout: 268 seconds)
2021-04-18 20:51:17 +0200Jd007(~Jd007@162.156.11.151)
2021-04-18 20:52:18 +0200Major_Biscuit(~Major_Bis@82-169-100-198.biz.kpn.net)
2021-04-18 20:55:21 +0200darjeeling_(~darjeelin@122.245.209.158)
2021-04-18 20:59:35 +0200bennofs_(~quassel@x4dbf857b.dyn.telefonica.de)
2021-04-18 20:59:50 +0200Sheilong(uid293653@gateway/web/irccloud.com/x-whlsqwhgakhmwdwp) ()
2021-04-18 21:00:07 +0200ClaudiusMaximus(~claude@unaffiliated/claudiusmaximus) (Quit: ->)
2021-04-18 21:04:23 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-04-18 21:05:26 +0200Tesseraction(~Tesseract@unaffiliated/tesseraction)
2021-04-18 21:05:41 +0200elliott__(~elliott@pool-108-18-30-46.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
2021-04-18 21:06:40 +0200nut(~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 252 seconds)
2021-04-18 21:07:52 +0200elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 240 seconds)
2021-04-18 21:09:26 +0200ddellacosta(~ddellacos@86.106.143.79)
2021-04-18 21:09:59 +0200DavidEichmann(~david@147.136.46.217.dyn.plus.net) (Remote host closed the connection)
2021-04-18 21:12:13 +0200nicholasbulka(~nicholasb@2601:900:4301:da0:5d1c:812e:1a75:163c) (Remote host closed the connection)
2021-04-18 21:13:41 +0200ddellacosta(~ddellacos@86.106.143.79) (Ping timeout: 246 seconds)
2021-04-18 21:14:36 +0200jamm__(~jamm@unaffiliated/jamm)
2021-04-18 21:14:46 +0200elliott_(~elliott_@pool-108-18-30-46.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
2021-04-18 21:17:12 +0200sh9(~sh9@softbank060116136158.bbtec.net)
2021-04-18 21:17:26 +0200jamm_(~jamm@unaffiliated/jamm) (Ping timeout: 258 seconds)
2021-04-18 21:19:43 +0200minoru_shiraeesh(~shiraeesh@109.166.56.26)
2021-04-18 21:20:12 +0200__minoru__shirae(~shiraeesh@109.166.58.81) (Ping timeout: 252 seconds)
2021-04-18 21:21:00 +0200elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2021-04-18 21:21:31 +0200nut(~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2021-04-18 21:22:45 +0200Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck)
2021-04-18 21:22:46 +0200rayyyy(~nanoz@gateway/tor-sasl/nanoz) (Quit: Leaving)
2021-04-18 21:23:35 +0200kuribas(~user@ptr-25vy0ia8k0uf95hxb72.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
2021-04-18 21:24:15 +0200Zunaka_(~IceChat9@176.24.159.82)
2021-04-18 21:26:28 +0200Zunaka(~IceChat9@176.24.159.82) (Ping timeout: 252 seconds)
2021-04-18 21:29:39 +0200smatting(~stefan@p200300cd7708e000958acc65436f5a2e.dip0.t-ipconnect.de)
2021-04-18 21:31:06 +0200waleee-cl(uid373333@gateway/web/irccloud.com/x-qwacgjbsbbsicbfw)
2021-04-18 21:34:52 +0200vicfred(vicfred@gateway/vpn/mullvad/vicfred)
2021-04-18 21:36:37 +0200elliott_(~elliott_@pool-108-18-30-46.washdc.fios.verizon.net)
2021-04-18 21:37:22 +0200jamm__(~jamm@unaffiliated/jamm) (Remote host closed the connection)
2021-04-18 21:38:01 +0200thblt(~thblt@unaffiliated/thblt) ("ERC (IRC client for Emacs 28.0.50)")
2021-04-18 21:41:02 +0200Zunaka(~IceChat9@176.24.159.82)
2021-04-18 21:42:52 +0200Zunaka_(~IceChat9@176.24.159.82) (Ping timeout: 240 seconds)
2021-04-18 21:44:23 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-04-18 21:47:26 +0200randumb_luser(~jrm@172.76.82.248)
2021-04-18 21:47:42 +0200elliott_(~elliott_@pool-108-18-30-46.washdc.fios.verizon.net) (Ping timeout: 252 seconds)
2021-04-18 21:47:52 +0200 <randumb_luser> /p
2021-04-18 21:47:56 +0200rond_(5940206b@89-64-32-107.dynamic.chello.pl) (Quit: Connection closed)
2021-04-18 21:48:03 +0200randumb_luser(~jrm@172.76.82.248) ()
2021-04-18 21:48:38 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds)
2021-04-18 21:50:15 +0200jamm_(~jamm@unaffiliated/jamm)
2021-04-18 21:52:05 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-04-18 21:52:58 +0200lambdaman(~lambdaman@s66-183-152-156.bc.hsia.telus.net)
2021-04-18 21:53:06 +0200Pickchea(~private@unaffiliated/pickchea) (Quit: Leaving)
2021-04-18 21:53:57 +0200safinaskar(6dfc5a88@109-252-90-136.nat.spd-mgts.ru)
2021-04-18 21:54:41 +0200zeta_0(~zeta@2601:8c0:1:2630:2d9c:e1d:b59:5a8e)
2021-04-18 21:54:50 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net)
2021-04-18 21:55:08 +0200Lord_of_Life_(~Lord@unaffiliated/lord-of-life/x-0885362)
2021-04-18 21:56:09 +0200 <zeta_0> hello there, I got haskell-language-server working on a single haskell file, but it's not recognizing any of the modules that I try to import, that I have installed? is there an easy fix for this?
2021-04-18 21:56:34 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-04-18 21:57:05 +0200 <zeta_0> I can import the Control module fine, but when I try to import Flow, it tells me module not recognized?
2021-04-18 21:57:11 +0200jamm_(~jamm@unaffiliated/jamm) (Remote host closed the connection)
2021-04-18 21:57:13 +0200lambdaman(~lambdaman@s66-183-152-156.bc.hsia.telus.net) (Ping timeout: 240 seconds)
2021-04-18 21:57:59 +0200ddellaco_(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-04-18 21:58:43 +0200Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 268 seconds)
2021-04-18 21:58:46 +0200Lord_of_Life_Lord_of_Life
2021-04-18 21:58:51 +0200zeta_0(~zeta@2601:8c0:1:2630:2d9c:e1d:b59:5a8e) (Client Quit)
2021-04-18 21:59:28 +0200elliott__(~elliott@pool-108-18-30-46.washdc.fios.verizon.net)
2021-04-18 21:59:41 +0200_ht(~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
2021-04-18 22:00:08 +0200Zunaka_(~IceChat9@176.24.159.82)
2021-04-18 22:00:52 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds)
2021-04-18 22:02:13 +0200ddellaco_(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds)
2021-04-18 22:02:49 +0200Zunaka(~IceChat9@176.24.159.82) (Ping timeout: 265 seconds)
2021-04-18 22:03:09 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-04-18 22:04:46 +0200nicholasbulka(~nicholasb@2601:900:4301:da0:5d1c:812e:1a75:163c)
2021-04-18 22:04:58 +0200petersen(~petersen@redhat/juhp) (Ping timeout: 240 seconds)
2021-04-18 22:08:28 +0200petersen(~petersen@redhat/juhp)
2021-04-18 22:10:15 +0200usr25(~usr25@unaffiliated/usr25)
2021-04-18 22:11:26 +0200fiedlr(~fiedlr@83.148.33.254) (Remote host closed the connection)
2021-04-18 22:12:03 +0200fiedlr(~fiedlr@83.148.33.254)
2021-04-18 22:12:46 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2021-04-18 22:13:48 +0200 <safinaskar> Haskell got me angry because of its syntax. So now I am considering to
2021-04-18 22:13:49 +0200 <safinaskar> switch to imperative languages (such as Ocaml or Rust) and never write
2021-04-18 22:13:49 +0200 <safinaskar> Haskell anymore. Please try to convince me to continue to use Haskell
2021-04-18 22:13:58 +0200 <safinaskar> here are details: http://paste.debian.net/1194206/
2021-04-18 22:14:15 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-04-18 22:16:11 +0200fiedlr(~fiedlr@83.148.33.254) (Ping timeout: 240 seconds)
2021-04-18 22:17:48 +0200z88(~z88@221.85-84-199.dynamic.clientes.euskaltel.es) (Ping timeout: 265 seconds)
2021-04-18 22:18:47 +0200 <infinisil> safinaskar: Use whichever language you like, nobody forces you to use Haskell, and Haskell indeed isn't the optimal choice for all tasks (no language is)
2021-04-18 22:18:52 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-04-18 22:19:14 +0200pavonia(~user@unaffiliated/siracusa)
2021-04-18 22:20:20 +0200 <d34df00d> safinaskar: I might also suggest avoiding types and switching to python.
2021-04-18 22:20:32 +0200 <d34df00d> Or js for that matter.
2021-04-18 22:22:28 +0200 <d34df00d> koz_: in the meanwhile, I've reimplemented that repa/massiv stuff in C++ and it's also ridiculously slow, so I guess expecting ghc/llvm to optimize better than clang/llvm is unreasonable. I'll just use my inline-asm thing!
2021-04-18 22:23:40 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 252 seconds)
2021-04-18 22:25:22 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-04-18 22:25:47 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
2021-04-18 22:27:06 +0200 <sm[m]> safinaskar: you can write more concise/elegant haskell too. I don't have specific suggestions for your paste, except you use a lot of verbose qualified imports
2021-04-18 22:28:28 +0200barakkl1993(~barakkley@2.55.14.78)
2021-04-18 22:29:57 +0200mikoto-chan(~anass@gateway/tor-sasl/mikoto-chan) (Ping timeout: 240 seconds)
2021-04-18 22:30:20 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-04-18 22:31:42 +0200horatiohb(~horatiohb@45.55.40.152)
2021-04-18 22:31:56 +0200Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck) (Quit: WeeChat 2.8)
2021-04-18 22:34:14 +0200coot(~coot@37.30.50.130.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2021-04-18 22:34:38 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 252 seconds)
2021-04-18 22:36:11 +0200wonko7(~wonko7@62.115.229.50) (Ping timeout: 240 seconds)
2021-04-18 22:36:39 +0200barakkl1993(~barakkley@2.55.14.78) (Quit: Leaving)
2021-04-18 22:36:55 +0200barakkl1993(~barakkley@2.55.46.17)
2021-04-18 22:37:39 +0200kenanmarasli(1fdf0934@31.223.9.52)
2021-04-18 22:38:33 +0200 <cjay> safinaskar: Your choices of where to break lines and indent are very unusual, and they seem to be enabled by using {} for blocks. If you would use layout instead of {}, you would be forced into a cleaner structure I think.
2021-04-18 22:39:32 +0200hexfive(~hexfive@50.35.83.177)
2021-04-18 22:39:49 +0200acarrico(~acarrico@dhcp-68-142-39-249.greenmountainaccess.net)
2021-04-18 22:40:04 +0200seven_three(~user@pool-96-233-64-53.bstnma.fios.verizon.net)
2021-04-18 22:40:59 +0200 <cjay> hmm.. I think some of the line breaks are a copy/paste artefact, breaking in the middle of a type signature can't work
2021-04-18 22:41:18 +0200 <koz_> d34df00d: Inline-asm for the win.
2021-04-18 22:41:35 +0200 <davean> safinaskar: Thats some of the craziest Haskell I've seen. Also the thing about imperitive at the end isn't the entire story - even if you write it imperitive you can gain with Haskell because its only local and you can ignore it remotely.
2021-04-18 22:42:00 +0200 <davean> cjay: I break in the middle of type signatures all the time
2021-04-18 22:42:15 +0200 <cjay> oh right. I should go to sleep, I'm talking bs ^^
2021-04-18 22:42:26 +0200 <monochrom> Your "[0 .. n] <&> \i -> ...", we normally write list comprehension instead.
2021-04-18 22:43:41 +0200usr25(~usr25@unaffiliated/usr25) (Quit: Leaving)
2021-04-18 22:43:42 +0200 <monochrom> "and [ f i j | i <- [0..n], j <- [0..i] ]" for example.
2021-04-18 22:43:56 +0200 <monochrom> Overall you are not writing idiomatic Haskell.
2021-04-18 22:44:00 +0200 <davean> is this style from somewhere? I can't imagine how you'd get here from reading how to program Haskell
2021-04-18 22:44:09 +0200 <davean> I've never seen an example like this EVER.
2021-04-18 22:44:56 +0200 <davean> It would take me skill to bend Haskell into something this abnormal without seeing an example, so I'm confused as to the genesis of this.
2021-04-18 22:45:07 +0200 <davean> Makes me feel he saw a really weird tutorial or something
2021-04-18 22:45:25 +0200 <dmj`> you need to study the instances, then its less weird
2021-04-18 22:45:35 +0200 <dmj`> @google typeclassopedia
2021-04-18 22:45:37 +0200 <lambdabot> No Result Found.
2021-04-18 22:45:48 +0200 <d34df00d> Is there haskell code obfuscation contest?
2021-04-18 22:45:53 +0200 <d34df00d> Lenses would still be clear winner, but still.
2021-04-18 22:46:06 +0200 <safinaskar> hi. sorry, i was afk for some time. now reading your messages
2021-04-18 22:46:26 +0200 <cjay> hm, what doesn't work is breaking in the middle of somethin enclosed in () within a type signature, apparently. til
2021-04-18 22:46:37 +0200 <davean> d34df00d: Why do you think lenses obfuscate?
2021-04-18 22:46:41 +0200 <monochrom> d34df00d: shapr wants to hold one for #haskell 20th anniversary.
2021-04-18 22:46:51 +0200 <d34df00d> davean: @##~.
2021-04-18 22:46:59 +0200fiedlr(~fiedlr@83.148.33.254)
2021-04-18 22:47:04 +0200 <davean> d34df00d: so? Hows that different than any Haskell function?
2021-04-18 22:47:23 +0200 <davean> I actually find that easy because the pieces mean something
2021-04-18 22:47:26 +0200 <monochrom> Hell, how does that differ from C's ?: operator >:)
2021-04-18 22:47:28 +0200 <davean> so its easier than most haskell functions
2021-04-18 22:47:34 +0200 <d34df00d> Oh, that's an operator?
2021-04-18 22:47:49 +0200 <d34df00d> I pressed some arbitrary buttons in my top row while holding shift.
2021-04-18 22:47:50 +0200 <davean> Yes? of course, its not char
2021-04-18 22:48:00 +0200 <davean> The '@' part is a problem
2021-04-18 22:48:29 +0200 <monochrom> K&R pressed two arbitrary keys near the return key while hold shift, too. >:)
2021-04-18 22:48:32 +0200 <davean> d34df00d: this seems a non-sensicle argument based on first appearances instead of understanding\
2021-04-18 22:48:49 +0200 <davean> d34df00d: but nothing makes sense when you don't understand it
2021-04-18 22:48:58 +0200 <d34df00d> davean: I know there is a certain system in naming lenses operators, but, unless one uses it often enough, I think it's impossible to memorise.
2021-04-18 22:49:18 +0200nut(~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 252 seconds)
2021-04-18 22:49:19 +0200 <davean> d34df00d: but that doesn't matter - theres NO system to most Haskell function namings
2021-04-18 22:49:25 +0200 <monochrom> That's my sentiment about Japanese, too.
2021-04-18 22:49:27 +0200 <davean> d34df00d: Every name is, be default, opaque
2021-04-18 22:49:32 +0200 <d34df00d> I mean, once you need "$subj cheatsheet" (and there's plenty for lenses), you can't tell it's easy.
2021-04-18 22:49:54 +0200 <davean> d34df00d: I mean, so Haskell isn't easy?
2021-04-18 22:49:54 +0200 <d34df00d> monochrom: and Japanese is perhaps not that simple for somebody who doesn't use it often enough.
2021-04-18 22:50:04 +0200 <davean> because people need a cheatsheet for prelude functions when they start too
2021-04-18 22:50:16 +0200seven_three(~user@pool-96-233-64-53.bstnma.fios.verizon.net) (Remote host closed the connection)
2021-04-18 22:50:20 +0200 <d34df00d> davean: other parts of the ecosystem have less of 5-symbol operators.
2021-04-18 22:50:40 +0200 <davean> d34df00d: so? Whats special about symbol operators vs. any function name of another sort?
2021-04-18 22:50:48 +0200 <davean> d34df00d: you seem to be making a disctinction without a difference
2021-04-18 22:50:49 +0200 <d34df00d> Oh, if for some reason I forget the name of the function of the type (a, b) -> (b, a), then I can hoogle it. Hoogling lenses is not fun.
2021-04-18 22:50:54 +0200seven_three(~user@pool-96-233-64-53.bstnma.fios.verizon.net)
2021-04-18 22:50:57 +0200 <davean> I could name that with chars and it wouldn't change anything
2021-04-18 22:51:23 +0200 <davean> which symbol set I use to name a function jsut specifies its fixity
2021-04-18 22:51:25 +0200 <d34df00d> Maybe using proper names for less-often used functions that are easier to internalize is a bit better?
2021-04-18 22:51:39 +0200 <davean> define "proper"
2021-04-18 22:51:44 +0200 <safinaskar> cjay: "If you would use layout instead of {}, you would be forced into a cleaner structure I think." - i came to haskell from c++, so {} are natural for me. My main problem here is not indentation, but this if/case/let cascade instead of normal imperative code. in imperative code i can simply do early return
2021-04-18 22:51:57 +0200 <d34df00d> having prior semantics
2021-04-18 22:52:03 +0200 <d34df00d> Like, map has some prior semantics.
2021-04-18 22:52:07 +0200 <monochrom> COBOL is the gold standard of using proper names >:)
2021-04-18 22:52:09 +0200 <d34df00d> fst, short for first, has some prior semantics
2021-04-18 22:52:09 +0200jumper149(~jumper149@80.240.31.34) (Quit: WeeChat 3.1)
2021-04-18 22:52:19 +0200 <davean> safinaskar: you can do early return in Haskell also - your choice of layout here is hiding whats so crazy about that code I think
2021-04-18 22:52:28 +0200 <d34df00d> Speaking of which, I bet you find K, J and the likes as easy as Haskell or C or what not.
2021-04-18 22:52:33 +0200 <davean> d34df00d: no, it has semantics you've *learned* for that name already
2021-04-18 22:52:47 +0200 <safinaskar> davean: "even if you write it imperitive you can gain with Haskell because its only local and you can ignore it remotely" - i don't see any benefits here
2021-04-18 22:52:48 +0200 <seven_three> Is there a way I can speed up testing my foldable instance with the checkers library. Currently it takes about 30 seconds while my othere test are about instantaneous. I call it like so `QC.quickBatch $ QC.foldable (undefined :: MyType (String, String, String, Int, Int))`
2021-04-18 22:53:17 +0200 <davean> safinaskar: you know from outside how it can behave without understanding how it does it at all
2021-04-18 22:53:26 +0200Gurkenglas(~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 246 seconds)
2021-04-18 22:53:38 +0200 <d34df00d> davean: having some math-related education prior to haskell, I already knew the concept of mappings.
2021-04-18 22:54:02 +0200 <d34df00d> So while indeed I learned those semantics, they transfer way better to other domains.
2021-04-18 22:54:06 +0200 <safinaskar> monochrom: "and [ f i j | i <- [0..n], j <- [0..i] ]" - still i don't like that i have to call "and" instead of just perform early return from inside of imperative loop
2021-04-18 22:54:37 +0200 <d34df00d> And, as I said, it's just about using it often enough. I don't use lenses often, so to me they are one of the most obscure parts of the ecosystem.
2021-04-18 22:54:45 +0200 <davean> safinaskar: "and" does early return, and ios what you you do in that imperative loop
2021-04-18 22:55:16 +0200 <davean> d34df00d: I rarely use lens myself - it doesn't suit my purposes much - but its no harder to use than any other library I don't use
2021-04-18 22:55:18 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-04-18 22:55:22 +0200 <d34df00d> safinaskar: if you're so inclined to code the early return explicitly, just write the corresponding recursive function explicitly.
2021-04-18 22:55:46 +0200 <davean> safinaskar: Why do you want to code the early return explicitely instead of just have it work BTW?
2021-04-18 22:56:01 +0200 <monochrom> That would be a semantic contention, thinking in control flow vs thinking in answers. And I won't convince you either way.
2021-04-18 22:56:39 +0200 <d34df00d> davean: dunno, my experience differs. I find it easier to approach most other libraries.
2021-04-18 22:57:08 +0200 <davean> d34df00d: when I first dealt with lens it was a single file with only a single comment saying something was probably broken
2021-04-18 22:57:26 +0200 <monochrom> You can fork lens and replace symbolic names by alphanum names.
2021-04-18 22:57:32 +0200 <monochrom> And btw both are names.
2021-04-18 22:57:45 +0200 <monochrom> The correct dichotomy is symbol vs alphanum.
2021-04-18 22:57:57 +0200 <davean> monochrom: I tried to make that comment above
2021-04-18 22:57:59 +0200 <monochrom> Even "meaningful vs meaningless" is not the correct dichotomy.
2021-04-18 22:58:06 +0200 <davean> the *only* different is fixity
2021-04-18 22:58:06 +0200mozzarella(~sam@unaffiliated/sam113101) (Ping timeout: 260 seconds)
2021-04-18 22:58:18 +0200 <d34df00d> It's not a dichotomy even, it's a spectrum.
2021-04-18 22:58:26 +0200 <davean> d34df00d: its not a spectrum
2021-04-18 22:58:30 +0200 <monochrom> For example "+" is a meaningful symbol, "foobarbaz" is a meaningless alphanum.
2021-04-18 22:58:31 +0200 <davean> they're litterly the same up to fixity
2021-04-18 22:58:45 +0200 <d34df00d> map is meaningful for somebody who has math background but about as meaningless as <$> for somebody who does not.
2021-04-18 22:58:46 +0200 <safinaskar> "is this style from somewhere? I can't imagine how you'd get here from reading how to program Haskell" - let me explain. i learn haskell using "learn you haskell for a great good". very good book. but i was always frustrated from indentation-based syntax (i came from c++), so i started to use curly braces. In function "lex" i check some condition,
2021-04-18 22:58:46 +0200 <safinaskar> if it holds, i return Nothing, if it doesn't hold, i check another condition, etc. I decided to check conditions using "case" as opposed to "if ... then ... else", because "case" allows me to use curly braces. conclusion: i started from "learn you haskell for a great good" style, then started to use curly braces (because of c++), then get rid of
2021-04-18 22:58:47 +0200 <safinaskar> "if...then...else". that is
2021-04-18 22:58:51 +0200 <d34df00d> davean: that's about meanings.
2021-04-18 22:58:56 +0200 <davean> d34df00d: if you read the Haskell report (you have, right?) theres only ONE difference
2021-04-18 22:58:56 +0200Zunaka(~IceChat9@176.24.159.82)
2021-04-18 22:59:13 +0200Guest27054(~textual@mskresolve-a.mskcc.org) (Ping timeout: 240 seconds)
2021-04-18 22:59:27 +0200 <d34df00d> I'm not talking about alphanum names vs symbolic names.
2021-04-18 23:00:12 +0200 <davean> d34df00d: but theres more meaning in the lens symbol names than almost any alphanum names since each symbol has a meaning and the order is significant so theres only one reasonable thing for any symbol sequence
2021-04-18 23:00:23 +0200pthariensflame(~pthariens@2600:6c52:727f:4200:ecc8:7d66:24f2:c0bf)
2021-04-18 23:00:26 +0200 <davean> WTF do I have to defend lens? I hate it
2021-04-18 23:00:36 +0200 <d34df00d> davean: …which you don't really remember unless you use lens often enough.
2021-04-18 23:00:37 +0200pthariensflame(~pthariens@2600:6c52:727f:4200:ecc8:7d66:24f2:c0bf) (Client Quit)
2021-04-18 23:00:44 +0200 <davean> d34df00d: I don't have to remember them?
2021-04-18 23:00:54 +0200 <d34df00d> Also, my IDE sucks at completing symbolic names.
2021-04-18 23:00:56 +0200mozzarella(~sam@unaffiliated/sam113101)
2021-04-18 23:01:00 +0200 <safinaskar> i checked checkbox "Wrap text at 78 characters" at paste.debian.net . here is not-wrapped version: http://paste.debian.net/1194214/
2021-04-18 23:01:31 +0200ddellacosta(~ddellacos@86.106.143.157)
2021-04-18 23:01:35 +0200 <monochrom> There is no conflict between using {;} and using layout.
2021-04-18 23:01:39 +0200 <davean> safinaskar: but you have things like "do do"
2021-04-18 23:02:04 +0200 <davean> safinaskar: theres more going on here
2021-04-18 23:02:05 +0200 <monochrom> Just use {;} and still lay out code the same way other haskellers lay out code.
2021-04-18 23:02:11 +0200Zunaka_(~IceChat9@176.24.159.82) (Ping timeout: 260 seconds)
2021-04-18 23:02:13 +0200 <davean> I don't think you understand the syntax if thats how you got here
2021-04-18 23:02:53 +0200 <monochrom> But if you use {;} and decided to lay out code to be abnormal, that's a conflict you created, not an intrinsic conflict.
2021-04-18 23:02:56 +0200 <d34df00d> Ok, I now have really stupid but serious question.
2021-04-18 23:02:57 +0200 <davean> Even for that, theres a lot of useless syntax in here that does nothing
2021-04-18 23:03:10 +0200 <davean> Litterly nothing
2021-04-18 23:03:26 +0200 <davean> I mean most of the places that brackets don't do anyhthing either mind you
2021-04-18 23:03:28 +0200 <monochrom> But see also https://twitter.com/HisCursedness/status/788690145822306304 >:)
2021-04-18 23:03:54 +0200 <monochrom> I imagine someone would same "that makes me angry", too.
2021-04-18 23:04:05 +0200 <monochrom> I mean, gosh, people can get angry at anything.
2021-04-18 23:04:31 +0200 <monochrom> s/same/say/
2021-04-18 23:05:05 +0200 <monochrom> Perhaps what you really need is anger management. Nothing to do with syntax or semantics or programming at all.
2021-04-18 23:05:05 +0200 <davean> safinaskar: Also, your use of ST here could be done with a loop function
2021-04-18 23:05:39 +0200 <davean> safinaskar: you might want to try a fold
2021-04-18 23:05:50 +0200 <davean> you can do your bracket style still
2021-04-18 23:06:05 +0200 <d34df00d> monochrom: ah, I remembered that picture too!
2021-04-18 23:06:06 +0200 <davean> safinaskar: right folds give you the same early exist
2021-04-18 23:06:10 +0200ddellacosta(~ddellacos@86.106.143.157) (Ping timeout: 252 seconds)
2021-04-18 23:06:28 +0200 <d34df00d> Anyway, here's my question. I'm using tasty-bench, and the output of `cabal bench` looks like this:
2021-04-18 23:06:42 +0200 <d34df00d> https://bpaste.net/LKPQ
2021-04-18 23:06:43 +0200 <monochrom> "and" is already a right-fold and does early exit, btw.
2021-04-18 23:06:47 +0200 <safinaskar> "you know from outside how it can behave without understanding how it does it at all" - i agree, but this argument is not enough for me
2021-04-18 23:06:52 +0200 <d34df00d> Damn, screw that.
2021-04-18 23:06:54 +0200 <davean> monochrom: mentioned that a few times
2021-04-18 23:07:00 +0200 <monochrom> :)
2021-04-18 23:07:16 +0200 <d34df00d> Compare the above to https://a.pomf.cat/swspsp.png .
2021-04-18 23:07:26 +0200 <davean> safinaskar: well its important if you want to change execution externally for example
2021-04-18 23:07:31 +0200 <monochrom> But I know people who insist on seeing explicit control flow in code, refuse hiding that behind a HOF.
2021-04-18 23:07:36 +0200 <d34df00d> I was about to ask where are my damn numbers but apparently tasty-bench does something funny with colors.
2021-04-18 23:07:43 +0200 <monochrom> At which point I just declare "control freak" and move on.
2021-04-18 23:07:43 +0200Sorny(~Sornaensi@79.142.232.102.static.router4.bolignet.dk)
2021-04-18 23:07:57 +0200 <davean> safinaskar: I could at LEAST half the lines of code here by making it cleaner
2021-04-18 23:08:16 +0200 <davean> monochrom: thats why I mentioned a right fold, then its explicite
2021-04-18 23:08:49 +0200 <davean> I can make this MORE like C and make it shorter and cleaner too
2021-04-18 23:08:49 +0200 <monochrom> But that's also hiding it behind a function name "foldr", no?
2021-04-18 23:09:10 +0200olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber)
2021-04-18 23:09:25 +0200 <monochrom> Also it takes a bit of education to learn that foldr, in Haskell (and not in other languages), by way of laziness can do early exit.
2021-04-18 23:09:28 +0200 <davean> monochrom: no? The end line of the passed function decides to continue or return generally - or the signature, depending on how you code it
2021-04-18 23:09:47 +0200 <monochrom> Oh, writing your own recursion?
2021-04-18 23:09:51 +0200Sornaensis(~Sornaensi@077213200034.dynamic.telenor.dk)
2021-04-18 23:10:10 +0200malumore(~malumore@151.62.123.9) (Remote host closed the connection)
2021-04-18 23:10:41 +0200 <davean> Also, these nested ands
2021-04-18 23:10:41 +0200Sorna(~Sornaensi@077213200034.dynamic.telenor.dk) (Ping timeout: 240 seconds)
2021-04-18 23:11:05 +0200 <seven_three> what is an example of a foldr doing early exit?
2021-04-18 23:11:10 +0200 <davean> safinaskar: Your code gets cleaner if you just collapse repeatitive code into a single level!
2021-04-18 23:11:24 +0200 <monochrom> foldr (&&) undefined (repeat False)
2021-04-18 23:11:38 +0200 <monochrom> test that it takes finite time
2021-04-18 23:11:47 +0200Alleria(~textual@2603-7000-3040-0000-8d12-8548-27bc-6b87.res6.spectrum.com)
2021-04-18 23:11:56 +0200 <seven_three> ok I see what you mean
2021-04-18 23:12:10 +0200AlleriaGuest78338
2021-04-18 23:12:25 +0200 <davean> The early termination is epxlicite in the (&&) definition
2021-04-18 23:12:59 +0200 <seven_three> right and otherwise folding an infinite list would never terminate
2021-04-18 23:13:23 +0200Sorny(~Sornaensi@79.142.232.102.static.router4.bolignet.dk) (Ping timeout: 265 seconds)
2021-04-18 23:13:24 +0200 <monochrom> I disagree. The "same" code in SML behaves differently. This really takes learning. Nothing self-evident here. In fact most people find the opposite meaning self-evident.
2021-04-18 23:14:05 +0200 <safinaskar> davean: "Why do you want to code the early return explicitely instead of just have it work BTW?" - see here: http://paste.debian.net/1194216/
2021-04-18 23:14:13 +0200 <monochrom> I know because I use that example to totally surprise my students. And that's even after I've taught them lazy evaluation.
2021-04-18 23:14:56 +0200 <davean> safinaskar: that doesn't answer the question
2021-04-18 23:15:02 +0200 <davean> safinaskar: tahts why you want curly brase style
2021-04-18 23:15:05 +0200smatting(~stefan@p200300cd7708e000958acc65436f5a2e.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
2021-04-18 23:15:33 +0200 <davean> monochrom: its explicite by being explicitely lazy in the second argument - as I said, its explicite in the *definition of (&&)*
2021-04-18 23:16:11 +0200 <monochrom> I taught them lazy evaluation steps. Then I threw them the exercise of "now your turn, show me the steps for foldr (+) 0 [1,2], and for for foldr (&&) True [False, False]". The students do the (+) one correctly. Then proceed to do the (&&) one the very same way as the (+) one.
2021-04-18 23:16:16 +0200Guest78338(~textual@2603-7000-3040-0000-8d12-8548-27bc-6b87.res6.spectrum.com) (Ping timeout: 258 seconds)
2021-04-18 23:16:48 +0200Alleria_(~textual@2603-7000-3040-0000-8d12-8548-27bc-6b87.res6.spectrum.com)
2021-04-18 23:18:07 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 252 seconds)
2021-04-18 23:18:45 +0200 <safinaskar> davean: "but you have things like "do do"" - you mean using "do" inside of "do"? this is intentional. to hide bindings. i. e. i write "do { do { a<-...; ... }; foo; }" to make sure "foo" doesn't see "a". i am inventive:)  . i don't simply copy-paste examples, i develop my style :)
2021-04-18 23:19:14 +0200robotmay(~beepboop@2001:8b0:7af0:2580:505f:607:efbd:23b4) (Remote host closed the connection)
2021-04-18 23:20:00 +0200 <davean> safinaskar: also, in your example, you make a nested case instead of a sequence like in the C++ code, to no point i can see - they do the same things in the True branch, so you can collapse them, etc
2021-04-18 23:20:22 +0200 <safinaskar> well, i don't know how indent-based layout work. i simply always try to use curly braces to avoid understanding indent-based rules
2021-04-18 23:20:30 +0200robotmay(~beepboop@2001:8b0:7af0:2580:e563:8f42:67c7:6d13)
2021-04-18 23:21:02 +0200 <davean> safinaskar: same indent, same block, different indent, different block. Same rule as braces basicly (theres some more details, but you only need them if you choose to sue them and theres not MUCH more)
2021-04-18 23:21:26 +0200 <davean> safinaskar: your code, you can just delete the braces I think
2021-04-18 23:21:38 +0200 <davean> safinaskar: indent style is *the thing you're already doing*
2021-04-18 23:22:41 +0200 <davean> safinaskar: have you seen 'guard'?
2021-04-18 23:23:15 +0200 <davean> http://hackage.haskell.org/package/base-4.15.0.0/docs/Control-Monad.html
2021-04-18 23:23:26 +0200 <davean> Also 'when'
2021-04-18 23:24:03 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-04-18 23:24:15 +0200ph88(~ph88@2a02:8109:9e00:7e5c:d5ef:86b3:afc4:9258) (Ping timeout: 260 seconds)
2021-04-18 23:24:42 +0200 <safinaskar> monochrom: ""and" is already a right-fold and does early exit, btw" - when i say i want early exit, i mean this: http://paste.debian.net/1194216/ . i. e. i want to be able to place "return true" and "return false" at any point in my function
2021-04-18 23:25:11 +0200Sornaensis(~Sornaensi@077213200034.dynamic.telenor.dk) (Ping timeout: 240 seconds)
2021-04-18 23:25:53 +0200elliott__(~elliott@pool-108-18-30-46.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
2021-04-18 23:26:20 +0200 <davean> safinaskar: I want to be clear, I've been telling you you can do that if you want
2021-04-18 23:26:27 +0200 <davean> you're explicitely avoiding it
2021-04-18 23:26:41 +0200falafel(~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 260 seconds)
2021-04-18 23:26:50 +0200 <davean> I'm getting a touch tired of repeating myself though so I'm going to go do something productive :)
2021-04-18 23:28:45 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 268 seconds)
2021-04-18 23:29:02 +0200 <safinaskar> davean: "The early termination is epxlicite in the (&&) definition" - when i say "early" i don't mean chronologically early. i mean "placed early in source file"
2021-04-18 23:31:33 +0200 <safinaskar> i understand how laziness in Haskell work. i understand that lazy would work differently in strict language. i understand what is fork. and i can make my code shorter using folds and other techniques (but i would not call fold-based code cleaner). but i still don't understand WHY i should solve all this haskell-releated problems instead of just
2021-04-18 23:31:34 +0200 <safinaskar> writing imperative code
2021-04-18 23:32:00 +0200 <seven_three> I think you want guards. https://dpaste.org/qjn1
2021-04-18 23:32:36 +0200 <davean> seven_three: he SPECIFICLY wants to only use braces
2021-04-18 23:32:53 +0200 <davean> He's already rejected all the Haskell options for getting exatly what he wants in the base language
2021-04-18 23:33:03 +0200 <seven_three> oh nevermind then
2021-04-18 23:33:22 +0200 <davean> So he'd need like 'when' and 'guard' on a Alternative
2021-04-18 23:33:35 +0200 <davean> Which would get him to the C code, but he seems to ignore when I say that
2021-04-18 23:34:42 +0200 <davean> I could search-replace his C++ code into Haskell
2021-04-18 23:34:47 +0200 <safinaskar> davean: "they do the same things in the True branch, so you can collapse them" - how i can collapse them?
2021-04-18 23:34:48 +0200 <dmj`> safinaskar: equational reasoning, safety, purity, abstraction are Haskell's main selling points. Laziness is convenient too. If you have a large codebase you want to maintain and refactor, anything but Haskell is a nightmare.
2021-04-18 23:35:10 +0200 <davean> the 'if's become 'when' and the for becomes a fold, and we're done
2021-04-18 23:35:57 +0200 <davean> foldM that is
2021-04-18 23:37:02 +0200 <safinaskar> davean: "have you seen 'guard'?" - yes. let's imagine i am inside Maybe monad. i can easily early return Nothing simply by writing Nothing on separate line. but i cannot early return "Just 0" as opposed to imperative languages
2021-04-18 23:38:16 +0200 <safinaskar> s/i understand what is fork/i understand what is fold/
2021-04-18 23:38:28 +0200 <lechner> Hi, is there a way to parse more complex YAML structures using this code? Also, how do I get the values, please? Thanks! https://dpaste.org/YCnR#L16,17,18,19,20
2021-04-18 23:39:10 +0200seven_three(~user@pool-96-233-64-53.bstnma.fios.verizon.net) ("ERC (IRC client for Emacs 27.2)")
2021-04-18 23:39:22 +0200Guest78317(~laudiacay@67.176.215.84)
2021-04-18 23:39:31 +0200hyiltiz(~quassel@unaffiliated/hyiltiz) (Ping timeout: 260 seconds)
2021-04-18 23:42:06 +0200 <davean> seven_three: I think the more relivent example would be "case" with guards specificly
2021-04-18 23:42:46 +0200 <safinaskar> i still don't like haskell
2021-04-18 23:43:13 +0200Major_Biscuit(~Major_Bis@82-169-100-198.biz.kpn.net) (Quit: WeeChat 3.0.1)
2021-04-18 23:43:22 +0200 <davean> Feel free not to, but understand its because you're refusing to actually use it
2021-04-18 23:43:34 +0200Guest78317(~laudiacay@67.176.215.84) (Ping timeout: 252 seconds)
2021-04-18 23:43:38 +0200 <davean> and want it to look exactly like another thing but refuse to use the parts of it that make it do that
2021-04-18 23:43:59 +0200nut(~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2021-04-18 23:44:02 +0200gitgood(~gitgood@80-44-9-246.dynamic.dsl.as9105.com) (Quit: Probably away to do something really awesome)
2021-04-18 23:44:44 +0200hyiltiz(~quassel@unaffiliated/hyiltiz)
2021-04-18 23:45:46 +0200 <davean> safinaskar: We're here to help you, not make you like things, if your goal is to not like something, your success should be pretty easy.
2021-04-18 23:48:09 +0200 <monochrom> "Is that 'avoid success at all costs?'?" meme :)
2021-04-18 23:48:55 +0200renzhi(~renzhi@2607:fa49:6500:bc00::e7b)
2021-04-18 23:48:58 +0200 <davean> "f x | some_condition = True; f x | other_condition = False; f x = any (\i -> foo) [0 .. n - 1];" is clearly more focused on the thing your example is actually doing for example. Theres less "extra" in there, rejecting it for wanting braces is something you're entirely free to do though. And is has your ordering properly for example.
2021-04-18 23:48:58 +0200EmanuelLoos[m](emanuel-lo@gateway/shell/matrix.org/x-xedchorwdbepbzbx)
2021-04-18 23:49:42 +0200 <davean> but its really not interesting to talk to you when you are looking to push your stylistic interests and disinterested in even accepting you can have what you want (I actually have a C monad in some of my code I use for pasting C code in)
2021-04-18 23:50:23 +0200usr25(~usr25@unaffiliated/usr25)
2021-04-18 23:50:34 +0200 <davean> (Direclty pasting C code in took a ton of fuckery of course, but it mostly works)
2021-04-18 23:50:59 +0200usr25(~usr25@unaffiliated/usr25) ()
2021-04-18 23:51:20 +0200LKoen_(~LKoen@77.168.9.109.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.”)
2021-04-18 23:51:29 +0200__monty__(~toonn@unaffiliated/toonn) (Quit: leaving)
2021-04-18 23:52:00 +0200 <davean> safinaskar: but to save you some time, you not liking Haskell isn't going to bother anyone here
2021-04-18 23:52:13 +0200elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 252 seconds)
2021-04-18 23:52:56 +0200tmciver(~tmciver@cpe-172-101-40-226.maine.res.rr.com) (Ping timeout: 260 seconds)
2021-04-18 23:54:46 +0200tmciver(~tmciver@cpe-172-101-40-226.maine.res.rr.com)
2021-04-18 23:56:57 +0200 <safinaskar> ""f x | some_condition = True; f x | other_condition = False; f x = any (\i -> foo) [0 .. n - 1];" is clearly more focused on the thing your example is actually doing for example. Theres less "extra" in there, rejecting it for wanting braces is something you're entirely free to do though" - your code is hard to write. to write such code i need to
2021-04-18 23:56:58 +0200 <safinaskar> write code i usually write first, and then refactor it to your version. this is reason i don't write code like yours, not because of curly braces
2021-04-18 23:57:41 +0200jamm_(~jamm@unaffiliated/jamm)
2021-04-18 23:57:44 +0200carldd(~carldd@90-224-49-113-no56.tbcn.telia.com)
2021-04-18 23:58:34 +0200 <davean> safinaskar: thats entierly a you issue because they're the same code semanticly
2021-04-18 23:59:21 +0200 <davean> Its a very slight stylistic difference in how you type it out, not even in how you think about it
2021-04-18 23:59:42 +0200 <davean> perhaps you're thinking of it as something other than a very basic sytax sugar difference but thats all it is