2021-04-18 00:00:27 +0200 | gehmehgeh | (~ircuser1@gateway/tor-sasl/gehmehgeh) (Remote host closed the connection) |
2021-04-18 00:01:06 +0200 | malumore_ | (~malumore@151.62.116.94) (Ping timeout: 240 seconds) |
2021-04-18 00:01:44 +0200 | todda7 | (~torstein@athedsl-4519432.home.otenet.gr) |
2021-04-18 00:01:47 +0200 | gehmehgeh | (~ircuser1@gateway/tor-sasl/gehmehgeh) |
2021-04-18 00:04:33 +0200 | elfets | (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 240 seconds) |
2021-04-18 00:05:39 +0200 | kiweun | (~kiweun@2607:fea8:2a62:9600:b5bb:e6d4:94df:23fa) |
2021-04-18 00:06:40 +0200 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) |
2021-04-18 00:08:22 +0200 | Rudd0 | (~Rudd0@185.189.115.103) |
2021-04-18 00:10:47 +0200 | hiroaki_ | (~hiroaki@2a02:908:4b18:8c40:38ad:46e5:7ba6:a020) (Ping timeout: 260 seconds) |
2021-04-18 00:10:53 +0200 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 246 seconds) |
2021-04-18 00:13:07 +0200 | danvet | (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 260 seconds) |
2021-04-18 00:13:49 +0200 | fendor | (~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 +0200 | Tuplanolla | (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.) |
2021-04-18 00:16:31 +0200 | gehmehgeh | (~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving) |
2021-04-18 00:18:24 +0200 | frozenErebus | (~frozenEre@37.231.244.249) |
2021-04-18 00:21:04 +0200 | sz0 | (uid110435@gateway/web/irccloud.com/x-nyvqwpzmynjyzzuv) (Quit: Connection closed for inactivity) |
2021-04-18 00:30:29 +0200 | Rudd0 | (~Rudd0@185.189.115.103) (Ping timeout: 246 seconds) |
2021-04-18 00:31:11 +0200 | jonatan | (~nate@h77-53-70-163.cust.a3fiber.se) (Ping timeout: 246 seconds) |
2021-04-18 00:31:41 +0200 | son0p | (~ff@181.136.122.143) (Remote host closed the connection) |
2021-04-18 00:34:10 +0200 | Rudd0 | (~Rudd0@185.189.115.108) |
2021-04-18 00:37:02 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
2021-04-18 00:40:03 +0200 | charlie_hu | (b4d927b7@180.217.39.183) |
2021-04-18 00:40:18 +0200 | Nahra | (~user@unaffiliated/nahra) |
2021-04-18 00:40:28 +0200 | charlie_hu | (b4d927b7@180.217.39.183) (Client Quit) |
2021-04-18 00:42:13 +0200 | nut | (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 268 seconds) |
2021-04-18 00:43:12 +0200 | jonatan | (~nate@h77-53-70-163.cust.a3fiber.se) |
2021-04-18 00:43:53 +0200 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) |
2021-04-18 00:47:21 +0200 | Guest78317 | (~laudiacay@67.176.215.84) |
2021-04-18 00:47:27 +0200 | Varis | (~Tadas@unaffiliated/varis) (Remote host closed the connection) |
2021-04-18 00:48:34 +0200 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 252 seconds) |
2021-04-18 00:49:49 +0200 | Jd007 | (~Jd007@162.156.11.151) |
2021-04-18 00:50:59 +0200 | Kaeipi | (~Kaiepi@47.54.252.148) (Remote host closed the connection) |
2021-04-18 00:52:08 +0200 | Guest78317 | (~laudiacay@67.176.215.84) (Ping timeout: 265 seconds) |
2021-04-18 00:52:09 +0200 | elliott_ | (~elliott_@pool-108-18-30-46.washdc.fios.verizon.net) |
2021-04-18 00:59:19 +0200 | rond_ | (5940206b@89-64-32-107.dynamic.chello.pl) (Quit: Connection closed) |
2021-04-18 00:59:30 +0200 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) |
2021-04-18 01:02:30 +0200 | dmytrish | (~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 +0200 | frozenErebus | (~frozenEre@37.231.244.249) (Ping timeout: 240 seconds) |
2021-04-18 01:07:12 +0200 | supercoven | (~Supercove@dsl-hkibng31-58c384-213.dhcp.inet.fi) (Read error: Connection reset by peer) |
2021-04-18 01:07:13 +0200 | Jd007 | (~Jd007@162.156.11.151) (Ping timeout: 240 seconds) |
2021-04-18 01:08:07 +0200 | frozenErebus | (~frozenEre@37.231.244.249) |
2021-04-18 01:09:41 +0200 | geiger_ | (~geiger@90.212.77.86) (Ping timeout: 246 seconds) |
2021-04-18 01:15:41 +0200 | dmytrish | (~mitra@2a02:8084:a82:d900:319a:d200:a43d:3e3c) |
2021-04-18 01:17:26 +0200 | frozenErebus | (~frozenEre@37.231.244.249) (Ping timeout: 240 seconds) |
2021-04-18 01:18:34 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2021-04-18 01:18:44 +0200 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) |
2021-04-18 01:20:06 +0200 | usr25 | (~usr25@unaffiliated/usr25) (Read error: Connection reset by peer) |
2021-04-18 01:22:52 +0200 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds) |
2021-04-18 01:32:18 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-04-18 01:36:39 +0200 | dmytrish | (~mitra@2a02:8084:a82:d900:319a:d200:a43d:3e3c) (Ping timeout: 260 seconds) |
2021-04-18 01:39:01 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 252 seconds) |
2021-04-18 01:39:30 +0200 | vgtw | (~vgtw@gateway/tor-sasl/vgtw) (Remote host closed the connection) |
2021-04-18 01:39:45 +0200 | vgtw | (~vgtw@gateway/tor-sasl/vgtw) |
2021-04-18 01:44:21 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-04-18 01:47:04 +0200 | stef204 | (~stef204@unaffiliated/stef-204/x-384198) |
2021-04-18 01:47:15 +0200 | Lowl3v3l | (~Lowl3v3l@dslb-002-207-103-026.002.207.pools.vodafone-ip.de) (Read error: Connection reset by peer) |
2021-04-18 01:48:19 +0200 | justanotheruser | (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 260 seconds) |
2021-04-18 01:49:10 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 265 seconds) |
2021-04-18 01:57:39 +0200 | ddellacosta | (~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 +0200 | ddellacosta | (~ddellacos@86.106.143.40) (Ping timeout: 252 seconds) |
2021-04-18 02:05:33 +0200 | rprije | (~rprije@59-102-63-15.tpgi.com.au) |
2021-04-18 02:06:11 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-04-18 02:10:53 +0200 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 240 seconds) |
2021-04-18 02:19:02 +0200 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
2021-04-18 02:19:11 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-04-18 02:22:35 +0200 | Tario | (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
2021-04-18 02:22:48 +0200 | machinedgod | (~machinedg@24.105.81.50) (Ping timeout: 252 seconds) |
2021-04-18 02:24:35 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds) |
2021-04-18 02:26:06 +0200 | Ariakenom | (~Ariakenom@2001:9b1:efb:fc00:35d5:f540:5742:5bbb) (Quit: Leaving) |
2021-04-18 02:27:31 +0200 | stef204 | (~stef204@unaffiliated/stef-204/x-384198) (Ping timeout: 250 seconds) |
2021-04-18 02:28:24 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-04-18 02:30:52 +0200 | Tario | (~Tario@201.192.165.173) |
2021-04-18 02:34:12 +0200 | dmytrish | (~mitra@2a02:8084:a82:d900:319a:d200:a43d:3e3c) |
2021-04-18 02:35:15 +0200 | ddellacosta | (~ddellacos@86.106.143.79) |
2021-04-18 02:36:31 +0200 | GothAlice1 | (~GothAlice@217.146.82.202) (Remote host closed the connection) |
2021-04-18 02:39:31 +0200 | ddellacosta | (~ddellacos@86.106.143.79) (Ping timeout: 252 seconds) |
2021-04-18 02:40:35 +0200 | dmytrish | (~mitra@2a02:8084:a82:d900:319a:d200:a43d:3e3c) (Ping timeout: 260 seconds) |
2021-04-18 02:41:36 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-04-18 02:43:18 +0200 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 265 seconds) |
2021-04-18 02:50:04 +0200 | Narinas | (~Narinas@187-178-93-112.dynamic.axtel.net) (Read error: Connection reset by peer) |
2021-04-18 02:50:51 +0200 | Narinas | (~Narinas@187-178-93-112.dynamic.axtel.net) |
2021-04-18 02:53:20 +0200 | T-Junk | (~T-Junk@178.239.168.171) |
2021-04-18 02:57:13 +0200 | stef204 | (~stef204@unaffiliated/stef-204/x-384198) |
2021-04-18 02:58:20 +0200 | nineonine | (~nineonine@2604:3d08:7785:9600:2926:4844:fa1f:b849) (Remote host closed the connection) |
2021-04-18 02:59:22 +0200 | nineonine | (~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) |
2021-04-18 03:03:47 +0200 | nineonine | (~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Ping timeout: 258 seconds) |
2021-04-18 03:03:57 +0200 | lambdaman | (~lambdaman@s66-183-152-156.bc.hsia.telus.net) |
2021-04-18 03:05:24 +0200 | Kaiepi | (~Kaiepi@47.54.252.148) |
2021-04-18 03:08:45 +0200 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) |
2021-04-18 03:13:45 +0200 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 265 seconds) |
2021-04-18 03:14:14 +0200 | HannaM | (~quassel@p54849510.dip0.t-ipconnect.de) (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) |
2021-04-18 03:15:21 +0200 | Guest78317 | (~laudiacay@67.176.215.84) |
2021-04-18 03:16:23 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 246 seconds) |
2021-04-18 03:19:32 +0200 | Guest78317 | (~laudiacay@67.176.215.84) (Ping timeout: 246 seconds) |
2021-04-18 03:22:13 +0200 | lechner | (~lechner@letbox-vps.us-core.com) |
2021-04-18 03:23:28 +0200 | hidedagger | (~nate@unaffiliated/hidedagger) |
2021-04-18 03:24:26 +0200 | Codaraxis | (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 +0200 | xff0x | (~xff0x@2001:1a81:5285:4800:4b3b:6e1b:c5f9:114d) (Ping timeout: 258 seconds) |
2021-04-18 03:26:42 +0200 | lambdaman | (~lambdaman@s66-183-152-156.bc.hsia.telus.net) (Remote host closed the connection) |
2021-04-18 03:26:46 +0200 | Deide | (~Deide@217.155.19.23) (Quit: Seeee yaaaa) |
2021-04-18 03:27:07 +0200 | xff0x | (~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 +0200 | lambdaman | (~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 +0200 | dpl | (~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 +0200 | nineonine | (~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) |
2021-04-18 03:31:32 +0200 | nineonine | (~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Remote host closed the connection) |
2021-04-18 03:31:45 +0200 | nineonine | (~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 +0200 | nineonine | (~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 +0200 | nineonine | (~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 +0200 | hypercube | (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 +0200 | nineonine | (~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 +0200 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) |
2021-04-18 03:45:06 +0200 | ddellacosta | (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 +0200 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 246 seconds) |
2021-04-18 03:47:44 +0200 | gnumonic | (~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 +0200 | sz0 | (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 +0200 | jao | (~jao@pdpc/supporter/professional/jao) |
2021-04-18 04:02:57 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-04-18 04:03:38 +0200 | Foritus | (~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net) (Ping timeout: 252 seconds) |
2021-04-18 04:03:47 +0200 | Foritus | (~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net) |
2021-04-18 04:04:33 +0200 | jacks2 | (~bc8134e3@217.29.117.252) (Quit: http://www.okay.uz/) |
2021-04-18 04:05:40 +0200 | olligobber | (olligobber@gateway/vpn/privateinternetaccess/olligobber) |
2021-04-18 04:05:53 +0200 | mozzarella | (~sam@unaffiliated/sam113101) (Ping timeout: 240 seconds) |
2021-04-18 04:06:15 +0200 | nineonine | (~nineonine@2604:3d08:7785:9600:2926:4844:fa1f:b849) |
2021-04-18 04:06:47 +0200 | lambdaman | (~lambdaman@s66-183-152-156.bc.hsia.telus.net) (Remote host closed the connection) |
2021-04-18 04:06:50 +0200 | stef204 | (~stef204@unaffiliated/stef-204/x-384198) (Quit: WeeChat 3.1) |
2021-04-18 04:08:47 +0200 | lambdaman | (~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 +0200 | hidedagger | (~nate@unaffiliated/hidedagger) (Quit: WeeChat 3.1) |
2021-04-18 04:11:38 +0200 | nineonine | (~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 +0200 | ddellacosta | (~ddellacos@86.106.143.79) |
2021-04-18 04:19:28 +0200 | rajivr | (uid269651@gateway/web/irccloud.com/x-cevinofdvazcujky) |
2021-04-18 04:19:44 +0200 | mozzarella | (~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 +0200 | kristijonas | (~kristijon@78-56-32-39.static.zebra.lt) |
2021-04-18 04:22:53 +0200 | ddellacosta | (~ddellacos@86.106.143.79) (Ping timeout: 246 seconds) |
2021-04-18 04:23:53 +0200 | mozzarella | (~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 +0200 | mozzarella | (~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 +0200 | justsomeguy | (~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 +0200 | fiedlr | (~fiedlr@83.148.33.254) (Remote host closed the connection) |
2021-04-18 04:33:25 +0200 | fiedlr | (~fiedlr@83.148.33.254) |
2021-04-18 04:33:52 +0200 | Alleria_ | (~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 +0200 | lambdaman | (~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 +0200 | merijn | (~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 +0200 | spacebase | (~spacebase@97-118-136-127.hlrn.qwest.net) (Ping timeout: 268 seconds) |
2021-04-18 04:40:15 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 268 seconds) |
2021-04-18 04:40:47 +0200 | pthariensflame | (~pthariens@2600:6c52:727f:4200:ecc8:7d66:24f2:c0bf) |
2021-04-18 04:41:22 +0200 | lambdaman | (~lambdaman@s66-183-152-156.bc.hsia.telus.net) |
2021-04-18 04:42:18 +0200 | theDon | (~td@muedsl-82-207-238-217.citykom.de) (Ping timeout: 240 seconds) |
2021-04-18 04:44:17 +0200 | theDon | (~td@94.134.91.146) |
2021-04-18 04:46:10 +0200 | lambdaman | (~lambdaman@s66-183-152-156.bc.hsia.telus.net) (Ping timeout: 252 seconds) |
2021-04-18 04:46:18 +0200 | nineonine | (~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) |
2021-04-18 04:47:20 +0200 | FinnElija | (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) |
2021-04-18 04:47:20 +0200 | finn_elija | Guest10534 |
2021-04-18 04:47:20 +0200 | FinnElija | finn_elija |
2021-04-18 04:48:54 +0200 | kristijonas | (~kristijon@78-56-32-39.static.zebra.lt) (Remote host closed the connection) |
2021-04-18 04:49:15 +0200 | kristijonas | (~kristijon@78-56-32-39.static.zebra.lt) |
2021-04-18 04:49:16 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
2021-04-18 04:50:44 +0200 | nineonine | (~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Ping timeout: 258 seconds) |
2021-04-18 04:51:09 +0200 | Guest10534 | (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Ping timeout: 240 seconds) |
2021-04-18 04:51:18 +0200 | pthariensflame | (~pthariens@2600:6c52:727f:4200:ecc8:7d66:24f2:c0bf) () |
2021-04-18 04:56:06 +0200 | seven_three | (~user@pool-96-233-64-53.bstnma.fios.verizon.net) |
2021-04-18 04:59:23 +0200 | ddellacosta | (~ddellacos@86.106.143.40) |
2021-04-18 05:00:38 +0200 | Ishutin_ | (~ishutin@94-21-174-90.pool.digikabel.hu) |
2021-04-18 05:01:26 +0200 | seven_three | (~user@pool-96-233-64-53.bstnma.fios.verizon.net) ("ERC (IRC client for Emacs 27.2)") |
2021-04-18 05:01:42 +0200 | Feuermagier | (~Feuermagi@2a02:2488:4211:3400:7285:c2ff:fe22:172e) |
2021-04-18 05:03:26 +0200 | ddellacosta | (~ddellacos@86.106.143.40) (Ping timeout: 240 seconds) |
2021-04-18 05:03:53 +0200 | Ishutin | (~ishutin@193-110-63-24.cable-modem.hdsnet.hu) (Ping timeout: 260 seconds) |
2021-04-18 05:05:33 +0200 | Feuermagier_ | (~Feuermagi@2a02:2488:4211:3400:7285:c2ff:fe22:172e) |
2021-04-18 05:05:45 +0200 | Feuermagier | (~Feuermagi@2a02:2488:4211:3400:7285:c2ff:fe22:172e) (Read error: Connection reset by peer) |
2021-04-18 05:05:57 +0200 | Feuermagier_ | (~Feuermagi@2a02:2488:4211:3400:7285:c2ff:fe22:172e) (Remote host closed the connection) |
2021-04-18 05:11:55 +0200 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
2021-04-18 05:12:19 +0200 | mozzarella | (~sam@unaffiliated/sam113101) (Ping timeout: 268 seconds) |
2021-04-18 05:12:56 +0200 | russruss40 | (~russruss@my.russellmcc.com) (Ping timeout: 260 seconds) |
2021-04-18 05:13:53 +0200 | russruss40 | (~russruss@my.russellmcc.com) |
2021-04-18 05:26:21 +0200 | justanotheruser | (~justanoth@unaffiliated/justanotheruser) |
2021-04-18 05:28:20 +0200 | plutoniix | (~q@ppp-223-24-146-11.revip6.asianet.co.th) |
2021-04-18 05:30:27 +0200 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) |
2021-04-18 05:35:31 +0200 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 252 seconds) |
2021-04-18 05:42:33 +0200 | justanotheruser | (~justanoth@unaffiliated/justanotheruser) (Quit: WeeChat 2.9) |
2021-04-18 05:45:15 +0200 | justanotheruser | (~justanoth@unaffiliated/justanotheruser) |
2021-04-18 05:49:48 +0200 | alx741 | (~alx741@186.178.109.113) (Quit: alx741) |
2021-04-18 05:54:37 +0200 | Jd007 | (~Jd007@162.156.11.151) |
2021-04-18 05:56:54 +0200 | waleee-cl | (uid373333@gateway/web/irccloud.com/x-mkcsziznqohoylbr) (Quit: Connection closed for inactivity) |
2021-04-18 06:01:52 +0200 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) |
2021-04-18 06:02:18 +0200 | Unhammer | (~Unhammer@gateway/tor-sasl/unhammer) (Remote host closed the connection) |
2021-04-18 06:02:49 +0200 | Unhammer | (~Unhammer@gateway/tor-sasl/unhammer) |
2021-04-18 06:04:44 +0200 | conal | (~conal@64.71.133.70) (Read error: Connection reset by peer) |
2021-04-18 06:05:44 +0200 | urodna | (~urodna@unaffiliated/urodna) (Quit: urodna) |
2021-04-18 06:06:35 +0200 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 268 seconds) |
2021-04-18 06:06:48 +0200 | elliott__ | (~elliott@pool-108-18-30-46.washdc.fios.verizon.net) |
2021-04-18 06:07:00 +0200 | thunderrd | (~thunderrd@183.182.111.104) (Ping timeout: 265 seconds) |
2021-04-18 06:10:40 +0200 | nineonine | (~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) |
2021-04-18 06:10:47 +0200 | conal | (~conal@64.71.133.70) |
2021-04-18 06:11:32 +0200 | nineonine | (~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Remote host closed the connection) |
2021-04-18 06:15:45 +0200 | nineonine | (~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) |
2021-04-18 06:17:52 +0200 | quinn | (~quinn@c-73-223-224-163.hsd1.ca.comcast.net) |
2021-04-18 06:20:26 +0200 | nineonine | (~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Ping timeout: 258 seconds) |
2021-04-18 06:25:50 +0200 | kristijonas | (~kristijon@78-56-32-39.static.zebra.lt) (Remote host closed the connection) |
2021-04-18 06:26:17 +0200 | kristijonas | (~kristijon@78-56-32-39.static.zebra.lt) |
2021-04-18 06:26:56 +0200 | elliott__ | (~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 +0200 | NGravity | (csp@gateway/shell/xshellz/x-wehocrdvpegpsnls) (Ping timeout: 260 seconds) |
2021-04-18 06:33:34 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-04-18 06:36:34 +0200 | s00pcan | (~chris@075-133-056-178.res.spectrum.com) (Ping timeout: 252 seconds) |
2021-04-18 06:36:36 +0200 | mozzarella | (~sam@unaffiliated/sam113101) |
2021-04-18 06:38:09 +0200 | s00pcan | (~chris@107.181.165.217) |
2021-04-18 06:38:53 +0200 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) |
2021-04-18 06:39:38 +0200 | justsomeguy | (~justsomeg@unaffiliated/--/x-3805311) (Quit: WeeChat 3.0.1) |
2021-04-18 06:39:38 +0200 | zaquest | (~notzaques@5.128.210.178) (Read error: Connection reset by peer) |
2021-04-18 06:40:03 +0200 | zaquest | (~notzaques@5.128.210.178) |
2021-04-18 06:41:21 +0200 | drbean_ | (~drbean@TC210-63-209-220.static.apol.com.tw) |
2021-04-18 06:41:23 +0200 | Unhammer | (~Unhammer@gateway/tor-sasl/unhammer) (Remote host closed the connection) |
2021-04-18 06:42:23 +0200 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) |
2021-04-18 06:43:12 +0200 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds) |
2021-04-18 06:44:39 +0200 | Unhammer | (~Unhammer@gateway/tor-sasl/unhammer) |
2021-04-18 06:47:28 +0200 | nineonine | (~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) |
2021-04-18 06:48:05 +0200 | Patrick333 | (0ecfcc5d@14.207.204.93) |
2021-04-18 06:50:24 +0200 | lambdaman | (~lambdaman@s66-183-152-156.bc.hsia.telus.net) |
2021-04-18 06:54:01 +0200 | nineonine | (~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Ping timeout: 250 seconds) |
2021-04-18 06:55:38 +0200 | nicholasbulka | (~nicholasb@2601:900:4301:da0:c8b6:8ee4:f90a:54d2) (Remote host closed the connection) |
2021-04-18 06:57:59 +0200 | nicholasbulka | (~nicholasb@2601:900:4301:da0:c8b6:8ee4:f90a:54d2) |
2021-04-18 06:59:26 +0200 | qwerty2o | (~qwerty2o@93-172-139-92.bb.netvision.net.il) (Ping timeout: 240 seconds) |
2021-04-18 07:02:15 +0200 | nicholasbulka | (~nicholasb@2601:900:4301:da0:c8b6:8ee4:f90a:54d2) (Ping timeout: 250 seconds) |
2021-04-18 07:04:39 +0200 | Jd007 | (~Jd007@162.156.11.151) (Quit: Jd007) |
2021-04-18 07:07:26 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-04-18 07:08:04 +0200 | hidedagger | (~nate@unaffiliated/hidedagger) |
2021-04-18 07:09:40 +0200 | nineonine | (~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) |
2021-04-18 07:10:37 +0200 | lechner | (~lechner@letbox-vps.us-core.com) (Quit: WeeChat 3.0) |
2021-04-18 07:10:37 +0200 | nineonine | (~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Remote host closed the connection) |
2021-04-18 07:11:36 +0200 | nineonine | (~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) |
2021-04-18 07:12:45 +0200 | idhugo | (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) |
2021-04-18 07:15:53 +0200 | Guest78317 | (~laudiacay@67.176.215.84) |
2021-04-18 07:16:07 +0200 | nineonine | (~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Ping timeout: 250 seconds) |
2021-04-18 07:17:07 +0200 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) |
2021-04-18 07:18:04 +0200 | hrnz | (~hrnz@unaffiliated/hrnz) |
2021-04-18 07:20:01 +0200 | ericsagnes | (~ericsagne@2405:6580:0:5100:cd2f:135d:b869:baa3) (Ping timeout: 250 seconds) |
2021-04-18 07:20:34 +0200 | Guest78317 | (~laudiacay@67.176.215.84) (Ping timeout: 252 seconds) |
2021-04-18 07:21:40 +0200 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 252 seconds) |
2021-04-18 07:30:36 +0200 | jao- | (~jao@pdpc/supporter/professional/jao) |
2021-04-18 07:30:48 +0200 | jao- | (~jao@pdpc/supporter/professional/jao) (Client Quit) |
2021-04-18 07:32:14 +0200 | ericsagnes | (~ericsagne@2405:6580:0:5100:c907:2b1b:a88e:a342) |
2021-04-18 07:33:23 +0200 | geiger | (~geiger@90.212.77.86) |
2021-04-18 07:37:08 +0200 | lawt | (~lawt@2601:200:8101:f140:dea6:32ff:fea1:adfa) (Read error: Connection reset by peer) |
2021-04-18 07:38:10 +0200 | rprije | (~rprije@59-102-63-15.tpgi.com.au) (Remote host closed the connection) |
2021-04-18 07:40:58 +0200 | Patrick333 | (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 +0200 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) |
2021-04-18 07:49:30 +0200 | nineonine | (~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) |
2021-04-18 07:50:51 +0200 | nineonine | (~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Remote host closed the connection) |
2021-04-18 07:51:53 +0200 | nineonine | (~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) |
2021-04-18 07:52:50 +0200 | lawt | (~lawt@2601:200:8101:f140:dea6:32ff:fea1:adfa) |
2021-04-18 07:53:33 +0200 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds) |
2021-04-18 07:55:48 +0200 | lechner | (~lechner@letbox-vps.us-core.com) |
2021-04-18 07:56:25 +0200 | nineonine | (~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Ping timeout: 250 seconds) |
2021-04-18 07:58:41 +0200 | freegraph | (~freegraph@103.58.155.176) |
2021-04-18 08:02:40 +0200 | nineonine | (~nineonine@2604:3d08:7785:9600:2926:4844:fa1f:b849) |
2021-04-18 08:04:26 +0200 | nineonine | (~nineonine@2604:3d08:7785:9600:2926:4844:fa1f:b849) (Remote host closed the connection) |
2021-04-18 08:05:25 +0200 | nineonine | (~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) |
2021-04-18 08:06:46 +0200 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 252 seconds) |
2021-04-18 08:09:51 +0200 | nineonine | (~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Ping timeout: 250 seconds) |
2021-04-18 08:13:41 +0200 | thunderrd | (~thunderrd@183.182.114.233) |
2021-04-18 08:15:20 +0200 | Jd007 | (~Jd007@162.156.11.151) |
2021-04-18 08:20:24 +0200 | hidedagger | (~nate@unaffiliated/hidedagger) (Quit: WeeChat 3.1) |
2021-04-18 08:21:53 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
2021-04-18 08:22:02 +0200 | nut | (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
2021-04-18 08:22:44 +0200 | qwerty2o | (~qwerty2o@188.64.207.157) |
2021-04-18 08:25:44 +0200 | ddellacosta | (~ddellacos@86.106.143.248) |
2021-04-18 08:27:21 +0200 | wildlander | (~wildlande@unaffiliated/wildlander) |
2021-04-18 08:30:12 +0200 | ddellacosta | (~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 +0200 | nineonine | (~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 +0200 | nineonine | (~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Remote host closed the connection) |
2021-04-18 08:39:04 +0200 | nineonine | (~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 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 252 seconds) |
2021-04-18 08:43:39 +0200 | nineonine | (~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 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-04-18 08:53:18 +0200 | MidAutumnHotaru | (~MidAutumn@unaffiliated/midautumnhotaru) (Quit: Quit 啾) |
2021-04-18 08:53:36 +0200 | MidAutumnHotaru | (~MidAutumn@unaffiliated/midautumnhotaru) |
2021-04-18 08:54:25 +0200 | wroathe | (~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 +0200 | gehmehgeh | (~ircuser1@gateway/tor-sasl/gehmehgeh) |
2021-04-18 08:58:22 +0200 | buckworst | (~nate@180.243.10.86) |
2021-04-18 08:58:52 +0200 | Tuplanolla | (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) |
2021-04-18 08:58:56 +0200 | buckworst | (~nate@180.243.10.86) (Client Quit) |
2021-04-18 08:59:12 +0200 | ddellacosta | (~ddellacos@86.106.143.157) |
2021-04-18 09:00:06 +0200 | rekahsoft | (~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds) |
2021-04-18 09:00:11 +0200 | wroathe | (~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 +0200 | idhugo | (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 260 seconds) |
2021-04-18 09:03:12 +0200 | stux|RC-only | (stux2@grid9.quadspeedi.net) (Ping timeout: 265 seconds) |
2021-04-18 09:03:18 +0200 | ddellacosta | (~ddellacos@86.106.143.157) (Ping timeout: 240 seconds) |
2021-04-18 09:03:36 +0200 | malumore | (~malumore@151.62.123.9) |
2021-04-18 09:03:55 +0200 | malumore | (~malumore@151.62.123.9) (Remote host closed the connection) |
2021-04-18 09:04:08 +0200 | malumore | (~malumore@151.62.123.9) |
2021-04-18 09:04:11 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-04-18 09:04:28 +0200 | Lowl3v3l | (~Lowl3v3l@dslb-002-207-103-026.002.207.pools.vodafone-ip.de) |
2021-04-18 09:04:46 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
2021-04-18 09:06:32 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 240 seconds) |
2021-04-18 09:06:36 +0200 | qwerty2o | (~qwerty2o@188.64.207.157) (Read error: Connection reset by peer) |
2021-04-18 09:06:59 +0200 | danvet | (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) |
2021-04-18 09:08:42 +0200 | Tario | (~Tario@201.192.165.173) (Ping timeout: 252 seconds) |
2021-04-18 09:10:41 +0200 | Jd007 | (~Jd007@162.156.11.151) (Quit: Jd007) |
2021-04-18 09:15:50 +0200 | TheBlingInTheNor | (1829ec3e@24.41.236.62) |
2021-04-18 09:15:53 +0200 | TheBlingInTheNor | (1829ec3e@24.41.236.62) () |
2021-04-18 09:18:52 +0200 | nineonine | (~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) |
2021-04-18 09:20:05 +0200 | stux|RC | (stux2@grid9.quadspeedi.net) |
2021-04-18 09:23:17 +0200 | nineonine | (~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Ping timeout: 258 seconds) |
2021-04-18 09:26:33 +0200 | stux|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 +0200 | lambdaman | (~lambdaman@s66-183-152-156.bc.hsia.telus.net) (Remote host closed the connection) |
2021-04-18 09:37:17 +0200 | lambdaman | (~lambdaman@s66-183-152-156.bc.hsia.telus.net) |
2021-04-18 09:37:42 +0200 | wildlander | (~wildlande@unaffiliated/wildlander) (Quit: Konversation terminated!) |
2021-04-18 09:38:02 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
2021-04-18 09:39:08 +0200 | ddellacosta | (~ddellacos@86.106.143.144) |
2021-04-18 09:40:04 +0200 | lambdaman | (~lambdaman@s66-183-152-156.bc.hsia.telus.net) (Remote host closed the connection) |
2021-04-18 09:40:18 +0200 | lambdaman | (~lambdaman@s66-183-152-156.bc.hsia.telus.net) |
2021-04-18 09:40:21 +0200 | lambdaman | (~lambdaman@s66-183-152-156.bc.hsia.telus.net) (Remote host closed the connection) |
2021-04-18 09:40:57 +0200 | lambdaman | (~lambdaman@s66-183-152-156.bc.hsia.telus.net) |
2021-04-18 09:43:48 +0200 | ddellacosta | (~ddellacos@86.106.143.144) (Ping timeout: 265 seconds) |
2021-04-18 09:43:51 +0200 | hinsley | (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 +0200 | stux|RC | (stux2@grid9.quadspeedi.net) |
2021-04-18 09:47:20 +0200 | asheshambasta | (~user@ptr-e1lysav1t8vxyatkqxm.18120a2.ip6.access.telenet.be) |
2021-04-18 09:48:20 +0200 | wonko7 | (~wonko7@62.115.229.50) |
2021-04-18 09:48:38 +0200 | lambdaman | (~lambdaman@s66-183-152-156.bc.hsia.telus.net) (Ping timeout: 265 seconds) |
2021-04-18 09:49:14 +0200 | lambdaman | (~lambdaman@s66-183-152-156.bc.hsia.telus.net) |
2021-04-18 09:49:31 +0200 | Cale_ | (~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com) |
2021-04-18 09:50:01 +0200 | Cale | (~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com) (Ping timeout: 260 seconds) |
2021-04-18 09:50:23 +0200 | elfets | (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) |
2021-04-18 09:51:26 +0200 | idhugo | (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) |
2021-04-18 09:54:08 +0200 | lambdaman | (~lambdaman@s66-183-152-156.bc.hsia.telus.net) (Ping timeout: 268 seconds) |
2021-04-18 10:00:57 +0200 | nineonine | (~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 +0200 | frozenErebus | (~frozenEre@37.231.244.249) |
2021-04-18 10:05:02 +0200 | xiinotulp | (~q@ppp-27-55-72-27.revip3.asianet.co.th) |
2021-04-18 10:06:57 +0200 | hendursa1 | (~weechat@gateway/tor-sasl/hendursaga) |
2021-04-18 10:08:13 +0200 | plutoniix | (~q@ppp-223-24-146-11.revip6.asianet.co.th) (Ping timeout: 240 seconds) |
2021-04-18 10:09:57 +0200 | hendursaga | (~weechat@gateway/tor-sasl/hendursaga) (Ping timeout: 240 seconds) |
2021-04-18 10:10:01 +0200 | frozenErebus | (~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 +0200 | ddellacosta | (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 +0200 | frozenErebus | (~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 +0200 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 246 seconds) |
2021-04-18 10:22:04 +0200 | wonko7 | (~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 +0200 | fer | (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 +0200 | LKoen | (~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 +0200 | frozenErebus | (~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 +0200 | Cale_ | 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 +0200 | gentauro | who 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 +0200 | lambdaman | (~lambdaman@s66-183-152-156.bc.hsia.telus.net) |
2021-04-18 10:29:22 +0200 | tomsmeding | (~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 +0200 | gentauro | «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 +0200 | tomsmeding | (~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 +0200 | hinsley | (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 +0200 | nineonine | (~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Ping timeout: 258 seconds) |
2021-04-18 10:35:30 +0200 | mikoto-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 +0200 | jao | (~jao@pdpc/supporter/professional/jao) (Ping timeout: 265 seconds) |
2021-04-18 10:36:27 +0200 | T-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 +0200 | lambdaman | (~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 +0200 | JackSparrow | (~JackSparr@139.28.218.148) |
2021-04-18 10:52:47 +0200 | Varis | (~Tadas@unaffiliated/varis) |
2021-04-18 10:53:02 +0200 | jamestmartin | (james@jtmar.me) (Quit: ZNC 1.8.2+deb2+b1 - https://znc.in) |
2021-04-18 10:53:19 +0200 | jamestmartin | (james@jtmar.me) |
2021-04-18 10:56:51 +0200 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) |
2021-04-18 11:01:01 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-04-18 11:01:30 +0200 | hypercube | (hypercube@gateway/vpn/protonvpn/hypercube) |
2021-04-18 11:01:37 +0200 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 265 seconds) |
2021-04-18 11:02:21 +0200 | rdivyanshu | (uid322626@gateway/web/irccloud.com/x-ogmvxpqranhkqdsz) |
2021-04-18 11:03:19 +0200 | darjeeling_ | (~darjeelin@115.215.40.116) (Ping timeout: 252 seconds) |
2021-04-18 11:03:21 +0200 | jumper149 | (~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 +0200 | darjeeling_ | (~darjeelin@115.215.40.116) |
2021-04-18 11:05:32 +0200 | wroathe | (~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 +0200 | lambdaman | (~lambdaman@s66-183-152-156.bc.hsia.telus.net) |
2021-04-18 11:12:12 +0200 | jess | (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 +0200 | fendor | (~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 +0200 | freegraph | (~freegraph@103.58.155.176) (Quit: Leaving) |
2021-04-18 11:16:03 +0200 | <nshepperd2> | perfect |
2021-04-18 11:16:32 +0200 | lambdaman | (~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 +0200 | frozenErebus | (~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 +0200 | lambdaman | (~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 +0200 | ClaudiusMaximus | (~claude@cpc98210-croy26-2-0-cust137.19-2.cable.virginm.net) |
2021-04-18 11:24:49 +0200 | ClaudiusMaximus | (~claude@cpc98210-croy26-2-0-cust137.19-2.cable.virginm.net) (Changing host) |
2021-04-18 11:24:49 +0200 | ClaudiusMaximus | (~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 +0200 | lambdaman | (~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 +0200 | thblt | (~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 +0200 | Sgeo | (~Sgeo@ool-18b98aa4.dyn.optonline.net) (Read error: Connection reset by peer) |
2021-04-18 11:31:09 +0200 | heatsink | (~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 +0200 | merijn | (~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 +0200 | ddellacosta | (~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 +0200 | idhugo | (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 246 seconds) |
2021-04-18 11:40:30 +0200 | ddellacosta | (~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 +0200 | drbean_ | (~drbean@TC210-63-209-220.static.apol.com.tw) (Quit: ZNC 1.8.2+cygwin2 - https://znc.in) |
2021-04-18 11:43:03 +0200 | gentauro | the 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 +0200 | gentauro | let 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 +0200 | bitmagie | (~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 +0200 | bitmagie | (~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 +0200 | Major_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 +0200 | jbetz_ | (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 +0200 | gentauro | I 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 +0200 | z88 | (~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 +0200 | aveltras | (uid364989@gateway/web/irccloud.com/x-uutfhochnudnpuow) |
2021-04-18 12:08:46 +0200 | merijn | (~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 +0200 | ddellacosta | (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 +0200 | Major_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 +0200 | ddellacosta | (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 +0200 | malumore | (~malumore@151.62.123.9) (Ping timeout: 240 seconds) |
2021-04-18 12:16:06 +0200 | nut | (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 240 seconds) |
2021-04-18 12:18:56 +0200 | Codaraxis_ | (~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 +0200 | Codaraxis | (Codaraxis@gateway/vpn/mullvad/codaraxis) (Ping timeout: 240 seconds) |
2021-04-18 12:23:12 +0200 | geowiesnot | (~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 +0200 | nicholasbulka | (~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 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-04-18 12:32:39 +0200 | nineonine | (~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 +0200 | nicholasbulka | (~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 +0200 | heatsink | (~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 +0200 | lambdaman | (~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 +0200 | lambdaman | (~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 +0200 | ddellacosta | (~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 +0200 | thblt | (~thblt@unaffiliated/thblt) |
2021-04-18 12:49:05 +0200 | berberman | (~berberman@unaffiliated/berberman) |
2021-04-18 12:49:35 +0200 | berberman_ | (~berberman@unaffiliated/berberman) (Ping timeout: 260 seconds) |
2021-04-18 12:49:53 +0200 | ddellacosta | (~ddellacos@86.106.143.10) (Ping timeout: 265 seconds) |
2021-04-18 12:50:06 +0200 | nisstyre | (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 +0200 | ph88 | (~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 +0200 | ph88 | (~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 +0200 | JackSparrow | (~JackSparr@139.28.218.148) (Remote host closed the connection) |
2021-04-18 12:55:29 +0200 | kuribas | (~user@ptr-25vy0ia8k0uf95hxb72.18120a2.ip6.access.telenet.be) |
2021-04-18 12:56:19 +0200 | zeenk | (~zeenk@2a02:2f04:a10b:af00:91ba:3645:1cdb:9a75) |
2021-04-18 12:57:20 +0200 | HannaM | (~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 +0200 | Varis | (~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 +0200 | dyeplexer | (~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 +0200 | nisstyre | (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 +0200 | nineonine | (~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Ping timeout: 250 seconds) |
2021-04-18 13:14:18 +0200 | lambdaman | (~lambdaman@s66-183-152-156.bc.hsia.telus.net) |
2021-04-18 13:19:10 +0200 | lambdaman | (~lambdaman@s66-183-152-156.bc.hsia.telus.net) (Ping timeout: 252 seconds) |
2021-04-18 13:23:46 +0200 | xiinotulp | (~q@ppp-27-55-72-27.revip3.asianet.co.th) (Ping timeout: 240 seconds) |
2021-04-18 13:24:35 +0200 | coot | (~coot@37.30.50.130.nat.umts.dynamic.t-mobile.pl) |
2021-04-18 13:25:31 +0200 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) |
2021-04-18 13:30:26 +0200 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds) |
2021-04-18 13:33:31 +0200 | HarveyPwca | (~HarveyPwc@c-98-220-98-201.hsd1.il.comcast.net) (Quit: Leaving) |
2021-04-18 13:35:07 +0200 | frozenErebus | (~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 +0200 | xiinotulp | (~q@node-umb.pool-125-24.dynamic.totinternet.net) |
2021-04-18 13:37:51 +0200 | dmytrish | (~mitra@2a02:8084:a82:d900:319a:d200:a43d:3e3c) |
2021-04-18 13:38:56 +0200 | jamestmartin | (james@jtmar.me) (Quit: ZNC 1.8.2+deb2+b1 - https://znc.in) |
2021-04-18 13:39:26 +0200 | jamestmartin | (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 +0200 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) |
2021-04-18 13:41:48 +0200 | rdivyanshu | (uid322626@gateway/web/irccloud.com/x-ogmvxpqranhkqdsz) (Quit: Connection closed for inactivity) |
2021-04-18 13:43:23 +0200 | Feuermagier | (~Feuermagi@2a02:2488:4211:3400:7285:c2ff:fe22:172e) |
2021-04-18 13:46:29 +0200 | Deide | (~Deide@217.155.19.23) |
2021-04-18 13:51:11 +0200 | Codaraxis_ | (~Codaraxis@141.98.255.147) (Remote host closed the connection) |
2021-04-18 13:51:35 +0200 | Codaraxis_ | (~Codaraxis@141.98.255.147) |
2021-04-18 14:03:33 +0200 | Codaraxis_ | (~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 +0200 | Codaraxis_ | (~Codaraxis@141.98.255.147) |
2021-04-18 14:05:13 +0200 | ddellacosta | (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 +0200 | ericsagnes | (~ericsagne@2405:6580:0:5100:c907:2b1b:a88e:a342) (Ping timeout: 260 seconds) |
2021-04-18 14:05:42 +0200 | Codaraxis_ | (~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 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-04-18 14:06:03 +0200 | Codaraxis_ | (~Codaraxis@141.98.255.147) |
2021-04-18 14:06:26 +0200 | lambdaman | (~lambdaman@s66-183-152-156.bc.hsia.telus.net) |
2021-04-18 14:07:10 +0200 | Varis | (~Tadas@unaffiliated/varis) |
2021-04-18 14:07:18 +0200 | frozenErebus | (~frozenEre@37.231.244.249) |
2021-04-18 14:07:19 +0200 | jtk | (~jtk@178.239.168.171) |
2021-04-18 14:07:51 +0200 | machinedgod | (~machinedg@24.105.81.50) |
2021-04-18 14:07:52 +0200 | zaquest | (~notzaques@5.128.210.178) (Ping timeout: 240 seconds) |
2021-04-18 14:09:38 +0200 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds) |
2021-04-18 14:10:20 +0200 | Sornaensis | (~Sornaensi@077213199124.dynamic.telenor.dk) |
2021-04-18 14:10:53 +0200 | lambdaman | (~lambdaman@s66-183-152-156.bc.hsia.telus.net) (Ping timeout: 246 seconds) |
2021-04-18 14:13:04 +0200 | zaquest | (~notzaques@5.128.210.178) |
2021-04-18 14:15:13 +0200 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 240 seconds) |
2021-04-18 14:18:10 +0200 | ericsagnes | (~ericsagne@2405:6580:0:5100:500e:ae68:cb1a:24a) |
2021-04-18 14:21:58 +0200 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
2021-04-18 14:25:24 +0200 | LKoen_ | (~LKoen@77.168.9.109.rev.sfr.net) |
2021-04-18 14:28:00 +0200 | LKoen | (~LKoen@77.168.9.109.rev.sfr.net) (Ping timeout: 265 seconds) |
2021-04-18 14:31:27 +0200 | hendursa1 | (~weechat@gateway/tor-sasl/hendursaga) (Quit: hendursa1) |
2021-04-18 14:31:43 +0200 | hendursaga | (~weechat@gateway/tor-sasl/hendursaga) |
2021-04-18 14:33:53 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-04-18 14:34:34 +0200 | royal_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 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds) |
2021-04-18 14:40:14 +0200 | terra | (53fbe65d@c83-251-230-93.bredband.comhem.se) |
2021-04-18 14:40:46 +0200 | terra | (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 +0200 | malumore | (~malumore@151.62.123.9) |
2021-04-18 14:42:21 +0200 | drbean_ | (~drbean@TC210-63-209-202.static.apol.com.tw) |
2021-04-18 14:43:06 +0200 | TerraDOOM | (53fbe65d@c83-251-230-93.bredband.comhem.se) |
2021-04-18 14:43:28 +0200 | Major_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 +0200 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) |
2021-04-18 14:45:11 +0200 | star_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 +0200 | ddellacosta | (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 +0200 | Major_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 +0200 | olligobber | (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Remote host closed the connection) |
2021-04-18 14:55:26 +0200 | gnumonic | (~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 +0200 | Major_Biscuit | (~Major_Bis@82-169-100-198.biz.kpn.net) |
2021-04-18 15:01:06 +0200 | kristijonas | (~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 +0200 | kristijonas | (~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 +0200 | wroathe | (~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 +0200 | whataday | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2021-04-18 15:11:21 +0200 | whataday | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2021-04-18 15:12:57 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 268 seconds) |
2021-04-18 15:16:18 +0200 | ddellacosta | (~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 +0200 | nut | (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
2021-04-18 15:19:42 +0200 | urodna | (~urodna@unaffiliated/urodna) |
2021-04-18 15:19:53 +0200 | nut | (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Remote host closed the connection) |
2021-04-18 15:20:43 +0200 | ddellacosta | (~ddellacos@86.106.143.131) (Ping timeout: 252 seconds) |
2021-04-18 15:20:47 +0200 | nut | (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
2021-04-18 15:24:51 +0200 | nut | (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Remote host closed the connection) |
2021-04-18 15:25:41 +0200 | Major_Biscuit | (~Major_Bis@82-169-100-198.biz.kpn.net) (Ping timeout: 240 seconds) |
2021-04-18 15:26:18 +0200 | qwerty2o | (~qwerty2o@188.64.207.157) |
2021-04-18 15:27:05 +0200 | nisstyre | (wes@python-zero/conduct-committee/nisstyre) (Ping timeout: 250 seconds) |
2021-04-18 15:29:19 +0200 | nisstyre | (wes@python-zero/conduct-committee/nisstyre) |
2021-04-18 15:32:57 +0200 | Major_Biscuit | (~Major_Bis@82-169-100-198.biz.kpn.net) |
2021-04-18 15:34:20 +0200 | gzj | (~gzj@unaffiliated/gzj) |
2021-04-18 15:36:55 +0200 | nut | (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
2021-04-18 15:38:02 +0200 | Guest78317 | (~laudiacay@67.176.215.84) |
2021-04-18 15:42:06 +0200 | coot | (~coot@37.30.50.130.nat.umts.dynamic.t-mobile.pl) (Ping timeout: 240 seconds) |
2021-04-18 15:42:56 +0200 | Guest78317 | (~laudiacay@67.176.215.84) (Ping timeout: 260 seconds) |
2021-04-18 15:44:22 +0200 | ep1ctetus | (~epictetus@ip72-194-54-201.sb.sd.cox.net) |
2021-04-18 15:46:38 +0200 | Alleria | (~textual@zrcout.mskcc.org) |
2021-04-18 15:47:01 +0200 | Alleria | Guest72361 |
2021-04-18 15:47:08 +0200 | gzj | (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
2021-04-18 15:47:11 +0200 | Major_Biscuit | (~Major_Bis@82-169-100-198.biz.kpn.net) (Ping timeout: 240 seconds) |
2021-04-18 15:47:27 +0200 | gzj | (~gzj@unaffiliated/gzj) |
2021-04-18 15:48:21 +0200 | ddellacosta | (~ddellacos@86.106.143.131) |
2021-04-18 15:48:28 +0200 | TerraDOOM | (53fbe65d@c83-251-230-93.bredband.comhem.se) (Quit: Connection closed) |
2021-04-18 15:53:10 +0200 | ddellacosta | (~ddellacos@86.106.143.131) (Ping timeout: 252 seconds) |
2021-04-18 15:53:10 +0200 | qwerty2o | (~qwerty2o@188.64.207.157) (Ping timeout: 252 seconds) |
2021-04-18 15:54:29 +0200 | unlink_ | (~unlink2@p57b853bf.dip0.t-ipconnect.de) (Remote host closed the connection) |
2021-04-18 15:57:08 +0200 | unlink2 | (~unlink2@p57b853bf.dip0.t-ipconnect.de) |
2021-04-18 15:59:05 +0200 | drbean_ | (~drbean@TC210-63-209-202.static.apol.com.tw) (Quit: ZNC 1.8.2+cygwin2 - https://znc.in) |
2021-04-18 16:05:02 +0200 | unlink2 | (~unlink2@p57b853bf.dip0.t-ipconnect.de) (Remote host closed the connection) |
2021-04-18 16:05:26 +0200 | lambdaman | (~lambdaman@s66-183-152-156.bc.hsia.telus.net) |
2021-04-18 16:06:11 +0200 | unlink2 | (~unlink2@p57b853bf.dip0.t-ipconnect.de) |
2021-04-18 16:06:13 +0200 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 240 seconds) |
2021-04-18 16:07:10 +0200 | rond_ | (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 +0200 | lambdaman | (~lambdaman@s66-183-152-156.bc.hsia.telus.net) (Ping timeout: 240 seconds) |
2021-04-18 16:10:55 +0200 | Rudd0 | (~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 +0200 | danvet | (~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 +0200 | gentauro | normally, 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 +0200 | ddellacosta | (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 +0200 | gzj | (~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 +0200 | frozenErebus | (~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 +0200 | gentauro | please 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 +0200 | gentauro | haven'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 +0200 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 252 seconds) |
2021-04-18 16:25:16 +0200 | dpl | (~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 +0200 | gentauro | very 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 +0200 | Wuzzy | (~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 +0200 | gentauro | I once prepared to run something on windows, but gave up cos of CI/CD … |
2021-04-18 16:31:13 +0200 | lambdaman | (~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 +0200 | heatsink | (~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 +0200 | frozenErebus | (~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 +0200 | Zunaka | (~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 +0200 | lambdaman | (~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 +0200 | merijn | (~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 +0200 | malumore | (~malumore@151.62.123.9) (Ping timeout: 240 seconds) |
2021-04-18 16:39:57 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds) |
2021-04-18 16:40:41 +0200 | nut | (~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 +0200 | jao | (~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 +0200 | Guest72361 | (~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 +0200 | xkapastel | (uid17782@gateway/web/irccloud.com/x-isdhgqaucsczyafg) |
2021-04-18 16:44:52 +0200 | frozenErebus | (~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 +0200 | frozenErebus | (~frozenEre@37.231.244.249) |
2021-04-18 16:47:20 +0200 | tv | (~tv@unaffiliated/tv) (Ping timeout: 246 seconds) |
2021-04-18 16:48:47 +0200 | Alleria | (~textual@mskresolve-a.mskcc.org) |
2021-04-18 16:49:12 +0200 | Alleria | Guest27054 |
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 +0200 | Tario | (~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 +0200 | gentauro | shadow-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 +0200 | ddellacosta | (~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 +0200 | gentauro | at 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 +0200 | tv | (~tv@unaffiliated/tv) |
2021-04-18 16:59:38 +0200 | ddellacosta | (~ddellacos@86.106.143.144) (Ping timeout: 268 seconds) |
2021-04-18 16:59:54 +0200 | Synthetica | (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 +0200 | son0p | (~ff@181.136.122.143) |
2021-04-18 17:01:37 +0200 | ph88 | (~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 +0200 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
2021-04-18 17:05:12 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-04-18 17:11:10 +0200 | Chai-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 +0200 | gnumonic | (~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 +0200 | Chai-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 +0200 | gentauro | s/parameter/bookmark paramater/ |
2021-04-18 17:13:55 +0200 | gehmehgeh | (~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 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-04-18 17:17:31 +0200 | wanglifeng | (~wanglifen@60.177.176.45) |
2021-04-18 17:19:35 +0200 | gehmehgeh | (~ircuser1@gateway/tor-sasl/gehmehgeh) |
2021-04-18 17:20:56 +0200 | tv | (~tv@unaffiliated/tv) (Quit: WeeChat 2.9) |
2021-04-18 17:21:23 +0200 | wanglifeng | (~wanglifen@60.177.176.45) (Client Quit) |
2021-04-18 17:21:41 +0200 | ericsagnes | (~ericsagne@2405:6580:0:5100:500e:ae68:cb1a:24a) (Ping timeout: 258 seconds) |
2021-04-18 17:25:28 +0200 | tv | (~tv@unaffiliated/tv) |
2021-04-18 17:25:32 +0200 | frozenErebus | (~frozenEre@37.231.244.249) (Ping timeout: 268 seconds) |
2021-04-18 17:25:47 +0200 | tv | (~tv@unaffiliated/tv) (Client Quit) |
2021-04-18 17:26:18 +0200 | tv | (~tv@unaffiliated/tv) |
2021-04-18 17:28:51 +0200 | Zunaka | (~IceChat9@176.24.159.82) (Read error: Connection reset by peer) |
2021-04-18 17:29:05 +0200 | Zunaka | (~IceChat9@176.24.159.82) |
2021-04-18 17:29:12 +0200 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) |
2021-04-18 17:32:06 +0200 | Kaeipi | (~Kaiepi@47.54.252.148) |
2021-04-18 17:32:23 +0200 | Sheilong | (uid293653@gateway/web/irccloud.com/x-whlsqwhgakhmwdwp) |
2021-04-18 17:32:28 +0200 | Kaiepi | (~Kaiepi@47.54.252.148) (Remote host closed the connection) |
2021-04-18 17:33:19 +0200 | ericsagnes | (~ericsagne@2405:6580:0:5100:26cf:eb6d:4a80:182c) |
2021-04-18 17:33:35 +0200 | <gentauro> | :) |
2021-04-18 17:33:41 +0200 | qwerty2o | (~qwerty2o@93-172-139-92.bb.netvision.net.il) |
2021-04-18 17:33:57 +0200 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
2021-04-18 17:33:58 +0200 | Kaeipi | (~Kaiepi@47.54.252.148) (Remote host closed the connection) |
2021-04-18 17:34:05 +0200 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 265 seconds) |
2021-04-18 17:34:20 +0200 | Kaeipi | (~Kaiepi@47.54.252.148) |
2021-04-18 17:36:08 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
2021-04-18 17:36:33 +0200 | nineonine | (~nineonine@2604:3d08:7785:9600:2926:4844:fa1f:b849) |
2021-04-18 17:37:14 +0200 | qwerty2o | (~qwerty2o@93-172-139-92.bb.netvision.net.il) (Read error: Connection reset by peer) |
2021-04-18 17:37:25 +0200 | nineonine | (~nineonine@2604:3d08:7785:9600:2926:4844:fa1f:b849) (Remote host closed the connection) |
2021-04-18 17:38:25 +0200 | nineonine | (~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) |
2021-04-18 17:42:46 +0200 | nineonine | (~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Ping timeout: 258 seconds) |
2021-04-18 17:45:52 +0200 | ddellacosta | (~ddellacos@86.106.143.92) |
2021-04-18 17:52:37 +0200 | kritzefitz | (~kritzefit@212.86.56.80) |
2021-04-18 17:53:32 +0200 | pavonia | (~user@unaffiliated/siracusa) (Quit: Bye!) |
2021-04-18 17:54:06 +0200 | Pickchea | (~private@unaffiliated/pickchea) |
2021-04-18 17:54:39 +0200 | seveg | (~gabriel@2a02-ab04-0249-8d00-dea6-32ff-fe17-0993.dynamic.v6.chello.sk) (Ping timeout: 258 seconds) |
2021-04-18 17:56:22 +0200 | elliott__ | (~elliott@pool-108-18-30-46.washdc.fios.verizon.net) |
2021-04-18 17:56:30 +0200 | Sorna | (~Sornaensi@077213200034.dynamic.telenor.dk) |
2021-04-18 17:56:34 +0200 | seveg | (~gabriel@2a02-ab04-0249-8d00-dea6-32ff-fe17-0993.dynamic.v6.chello.sk) |
2021-04-18 17:58:32 +0200 | Sornaensis | (~Sornaensi@077213199124.dynamic.telenor.dk) (Ping timeout: 252 seconds) |
2021-04-18 17:58:33 +0200 | Mrbuck | (~Mrbuck@gateway/tor-sasl/mrbuck) |
2021-04-18 17:58:49 +0200 | mach1speed | (~textual@S0106f0b4d2c39cee.va.shawcable.net) |
2021-04-18 18:00:11 +0200 | s00pcan | (~chris@107.181.165.217) (Ping timeout: 240 seconds) |
2021-04-18 18:00:14 +0200 | Komrad_Kafuka | (1b04ce5c@27.4.206.92) |
2021-04-18 18:01:09 +0200 | jluttine | (~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 +0200 | Bergle_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 +0200 | Rudd0 | (~Rudd0@185.189.115.108) |
2021-04-18 18:04:57 +0200 | Bergle_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 +0200 | frozenErebus | (~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 +0200 | alx741 | (~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 +0200 | malumore | (~malumore@151.62.123.9) |
2021-04-18 18:07:33 +0200 | <monochrom> | "pow" is not defined anywhere. |
2021-04-18 18:08:18 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-04-18 18:08:50 +0200 | tzh | (~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 +0200 | ep1ctetus | (~epictetus@ip72-194-54-201.sb.sd.cox.net) (Ping timeout: 252 seconds) |
2021-04-18 18:10:42 +0200 | Major_Biscuit | (~Major_Bis@82-169-100-198.biz.kpn.net) |
2021-04-18 18:13:25 +0200 | bitmagie | (~Thunderbi@200116b8068a3b00f97fc6eea4dcadef.dip.versatel-1u1.de) |
2021-04-18 18:14:53 +0200 | bitmagie | (~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 +0200 | nineonine | (~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) |
2021-04-18 18:16:46 +0200 | Major_Biscuit | (~Major_Bis@82-169-100-198.biz.kpn.net) (Ping timeout: 240 seconds) |
2021-04-18 18:17:23 +0200 | nineonine | (~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Remote host closed the connection) |
2021-04-18 18:18:26 +0200 | nineonine | (~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) |
2021-04-18 18:19:16 +0200 | geekosaur | (930099da@rrcs-147-0-153-218.central.biz.rr.com) |
2021-04-18 18:19:50 +0200 | Major_Biscuit | (~Major_Bis@82-169-100-198.biz.kpn.net) |
2021-04-18 18:22:26 +0200 | jakalx | (~jakalx@base.jakalx.net) () |
2021-04-18 18:23:01 +0200 | nineonine | (~nineonine@2604:3d08:7785:9600:68a6:8c79:2caf:5ce4) (Ping timeout: 258 seconds) |
2021-04-18 18:24:21 +0200 | Jd007 | (~Jd007@162.156.11.151) |
2021-04-18 18:25:21 +0200 | Major_Biscuit | (~Major_Bis@82-169-100-198.biz.kpn.net) (Ping timeout: 268 seconds) |
2021-04-18 18:26:35 +0200 | nineonine | (~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 +0200 | Komrad_Kafuka | (1b04ce5c@27.4.206.92) (Quit: Connection closed) |
2021-04-18 18:30:46 +0200 | DavidEichmann | (~david@147.136.46.217.dyn.plus.net) (Remote host closed the connection) |
2021-04-18 18:34:04 +0200 | jluttine | (~jluttine@85-23-66-6.bb.dnainternet.fi) |
2021-04-18 18:34:19 +0200 | v01d4lph4 | (~v01d4lph4@122.162.20.198) |
2021-04-18 18:42:53 +0200 | frozenErebus | (~frozenEre@37.231.244.249) (Ping timeout: 260 seconds) |
2021-04-18 18:43:38 +0200 | elliott_ | (~elliott_@pool-108-18-30-46.washdc.fios.verizon.net) (Ping timeout: 240 seconds) |
2021-04-18 18:43:46 +0200 | Zunaka | (~IceChat9@176.24.159.82) (Ping timeout: 260 seconds) |
2021-04-18 18:44:21 +0200 | idhugo | (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) |
2021-04-18 18:46:05 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-04-18 18:47:13 +0200 | jluttine | (~jluttine@85-23-66-6.bb.dnainternet.fi) (Ping timeout: 240 seconds) |
2021-04-18 18:48:38 +0200 | kritzefitz | (~kritzefit@212.86.56.80) (Ping timeout: 240 seconds) |
2021-04-18 18:49:12 +0200 | ddellacosta | (~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 +0200 | mach1speed | (~textual@S0106f0b4d2c39cee.va.shawcable.net) (Quit: Textual IRC Client: www.textualapp.com) |
2021-04-18 18:51:07 +0200 | wonko7 | (~wonko7@62.115.229.50) |
2021-04-18 18:55:05 +0200 | toorevitimirp | (~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 +0200 | toorevitimirp | (~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 +0200 | Wizek | (uid191769@gateway/web/irccloud.com/x-imzvaajwbwqznbhg) |
2021-04-18 18:58:35 +0200 | elliott__ | (~elliott@pool-108-18-30-46.washdc.fios.verizon.net) (Ping timeout: 246 seconds) |
2021-04-18 18:59:38 +0200 | nut | (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
2021-04-18 19:00:21 +0200 | hendursaga | (~weechat@gateway/tor-sasl/hendursaga) (Ping timeout: 240 seconds) |
2021-04-18 19:00:31 +0200 | elliott_ | (~elliott_@pool-108-18-30-46.washdc.fios.verizon.net) |
2021-04-18 19:01:09 +0200 | hendursaga | (~weechat@gateway/tor-sasl/hendursaga) |
2021-04-18 19:03:34 +0200 | Zunaka | (~IceChat9@176.24.159.82) |
2021-04-18 19:03:58 +0200 | Sgeo | (~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 +0200 | gnumonic | (~gnumonic@c-73-170-91-210.hsd1.ca.comcast.net) (Ping timeout: 240 seconds) |
2021-04-18 19:08:00 +0200 | jakalx | (~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 +0200 | jluttine | (~jluttine@85-23-66-6.bb.dnainternet.fi) |
2021-04-18 19:14:48 +0200 | v01d4lph4 | (~v01d4lph4@122.162.20.198) (Remote host closed the connection) |
2021-04-18 19:15:21 +0200 | v01d4lph4 | (~v01d4lph4@122.162.20.198) |
2021-04-18 19:16:02 +0200 | AkechiShiro | (~AkechiShi@2a01:e0a:5f9:9681:1473:3dff:fe42:56a9) |
2021-04-18 19:16:35 +0200 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) |
2021-04-18 19:17:02 +0200 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
2021-04-18 19:17:45 +0200 | frozenErebus | (~frozenEre@37.231.244.249) |
2021-04-18 19:17:51 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-04-18 19:18:43 +0200 | DavidEichmann | (~david@147.136.46.217.dyn.plus.net) |
2021-04-18 19:19:16 +0200 | gzj | (~gzj@unaffiliated/gzj) |
2021-04-18 19:19:56 +0200 | v01d4lph4 | (~v01d4lph4@122.162.20.198) (Ping timeout: 260 seconds) |
2021-04-18 19:19:57 +0200 | Major_Biscuit | (~Major_Bis@82-169-100-198.biz.kpn.net) |
2021-04-18 19:20:58 +0200 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds) |
2021-04-18 19:22:44 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
2021-04-18 19:23:40 +0200 | elliott__ | (~elliott@pool-108-18-30-46.washdc.fios.verizon.net) |
2021-04-18 19:23:52 +0200 | idhugo | (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 240 seconds) |
2021-04-18 19:24:05 +0200 | lambdaman | (~lambdaman@s66-183-152-156.bc.hsia.telus.net) |
2021-04-18 19:24:25 +0200 | gzj | (~gzj@unaffiliated/gzj) (Ping timeout: 260 seconds) |
2021-04-18 19:24:27 +0200 | stef204 | (~stef204@unaffiliated/stef-204/x-384198) |
2021-04-18 19:25:50 +0200 | mudfog | (~mudfog@ec2-54-152-211-54.compute-1.amazonaws.com) |
2021-04-18 19:28:33 +0200 | kritzefitz | (~kritzefit@212.86.56.80) |
2021-04-18 19:30:21 +0200 | hendursaga | (~weechat@gateway/tor-sasl/hendursaga) (Ping timeout: 240 seconds) |
2021-04-18 19:30:55 +0200 | nicholasbulka | (~nicholasb@2601:900:4301:da0:dc4d:c0e7:8d0c:41f6) |
2021-04-18 19:33:01 +0200 | hendursaga | (~weechat@gateway/tor-sasl/hendursaga) |
2021-04-18 19:33:13 +0200 | xff0x | (~xff0x@2001:1a81:52bc:3c00:e093:d566:52f:38b9) (Ping timeout: 250 seconds) |
2021-04-18 19:34:22 +0200 | xff0x | (~xff0x@2001:1a81:52bc:3c00:45ea:1449:467:f132) |
2021-04-18 19:35:28 +0200 | nicholasbulka | (~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 +0200 | Guest78317 | (~laudiacay@67.176.215.84) |
2021-04-18 19:42:11 +0200 | asheshambasta | (~user@ptr-e1lysav1t8vxyatkqxm.18120a2.ip6.access.telenet.be) (Ping timeout: 248 seconds) |
2021-04-18 19:43:08 +0200 | Guest78317 | (~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 +0200 | frozenErebus | (~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 +0200 | endofexclusive | (~asdf@c188-150-152-7.bredband.comhem.se) |
2021-04-18 19:50:18 +0200 | Jd007 | (~Jd007@162.156.11.151) (Quit: Jd007) |
2021-04-18 19:51:13 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-04-18 19:52:28 +0200 | lambdaman | (~lambdaman@s66-183-152-156.bc.hsia.telus.net) (Remote host closed the connection) |
2021-04-18 19:54:29 +0200 | haritz | (~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 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-04-18 19:57:00 +0200 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) |
2021-04-18 19:58:42 +0200 | hidedagger | (~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 +0200 | gehmehgeh | (~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving) |
2021-04-18 20:01:09 +0200 | hendursaga | (~weechat@gateway/tor-sasl/hendursaga) (Ping timeout: 240 seconds) |
2021-04-18 20:01:13 +0200 | ddellacosta | (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 +0200 | hendursaga | (~weechat@gateway/tor-sasl/hendursaga) |
2021-04-18 20:03:13 +0200 | idhugo | (~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 +0200 | Mrbuck | (~Mrbuck@gateway/tor-sasl/mrbuck) (Ping timeout: 240 seconds) |
2021-04-18 20:09:59 +0200 | hendursaga | (~weechat@gateway/tor-sasl/hendursaga) (Remote host closed the connection) |
2021-04-18 20:13:29 +0200 | hendursaga | (~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 +0200 | endofexclusive | (~asdf@c188-150-152-7.bredband.comhem.se) ("Leaving") |
2021-04-18 20:15:51 +0200 | hendursaga | (~weechat@gateway/tor-sasl/hendursaga) (Remote host closed the connection) |
2021-04-18 20:16:14 +0200 | hendursaga | (~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 +0200 | jamm_ | (~jamm@unaffiliated/jamm) |
2021-04-18 20:23:24 +0200 | jtk | (~jtk@178.239.168.171) (Remote host closed the connection) |
2021-04-18 20:24:09 +0200 | dyeplexer | (~lol@unaffiliated/terpin) (Remote host closed the connection) |
2021-04-18 20:26:46 +0200 | s00pcan | (~chris@075-133-056-178.res.spectrum.com) |
2021-04-18 20:28:11 +0200 | idhugo | (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 240 seconds) |
2021-04-18 20:29:31 +0200 | rayyyy | (~nanoz@gateway/tor-sasl/nanoz) |
2021-04-18 20:30:10 +0200 | nicholasbulka | (~nicholasb@2601:900:4301:da0:5d1c:812e:1a75:163c) |
2021-04-18 20:31:07 +0200 | stiell | (~stian@fsf/member/stiell) (Ping timeout: 260 seconds) |
2021-04-18 20:32:26 +0200 | nicholasbulka | (~nicholasb@2601:900:4301:da0:5d1c:812e:1a75:163c) (Remote host closed the connection) |
2021-04-18 20:32:42 +0200 | nicholasbulka | (~nicholasb@2601:900:4301:da0:5d1c:812e:1a75:163c) |
2021-04-18 20:34:14 +0200 | ddellacosta | (~ddellacos@86.106.143.144) |
2021-04-18 20:34:15 +0200 | rajivr | (uid269651@gateway/web/irccloud.com/x-cevinofdvazcujky) (Quit: Connection closed for inactivity) |
2021-04-18 20:34:24 +0200 | haritz | (~hrtz@62.3.70.206) |
2021-04-18 20:34:25 +0200 | haritz | (~hrtz@62.3.70.206) (Changing host) |
2021-04-18 20:34:25 +0200 | haritz | (~hrtz@unaffiliated/haritz) |
2021-04-18 20:35:50 +0200 | machinedgod | (~machinedg@24.105.81.50) (Ping timeout: 252 seconds) |
2021-04-18 20:38:13 +0200 | fer | (2f3d8672@47.61.134.114) (Quit: Connection closed) |
2021-04-18 20:38:19 +0200 | aveltras | (uid364989@gateway/web/irccloud.com/x-uutfhochnudnpuow) (Quit: Connection closed for inactivity) |
2021-04-18 20:38:38 +0200 | ddellacosta | (~ddellacos@86.106.143.144) (Ping timeout: 240 seconds) |
2021-04-18 20:39:11 +0200 | Major_Biscuit | (~Major_Bis@82-169-100-198.biz.kpn.net) (Ping timeout: 240 seconds) |
2021-04-18 20:39:16 +0200 | coot | (~coot@37.30.50.130.nat.umts.dynamic.t-mobile.pl) |
2021-04-18 20:41:24 +0200 | Tesseraction | (~Tesseract@unaffiliated/tesseraction) (Read error: Connection reset by peer) |
2021-04-18 20:41:52 +0200 | darjeeling_ | (~darjeelin@115.215.40.116) (Ping timeout: 240 seconds) |
2021-04-18 20:45:09 +0200 | hendursaga | (~weechat@gateway/tor-sasl/hendursaga) (Ping timeout: 240 seconds) |
2021-04-18 20:46:34 +0200 | s00pcan | (~chris@075-133-056-178.res.spectrum.com) (Ping timeout: 268 seconds) |
2021-04-18 20:47:53 +0200 | s00pcan | (~chris@107.181.165.217) |
2021-04-18 20:48:19 +0200 | hendursaga | (~weechat@gateway/tor-sasl/hendursaga) |
2021-04-18 20:48:25 +0200 | kristijonas | (~kristijon@78-56-32-39.static.zebra.lt) (Ping timeout: 268 seconds) |
2021-04-18 20:51:17 +0200 | Jd007 | (~Jd007@162.156.11.151) |
2021-04-18 20:52:18 +0200 | Major_Biscuit | (~Major_Bis@82-169-100-198.biz.kpn.net) |
2021-04-18 20:55:21 +0200 | darjeeling_ | (~darjeelin@122.245.209.158) |
2021-04-18 20:59:35 +0200 | bennofs_ | (~quassel@x4dbf857b.dyn.telefonica.de) |
2021-04-18 20:59:50 +0200 | Sheilong | (uid293653@gateway/web/irccloud.com/x-whlsqwhgakhmwdwp) () |
2021-04-18 21:00:07 +0200 | ClaudiusMaximus | (~claude@unaffiliated/claudiusmaximus) (Quit: ->) |
2021-04-18 21:04:23 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2021-04-18 21:05:26 +0200 | Tesseraction | (~Tesseract@unaffiliated/tesseraction) |
2021-04-18 21:05:41 +0200 | elliott__ | (~elliott@pool-108-18-30-46.washdc.fios.verizon.net) (Ping timeout: 240 seconds) |
2021-04-18 21:06:40 +0200 | nut | (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 252 seconds) |
2021-04-18 21:07:52 +0200 | elfets | (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 240 seconds) |
2021-04-18 21:09:26 +0200 | ddellacosta | (~ddellacos@86.106.143.79) |
2021-04-18 21:09:59 +0200 | DavidEichmann | (~david@147.136.46.217.dyn.plus.net) (Remote host closed the connection) |
2021-04-18 21:12:13 +0200 | nicholasbulka | (~nicholasb@2601:900:4301:da0:5d1c:812e:1a75:163c) (Remote host closed the connection) |
2021-04-18 21:13:41 +0200 | ddellacosta | (~ddellacos@86.106.143.79) (Ping timeout: 246 seconds) |
2021-04-18 21:14:36 +0200 | jamm__ | (~jamm@unaffiliated/jamm) |
2021-04-18 21:14:46 +0200 | elliott_ | (~elliott_@pool-108-18-30-46.washdc.fios.verizon.net) (Ping timeout: 240 seconds) |
2021-04-18 21:17:12 +0200 | sh9 | (~sh9@softbank060116136158.bbtec.net) |
2021-04-18 21:17:26 +0200 | jamm_ | (~jamm@unaffiliated/jamm) (Ping timeout: 258 seconds) |
2021-04-18 21:19:43 +0200 | minoru_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 +0200 | elfets | (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) |
2021-04-18 21:21:31 +0200 | nut | (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
2021-04-18 21:22:45 +0200 | Mrbuck | (~Mrbuck@gateway/tor-sasl/mrbuck) |
2021-04-18 21:22:46 +0200 | rayyyy | (~nanoz@gateway/tor-sasl/nanoz) (Quit: Leaving) |
2021-04-18 21:23:35 +0200 | kuribas | (~user@ptr-25vy0ia8k0uf95hxb72.18120a2.ip6.access.telenet.be) (Remote host closed the connection) |
2021-04-18 21:24:15 +0200 | Zunaka_ | (~IceChat9@176.24.159.82) |
2021-04-18 21:26:28 +0200 | Zunaka | (~IceChat9@176.24.159.82) (Ping timeout: 252 seconds) |
2021-04-18 21:29:39 +0200 | smatting | (~stefan@p200300cd7708e000958acc65436f5a2e.dip0.t-ipconnect.de) |
2021-04-18 21:31:06 +0200 | waleee-cl | (uid373333@gateway/web/irccloud.com/x-qwacgjbsbbsicbfw) |
2021-04-18 21:34:52 +0200 | vicfred | (vicfred@gateway/vpn/mullvad/vicfred) |
2021-04-18 21:36:37 +0200 | elliott_ | (~elliott_@pool-108-18-30-46.washdc.fios.verizon.net) |
2021-04-18 21:37:22 +0200 | jamm__ | (~jamm@unaffiliated/jamm) (Remote host closed the connection) |
2021-04-18 21:38:01 +0200 | thblt | (~thblt@unaffiliated/thblt) ("ERC (IRC client for Emacs 28.0.50)") |
2021-04-18 21:41:02 +0200 | Zunaka | (~IceChat9@176.24.159.82) |
2021-04-18 21:42:52 +0200 | Zunaka_ | (~IceChat9@176.24.159.82) (Ping timeout: 240 seconds) |
2021-04-18 21:44:23 +0200 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) |
2021-04-18 21:47:26 +0200 | randumb_luser | (~jrm@172.76.82.248) |
2021-04-18 21:47:42 +0200 | elliott_ | (~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 +0200 | rond_ | (5940206b@89-64-32-107.dynamic.chello.pl) (Quit: Connection closed) |
2021-04-18 21:48:03 +0200 | randumb_luser | (~jrm@172.76.82.248) () |
2021-04-18 21:48:38 +0200 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds) |
2021-04-18 21:50:15 +0200 | jamm_ | (~jamm@unaffiliated/jamm) |
2021-04-18 21:52:05 +0200 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-04-18 21:52:58 +0200 | lambdaman | (~lambdaman@s66-183-152-156.bc.hsia.telus.net) |
2021-04-18 21:53:06 +0200 | Pickchea | (~private@unaffiliated/pickchea) (Quit: Leaving) |
2021-04-18 21:53:57 +0200 | safinaskar | (6dfc5a88@109-252-90-136.nat.spd-mgts.ru) |
2021-04-18 21:54:41 +0200 | zeta_0 | (~zeta@2601:8c0:1:2630:2d9c:e1d:b59:5a8e) |
2021-04-18 21:54:50 +0200 | falafel | (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
2021-04-18 21:55:08 +0200 | Lord_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 +0200 | ddellacosta | (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 +0200 | jamm_ | (~jamm@unaffiliated/jamm) (Remote host closed the connection) |
2021-04-18 21:57:13 +0200 | lambdaman | (~lambdaman@s66-183-152-156.bc.hsia.telus.net) (Ping timeout: 240 seconds) |
2021-04-18 21:57:59 +0200 | ddellaco_ | (ddellacost@gateway/vpn/mullvad/ddellacosta) |
2021-04-18 21:58:43 +0200 | Lord_of_Life | (~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 268 seconds) |
2021-04-18 21:58:46 +0200 | Lord_of_Life_ | Lord_of_Life |
2021-04-18 21:58:51 +0200 | zeta_0 | (~zeta@2601:8c0:1:2630:2d9c:e1d:b59:5a8e) (Client Quit) |
2021-04-18 21:59:28 +0200 | elliott__ | (~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 +0200 | Zunaka_ | (~IceChat9@176.24.159.82) |
2021-04-18 22:00:52 +0200 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds) |
2021-04-18 22:02:13 +0200 | ddellaco_ | (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 240 seconds) |
2021-04-18 22:02:49 +0200 | Zunaka | (~IceChat9@176.24.159.82) (Ping timeout: 265 seconds) |
2021-04-18 22:03:09 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
2021-04-18 22:04:46 +0200 | nicholasbulka | (~nicholasb@2601:900:4301:da0:5d1c:812e:1a75:163c) |
2021-04-18 22:04:58 +0200 | petersen | (~petersen@redhat/juhp) (Ping timeout: 240 seconds) |
2021-04-18 22:08:28 +0200 | petersen | (~petersen@redhat/juhp) |
2021-04-18 22:10:15 +0200 | usr25 | (~usr25@unaffiliated/usr25) |
2021-04-18 22:11:26 +0200 | fiedlr | (~fiedlr@83.148.33.254) (Remote host closed the connection) |
2021-04-18 22:12:03 +0200 | fiedlr | (~fiedlr@83.148.33.254) |
2021-04-18 22:12:46 +0200 | wroathe | (~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 +0200 | heatsink | (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2021-04-18 22:16:11 +0200 | fiedlr | (~fiedlr@83.148.33.254) (Ping timeout: 240 seconds) |
2021-04-18 22:17:48 +0200 | z88 | (~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 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-04-18 22:19:14 +0200 | pavonia | (~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 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 252 seconds) |
2021-04-18 22:25:22 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-04-18 22:25:47 +0200 | merijn | (~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 +0200 | barakkl1993 | (~barakkley@2.55.14.78) |
2021-04-18 22:29:57 +0200 | mikoto-chan | (~anass@gateway/tor-sasl/mikoto-chan) (Ping timeout: 240 seconds) |
2021-04-18 22:30:20 +0200 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) |
2021-04-18 22:31:42 +0200 | horatiohb | (~horatiohb@45.55.40.152) |
2021-04-18 22:31:56 +0200 | Mrbuck | (~Mrbuck@gateway/tor-sasl/mrbuck) (Quit: WeeChat 2.8) |
2021-04-18 22:34:14 +0200 | coot | (~coot@37.30.50.130.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
2021-04-18 22:34:38 +0200 | ddellacosta | (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 252 seconds) |
2021-04-18 22:36:11 +0200 | wonko7 | (~wonko7@62.115.229.50) (Ping timeout: 240 seconds) |
2021-04-18 22:36:39 +0200 | barakkl1993 | (~barakkley@2.55.14.78) (Quit: Leaving) |
2021-04-18 22:36:55 +0200 | barakkl1993 | (~barakkley@2.55.46.17) |
2021-04-18 22:37:39 +0200 | kenanmarasli | (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 +0200 | hexfive | (~hexfive@50.35.83.177) |
2021-04-18 22:39:49 +0200 | acarrico | (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) |
2021-04-18 22:40:04 +0200 | seven_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 +0200 | usr25 | (~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 +0200 | fiedlr | (~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 +0200 | nut | (~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 +0200 | seven_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 +0200 | seven_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 +0200 | jumper149 | (~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 +0200 | Gurkenglas | (~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 +0200 | heatsink | (~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 +0200 | mozzarella | (~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 +0200 | Zunaka | (~IceChat9@176.24.159.82) |
2021-04-18 22:59:13 +0200 | Guest27054 | (~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 +0200 | pthariensflame | (~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 +0200 | pthariensflame | (~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 +0200 | mozzarella | (~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 +0200 | ddellacosta | (~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 +0200 | Zunaka_ | (~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 +0200 | ddellacosta | (~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 +0200 | Sorny | (~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 +0200 | olligobber | (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 +0200 | Sornaensis | (~Sornaensi@077213200034.dynamic.telenor.dk) |
2021-04-18 23:10:10 +0200 | malumore | (~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 +0200 | Sorna | (~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 +0200 | Alleria | (~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 +0200 | Alleria | Guest78338 |
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 +0200 | Sorny | (~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 +0200 | smatting | (~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 +0200 | Guest78338 | (~textual@2603-7000-3040-0000-8d12-8548-27bc-6b87.res6.spectrum.com) (Ping timeout: 258 seconds) |
2021-04-18 23:16:48 +0200 | Alleria_ | (~textual@2603-7000-3040-0000-8d12-8548-27bc-6b87.res6.spectrum.com) |
2021-04-18 23:18:07 +0200 | wroathe | (~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 +0200 | robotmay | (~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 +0200 | robotmay | (~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 +0200 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-04-18 23:24:15 +0200 | ph88 | (~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 +0200 | Sornaensis | (~Sornaensi@077213200034.dynamic.telenor.dk) (Ping timeout: 240 seconds) |
2021-04-18 23:25:53 +0200 | elliott__ | (~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 +0200 | falafel | (~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 +0200 | wroathe | (~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 +0200 | seven_three | (~user@pool-96-233-64-53.bstnma.fios.verizon.net) ("ERC (IRC client for Emacs 27.2)") |
2021-04-18 23:39:22 +0200 | Guest78317 | (~laudiacay@67.176.215.84) |
2021-04-18 23:39:31 +0200 | hyiltiz | (~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 +0200 | Major_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 +0200 | Guest78317 | (~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 +0200 | nut | (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
2021-04-18 23:44:02 +0200 | gitgood | (~gitgood@80-44-9-246.dynamic.dsl.as9105.com) (Quit: Probably away to do something really awesome) |
2021-04-18 23:44:44 +0200 | hyiltiz | (~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 +0200 | renzhi | (~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 +0200 | EmanuelLoos[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 +0200 | usr25 | (~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 +0200 | usr25 | (~usr25@unaffiliated/usr25) () |
2021-04-18 23:51:20 +0200 | LKoen_ | (~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 +0200 | elfets | (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 252 seconds) |
2021-04-18 23:52:56 +0200 | tmciver | (~tmciver@cpe-172-101-40-226.maine.res.rr.com) (Ping timeout: 260 seconds) |
2021-04-18 23:54:46 +0200 | tmciver | (~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 +0200 | jamm_ | (~jamm@unaffiliated/jamm) |
2021-04-18 23:57:44 +0200 | carldd | (~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 |