2021-01-19 00:00:42 +0100 | coot | (~coot@37.30.55.132.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
2021-01-19 00:02:24 +0100 | bitmagie | (~Thunderbi@200116b8061ea2008105fee28fc28f07.dip.versatel-1u1.de) (Quit: bitmagie) |
2021-01-19 00:02:54 +0100 | frankdmartinez | (~frankdmar@208.91.107.132) |
2021-01-19 00:03:34 +0100 | nilof | (~olofs@90-227-86-119-no542.tbcn.telia.com) |
2021-01-19 00:03:45 +0100 | o1lo01ol1o | (~o1lo01ol1@176.78.51.169) (Remote host closed the connection) |
2021-01-19 00:03:58 +0100 | PhysiPysi | (~PhysiPysi@217.27.130.32) (Quit: Leaving) |
2021-01-19 00:04:56 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Remote host closed the connection) |
2021-01-19 00:05:14 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
2021-01-19 00:06:43 +0100 | saolof | (~olofs@90-227-86-119-no542.tbcn.telia.com) (Ping timeout: 260 seconds) |
2021-01-19 00:08:22 +0100 | jneira | (501ca940@gateway/web/cgi-irc/kiwiirc.com/ip.80.28.169.64) (Ping timeout: 246 seconds) |
2021-01-19 00:09:06 +0100 | conal | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
2021-01-19 00:09:38 +0100 | conal | (~conal@64.71.133.70) |
2021-01-19 00:09:47 +0100 | conal | (~conal@64.71.133.70) (Client Quit) |
2021-01-19 00:10:02 +0100 | Ariakenom | (~Ariakenom@2001:9b1:efb:fc00:28a2:232a:8cb0:d999) (Quit: Leaving) |
2021-01-19 00:13:37 +0100 | Tario | (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
2021-01-19 00:15:14 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Excess Flood) |
2021-01-19 00:16:29 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
2021-01-19 00:17:08 +0100 | gehmehgeh | (~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving) |
2021-01-19 00:17:38 +0100 | Deide | (~Deide@217.155.19.23) (Read error: Connection reset by peer) |
2021-01-19 00:17:58 +0100 | Deide | (~Deide@217.155.19.23) |
2021-01-19 00:26:01 +0100 | benb | (52456307@82-69-99-7.dsl.in-addr.zen.co.uk) (Quit: Ping timeout (120 seconds)) |
2021-01-19 00:27:37 +0100 | pera | (~pera@unaffiliated/pera) (Ping timeout: 246 seconds) |
2021-01-19 00:28:54 +0100 | aldessa | (~hugh@cpc158605-hari23-2-0-cust303.20-2.cable.virginm.net) |
2021-01-19 00:29:14 +0100 | tzh | (~xax@c-24-21-73-154.hsd1.or.comcast.net) (Quit: jddsvksn) |
2021-01-19 00:29:31 +0100 | <aldessa> | hi how do i pass rts options globally in stack.yaml? |
2021-01-19 00:29:56 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:6c35:c27b:9d47:22a1) |
2021-01-19 00:30:00 +0100 | <aldessa> | i'm doing under ghc-options:\n"$everything": "+RTS -A64M -RTS" and it doesn't work |
2021-01-19 00:30:37 +0100 | <aldessa> | i can pass "$everything": "-j24" just fine though |
2021-01-19 00:31:45 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:6c35:c27b:9d47:22a1) (Remote host closed the connection) |
2021-01-19 00:32:39 +0100 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
2021-01-19 00:32:47 +0100 | bogdanp | (~bogdanp@188.24.80.165) |
2021-01-19 00:33:11 +0100 | amiri | (~amiri@cpe-76-91-154-9.socal.res.rr.com) |
2021-01-19 00:37:23 +0100 | bogdanp | (~bogdanp@188.24.80.165) (Ping timeout: 260 seconds) |
2021-01-19 00:40:43 +0100 | neiluj | (~jco@unaffiliated/neiluj) (Quit: leaving) |
2021-01-19 00:42:19 +0100 | aldessa | (~hugh@cpc158605-hari23-2-0-cust303.20-2.cable.virginm.net) (Ping timeout: 246 seconds) |
2021-01-19 00:43:31 +0100 | aldessa | (~hugh@cpc158605-hari23-2-0-cust303.20-2.cable.virginm.net) |
2021-01-19 00:44:22 +0100 | cheater | (~user@unaffiliated/cheater) |
2021-01-19 00:45:18 +0100 | epicte7us | (~epictetus@ip184-187-162-163.sb.sd.cox.net) |
2021-01-19 00:45:25 +0100 | wroathe_ | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-01-19 00:46:01 +0100 | aldessa | (~hugh@cpc158605-hari23-2-0-cust303.20-2.cable.virginm.net) (Client Quit) |
2021-01-19 00:46:12 +0100 | jespada_ | (~jespada@90.254.245.49) |
2021-01-19 00:46:23 +0100 | Deide1 | (~Deide@217.155.19.23) |
2021-01-19 00:46:39 +0100 | mputz1 | (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) |
2021-01-19 00:46:51 +0100 | usr25_tm | (~usr25@unaffiliated/usr25) |
2021-01-19 00:47:18 +0100 | wroathe_ | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Client Quit) |
2021-01-19 00:47:41 +0100 | jespada | (~jespada@90.254.245.49) (Ping timeout: 256 seconds) |
2021-01-19 00:47:41 +0100 | meck | (~meck@li1809-18.members.linode.com) (Ping timeout: 256 seconds) |
2021-01-19 00:47:41 +0100 | Jd007 | (~Jd007@162.156.11.151) (Ping timeout: 256 seconds) |
2021-01-19 00:48:02 +0100 | Deide | (~Deide@217.155.19.23) (Ping timeout: 256 seconds) |
2021-01-19 00:48:02 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds) |
2021-01-19 00:48:02 +0100 | Neuromancer | (~Neuromanc@unaffiliated/neuromancer) (Ping timeout: 256 seconds) |
2021-01-19 00:48:02 +0100 | juri_ | (~juri@178.63.35.222) (Ping timeout: 256 seconds) |
2021-01-19 00:48:02 +0100 | noctux` | (vfJTRUTp3M@unaffiliated/noctux) (Ping timeout: 256 seconds) |
2021-01-19 00:48:20 +0100 | juri_ | (~juri@178.63.35.222) |
2021-01-19 00:48:22 +0100 | noctux` | (gtqXXADrE0@unaffiliated/noctux) |
2021-01-19 00:48:36 +0100 | ep1ctetus | (~epictetus@ip184-187-162-163.sb.sd.cox.net) (Ping timeout: 256 seconds) |
2021-01-19 00:48:36 +0100 | mputz | (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Ping timeout: 256 seconds) |
2021-01-19 00:48:36 +0100 | usr25 | (~usr25@unaffiliated/usr25) (Ping timeout: 256 seconds) |
2021-01-19 00:48:36 +0100 | Deewiant | (~deewiant@de1.ut.deewiant.iki.fi) (Ping timeout: 256 seconds) |
2021-01-19 00:48:39 +0100 | ph88^ | (~ph88@2a02:8109:9e00:7e5c:c85b:41a3:84e7:765d) |
2021-01-19 00:48:54 +0100 | Deewiant | (~deewiant@de1.ut.deewiant.iki.fi) |
2021-01-19 00:48:58 +0100 | mputz1 | mputz |
2021-01-19 00:52:17 +0100 | Tario | (~Tario@201.192.165.173) |
2021-01-19 00:52:58 +0100 | Gurkenglas | (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 256 seconds) |
2021-01-19 00:53:08 +0100 | frankdmartinez | (~frankdmar@208.91.107.132) (Quit: frankdmartinez) |
2021-01-19 00:53:10 +0100 | russruss4 | (~russruss@my.russellmcc.com) (Quit: The Lounge - https://thelounge.chat) |
2021-01-19 00:53:17 +0100 | meck | (~meck@li1809-18.members.linode.com) |
2021-01-19 00:53:31 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:6c35:c27b:9d47:22a1) |
2021-01-19 00:54:19 +0100 | russruss4 | (~russruss@my.russellmcc.com) |
2021-01-19 00:57:39 +0100 | hiroaki | (~hiroaki@ip4d166c42.dynamic.kabel-deutschland.de) (Ping timeout: 272 seconds) |
2021-01-19 00:58:49 +0100 | rhauch | (~rhauch@195.140.213.38) (Remote host closed the connection) |
2021-01-19 01:02:35 +0100 | conal | (~conal@64.71.133.70) |
2021-01-19 01:03:35 +0100 | p8m_ | (p8m@gateway/vpn/protonvpn/p8m) |
2021-01-19 01:04:07 +0100 | cantstanya | (~chatting@gateway/tor-sasl/cantstanya) (Remote host closed the connection) |
2021-01-19 01:05:28 +0100 | frankdmartinez | (~frankdmar@208.91.107.132) |
2021-01-19 01:05:48 +0100 | elfets | (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Quit: Leaving) |
2021-01-19 01:06:23 +0100 | cantstanya | (~chatting@gateway/tor-sasl/cantstanya) |
2021-01-19 01:06:28 +0100 | Tuplanolla | (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Ping timeout: 246 seconds) |
2021-01-19 01:06:34 +0100 | inkbottle | zebrag |
2021-01-19 01:08:57 +0100 | ph88^ | (~ph88@2a02:8109:9e00:7e5c:c85b:41a3:84e7:765d) (Ping timeout: 272 seconds) |
2021-01-19 01:12:06 +0100 | epicte7us | (~epictetus@ip184-187-162-163.sb.sd.cox.net) (Read error: Connection reset by peer) |
2021-01-19 01:12:08 +0100 | conal | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
2021-01-19 01:13:49 +0100 | directhex1 | (~directhex@141.98.102.227) |
2021-01-19 01:15:33 +0100 | jb55 | (~jb55@gateway/tor-sasl/jb55) (Remote host closed the connection) |
2021-01-19 01:15:55 +0100 | jb55 | (~jb55@gateway/tor-sasl/jb55) |
2021-01-19 01:20:37 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 264 seconds) |
2021-01-19 01:20:37 +0100 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 264 seconds) |
2021-01-19 01:24:39 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 256 seconds) |
2021-01-19 01:28:32 +0100 | Guest39046 | (~reda@4.ip-137-74-112.eu) (Changing host) |
2021-01-19 01:28:32 +0100 | Guest39046 | (~reda@unaffiliated/reda) |
2021-01-19 01:28:39 +0100 | Guest39046 | reda |
2021-01-19 01:30:10 +0100 | carldd1 | (~carldd@90-224-49-113-no56.tbcn.telia.com) |
2021-01-19 01:30:40 +0100 | carldd | (~carldd@90-224-49-113-no56.tbcn.telia.com) (Read error: Connection reset by peer) |
2021-01-19 01:30:43 +0100 | centril | (~centril@213-66-146-92-no250.tbcn.telia.com) (Ping timeout: 260 seconds) |
2021-01-19 01:31:09 +0100 | centril | (~centril@213-66-146-92-no250.tbcn.telia.com) |
2021-01-19 01:32:56 +0100 | lambda-11235 | (~lambda-11@2600:1700:7c70:4600:50e3:db3a:2e94:2ef6) (Ping timeout: 240 seconds) |
2021-01-19 01:33:05 +0100 | conal | (~conal@64.71.133.70) |
2021-01-19 01:33:27 +0100 | frankdmartinez | (~frankdmar@208.91.107.132) (Quit: frankdmartinez) |
2021-01-19 01:34:11 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-19 01:34:14 +0100 | usr25_tm | (~usr25@unaffiliated/usr25) (Quit: Leaving) |
2021-01-19 01:37:17 +0100 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) |
2021-01-19 01:37:42 +0100 | london | (~london@pool-108-28-184-193.washdc.fios.verizon.net) |
2021-01-19 01:37:57 +0100 | LKoen | (~LKoen@119.169.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-01-19 01:38:36 +0100 | directhex1 | (~directhex@141.98.102.227) (Ping timeout: 240 seconds) |
2021-01-19 01:45:13 +0100 | mputz | (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Ping timeout: 264 seconds) |
2021-01-19 01:47:22 +0100 | tsrt^ | (~hph@ip98-184-89-2.mc.at.cox.net) () |
2021-01-19 01:47:49 +0100 | Stanley00 | (~stanley00@unaffiliated/stanley00) |
2021-01-19 01:48:53 +0100 | olligobber | (olligobber@gateway/vpn/privateinternetaccess/olligobber) |
2021-01-19 01:49:32 +0100 | frankdmartinez | (~frankdmar@208.91.107.132) |
2021-01-19 01:49:32 +0100 | frankdmartinez | (~frankdmar@208.91.107.132) (Client Quit) |
2021-01-19 01:52:05 +0100 | Tario | (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
2021-01-19 01:52:55 +0100 | Tario | (~Tario@201.192.165.173) |
2021-01-19 01:55:14 +0100 | Deide1 | (~Deide@217.155.19.23) (Quit: Seeee yaaaa) |
2021-01-19 01:56:36 +0100 | Stanley00 | (~stanley00@unaffiliated/stanley00) (Ping timeout: 256 seconds) |
2021-01-19 01:59:01 +0100 | former_ocamler | (3263cbdb@50.99.203.219) |
2021-01-19 01:59:23 +0100 | vs^ | (vs@ip98-184-89-2.mc.at.cox.net) |
2021-01-19 01:59:28 +0100 | <former_ocamler> | hi friends, i'm not 100% sure what the compilation error is here, any help would be appreciated: |
2021-01-19 01:59:28 +0100 | <former_ocamler> | tmp :: String -> [Int] |
2021-01-19 01:59:29 +0100 | <former_ocamler> | tmp = tail . lines <$> words <$> read <$> (foldr xor 0) |
2021-01-19 01:59:39 +0100 | <former_ocamler> | requires import Data.Bits |
2021-01-19 01:59:59 +0100 | Alleria | (~textual@2603-7000-3040-0000-6de2-9de3-adc0-7711.res6.spectrum.com) |
2021-01-19 02:00:23 +0100 | Alleria | Guest77901 |
2021-01-19 02:01:16 +0100 | <koz_> | former_ocamler: What's this supposed to do? |
2021-01-19 02:02:07 +0100 | <former_ocamler> | read input that looks like a line of integers |
2021-01-19 02:02:08 +0100 | <former_ocamler> | # throw away this line |
2021-01-19 02:02:08 +0100 | <former_ocamler> | 1 2 1 1 2 8 8 |
2021-01-19 02:02:09 +0100 | <former_ocamler> | 1 1 0 0 5 5 |
2021-01-19 02:02:09 +0100 | <former_ocamler> | 2 |
2021-01-19 02:02:24 +0100 | <former_ocamler> | and return the xor of all the lines in a list -> [1, 0, 2] |
2021-01-19 02:02:51 +0100 | <former_ocamler> | well the input reading is done elsewhere |
2021-01-19 02:03:18 +0100 | <koz_> | Have you tried writing it not-pointfree? |
2021-01-19 02:03:23 +0100 | <koz_> | It might make the error more apparent. |
2021-01-19 02:03:43 +0100 | <former_ocamler> | oh good point, ill try that |
2021-01-19 02:03:55 +0100 | <siraben> | former_ocamler: also you'll want to use foldl' instead of foldr |
2021-01-19 02:04:04 +0100 | <siraben> | xor is associative, so this change is safe. |
2021-01-19 02:04:05 +0100 | <koz_> | siraben: That's a low priority. |
2021-01-19 02:04:12 +0100 | <koz_> | Let's get code that compiles first. |
2021-01-19 02:04:18 +0100 | rajivr | (uid269651@gateway/web/irccloud.com/x-sozgnodbahkqqgom) |
2021-01-19 02:04:19 +0100 | <siraben> | right |
2021-01-19 02:04:47 +0100 | Guest77901 | (~textual@2603-7000-3040-0000-6de2-9de3-adc0-7711.res6.spectrum.com) (Ping timeout: 260 seconds) |
2021-01-19 02:05:23 +0100 | <siraben> | The parsing seems to be incorrect as well |
2021-01-19 02:05:38 +0100 | <koz_> | siraben: Hence why I think a good first step is 'don't write this pointless'. |
2021-01-19 02:05:44 +0100 | <koz_> | Since that'd make it apparent rather quickly. |
2021-01-19 02:05:50 +0100 | <siraben> | mm |
2021-01-19 02:08:37 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
2021-01-19 02:09:08 +0100 | <former_ocamler> | found one error, replaced read with (fmap read) |
2021-01-19 02:10:45 +0100 | conal | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
2021-01-19 02:11:15 +0100 | adeene | (~adeene@181.131.0.191) |
2021-01-19 02:11:19 +0100 | <adeene> | ola |
2021-01-19 02:11:27 +0100 | <adeene> | este es un canal de programadores? |
2021-01-19 02:11:58 +0100 | <koz_> | adeene: este es un canal where we speak English. |
2021-01-19 02:13:53 +0100 | JJ15_ | (~JJ@2a00:23a8:4382:a900:fcf7:2eda:8a08:e4bf) |
2021-01-19 02:16:09 +0100 | <former_ocamler> | oh I think I might be using the fmap operator backwards? |
2021-01-19 02:18:17 +0100 | JJ15 | (~JJ@2a00:23a8:4382:a900:824:234b:c258:aff8) (Ping timeout: 260 seconds) |
2021-01-19 02:18:18 +0100 | columbarius1 | (~columbari@mue-88-130-54-186.dsl.tropolys.de) (Ping timeout: 260 seconds) |
2021-01-19 02:18:49 +0100 | xff0x_ | (~xff0x@port-92-195-7-153.dynamic.as20676.net) (Ping timeout: 264 seconds) |
2021-01-19 02:20:18 +0100 | columbarius1 | (~columbari@mue-88-130-54-057.dsl.tropolys.de) |
2021-01-19 02:21:08 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-01-19 02:21:26 +0100 | hexo | (~hexo@gateway/tor-sasl/hexo) (Ping timeout: 268 seconds) |
2021-01-19 02:22:40 +0100 | srk | (~sorki@gateway/tor-sasl/sorki) (Ping timeout: 268 seconds) |
2021-01-19 02:23:42 +0100 | srk | (~sorki@gateway/tor-sasl/sorki) |
2021-01-19 02:23:42 +0100 | hexo | (~hexo@gateway/tor-sasl/hexo) |
2021-01-19 02:23:49 +0100 | <former_ocamler> | okay I've managed to get it to compile: |
2021-01-19 02:23:49 +0100 | <former_ocamler> | tmp4 :: String -> [Int] |
2021-01-19 02:23:50 +0100 | <former_ocamler> | tmp4 s = foldr xor 0 <$> (fmap read) <$> words <$> (tail . lines $ s) |
2021-01-19 02:24:08 +0100 | <former_ocamler> | anyone know if its possible to avoid naming the argument here? |
2021-01-19 02:25:26 +0100 | <koz_> | @pl \s -> fold xor 0 <$> (fmap read) <$> words <$> (tail . lines $ s) |
2021-01-19 02:25:27 +0100 | <lambdabot> | ((fold xor 0 <$> fmap read <$> words) <$>) . tail . lines |
2021-01-19 02:25:30 +0100 | <koz_> | Here. |
2021-01-19 02:25:37 +0100 | <koz_> | Although I would argue that this is not more readable. |
2021-01-19 02:25:48 +0100 | <koz_> | Heck, I'd argue that the named arg version is not readable! |
2021-01-19 02:25:54 +0100 | <former_ocamler> | yeah same |
2021-01-19 02:25:59 +0100 | <koz_> | The chained <$> is _especially_ egregious. |
2021-01-19 02:26:40 +0100 | <former_ocamler> | oh I thought chaining <$> was considered to be the correct way of composing fmaps |
2021-01-19 02:26:59 +0100 | <koz_> | .... no? |
2021-01-19 02:27:12 +0100 | <koz_> | As in, this is literally not a thing I have ever heard anyone claim or say literally in any place. |
2021-01-19 02:27:20 +0100 | <koz_> | <$> is just an infix fmap. |
2021-01-19 02:27:49 +0100 | <former_ocamler> | oh lol, okay here is another version ive made |
2021-01-19 02:27:50 +0100 | <former_ocamler> | tmp5 :: String -> [Int] |
2021-01-19 02:27:50 +0100 | <former_ocamler> | tmp5 s = ((foldr xor 0) . (fmap read) . words) <$> (tail . lines $ s) |
2021-01-19 02:27:58 +0100 | <koz_> | That is significantly less terrible. |
2021-01-19 02:28:09 +0100 | <former_ocamler> | hahahaha thank you! |
2021-01-19 02:28:27 +0100 | <koz_> | <$> is just fmap that happens to be infix. |
2021-01-19 02:28:33 +0100 | <koz_> | :t fmap |
2021-01-19 02:28:35 +0100 | <lambdabot> | Functor f => (a -> b) -> f a -> f b |
2021-01-19 02:28:37 +0100 | <koz_> | :t (<$>) |
2021-01-19 02:28:39 +0100 | <lambdabot> | Functor f => (a -> b) -> f a -> f b |
2021-01-19 02:29:25 +0100 | <glguy> | :t fmap (foldr xor 0 . fmap read . words) . tail . lines |
2021-01-19 02:29:26 +0100 | <lambdabot> | (Bits b, Num b, Read b) => String -> [b] |
2021-01-19 02:32:25 +0100 | benb | (52456307@82-69-99-7.dsl.in-addr.zen.co.uk) |
2021-01-19 02:33:04 +0100 | bogdanp | (~bogdanp@188.24.80.165) |
2021-01-19 02:35:34 +0100 | <monochrom> | I think that a problem with chaining <$>s is that no one remembers whether <$> associates to the left or to the right. Without that information, chaining <$>s is an encryption. |
2021-01-19 02:36:21 +0100 | <former_ocamler> | hahaha yeah I ran into that for sure today, tbh "." sort of messes me up sometimes as well, cause i confuse it with $ |
2021-01-19 02:36:56 +0100 | <former_ocamler> | do you pro haskeller's spend a lot of time converting to point-free code, or is it just natural to you? |
2021-01-19 02:37:13 +0100 | <monochrom> | . is different. "f . g . h" is just like unix pipelining "h | g | f". And no one has trouble with unix pipelining. |
2021-01-19 02:37:28 +0100 | bogdanp | (~bogdanp@188.24.80.165) (Ping timeout: 246 seconds) |
2021-01-19 02:37:45 +0100 | <monochrom> | And . is associative both ways. |
2021-01-19 02:37:50 +0100 | <monochrom> | (So is | ) |
2021-01-19 02:39:15 +0100 | andreas303 | (~andreas@gateway/tor-sasl/andreas303) (Remote host closed the connection) |
2021-01-19 02:39:25 +0100 | <monochrom> | I write what makes sense for each scenerio. I don't know what "natural" means. Does it have a meaning? |
2021-01-19 02:39:54 +0100 | andreas303 | (~andreas@gateway/tor-sasl/andreas303) |
2021-01-19 02:40:00 +0100 | former_ocamler | (3263cbdb@50.99.203.219) (Quit: Connection closed) |
2021-01-19 02:41:41 +0100 | xff0x_ | (~xff0x@2001:1a81:53a7:7f00:cf3d:9916:d616:6e16) |
2021-01-19 02:43:23 +0100 | shatriff | (~vitaliish@176-52-216-242.irishtelecom.com) |
2021-01-19 02:43:38 +0100 | hexo | (~hexo@gateway/tor-sasl/hexo) (Ping timeout: 268 seconds) |
2021-01-19 02:43:38 +0100 | srk | (~sorki@gateway/tor-sasl/sorki) (Ping timeout: 268 seconds) |
2021-01-19 02:44:03 +0100 | srk | (~sorki@gateway/tor-sasl/sorki) |
2021-01-19 02:44:04 +0100 | hexo | (~hexo@gateway/tor-sasl/hexo) |
2021-01-19 02:50:03 +0100 | m0rphism | (~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) (Ping timeout: 260 seconds) |
2021-01-19 02:52:42 +0100 | f-a | (~f-a@151.34.52.239) |
2021-01-19 02:55:58 +0100 | Kaeipi | (~Kaiepi@47.54.252.148) (Remote host closed the connection) |
2021-01-19 02:55:59 +0100 | JJ15_ | (~JJ@2a00:23a8:4382:a900:fcf7:2eda:8a08:e4bf) (Quit: Leaving) |
2021-01-19 02:57:22 +0100 | Kaeipi | (~Kaiepi@47.54.252.148) |
2021-01-19 02:57:39 +0100 | <xsperry> | :t map (foldr xor 0 . map read . words) . tail . lines |
2021-01-19 02:57:40 +0100 | <lambdabot> | (Bits b, Num b, Read b) => String -> [b] |
2021-01-19 02:57:58 +0100 | Kaeipi | (~Kaiepi@47.54.252.148) (Remote host closed the connection) |
2021-01-19 02:58:38 +0100 | jespada_ | (~jespada@90.254.245.49) (Ping timeout: 272 seconds) |
2021-01-19 03:01:28 +0100 | Kaeipi | (~Kaiepi@47.54.252.148) |
2021-01-19 03:02:26 +0100 | f-a | (~f-a@151.34.52.239) () |
2021-01-19 03:04:41 +0100 | jespada | (~jespada@90.254.241.81) |
2021-01-19 03:09:00 +0100 | conal | (~conal@64.71.133.70) |
2021-01-19 03:09:58 +0100 | Kaeipi | (~Kaiepi@47.54.252.148) (Remote host closed the connection) |
2021-01-19 03:10:43 +0100 | Kaeipi | (~Kaiepi@47.54.252.148) |
2021-01-19 03:11:03 +0100 | Rudd0 | (~Rudd0@185.189.115.103) (Ping timeout: 260 seconds) |
2021-01-19 03:11:03 +0100 | lambda-11235 | (~lambda-11@2600:1700:7c70:4600:c862:8756:823c:2b6b) |
2021-01-19 03:11:28 +0100 | Kaeipi | (~Kaiepi@47.54.252.148) (Remote host closed the connection) |
2021-01-19 03:11:37 +0100 | hyperisco | (~hyperisco@104-195-141-253.cpe.teksavvy.com) (Ping timeout: 264 seconds) |
2021-01-19 03:12:21 +0100 | Kaeipi | (~Kaiepi@47.54.252.148) |
2021-01-19 03:12:49 +0100 | nineonine | (~nineonine@50.216.62.2) (Ping timeout: 264 seconds) |
2021-01-19 03:13:06 +0100 | <justsomeguy> | I think of Data.Function.((&)) as being like a unix pipeline, and (.) as a pipeline in reverse. |
2021-01-19 03:14:50 +0100 | <justsomeguy> | ...which I just now noticed that you illustrated in your example. |
2021-01-19 03:14:55 +0100 | minne | (~minne_@51.194.80.91) (Ping timeout: 246 seconds) |
2021-01-19 03:15:10 +0100 | <ephemient> | :i <$> |
2021-01-19 03:15:15 +0100 | xff0x_ | (~xff0x@2001:1a81:53a7:7f00:cf3d:9916:d616:6e16) (Ping timeout: 260 seconds) |
2021-01-19 03:15:26 +0100 | <ephemient> | % :i <$> |
2021-01-19 03:15:26 +0100 | <yahb> | ephemient: (<$>) :: Functor f => (a -> b) -> f a -> f b -- Defined in `Data.Functor'; infixl 4 <$> |
2021-01-19 03:15:27 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
2021-01-19 03:15:45 +0100 | <ephemient> | (not sure how to get lambdabot to spit out the same) |
2021-01-19 03:16:02 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2021-01-19 03:16:13 +0100 | <ephemient> | all the <$, <$>, $>, <*, <*>, *> functions are left associative |
2021-01-19 03:16:54 +0100 | xff0x_ | (~xff0x@2001:1a81:53c4:c00:1d1:2793:e84f:a616) |
2021-01-19 03:20:22 +0100 | <nshepperd2> | spooky |
2021-01-19 03:20:51 +0100 | <siraben> | dang former_ocamler left |
2021-01-19 03:20:56 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
2021-01-19 03:21:03 +0100 | <siraben> | i was gonna say, using the map functor law and foldr/map fusion law we have |
2021-01-19 03:21:05 +0100 | <siraben> | tmp5 s = foldr (xor . read) 0 . words <$> (tail . lines $ s) |
2021-01-19 03:21:11 +0100 | <nshepperd2> | 'f <$> g <$> x' works because the first <$> uses the Functor instance for functions |
2021-01-19 03:21:55 +0100 | <ephemient> | I don't know if this is the justification, but >>= only makes sense as left associative, so might as well have everything else be left associative too? |
2021-01-19 03:22:08 +0100 | <siraben> | Better: tmp5 s = foldl' (flip (xor . read)) 0 . words <$> (tail . lines $ s) |
2021-01-19 03:27:55 +0100 | lambda-11235 | (~lambda-11@2600:1700:7c70:4600:c862:8756:823c:2b6b) (Max SendQ exceeded) |
2021-01-19 03:28:27 +0100 | drbean | (~drbean@TC210-63-209-49.static.apol.com.tw) |
2021-01-19 03:28:29 +0100 | lambda-11235 | (~lambda-11@2600:1700:7c70:4600:c862:8756:823c:2b6b) |
2021-01-19 03:28:43 +0100 | <ephemient> | hmm... |
2021-01-19 03:29:03 +0100 | <ephemient> | > f <*> a `ap` b |
2021-01-19 03:29:05 +0100 | <lambdabot> | error: |
2021-01-19 03:29:05 +0100 | <lambdabot> | • Couldn't match expected type ‘f (a0 -> a1)’ |
2021-01-19 03:29:05 +0100 | <lambdabot> | with actual type ‘Expr’ |
2021-01-19 03:29:18 +0100 | <ephemient> | :t \f a b -> f <*> a `ap` b |
2021-01-19 03:29:20 +0100 | <lambdabot> | Monad f => f (a1 -> b) -> f (a2 -> a1) -> f a2 -> f b |
2021-01-19 03:29:29 +0100 | <ephemient> | :t \f a b -> f `ap` a <*> b |
2021-01-19 03:29:30 +0100 | <lambdabot> | Monad f => f (a1 -> a2 -> b) -> f a1 -> f a2 -> f b |
2021-01-19 03:29:42 +0100 | <ephemient> | that feels unfortunate |
2021-01-19 03:30:02 +0100 | pja | (~phil@2a02:8010:6098:0:f2de:f1ff:fe2c:3d9) (Ping timeout: 264 seconds) |
2021-01-19 03:30:58 +0100 | <ephemient> | is it too late to declare a fixity for `ap`? |
2021-01-19 03:31:20 +0100 | <siraben> | I thought you can't declare fixity for ad-hoc infix? |
2021-01-19 03:31:38 +0100 | <ephemient> | sure you can |
2021-01-19 03:31:47 +0100 | viluon | (uid453725@gateway/web/irccloud.com/x-driokqiqmgrrqcka) (Quit: Connection closed for inactivity) |
2021-01-19 03:32:29 +0100 | <ephemient> | % :i mod |
2021-01-19 03:32:30 +0100 | <yahb> | ephemient: type Integral :: * -> Constraint; class (Real a, Enum a) => Integral a where; ...; mod :: a -> a -> a; ...; -- Defined in `GHC.Real'; infixl 7 `mod` |
2021-01-19 03:34:24 +0100 | pja | (~phil@2a02:8010:6098:0:f2de:f1ff:fe2c:3d9) |
2021-01-19 03:34:59 +0100 | london | (~london@pool-108-28-184-193.washdc.fios.verizon.net) (Ping timeout: 256 seconds) |
2021-01-19 03:36:53 +0100 | <monochrom> | You can declare fixity in the same file you define the name. No difference between "alphabetical" name and "symbolic" name. |
2021-01-19 03:38:40 +0100 | bogdanp | (~bogdanp@188.24.80.165) |
2021-01-19 03:40:54 +0100 | frankdmartinez | (~frankdmar@208.91.107.132) |
2021-01-19 03:40:54 +0100 | frankdmartinez | (~frankdmar@208.91.107.132) (Client Quit) |
2021-01-19 03:40:57 +0100 | xff0x_ | (~xff0x@2001:1a81:53c4:c00:1d1:2793:e84f:a616) (Ping timeout: 272 seconds) |
2021-01-19 03:41:45 +0100 | Aquazi | (uid312403@gateway/web/irccloud.com/x-oaoeybeprgtveedp) (Quit: Connection closed for inactivity) |
2021-01-19 03:42:41 +0100 | benb | (52456307@82-69-99-7.dsl.in-addr.zen.co.uk) (Quit: Ping timeout (120 seconds)) |
2021-01-19 03:42:42 +0100 | ADG1089_ | (~adg1089@122.163.219.236) |
2021-01-19 03:43:25 +0100 | bogdanp | (~bogdanp@188.24.80.165) (Ping timeout: 264 seconds) |
2021-01-19 03:43:25 +0100 | ADG1089_ | (~adg1089@122.163.219.236) (Read error: Connection reset by peer) |
2021-01-19 03:43:37 +0100 | Kaeipi | (~Kaiepi@47.54.252.148) (Remote host closed the connection) |
2021-01-19 03:43:59 +0100 | Kaeipi | (~Kaiepi@47.54.252.148) |
2021-01-19 03:44:56 +0100 | bogdanp | (~bogdanp@188.24.80.165) |
2021-01-19 03:45:17 +0100 | niekvandepas | (~niekvande@dhcp-077-249-088-250.chello.nl) |
2021-01-19 03:46:22 +0100 | plutoniix | (~q@184.82.204.73) |
2021-01-19 03:46:49 +0100 | ADG1089_ | (~adg1089@122.163.219.236) |
2021-01-19 03:46:49 +0100 | ADG1089_ | (~adg1089@122.163.219.236) (Read error: Connection reset by peer) |
2021-01-19 03:47:17 +0100 | pja | (~phil@2a02:8010:6098:0:f2de:f1ff:fe2c:3d9) (Ping timeout: 272 seconds) |
2021-01-19 03:47:46 +0100 | pja | (~phil@2a02:8010:6098:0:f2de:f1ff:fe2c:3d9) |
2021-01-19 03:49:43 +0100 | niekvandepas | (~niekvande@dhcp-077-249-088-250.chello.nl) (Ping timeout: 256 seconds) |
2021-01-19 03:49:43 +0100 | bogdanp | (~bogdanp@188.24.80.165) (Ping timeout: 256 seconds) |
2021-01-19 03:54:24 +0100 | magnuscake | (~magnuscak@87-121-92-61.dyn.launtel.net.au) |
2021-01-19 03:55:24 +0100 | Stanley00 | (~stanley00@unaffiliated/stanley00) |
2021-01-19 03:55:27 +0100 | ADG1089_ | (~adg1089@122.163.219.236) |
2021-01-19 03:55:27 +0100 | sayola | (~vekto@dslb-002-201-085-014.002.201.pools.vodafone-ip.de) |
2021-01-19 03:56:00 +0100 | <magnuscake> | Hello fellow Haskellers! I recently came across some code and would really appreciate if you could help me wrap my mind around it. So I have the following code |
2021-01-19 03:56:00 +0100 | ADG1089_ | (~adg1089@122.163.219.236) (Read error: Connection reset by peer) |
2021-01-19 03:56:29 +0100 | <magnuscake> | applyTimes :: (Eq a, Num a) => a -> (b -> b) -> b |
2021-01-19 03:56:36 +0100 | <magnuscake> | applyTimes 0 f b = b |
2021-01-19 03:56:43 +0100 | frankdmartinez | (~frankdmar@208.91.107.132) |
2021-01-19 03:56:58 +0100 | ADG1089_ | (~adg1089@122.163.219.236) |
2021-01-19 03:57:02 +0100 | <magnuscake> | applyTimes n f b = f . applyTimes (n - 1) f $ b |
2021-01-19 03:57:13 +0100 | <magnuscake> | This of course is a recursive function |
2021-01-19 03:57:27 +0100 | <magnuscake> | Now I shall apply the function as follows: |
2021-01-19 03:57:41 +0100 | <magnuscake> | applyTimes 3 (+1) 7 |
2021-01-19 03:57:57 +0100 | <magnuscake> | The result comes to 10 |
2021-01-19 03:58:47 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:6c35:c27b:9d47:22a1) (Remote host closed the connection) |
2021-01-19 03:58:54 +0100 | <glguy> | correct |
2021-01-19 03:58:54 +0100 | <magnuscake> | Which is correct however I don't understand why the application only increments it once. We are using composition; |
2021-01-19 03:58:59 +0100 | <magnuscake> | f . applyTimes |
2021-01-19 03:59:05 +0100 | <magnuscake> | but then there is also |
2021-01-19 03:59:10 +0100 | <magnuscake> | f $ b |
2021-01-19 03:59:26 +0100 | <glguy> | get rid of the . and $ noise |
2021-01-19 03:59:33 +0100 | urodna | (~urodna@unaffiliated/urodna) (Quit: urodna) |
2021-01-19 03:59:40 +0100 | <glguy> | f . applyTimes (n - 1) f $ b --becomes-- f (applyTimes (n - 1) f b) |
2021-01-19 03:59:43 +0100 | <magnuscake> | so technically won't `f $ b` produce a result and then get applied to f again? |
2021-01-19 03:59:59 +0100 | <magnuscake> | ok |
2021-01-19 04:00:28 +0100 | sgibber2018 | (d055ed90@208.85.237.144) |
2021-01-19 04:00:49 +0100 | <glguy> | a b $ c --means-- (a b) c |
2021-01-19 04:00:55 +0100 | <glguy> | not: a (b c) |
2021-01-19 04:01:27 +0100 | nineonine | (~nineonine@50.216.62.2) |
2021-01-19 04:01:39 +0100 | <magnuscake> | So remove the $ |
2021-01-19 04:01:41 +0100 | <magnuscake> | and we get |
2021-01-19 04:02:07 +0100 | <magnuscake> | (f . applyTimes (n - 1)) f b |
2021-01-19 04:02:12 +0100 | <glguy> | f . applyTimes (n - 1) f $ b --remove$-- (f . applyTimes (n - 1) f) b |
2021-01-19 04:02:13 +0100 | <magnuscake> | Correct? |
2021-01-19 04:02:45 +0100 | <ephemient> | no |
2021-01-19 04:03:42 +0100 | <glguy> | f . a b c $ x --is-- (f . ((a b) c)) $ x |
2021-01-19 04:03:46 +0100 | <ephemient> | it means f . (applyTimes (n - 1) f) $ b |
2021-01-19 04:04:00 +0100 | <ephemient> | function application is left associative and binds tighter than anything else |
2021-01-19 04:04:45 +0100 | <magnuscake> | Ok so if we were to apply the function like above |
2021-01-19 04:04:47 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-19 04:05:10 +0100 | <magnuscake> | applyTimes 3 (+1) 7 |
2021-01-19 04:05:14 +0100 | <magnuscake> | becomes |
2021-01-19 04:05:56 +0100 | <magnuscake> | ((+1) . applyTimes (3 - 1) (+1)) 7 |
2021-01-19 04:05:59 +0100 | <magnuscake> | Correct? |
2021-01-19 04:06:19 +0100 | <ephemient> | good so far |
2021-01-19 04:06:32 +0100 | <magnuscake> | Ok |
2021-01-19 04:07:02 +0100 | <magnuscake> | Im not going to recurse through this so we evaluate it as given |
2021-01-19 04:07:25 +0100 | <ephemient> | you need the definition of (.) to evaluate this |
2021-01-19 04:08:10 +0100 | <ephemient> | ((+1) . applyTimes 2 (+1)) 7 == (.) (+1) (applyTimes 2 (+1)) 7 |
2021-01-19 04:08:19 +0100 | <magnuscake> | Yes so first applyTimes is evaluated to produce the result correct? |
2021-01-19 04:08:53 +0100 | <magnuscake> | Because then that result is passed to (+1) on the left side, right? |
2021-01-19 04:09:10 +0100 | <magnuscake> | (.) :: (b -> c) -> (a -> b) -> c |
2021-01-19 04:09:24 +0100 | <ephemient> | (.) f g a = f (g a), so yes, this becomes (+1) (applyTimes 2 (+1) 7) |
2021-01-19 04:10:59 +0100 | <magnuscake> | Ok since we are applying (+1) to 7 and ignoring 2 for the sake of ease, we would get 8 correct? |
2021-01-19 04:11:29 +0100 | <magnuscake> | something like but not accurate to; |
2021-01-19 04:11:57 +0100 | <magnuscake> | (.) (+1) (applyTimes 8) |
2021-01-19 04:12:20 +0100 | bogdanp | (~bogdanp@188.24.80.165) |
2021-01-19 04:12:27 +0100 | <magnuscake> | I know this is not right but I am trying the understand how the (+1) ties into all of this |
2021-01-19 04:12:39 +0100 | <ephemient> | no |
2021-01-19 04:12:45 +0100 | <magnuscake> | *(+1) on the left |
2021-01-19 04:12:57 +0100 | <magnuscake> | Oh |
2021-01-19 04:13:31 +0100 | <ephemient> | applyTimes 2 (+1) 7 == ((applyTimes 2) (+1)) 7 |
2021-01-19 04:13:36 +0100 | <ephemient> | not sure where you get the 8 from |
2021-01-19 04:14:57 +0100 | <Feuermagier> | what does "Char :->: String" mean? |
2021-01-19 04:15:17 +0100 | <glguy> | Feuermagier, it means someone made up the operator :->: and used it with Char and String |
2021-01-19 04:15:28 +0100 | <Feuermagier> | ah, wonderful |
2021-01-19 04:15:31 +0100 | hexo | (~hexo@gateway/tor-sasl/hexo) (Ping timeout: 268 seconds) |
2021-01-19 04:15:31 +0100 | srk | (~sorki@gateway/tor-sasl/sorki) (Ping timeout: 268 seconds) |
2021-01-19 04:15:52 +0100 | srk | (~sorki@gateway/tor-sasl/sorki) |
2021-01-19 04:15:52 +0100 | hexo | (~hexo@gateway/tor-sasl/hexo) |
2021-01-19 04:15:55 +0100 | <Feuermagier> | didn't even know that one can do that in haskell |
2021-01-19 04:16:01 +0100 | <magnuscake> | I was using the original function def as given above to apply (+1) to 7 |
2021-01-19 04:16:07 +0100 | acidjnk_new | (~acidjnk@p200300d0c704e739989dd075055fe92d.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2021-01-19 04:16:18 +0100 | <magnuscake> | Guess I was wrong there |
2021-01-19 04:16:36 +0100 | bogdanp | (~bogdanp@188.24.80.165) (Ping timeout: 240 seconds) |
2021-01-19 04:17:18 +0100 | <magnuscake> | SO just to be clear |
2021-01-19 04:17:54 +0100 | <magnuscake> | applyTimes n f b = f . applyTimes (n - 1) f $ b |
2021-01-19 04:17:55 +0100 | nilof | (~olofs@90-227-86-119-no542.tbcn.telia.com) (Ping timeout: 246 seconds) |
2021-01-19 04:18:12 +0100 | <magnuscake> | How come f is only being applied once here? |
2021-01-19 04:18:27 +0100 | <glguy> | f isn't being applied any times there |
2021-01-19 04:18:46 +0100 | <glguy> | it's just an argument to (.) and an argument to (applyTimes (n-1)) |
2021-01-19 04:19:29 +0100 | <glguy> | f . applyTimes (n - 1) f $ b --is_a_more_confusing-- f (applyTimes (n - 1) f b) |
2021-01-19 04:20:12 +0100 | <glguy> | applyTimes 3 f b == f (applyTimes 2 f b) == f (f (applyTimes 1 f b)) == f (f (f (applyTimes 0 f b))) == f (f (f b)) |
2021-01-19 04:21:57 +0100 | <magnuscake> | Oh yes that makes complete sense now!! |
2021-01-19 04:22:35 +0100 | <magnuscake> | Thank you very much glguy and ephemient. Really appreciate your help |
2021-01-19 04:23:12 +0100 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving) |
2021-01-19 04:23:15 +0100 | <ephemient> | Feuermagier: as :->: starts with a :, it must be a type, data constructor, or type operator |
2021-01-19 04:23:38 +0100 | <Feuermagier> | I have a "data Rule = Char :->: String " |
2021-01-19 04:23:48 +0100 | <ephemient> | yep, that's a data constructor there |
2021-01-19 04:24:15 +0100 | <ephemient> | it's the same as writing data Rule = RuleConstructor Char String, except RuleConstructor is named (:->:) |
2021-01-19 04:24:25 +0100 | <Feuermagier> | ah |
2021-01-19 04:24:42 +0100 | jedws | (~jedws@121.209.139.157) |
2021-01-19 04:24:51 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:6c35:c27b:9d47:22a1) |
2021-01-19 04:24:51 +0100 | <Feuermagier> | so like ` but for constructors? |
2021-01-19 04:25:12 +0100 | <ephemient> | hmm, not quite. more like upper case |
2021-01-19 04:26:12 +0100 | <ephemient> | alphabetical names starting with upper case are modules, types, or data constructors; alphabetical names starting with lower case are type variables or variables |
2021-01-19 04:26:57 +0100 | <ephemient> | similarly, symbolic names starting with : are types, data constructors, or type operators; symbolic names not starting with : are variables |
2021-01-19 04:27:50 +0100 | Saukk | (~Saukk@83-148-239-3.dynamic.lounea.fi) |
2021-01-19 04:28:16 +0100 | <ephemient> | > let a --> b = [a..b] in 1 --> 3 |
2021-01-19 04:28:18 +0100 | <lambdabot> | [1,2,3] |
2021-01-19 04:28:44 +0100 | <ephemient> | same idea, but for a constructor instead of a binding |
2021-01-19 04:34:38 +0100 | nineonine | (~nineonine@50.216.62.2) (Remote host closed the connection) |
2021-01-19 04:35:18 +0100 | nineonine | (~nineonine@50.216.62.2) |
2021-01-19 04:37:05 +0100 | justsomeguy | (~justsomeg@unaffiliated/--/x-3805311) (Ping timeout: 240 seconds) |
2021-01-19 04:37:26 +0100 | ahf | (ahf@irssi/staff/ahf) (Remote host closed the connection) |
2021-01-19 04:37:33 +0100 | ahf | (ahf@irssi/staff/ahf) |
2021-01-19 04:37:39 +0100 | ahf_ | (ahf@irssi/staff/ahf) |
2021-01-19 04:38:05 +0100 | theDon | (~td@muedsl-82-207-238-201.citykom.de) (Ping timeout: 240 seconds) |
2021-01-19 04:38:40 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-01-19 04:38:57 +0100 | srk | (~sorki@gateway/tor-sasl/sorki) (Ping timeout: 268 seconds) |
2021-01-19 04:39:34 +0100 | hexo | (~hexo@gateway/tor-sasl/hexo) (Ping timeout: 268 seconds) |
2021-01-19 04:40:01 +0100 | theDon | (~td@94.134.91.134) |
2021-01-19 04:41:13 +0100 | ADG1089_ | (~adg1089@122.163.219.236) (Ping timeout: 272 seconds) |
2021-01-19 04:41:32 +0100 | srk | (~sorki@gateway/tor-sasl/sorki) |
2021-01-19 04:41:32 +0100 | hexo | (~hexo@gateway/tor-sasl/hexo) |
2021-01-19 04:44:55 +0100 | mirrorbird | (~psutcliff@2a00:801:42b:aff3:74af:2f22:932d:eac0) (Ping timeout: 272 seconds) |
2021-01-19 04:45:01 +0100 | olligobber | (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Remote host closed the connection) |
2021-01-19 04:45:32 +0100 | adeene | (~adeene@181.131.0.191) (Read error: Connection reset by peer) |
2021-01-19 04:45:55 +0100 | jamm | (~jamm@unaffiliated/jamm) |
2021-01-19 04:46:26 +0100 | adeene | (~adeene@181.131.0.191) |
2021-01-19 04:47:01 +0100 | olligobber | (olligobber@gateway/vpn/privateinternetaccess/olligobber) |
2021-01-19 04:48:06 +0100 | Tario | (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
2021-01-19 04:50:11 +0100 | adeene | (~adeene@181.131.0.191) (Read error: Connection reset by peer) |
2021-01-19 04:50:27 +0100 | jamm | (~jamm@unaffiliated/jamm) (Ping timeout: 260 seconds) |
2021-01-19 04:51:25 +0100 | xirhtogal | (~lagothrix@unaffiliated/lagothrix) |
2021-01-19 04:51:26 +0100 | lagothrix | (~lagothrix@unaffiliated/lagothrix) (Killed (verne.freenode.net (Nickname regained by services))) |
2021-01-19 04:51:26 +0100 | xirhtogal | lagothrix |
2021-01-19 04:51:34 +0100 | adeene | (~adeene@181.131.0.191) |
2021-01-19 04:52:17 +0100 | ahf_ | (ahf@irssi/staff/ahf) (Quit: Lost terminal) |
2021-01-19 04:54:01 +0100 | bogdanp | (~bogdanp@188.24.80.165) |
2021-01-19 04:55:47 +0100 | lambda-11235 | (~lambda-11@2600:1700:7c70:4600:c862:8756:823c:2b6b) (Quit: Bye) |
2021-01-19 05:01:32 +0100 | SupaYoshi | (~supayoshi@213-10-140-13.fixed.kpn.net) (Quit: Goodbye!) |
2021-01-19 05:01:34 +0100 | Rudd0 | (~Rudd0@185.189.115.103) |
2021-01-19 05:02:05 +0100 | ADG1089_ | (~adg1089@27.63.60.143) |
2021-01-19 05:02:34 +0100 | SupaYoshi | (~supayoshi@213-10-140-13.fixed.kpn.net) |
2021-01-19 05:02:55 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
2021-01-19 05:03:02 +0100 | bogdanp | (~bogdanp@188.24.80.165) (Ping timeout: 256 seconds) |
2021-01-19 05:03:17 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2021-01-19 05:03:47 +0100 | <Feuermagier> | how do I deconstruct the datatype returned by a function? |
2021-01-19 05:04:06 +0100 | <glguy> | Can you show an example of what that means? |
2021-01-19 05:04:25 +0100 | elliott_ | (~elliott_@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 240 seconds) |
2021-01-19 05:04:57 +0100 | ahf | (ahf@irssi/staff/ahf) (Read error: error:1408F119:SSL routines:ssl3_get_record:decryption failed or bad record mac) |
2021-01-19 05:05:06 +0100 | ahf | (ahf@irssi/staff/ahf) |
2021-01-19 05:05:13 +0100 | elliott_ | (~elliott_@pool-108-51-101-42.washdc.fios.verizon.net) |
2021-01-19 05:05:17 +0100 | <Feuermagier> | data Stuff = Stuff { important :: String, garbage :: [Integers]} |
2021-01-19 05:05:26 +0100 | ahf_ | (ahf@irssi/staff/ahf) |
2021-01-19 05:05:26 +0100 | xff0x_ | (~xff0x@2001:1a81:521c:ad00:21de:ec80:9043:6773) |
2021-01-19 05:05:47 +0100 | <glguy> | % data Stuff = Stuff { important :: String, garbage :: [Integers]} |
2021-01-19 05:05:47 +0100 | <yahb> | glguy: ; <interactive>:23:59: error:; Not in scope: type constructor or class `Integers'; Perhaps you meant `Integer' (imported from Prelude) |
2021-01-19 05:05:51 +0100 | <glguy> | % data Stuff = Stuff { important :: String, garbage :: [Integer]} |
2021-01-19 05:05:51 +0100 | <yahb> | glguy: |
2021-01-19 05:06:20 +0100 | <glguy> | % case Stuff { important = "hi", garbage = [42] } of Stuff x y -> (x, y, y) |
2021-01-19 05:06:20 +0100 | <yahb> | glguy: ("hi",[42],[42]) |
2021-01-19 05:06:23 +0100 | <glguy> | or |
2021-01-19 05:06:32 +0100 | Tario | (~Tario@201.192.165.173) |
2021-01-19 05:06:40 +0100 | <glguy> | % let stuff = Stuff { important = "hi", garbage = [42] } in garbage stuff |
2021-01-19 05:06:40 +0100 | <yahb> | glguy: [42] |
2021-01-19 05:07:07 +0100 | <Feuermagier> | ah, thx! |
2021-01-19 05:09:02 +0100 | <Feuermagier> | glguy, can I do this on the fly if I have a function "generateStuff" that returns a Stuff? |
2021-01-19 05:09:30 +0100 | bogdanp | (~bogdanp@188.24.80.165) |
2021-01-19 05:10:03 +0100 | <glguy> | Feuermagier, sure |
2021-01-19 05:10:27 +0100 | Codaraxis_ | (Codaraxis@gateway/vpn/mullvad/codaraxis) |
2021-01-19 05:10:46 +0100 | Codaraxis | (Codaraxis@gateway/vpn/mullvad/codaraxis) (Ping timeout: 246 seconds) |
2021-01-19 05:11:16 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection) |
2021-01-19 05:13:34 +0100 | hiroaki | (~hiroaki@ip4d167562.dynamic.kabel-deutschland.de) |
2021-01-19 05:13:42 +0100 | <Feuermagier> | glguy, I'm not entirely sure with the syntax yet. Let's say we have "stuffDeconstructor :: Integer -> String"; stuffDeconstructor seed = (generateStuff seed) |
2021-01-19 05:13:59 +0100 | <Feuermagier> | now generateStuff returns a Stuff |
2021-01-19 05:14:09 +0100 | bogdanp | (~bogdanp@188.24.80.165) (Ping timeout: 272 seconds) |
2021-01-19 05:14:12 +0100 | <Feuermagier> | but I want its String only |
2021-01-19 05:16:40 +0100 | <glguy> | Feuermagier, important (stuffDeconstructor seed) |
2021-01-19 05:16:58 +0100 | <Feuermagier> | oh, thx! |
2021-01-19 05:17:13 +0100 | <glguy> | --or-- stuffDeconstructor seed = important (generateStuff seed) |
2021-01-19 05:18:18 +0100 | Andrologic_ | (~Andrologi@90.221.74.173) |
2021-01-19 05:19:33 +0100 | ahf_ | (ahf@irssi/staff/ahf) (Quit: Lost terminal) |
2021-01-19 05:19:55 +0100 | <Feuermagier> | glguy, What if the types aren't named, would this still work? |
2021-01-19 05:21:10 +0100 | rayyyy | (~nanoz@gateway/tor-sasl/nanoz) |
2021-01-19 05:25:11 +0100 | ahf | (ahf@irssi/staff/ahf) (Remote host closed the connection) |
2021-01-19 05:25:17 +0100 | ahf | (ahf@irssi/staff/ahf) |
2021-01-19 05:25:19 +0100 | ahf_ | (ahf@irssi/staff/ahf) |
2021-01-19 05:25:32 +0100 | ahf_ | (ahf@irssi/staff/ahf) (Client Quit) |
2021-01-19 05:27:31 +0100 | projectako | (~projectak@cpe-107-185-181-88.socal.res.rr.com) |
2021-01-19 05:27:34 +0100 | <projectako> | http://ebay.us/3JHc3H?cmpnId=5338273189 |
2021-01-19 05:27:34 +0100 | projectako | (~projectak@cpe-107-185-181-88.socal.res.rr.com) () |
2021-01-19 05:31:17 +0100 | mirrorbird | (~psutcliff@2a00:801:42b:aff3:74af:2f22:932d:eac0) |
2021-01-19 05:33:58 +0100 | mctpyt | (~mctpyt@unaffiliated/mctpyt) (Quit: WeeChat 3.0) |
2021-01-19 05:36:13 +0100 | Saukk | (~Saukk@83-148-239-3.dynamic.lounea.fi) (Remote host closed the connection) |
2021-01-19 05:37:08 +0100 | nly | (~user@unaffiliated/nly) ("ERC (IRC client for Emacs 27.1)") |
2021-01-19 05:38:12 +0100 | ahf | (ahf@irssi/staff/ahf) (Remote host closed the connection) |
2021-01-19 05:38:46 +0100 | srk | (~sorki@gateway/tor-sasl/sorki) (Ping timeout: 268 seconds) |
2021-01-19 05:40:37 +0100 | hexo | (~hexo@gateway/tor-sasl/hexo) (Ping timeout: 268 seconds) |
2021-01-19 05:40:45 +0100 | srk | (~sorki@gateway/tor-sasl/sorki) |
2021-01-19 05:40:49 +0100 | hacxman | (~hexo@gateway/tor-sasl/hexo) |
2021-01-19 05:41:13 +0100 | hacxman | hexo |
2021-01-19 05:42:25 +0100 | jespada | (~jespada@90.254.241.81) (Ping timeout: 240 seconds) |
2021-01-19 05:44:41 +0100 | jespada | (~jespada@90.254.241.81) |
2021-01-19 05:46:12 +0100 | ahf | (ahf@irssi/staff/ahf) |
2021-01-19 05:52:32 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) |
2021-01-19 05:56:02 +0100 | hexo | (~hexo@gateway/tor-sasl/hexo) (Ping timeout: 268 seconds) |
2021-01-19 05:56:02 +0100 | srk | (~sorki@gateway/tor-sasl/sorki) (Ping timeout: 268 seconds) |
2021-01-19 05:57:16 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 256 seconds) |
2021-01-19 05:58:25 +0100 | user1 | (~user1@88.231.92.184) |
2021-01-19 05:58:39 +0100 | <user1> | whats up everybody? |
2021-01-19 05:58:49 +0100 | user1 | (~user1@88.231.92.184) (Client Quit) |
2021-01-19 05:59:06 +0100 | hexo | (~hexo@gateway/tor-sasl/hexo) |
2021-01-19 05:59:06 +0100 | srk | (~sorki@gateway/tor-sasl/sorki) |
2021-01-19 06:04:27 +0100 | bogdanp | (~bogdanp@188.24.80.165) |
2021-01-19 06:04:43 +0100 | Tario | (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
2021-01-19 06:04:56 +0100 | Tario | (~Tario@201.192.165.173) |
2021-01-19 06:05:32 +0100 | prlCIql6ruclcri | (~f9jawUfat@2800:810:514:e7:183e:966b:276f:cde5) (Quit: Leaving) |
2021-01-19 06:06:31 +0100 | rayyyy | (~nanoz@gateway/tor-sasl/nanoz) (Ping timeout: 268 seconds) |
2021-01-19 06:06:31 +0100 | philopsos | (~caecilius@gateway/tor-sasl/caecilius) (Ping timeout: 268 seconds) |
2021-01-19 06:07:10 +0100 | prlCIql6ruclcri | (~f9jawUfat@2800:810:514:e7:590b:5921:26d2:cc71) |
2021-01-19 06:08:46 +0100 | bogdanp | (~bogdanp@188.24.80.165) (Ping timeout: 256 seconds) |
2021-01-19 06:11:23 +0100 | drbean | (~drbean@TC210-63-209-49.static.apol.com.tw) (Ping timeout: 256 seconds) |
2021-01-19 06:18:48 +0100 | rayyyy | (~nanoz@gateway/tor-sasl/nanoz) |
2021-01-19 06:19:21 +0100 | p7lpa1ugixavugu | (~yaaic@2800:810:514:e7:7d4a:ba43:c831:bee6) |
2021-01-19 06:20:15 +0100 | <Feuermagier> | how do I match against entire strings in IO input? |
2021-01-19 06:21:14 +0100 | <Feuermagier> | https://en.wikibooks.org/wiki/Haskell/Libraries/IO here the match is only against a single char. I'd like to match against a commandword, like "performActionA" |
2021-01-19 06:24:37 +0100 | Tario | (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
2021-01-19 06:24:57 +0100 | Tario | (~Tario@201.192.165.173) |
2021-01-19 06:25:45 +0100 | vs^ | (vs@ip98-184-89-2.mc.at.cox.net) () |
2021-01-19 06:25:50 +0100 | ixaxaar | (~ixaxaar@49.207.210.215) |
2021-01-19 06:26:09 +0100 | <dsal> | if you can match strings at all, youc an do it in IO with fmap. |
2021-01-19 06:26:12 +0100 | vonfry | (~user@113.74.134.170) |
2021-01-19 06:30:24 +0100 | p7lpa1ugixavugu | (~yaaic@2800:810:514:e7:7d4a:ba43:c831:bee6) (Remote host closed the connection) |
2021-01-19 06:30:44 +0100 | p7lpa1ugixavugu | (~yaaic@2800:810:514:e7:7d4a:ba43:c831:bee6) |
2021-01-19 06:33:36 +0100 | p7lpa1ugixavugu | (~yaaic@2800:810:514:e7:7d4a:ba43:c831:bee6) (Client Quit) |
2021-01-19 06:34:19 +0100 | jedws | (~jedws@121.209.139.157) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-01-19 06:34:24 +0100 | nrh^ | (nrh@ip98-184-89-2.mc.at.cox.net) |
2021-01-19 06:35:16 +0100 | p7lpa1ugixavugu | (~atomic@2800:810:514:e7:7d4a:ba43:c831:bee6) |
2021-01-19 06:35:24 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-19 06:35:55 +0100 | jrqc | (~rofl@96.78.87.197) (Read error: Connection reset by peer) |
2021-01-19 06:35:55 +0100 | bogdanp | (~bogdanp@188.24.80.165) |
2021-01-19 06:36:07 +0100 | drbean | (~drbean@TC210-63-209-36.static.apol.com.tw) |
2021-01-19 06:36:30 +0100 | prlCIql6ruclcri | (~f9jawUfat@2800:810:514:e7:590b:5921:26d2:cc71) (Quit: Leaving) |
2021-01-19 06:36:31 +0100 | ADG1089_ | (~adg1089@27.63.60.143) (Read error: Connection reset by peer) |
2021-01-19 06:36:43 +0100 | Tario | (~Tario@201.192.165.173) (Ping timeout: 260 seconds) |
2021-01-19 06:36:57 +0100 | ADG1089_ | (~adg1089@223.226.159.22) |
2021-01-19 06:40:21 +0100 | bogdanp | (~bogdanp@188.24.80.165) (Ping timeout: 246 seconds) |
2021-01-19 06:41:58 +0100 | haveo | (~haveo@sl35.iuwt.fr) (Ping timeout: 260 seconds) |
2021-01-19 06:42:04 +0100 | polux200137 | (~polux@51.15.169.172) (Ping timeout: 240 seconds) |
2021-01-19 06:42:33 +0100 | anoe | (~anoe@delanoe.org) (Ping timeout: 260 seconds) |
2021-01-19 06:42:56 +0100 | polux200137 | (~polux@51.15.169.172) |
2021-01-19 06:43:04 +0100 | haveo | (~haveo@sl35.iuwt.fr) |
2021-01-19 06:43:17 +0100 | anoe | (~anoe@delanoe.org) |
2021-01-19 06:46:24 +0100 | electricityZZZZ | (~electrici@108-216-157-17.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2021-01-19 06:46:37 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) |
2021-01-19 06:46:38 +0100 | hackage | tasty-sugar 1.0.1.1 - Tests defined by Search Using Golden Answer References https://hackage.haskell.org/package/tasty-sugar-1.0.1.1 (KevinQuick) |
2021-01-19 06:46:50 +0100 | electricityZZZZ | (~electrici@108-216-157-17.lightspeed.sntcca.sbcglobal.net) |
2021-01-19 06:51:16 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 256 seconds) |
2021-01-19 06:51:52 +0100 | nineonin_ | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) |
2021-01-19 06:53:49 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-120-135.w86-198.abo.wanadoo.fr) (Quit: Konversation terminated!) |
2021-01-19 06:54:42 +0100 | nineonine | (~nineonine@50.216.62.2) (Ping timeout: 246 seconds) |
2021-01-19 06:56:09 +0100 | mirrorbird | (~psutcliff@2a00:801:42b:aff3:74af:2f22:932d:eac0) (Quit: Leaving) |
2021-01-19 06:57:39 +0100 | ADG1089__ | (~aditya@223.226.159.22) |
2021-01-19 07:01:51 +0100 | Jd007 | (~Jd007@162.156.11.151) |
2021-01-19 07:02:08 +0100 | Jd007 | (~Jd007@162.156.11.151) (Client Quit) |
2021-01-19 07:02:48 +0100 | Jd007 | (~Jd007@162.156.11.151) |
2021-01-19 07:04:05 +0100 | frankdmartinez | (~frankdmar@208.91.107.132) (Ping timeout: 256 seconds) |
2021-01-19 07:07:26 +0100 | johnw | (~johnw@haskell/developer/johnw) |
2021-01-19 07:07:52 +0100 | shatriff | (~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection) |
2021-01-19 07:08:17 +0100 | jedws | (~jedws@121.209.139.157) |
2021-01-19 07:08:24 +0100 | ADG1089_ | (~adg1089@223.226.159.22) (Read error: Connection reset by peer) |
2021-01-19 07:08:25 +0100 | shatriff | (~vitaliish@176-52-216-242.irishtelecom.com) |
2021-01-19 07:10:04 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
2021-01-19 07:13:41 +0100 | vonfry | (~user@113.74.134.170) ("ERC (IRC client for Emacs 27.1.90)") |
2021-01-19 07:14:04 +0100 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 240 seconds) |
2021-01-19 07:16:49 +0100 | nineonin_ | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Remote host closed the connection) |
2021-01-19 07:17:32 +0100 | nineonine | (~nineonine@50.216.62.2) |
2021-01-19 07:23:34 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) |
2021-01-19 07:28:04 +0100 | zx | (637ce278@99-124-226-120.lightspeed.rcsntx.sbcglobal.net) |
2021-01-19 07:33:58 +0100 | Sheilong | (uid293653@gateway/web/irccloud.com/x-zayuevwgpsadults) () |
2021-01-19 07:35:42 +0100 | ukari | (~ukari@unaffiliated/ukari) (Remote host closed the connection) |
2021-01-19 07:39:01 +0100 | bogdanp | (~bogdanp@188.24.80.165) |
2021-01-19 07:40:09 +0100 | nakaji_dayo | (3c93f368@softbank060147243104.bbtec.net) |
2021-01-19 07:40:47 +0100 | nakaji_dayo | (3c93f368@softbank060147243104.bbtec.net) (Quit: Connection closed) |
2021-01-19 07:43:24 +0100 | bogdanp | (~bogdanp@188.24.80.165) (Ping timeout: 256 seconds) |
2021-01-19 07:44:02 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2021-01-19 07:45:05 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
2021-01-19 07:48:55 +0100 | olligobber | (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Remote host closed the connection) |
2021-01-19 07:49:25 +0100 | jedws | (~jedws@121.209.139.157) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-01-19 07:51:03 +0100 | jedws | (~jedws@121.209.139.157) |
2021-01-19 07:51:41 +0100 | olligobber | (olligobber@gateway/vpn/privateinternetaccess/olligobber) |
2021-01-19 07:55:28 +0100 | ADG1089__ | (~aditya@223.226.159.22) (Remote host closed the connection) |
2021-01-19 07:55:45 +0100 | danvet | (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) |
2021-01-19 07:56:53 +0100 | Volt_ | (~Volt_@c-73-145-164-70.hsd1.mi.comcast.net) (Quit: ) |
2021-01-19 07:59:46 +0100 | knupfer | (~Thunderbi@200116b82c70da00e4b196fffe5d6193.dip.versatel-1u1.de) |
2021-01-19 08:00:06 +0100 | Rudd0 | (~Rudd0@185.189.115.103) (Ping timeout: 272 seconds) |
2021-01-19 08:02:11 +0100 | knupfer | (~Thunderbi@200116b82c70da00e4b196fffe5d6193.dip.versatel-1u1.de) (Remote host closed the connection) |
2021-01-19 08:02:19 +0100 | knupfer | (~Thunderbi@200116b82c70da0034d2ffe034e16ff0.dip.versatel-1u1.de) |
2021-01-19 08:05:00 +0100 | adeene | (~adeene@181.131.0.191) (Quit: Leaving) |
2021-01-19 08:05:23 +0100 | adeene | (~adeene@181.131.0.191) |
2021-01-19 08:06:34 +0100 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
2021-01-19 08:11:25 +0100 | zx | (637ce278@99-124-226-120.lightspeed.rcsntx.sbcglobal.net) (Quit: Ping timeout (120 seconds)) |
2021-01-19 08:12:13 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-01-19 08:16:40 +0100 | _ht | (~quassel@82-169-194-8.biz.kpn.net) |
2021-01-19 08:16:51 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds) |
2021-01-19 08:18:40 +0100 | nullifidian | (~nullifidi@unaffiliated/nullifidian) (Quit: Leaving) |
2021-01-19 08:20:07 +0100 | zx | (637ce278@99-124-226-120.lightspeed.rcsntx.sbcglobal.net) |
2021-01-19 08:25:46 +0100 | zx | (637ce278@99-124-226-120.lightspeed.rcsntx.sbcglobal.net) (Quit: Connection closed) |
2021-01-19 08:27:27 +0100 | asheshambasta | (~user@ptr-e1lysawdkgbchi3df06.18120a2.ip6.access.telenet.be) |
2021-01-19 08:30:00 +0100 | Sgeo | (~Sgeo@ool-18b98aa4.dyn.optonline.net) (Read error: Connection reset by peer) |
2021-01-19 08:30:47 +0100 | SupaYoshii | (~supayoshi@213-10-140-13.fixed.kpn.net) |
2021-01-19 08:31:13 +0100 | nineonine | (~nineonine@50.216.62.2) (Ping timeout: 256 seconds) |
2021-01-19 08:31:13 +0100 | Jd007 | (~Jd007@162.156.11.151) (Ping timeout: 256 seconds) |
2021-01-19 08:31:13 +0100 | SupaYoshi | (~supayoshi@213-10-140-13.fixed.kpn.net) (Ping timeout: 256 seconds) |
2021-01-19 08:31:13 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 256 seconds) |
2021-01-19 08:31:13 +0100 | Deewiant | (~deewiant@de1.ut.deewiant.iki.fi) (Ping timeout: 256 seconds) |
2021-01-19 08:31:17 +0100 | takuan_dozo | (~takuan@178-116-218-225.access.telenet.be) |
2021-01-19 08:31:20 +0100 | Deewiant | (~deewiant@de1.ut.deewiant.iki.fi) |
2021-01-19 08:31:35 +0100 | plutoniix | (~q@184.82.204.73) (Ping timeout: 256 seconds) |
2021-01-19 08:31:35 +0100 | columbarius1 | (~columbari@mue-88-130-54-057.dsl.tropolys.de) (Ping timeout: 256 seconds) |
2021-01-19 08:31:59 +0100 | plutoniix | (~q@184.82.204.73) |
2021-01-19 08:32:09 +0100 | nrh^ | (nrh@ip98-184-89-2.mc.at.cox.net) (Ping timeout: 256 seconds) |
2021-01-19 08:32:09 +0100 | columbarius1 | (~columbari@mue-88-130-54-057.dsl.tropolys.de) |
2021-01-19 08:32:22 +0100 | nrh^ | (nrh@ip98-184-89-2.mc.at.cox.net) |
2021-01-19 08:32:42 +0100 | <Axman6> | Is there an easy way to compare the results of two criterion runs? Wanting to see if there's any improvement between form a (hopeful |
2021-01-19 08:32:49 +0100 | <Axman6> | ) optimisation |
2021-01-19 08:32:57 +0100 | bogdanp | (~bogdanp@188.24.80.165) |
2021-01-19 08:35:03 +0100 | ADG1089__ | (~aditya@223.226.159.22) |
2021-01-19 08:37:34 +0100 | p7lpa1ugixavugu | (~atomic@2800:810:514:e7:7d4a:ba43:c831:bee6) (Quit: AtomicIRC: The nuclear option.) |
2021-01-19 08:38:00 +0100 | bogdanp | (~bogdanp@188.24.80.165) (Ping timeout: 264 seconds) |
2021-01-19 08:40:20 +0100 | polyphem | (~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) (Ping timeout: 246 seconds) |
2021-01-19 08:44:55 +0100 | bogdanp | (~bogdanp@188.24.80.165) |
2021-01-19 08:46:21 +0100 | jamm | (~jamm@unaffiliated/jamm) |
2021-01-19 08:50:26 +0100 | jamm | (~jamm@unaffiliated/jamm) (Ping timeout: 240 seconds) |
2021-01-19 08:54:06 +0100 | jedws | (~jedws@121.209.139.157) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-01-19 08:54:58 +0100 | bogdanp | (~bogdanp@188.24.80.165) (Ping timeout: 260 seconds) |
2021-01-19 08:56:27 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) |
2021-01-19 09:00:08 +0100 | nakaji_dayo | (3c93f368@softbank060147243104.bbtec.net) |
2021-01-19 09:00:20 +0100 | nakaji_dayo | (3c93f368@softbank060147243104.bbtec.net) (Client Quit) |
2021-01-19 09:04:04 +0100 | jedws | (~jedws@121.209.139.157) |
2021-01-19 09:06:03 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-19 09:06:15 +0100 | bogdanp | (~bogdanp@188.24.80.165) |
2021-01-19 09:06:48 +0100 | DataComputist | (~lumeng@50.43.26.251) (Ping timeout: 264 seconds) |
2021-01-19 09:08:55 +0100 | adeene | (~adeene@181.131.0.191) (Read error: Connection reset by peer) |
2021-01-19 09:09:48 +0100 | shatriff | (~vitaliish@176-52-216-242.irishtelecom.com) (Ping timeout: 264 seconds) |
2021-01-19 09:10:28 +0100 | DataComputist | (~lumeng@50.43.26.251) |
2021-01-19 09:11:22 +0100 | <dminuoso> | Not bad, I again managed to end up with a stale dist-newstyle cache.. it just wouldn't recognize modifications to a source file.. |
2021-01-19 09:11:29 +0100 | <dminuoso> | Something is really fishy here |
2021-01-19 09:11:46 +0100 | <maerwald> | which cabal |
2021-01-19 09:12:13 +0100 | <dminuoso> | 3.2.0.0 |
2021-01-19 09:12:27 +0100 | <maerwald> | try 3.4 rc3 |
2021-01-19 09:12:27 +0100 | rawles | (~r@unaffiliated/rawles) (Ping timeout: 260 seconds) |
2021-01-19 09:12:42 +0100 | <dminuoso> | Where there particular fixes towards this? |
2021-01-19 09:13:09 +0100 | nineonine | (~nineonine@50.216.62.2) |
2021-01-19 09:13:31 +0100 | <maerwald> | Don't know, but always report bugs against the latest version and 3.4 rc3 has been out for a while and some use it in production |
2021-01-19 09:14:14 +0100 | rawles | (~r@unaffiliated/rawles) |
2021-01-19 09:14:21 +0100 | <maerwald> | I haven't experienced something like this in a while |
2021-01-19 09:15:04 +0100 | <dminuoso> | Mmm yeah. Im dead convinced there's a bug lurking around, every few weeks I have one of those `nuke dist-newstyle` and it suddenly compiles again moments.. |
2021-01-19 09:15:18 +0100 | <dminuoso> | But only since 3.2.0.0. The annoying part is, I cant reproduce it |
2021-01-19 09:17:08 +0100 | mputz | (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) |
2021-01-19 09:17:59 +0100 | <maerwald> | wouldn't be a but otherwise if you could reproduce it, right? |
2021-01-19 09:18:07 +0100 | <maerwald> | *bug |
2021-01-19 09:18:33 +0100 | nineonine | (~nineonine@50.216.62.2) (Ping timeout: 246 seconds) |
2021-01-19 09:20:13 +0100 | <dminuoso> | I have a theory. phadej placed a heisenbug inside cabal-install to force people motivated enough to find this help and contribute to cabal-install |
2021-01-19 09:20:15 +0100 | <dminuoso> | What a sinister plan. |
2021-01-19 09:20:25 +0100 | jedws | (~jedws@121.209.139.157) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-01-19 09:22:02 +0100 | <maerwald> | I have another theory: cabal-install had too many drive-by contributors and too few maintainers. |
2021-01-19 09:22:48 +0100 | kritzefitz | (~kritzefit@fw-front.credativ.com) |
2021-01-19 09:22:59 +0100 | xff0x_ | (~xff0x@2001:1a81:521c:ad00:21de:ec80:9043:6773) (Ping timeout: 260 seconds) |
2021-01-19 09:23:40 +0100 | xff0x_ | (~xff0x@2001:1a81:521c:ad00:8d06:ced3:e6bf:47a2) |
2021-01-19 09:26:19 +0100 | <maerwald> | Oh, and that most operations aren't atomic. Killing cabal or GHC can have all sorts of funny effects |
2021-01-19 09:26:44 +0100 | cfricke | (~cfricke@unaffiliated/cfricke) |
2021-01-19 09:27:20 +0100 | <dminuoso> | Mmm, that could actually be it. I have a tendency to send SIGINT to GHC when I realize it wouldn't compile anyway |
2021-01-19 09:30:43 +0100 | ubert | (~Thunderbi@p200300ecdf1ee06ce6b318fffe838f33.dip0.t-ipconnect.de) |
2021-01-19 09:32:33 +0100 | Tuplanolla | (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) |
2021-01-19 09:33:00 +0100 | pera | (pera@gateway/vpn/mullvad/pera) |
2021-01-19 09:33:41 +0100 | drbean | (~drbean@TC210-63-209-36.static.apol.com.tw) (Ping timeout: 256 seconds) |
2021-01-19 09:35:18 +0100 | danso | (~dan@2001:1970:52e7:d000:96b8:6dff:feb3:c009) (Quit: WeeChat 3.0) |
2021-01-19 09:36:03 +0100 | xff0x_ | (~xff0x@2001:1a81:521c:ad00:8d06:ced3:e6bf:47a2) (Ping timeout: 260 seconds) |
2021-01-19 09:38:04 +0100 | xff0x_ | (~xff0x@2001:1a81:522c:a800:1b8f:4cc2:9bdd:ac52) |
2021-01-19 09:42:06 +0100 | chele | (~chele@ip5b40237d.dynamic.kabel-deutschland.de) |
2021-01-19 09:48:30 +0100 | Neuromancer | (~Neuromanc@unaffiliated/neuromancer) |
2021-01-19 09:54:25 +0100 | coot | (~coot@37.30.55.132.nat.umts.dynamic.t-mobile.pl) |
2021-01-19 09:56:40 +0100 | berberman_ | (~berberman@unaffiliated/berberman) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-01-19 09:57:32 +0100 | berberman | (~berberman@unaffiliated/berberman) |
2021-01-19 09:58:43 +0100 | magnuscake | (~magnuscak@87-121-92-61.dyn.launtel.net.au) (Quit: Leaving) |
2021-01-19 09:59:36 +0100 | jchia__ | (~jchia@58.32.32.155) (Ping timeout: 240 seconds) |
2021-01-19 10:01:04 +0100 | Franciman | (~francesco@host-79-51-37-36.retail.telecomitalia.it) |
2021-01-19 10:02:02 +0100 | rdivyanshu | (uid322626@gateway/web/irccloud.com/x-qvgxasklpnabqoft) |
2021-01-19 10:04:27 +0100 | jchia__ | (~jchia@58.32.32.155) |
2021-01-19 10:07:34 +0100 | ph88^ | (~ph88@2a02:8109:9e00:7e5c:795a:5528:8c2c:51fe) |
2021-01-19 10:08:56 +0100 | berberman | (~berberman@unaffiliated/berberman) (Ping timeout: 240 seconds) |
2021-01-19 10:10:21 +0100 | berberman | (~berberman@unaffiliated/berberman) |
2021-01-19 10:16:11 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-01-19 10:16:14 +0100 | jchia__ | (~jchia@58.32.32.155) (Ping timeout: 256 seconds) |
2021-01-19 10:16:37 +0100 | xff0x_ | (~xff0x@2001:1a81:522c:a800:1b8f:4cc2:9bdd:ac52) (Ping timeout: 260 seconds) |
2021-01-19 10:17:18 +0100 | xff0x_ | (~xff0x@2001:1a81:522c:a800:ae0c:654f:160c:79b4) |
2021-01-19 10:18:02 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
2021-01-19 10:20:50 +0100 | zaquest | (~notzaques@5.128.210.178) (Quit: Leaving) |
2021-01-19 10:27:38 +0100 | hackage | text 1.2.4.1 - An efficient packed Unicode text type. https://hackage.haskell.org/package/text-1.2.4.1 (HerbertValerioRiedel) |
2021-01-19 10:28:23 +0100 | zaquest | (~notzaques@5.128.210.178) |
2021-01-19 10:29:51 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:6c35:c27b:9d47:22a1) (Remote host closed the connection) |
2021-01-19 10:29:53 +0100 | kuribas | (~user@ptr-25vy0i9v74bayflbmuo.18120a2.ip6.access.telenet.be) |
2021-01-19 10:33:08 +0100 | niekvandepas | (~niekvande@dhcp-077-249-088-250.chello.nl) |
2021-01-19 10:34:03 +0100 | raichoo | (~raichoo@213.240.178.58) |
2021-01-19 10:37:16 +0100 | hnOsmium0001 | (uid453710@gateway/web/irccloud.com/x-rmkzpmhvyfmtsudj) (Quit: Connection closed for inactivity) |
2021-01-19 10:44:39 +0100 | seveg | (~gabriel@2a02-ab04-0249-8d00-dea6-32ff-fe17-0993.dynamic.v6.chello.sk) (Ping timeout: 272 seconds) |
2021-01-19 10:45:55 +0100 | niekvandepas | (~niekvande@dhcp-077-249-088-250.chello.nl) (Remote host closed the connection) |
2021-01-19 10:47:16 +0100 | Varis | (~Tadas@unaffiliated/varis) |
2021-01-19 10:52:43 +0100 | ubert | (~Thunderbi@p200300ecdf1ee06ce6b318fffe838f33.dip0.t-ipconnect.de) (Remote host closed the connection) |
2021-01-19 10:53:05 +0100 | Varis | (~Tadas@unaffiliated/varis) (Remote host closed the connection) |
2021-01-19 10:53:47 +0100 | <kuribas> | Do you often feel the need to debug production? |
2021-01-19 10:54:16 +0100 | <kuribas> | I have this conjecture, that lisps are great for "debugging production", because it's unavoidable to have bugs in production. |
2021-01-19 10:55:02 +0100 | jonathanx | (~jonathan@h-176-109.A357.priv.bahnhof.se) |
2021-01-19 10:55:39 +0100 | mbomba | (~mbomba@bras-base-toroon2719w-grc-53-142-114-5-26.dsl.bell.ca) |
2021-01-19 10:56:01 +0100 | <kuribas> | I mean bugs that are hard to solve, like validation errors that pop up as stack traces. |
2021-01-19 10:56:12 +0100 | <jonathanx> | Lib request: Map implementation with type-level natural specifying the number of key/value pairs it contains. Does this exist? |
2021-01-19 10:56:16 +0100 | Varis | (~Tadas@unaffiliated/varis) |
2021-01-19 10:56:26 +0100 | jrqc | (~rofl@96.78.87.197) |
2021-01-19 10:56:56 +0100 | __monty__ | (~toonn@unaffiliated/toonn) |
2021-01-19 10:57:11 +0100 | jamm | (~jamm@unaffiliated/jamm) |
2021-01-19 10:57:37 +0100 | <kuribas> | Where in haskell you are more careful with handling side conditions, providing good error messages... |
2021-01-19 10:59:49 +0100 | <[exa]> | the whole aim of lisps as interpretable languages with easy reflection is to hack things together easily, you can't blame the language for programmers not using this to create robustness :] |
2021-01-19 11:00:07 +0100 | Alleria | (~textual@2603-7000-3040-0000-6de2-9de3-adc0-7711.res6.spectrum.com) |
2021-01-19 11:00:15 +0100 | hekkaidekapus] | (~tchouri@gateway/tor-sasl/hekkaidekapus) |
2021-01-19 11:00:28 +0100 | Rudd0 | (~Rudd0@185.189.115.108) |
2021-01-19 11:00:31 +0100 | Alleria | Guest95878 |
2021-01-19 11:00:36 +0100 | <kuribas> | yeah, it's a different way of working... |
2021-01-19 11:01:31 +0100 | LKoen | (~LKoen@16.175.9.109.rev.sfr.net) |
2021-01-19 11:02:31 +0100 | rayyyy | (~nanoz@gateway/tor-sasl/nanoz) (Ping timeout: 268 seconds) |
2021-01-19 11:02:44 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-19 11:03:08 +0100 | hekkaidekapus[ | (~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 268 seconds) |
2021-01-19 11:03:17 +0100 | <merijn> | dminuoso: Are you using Template Haskell? |
2021-01-19 11:03:21 +0100 | niekvandepas | (~niekvande@dhcp-077-249-088-250.chello.nl) |
2021-01-19 11:04:14 +0100 | mbomba | (~mbomba@bras-base-toroon2719w-grc-53-142-114-5-26.dsl.bell.ca) (Quit: WeeChat 3.0) |
2021-01-19 11:04:43 +0100 | Guest95878 | (~textual@2603-7000-3040-0000-6de2-9de3-adc0-7711.res6.spectrum.com) (Ping timeout: 260 seconds) |
2021-01-19 11:05:00 +0100 | jchia__ | (~jchia@jungle.jchia.net) |
2021-01-19 11:05:07 +0100 | gehmehgeh | (~ircuser1@gateway/tor-sasl/gehmehgeh) |
2021-01-19 11:05:54 +0100 | <dminuoso> | merijn: Yes. |
2021-01-19 11:07:11 +0100 | <kuribas> | [exa]: can I blame the programmers then? :-P |
2021-01-19 11:07:25 +0100 | niekvandepas | (~niekvande@dhcp-077-249-088-250.chello.nl) (Ping timeout: 240 seconds) |
2021-01-19 11:08:15 +0100 | <merijn> | dminuoso: Cabal doesn't/can't properly track TH registered dependencies, so that might also play a role |
2021-01-19 11:08:31 +0100 | <maerwald> | kuribas: if you think in haskell ppl handle side conditions more carefully, then you could start by fixing signal handling in cabal-install and shake :D |
2021-01-19 11:09:00 +0100 | <merijn> | maerwald: eh |
2021-01-19 11:09:07 +0100 | <kuribas> | maerwald: good point :) |
2021-01-19 11:09:10 +0100 | <merijn> | maerwald: You miswrote "fix signal handling in GHC's RTS" |
2021-01-19 11:09:25 +0100 | jchia__ | (~jchia@jungle.jchia.net) (Remote host closed the connection) |
2021-01-19 11:09:28 +0100 | <merijn> | It is, in my opinion, currently fundamentally impossible to properly handle signals in GHC's RTS |
2021-01-19 11:09:31 +0100 | <maerwald> | too hard |
2021-01-19 11:09:45 +0100 | <merijn> | And fixing that clusterfuck is on top of my "I'll get too it when my thesis is done" list |
2021-01-19 11:09:51 +0100 | <merijn> | maerwald: Naah, it's not |
2021-01-19 11:10:31 +0100 | jchia__ | (~jchia@58.32.32.155) |
2021-01-19 11:10:46 +0100 | <merijn> | maerwald: I've done proper signal handling in multi-threaded RTS before. It's not even that hard to do properly, but it will require some pretty fundamental changes to how signal handling is done currently |
2021-01-19 11:11:48 +0100 | <merijn> | maerwald: There's really only one sensible way in any multi-threaded program. That is: Mask *everything* in every thread and have a dedicated RTS thread that uses sigwait to wait for signals |
2021-01-19 11:11:54 +0100 | jamm | (~jamm@unaffiliated/jamm) (Remote host closed the connection) |
2021-01-19 11:12:35 +0100 | <merijn> | maerwald: Needs a bit of diving into the details to ensure stuff like SIGSEGV plays nicely, but I don't think that's too hard to figure out |
2021-01-19 11:13:15 +0100 | <maerwald> | what do you think of safe-exceptions? it's pretty controversial, because now you're trading aborted handlers with deadlocks |
2021-01-19 11:13:28 +0100 | <arahael> | merijn: I'd be a bit more boneheaded than that, and say the only correct way to handle signals is to catch them all, and have them do nothing but set a signal-specific flag. |
2021-01-19 11:13:35 +0100 | <arahael> | merijn: Which is then queried by the main application. |
2021-01-19 11:13:48 +0100 | <merijn> | maerwald: Considering I'm pretty sure that *I* am responsible for the implementation that safe-exceptions uses, I'm in favour :p |
2021-01-19 11:13:59 +0100 | <merijn> | arahael: No, that's terrible |
2021-01-19 11:14:31 +0100 | <arahael> | merijn: It's boneheaded, I agree. I wouldn't say it's *terrible*. |
2021-01-19 11:14:38 +0100 | <merijn> | arahael: Because it would break several things that GHC supports now |
2021-01-19 11:14:54 +0100 | <merijn> | arahael: You'd lose interruptibleFFI, which can be supported just fine |
2021-01-19 11:14:55 +0100 | <arahael> | merijn: Ah, well, that could be fixed. |
2021-01-19 11:15:03 +0100 | <merijn> | arahael: Not while using that design |
2021-01-19 11:15:30 +0100 | <merijn> | arahael: Because using a signal handler means signals get delivered to random threads within the process |
2021-01-19 11:15:46 +0100 | <merijn> | arahael: So they can interrupt random system calls |
2021-01-19 11:16:12 +0100 | <arahael> | merijn: The advantage, however, is that there's a hard limit to how broken things get. |
2021-01-19 11:16:57 +0100 | <merijn> | arahael: I don't think so, tbh |
2021-01-19 11:17:26 +0100 | jchia__ | (~jchia@58.32.32.155) (Ping timeout: 256 seconds) |
2021-01-19 11:17:28 +0100 | <merijn> | arahael: Experience teaches me that there is *no* hard limit on how clusterfucky signals can get, let alone signals + multi-threading |
2021-01-19 11:17:49 +0100 | <arahael> | merijn: It's probably overkill in a sane language, anyway. If I recall, the "interrupt handlers should only set a flag and that's it" idea is mostly in C, and hard realtime OS's. |
2021-01-19 11:17:54 +0100 | <merijn> | That's why I don't expect/trust anyone else to fix it :p |
2021-01-19 11:18:10 +0100 | <arahael> | Heh. That might be another motivation to "just set a flag and get out of the clusterfucky signal system". ;) |
2021-01-19 11:18:12 +0100 | <merijn> | arahael: Well, that is because you can't sanely do anything in signal handlers |
2021-01-19 11:18:22 +0100 | <arahael> | Right... |
2021-01-19 11:18:33 +0100 | <merijn> | arahael: Which is why you should just mask them all and have a dedicated thread waiting on them |
2021-01-19 11:18:41 +0100 | <merijn> | arahael: Then you *can* do sensible thing |
2021-01-19 11:18:43 +0100 | <merijn> | +s |
2021-01-19 11:19:05 +0100 | <merijn> | arahael: Because you are not running in a random context, you're running in a tightly controlled thread that's doing nothing else |
2021-01-19 11:19:15 +0100 | <arahael> | Yeah, that's fair. |
2021-01-19 11:19:22 +0100 | <arahael> | Honestly I haven't done much signal handling. |
2021-01-19 11:19:34 +0100 | <merijn> | arahael: Which, if you want to interact with the RTS (which you probably do) is crucial |
2021-01-19 11:19:53 +0100 | <merijn> | Because then you can signal Haskell threads/capabilities in a controlled way, interact with the scheduler, etc. |
2021-01-19 11:21:24 +0100 | <merijn> | That would also fix the current GHC API of letting you install IO actions as signal handler in a way that makes it sane |
2021-01-19 11:21:38 +0100 | <arahael> | Hmm? Actually could you elaborate on that bit? |
2021-01-19 11:21:52 +0100 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) |
2021-01-19 11:22:39 +0100 | <arahael> | You mean, so you could say, register a 'onSigTerm :: IO ()' as the signal handler? Wouldn't that be usual? |
2021-01-19 11:22:46 +0100 | <merijn> | arahael: https://hackage.haskell.org/package/base-4.14.1.0/docs/GHC-Conc-Signal.html#v:setHandler |
2021-01-19 11:22:57 +0100 | jchia__ | (~jchia@jungle.jchia.net) |
2021-01-19 11:23:01 +0100 | <merijn> | arahael: There is essentially 0 chance that the current implementation of that is *remotely* sane |
2021-01-19 11:23:40 +0100 | <merijn> | arahael: The odds of users writing a non-problematic "IO ()" to run in a signal handler are pretty damn small |
2021-01-19 11:24:03 +0100 | <arahael> | merijn: So, trustworthy - but not sane? ;) The funny thing is that I've never heard of a signal handling API that works well, predictably, in a good fashion. |
2021-01-19 11:24:26 +0100 | jchia__ | (~jchia@jungle.jchia.net) (Remote host closed the connection) |
2021-01-19 11:24:49 +0100 | <merijn> | arahael: That's because no one reads APUE and as a result does stupid shit |
2021-01-19 11:24:53 +0100 | jchia__ | (~jchia@jungle.jchia.net) |
2021-01-19 11:25:09 +0100 | <maerwald> | we have to ship our code :D |
2021-01-19 11:25:18 +0100 | <arahael> | Hmpf. I've never read APUE either. |
2021-01-19 11:25:31 +0100 | hyiltiz-M | (hyiltizkde@gateway/shell/kde/matrix/x-geyejkuncnhxmpdr) (Quit: killed) |
2021-01-19 11:25:33 +0100 | <__monty__> | Isn't this complicated by also having tobe compatible with windows? Or are its signals POSIX? |
2021-01-19 11:25:40 +0100 | <arahael> | I do know enough to be paranoid whenever I hear about signal handling. |
2021-01-19 11:26:32 +0100 | <maerwald> | yeah, cross-platform signal handling probably makes it worse |
2021-01-19 11:27:04 +0100 | <merijn> | __monty__: Signals don't exist on windows |
2021-01-19 11:27:05 +0100 | Codaraxis_ | (Codaraxis@gateway/vpn/mullvad/codaraxis) (Read error: Connection reset by peer) |
2021-01-19 11:27:27 +0100 | <merijn> | maerwald: That, again, is why people should read APUE ;) |
2021-01-19 11:27:33 +0100 | hyiltiz-M | (hyiltizkde@gateway/shell/kde/matrix/x-jljmxicmadzpzslm) |
2021-01-19 11:27:50 +0100 | <maerwald> | BSD, Darwin,. .. |
2021-01-19 11:27:56 +0100 | <merijn> | maerwald: Which discusses how each major UNIX deviates from POSIX |
2021-01-19 11:28:06 +0100 | <merijn> | maerwald: And their definition of major includes HP/UX >.> |
2021-01-19 11:28:08 +0100 | <maerwald> | great... more clusterfuck |
2021-01-19 11:28:16 +0100 | <merijn> | maerwald: It Depends |
2021-01-19 11:28:17 +0100 | niekvandepas | (~niekvande@ip-145-116-131-65.wlan-int.ru.nl) |
2021-01-19 11:28:33 +0100 | Codaraxis | (~Codaraxis@91.193.4.38) |
2021-01-19 11:28:39 +0100 | <merijn> | Signal handling doesn't actually seem to deviate that much |
2021-01-19 11:28:52 +0100 | <merijn> | Mostly the existence/absence of certain signals |
2021-01-19 11:29:05 +0100 | <merijn> | Which isn't really relevant for handling them |
2021-01-19 11:29:47 +0100 | <arahael> | I thought windows has signals? |
2021-01-19 11:30:14 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:6c35:c27b:9d47:22a1) |
2021-01-19 11:30:20 +0100 | <arahael> | Eg, https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/signal?view=msvc-160 Though, that _could_ be a compatibility layer. |
2021-01-19 11:30:49 +0100 | <merijn> | Well signal is horrifically broken and literally cannot be used correctly >.> |
2021-01-19 11:31:34 +0100 | <arahael> | Hmm. :) Which again lends further credence to the "set a flag and get the heck out". :) |
2021-01-19 11:31:41 +0100 | <merijn> | arahael: No |
2021-01-19 11:31:49 +0100 | <merijn> | arahael: You can't even do *that* correctly using signal |
2021-01-19 11:32:00 +0100 | <merijn> | arahael: You literally can't do *anything* correctly using signal |
2021-01-19 11:32:06 +0100 | <merijn> | That's why sigaction() was created |
2021-01-19 11:32:26 +0100 | <merijn> | Which doesn't seem to be on that windows page, so, uh, fun... |
2021-01-19 11:32:29 +0100 | <merijn> | Anyway, lunch |
2021-01-19 11:32:48 +0100 | <arahael> | Enjoy the lunch. :) |
2021-01-19 11:34:52 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:6c35:c27b:9d47:22a1) (Ping timeout: 244 seconds) |
2021-01-19 11:35:37 +0100 | thc202 | (~thc202@unaffiliated/thc202) |
2021-01-19 11:39:26 +0100 | jchia__ | (~jchia@jungle.jchia.net) (Remote host closed the connection) |
2021-01-19 11:43:37 +0100 | hackage | zip 1.7.0 - Operations on zip archives https://hackage.haskell.org/package/zip-1.7.0 (mrkkrp) |
2021-01-19 11:44:09 +0100 | acidjnk_new | (~acidjnk@p200300d0c704e732989dd075055fe92d.dip0.t-ipconnect.de) |
2021-01-19 11:45:27 +0100 | Gurkenglas | (~Gurkengla@unaffiliated/gurkenglas) |
2021-01-19 11:47:38 +0100 | quinn | (~quinn@c-73-223-224-163.hsd1.ca.comcast.net) (Quit: ZNC 1.8.1 - https://znc.in) |
2021-01-19 11:47:52 +0100 | Alleria__ | (~textual@zrcout.mskcc.org) |
2021-01-19 11:48:22 +0100 | dandart | (~Thunderbi@home.dandart.co.uk) |
2021-01-19 11:50:03 +0100 | imjacobclark | (~imjacobcl@host86-129-42-107.range86-129.btcentralplus.com) |
2021-01-19 11:51:29 +0100 | <imjacobclark> | Hi there. I am trying to write a function that takes a "newtype Point a b = Point (a, b)" however when I use it "singleTerm :: [Point Int Int] Int -> Int " I get the error "Expected kind ‘* -> *’, but ‘[Point Int Int]’ has kind ‘*’" |
2021-01-19 11:51:31 +0100 | ubert | (~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233) |
2021-01-19 11:52:23 +0100 | <dminuoso> | imjacobclark: Stare at `[Point Int Int] Int ` |
2021-01-19 11:52:35 +0100 | <imjacobclark> | daamitttttt |
2021-01-19 11:52:35 +0100 | <imjacobclark> | -> |
2021-01-19 11:52:36 +0100 | <imjacobclark> | ha |
2021-01-19 11:52:37 +0100 | <imjacobclark> | thankyou |
2021-01-19 11:53:03 +0100 | <dminuoso> | It's curious, how good and exact GHCs errors often are. |
2021-01-19 11:54:11 +0100 | fendor | (~fendor@178.115.128.149.wireless.dyn.drei.com) |
2021-01-19 11:54:31 +0100 | ulidtko|k | (~ulidtko@193.111.48.79) |
2021-01-19 11:54:33 +0100 | <dminuoso> | imjacobclark: If you read the error carefully, you will notice that GHC has some reason to believe that `[Point Int Int]` is of kind `* -> *`. The reason GHC usually does that, is because of infererence. |
2021-01-19 11:54:53 +0100 | <dminuoso> | In this case, it's inferred to have `* -> *` because you're applying it to another type |
2021-01-19 11:56:20 +0100 | ChaiTRex | (~ChaiTRex@gateway/tor-sasl/chaitrex) (Remote host closed the connection) |
2021-01-19 11:56:53 +0100 | ChaiTRex | (~ChaiTRex@gateway/tor-sasl/chaitrex) |
2021-01-19 11:57:02 +0100 | nullifidian | (~nullifidi@unaffiliated/nullifidian) |
2021-01-19 11:59:12 +0100 | Gurkenglas | (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 246 seconds) |
2021-01-19 11:59:14 +0100 | vicfred | (vicfred@gateway/vpn/mullvad/vicfred) (Quit: Leaving) |
2021-01-19 11:59:56 +0100 | nomeata | (~jojo@dslb-084-056-082-238.084.056.pools.vodafone-ip.de) |
2021-01-19 12:01:35 +0100 | Tops2 | (~Tobias@dyndsl-095-033-095-048.ewe-ip-backbone.de) |
2021-01-19 12:03:58 +0100 | Gurkenglas | (~Gurkengla@unaffiliated/gurkenglas) |
2021-01-19 12:04:41 +0100 | nomeata | (~jojo@dslb-084-056-082-238.084.056.pools.vodafone-ip.de) (Client Quit) |
2021-01-19 12:10:09 +0100 | frankdmartinez | (~frankdmar@208.91.107.132) |
2021-01-19 12:13:58 +0100 | jamm | (~jamm@unaffiliated/jamm) |
2021-01-19 12:14:14 +0100 | sgibber2018 | (d055ed90@208.85.237.144) (Quit: Connection closed) |
2021-01-19 12:18:25 +0100 | jdt | (~jdt@208.85.233.130) (Ping timeout: 240 seconds) |
2021-01-19 12:18:38 +0100 | jdt | (~jdt@208.85.233.130) |
2021-01-19 12:23:09 +0100 | BosonCollider | (~olofs@90-227-86-119-no542.tbcn.telia.com) |
2021-01-19 12:26:18 +0100 | jamm | (~jamm@unaffiliated/jamm) (Remote host closed the connection) |
2021-01-19 12:26:25 +0100 | dandart | (~Thunderbi@home.dandart.co.uk) (Quit: dandart) |
2021-01-19 12:27:42 +0100 | BosonCollider | (~olofs@90-227-86-119-no542.tbcn.telia.com) (Ping timeout: 256 seconds) |
2021-01-19 12:29:39 +0100 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 246 seconds) |
2021-01-19 12:30:03 +0100 | jchia__ | (~jchia@58.32.32.155) |
2021-01-19 12:31:37 +0100 | nullifidian | (~nullifidi@unaffiliated/nullifidian) (Quit: Leaving) |
2021-01-19 12:31:43 +0100 | rdivyanshu | (uid322626@gateway/web/irccloud.com/x-qvgxasklpnabqoft) (Quit: Connection closed for inactivity) |
2021-01-19 12:33:42 +0100 | ericsagnes | (~ericsagne@2405:6580:0:5100:8e8a:9396:9535:8e0a) (Ping timeout: 260 seconds) |
2021-01-19 12:33:57 +0100 | jedws | (~jedws@121.209.139.157) |
2021-01-19 12:34:24 +0100 | denisse | (~spaceCat@gateway/tor-sasl/alephzer0) (Ping timeout: 268 seconds) |
2021-01-19 12:35:35 +0100 | bogdanp | (~bogdanp@188.24.80.165) (Ping timeout: 256 seconds) |
2021-01-19 12:35:36 +0100 | Moyst | (~moyst@212-149-213-144.bb.dnainternet.fi) (Ping timeout: 272 seconds) |
2021-01-19 12:36:01 +0100 | Moyst | (~moyst@85-76-109-176-nat.elisa-mobile.fi) |
2021-01-19 12:36:03 +0100 | gxt | (~gxt@gateway/tor-sasl/gxt) |
2021-01-19 12:36:28 +0100 | Tops21 | (~Tobias@dyndsl-095-033-095-048.ewe-ip-backbone.de) |
2021-01-19 12:36:32 +0100 | Stanley00 | (~stanley00@unaffiliated/stanley00) () |
2021-01-19 12:37:17 +0100 | jchia__ | (~jchia@58.32.32.155) (Ping timeout: 256 seconds) |
2021-01-19 12:39:47 +0100 | Tops2 | (~Tobias@dyndsl-095-033-095-048.ewe-ip-backbone.de) (Ping timeout: 256 seconds) |
2021-01-19 12:40:15 +0100 | seveg | (~gabriel@2a02-ab04-0249-8d00-dea6-32ff-fe17-0993.dynamic.v6.chello.sk) |
2021-01-19 12:40:41 +0100 | denisse | (~spaceCat@gateway/tor-sasl/alephzer0) |
2021-01-19 12:40:42 +0100 | jedws | (~jedws@121.209.139.157) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-01-19 12:41:04 +0100 | ulidtko|kk | (~ulidtko@194.54.80.38) |
2021-01-19 12:42:15 +0100 | mirrorbird | (~psutcliff@2a00:801:42b:aff3:74af:2f22:932d:eac0) |
2021-01-19 12:43:45 +0100 | ulidtko|k | (~ulidtko@193.111.48.79) (Ping timeout: 256 seconds) |
2021-01-19 12:45:58 +0100 | ericsagnes | (~ericsagne@2405:6580:0:5100:5b64:e916:ea7b:a5fd) |
2021-01-19 12:48:17 +0100 | Neuromancer | (~Neuromanc@unaffiliated/neuromancer) (Ping timeout: 256 seconds) |
2021-01-19 12:54:35 +0100 | jamm | (~jamm@unaffiliated/jamm) |
2021-01-19 12:55:58 +0100 | p-core | (~Thunderbi@2001:718:1e03:5128:3697:eeda:19aa:8e56) |
2021-01-19 12:57:26 +0100 | neiluj | (~jco@91-167-203-101.subs.proxad.net) |
2021-01-19 12:57:46 +0100 | neiluj | (~jco@91-167-203-101.subs.proxad.net) (*.net *.split) |
2021-01-19 12:57:46 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (*.net *.split) |
2021-01-19 12:57:46 +0100 | mputz | (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (*.net *.split) |
2021-01-19 12:57:46 +0100 | _ht | (~quassel@82-169-194-8.biz.kpn.net) (*.net *.split) |
2021-01-19 12:57:46 +0100 | Katarushisu | (~Katarushi@cpc152083-finc20-2-0-cust170.4-2.cable.virginm.net) (*.net *.split) |
2021-01-19 12:57:46 +0100 | hololeap | (~hololeap@unaffiliated/hololeap) (*.net *.split) |
2021-01-19 12:57:46 +0100 | sakirious | (~sakirious@c-71-197-191-137.hsd1.wa.comcast.net) (*.net *.split) |
2021-01-19 12:57:46 +0100 | wz1000 | (~wz1000@static.11.113.47.78.clients.your-server.de) (*.net *.split) |
2021-01-19 12:57:46 +0100 | thecoffemaker | (~thecoffem@unaffiliated/thecoffemaker) (*.net *.split) |
2021-01-19 12:57:46 +0100 | b3z | (~b3z@vmd41962.contaboserver.net) (*.net *.split) |
2021-01-19 12:57:46 +0100 | ViCi | (daniel@10PLM.ro) (*.net *.split) |
2021-01-19 12:57:46 +0100 | hvr_ | (~hvr@haskell/developer/hvr) (*.net *.split) |
2021-01-19 12:57:46 +0100 | petersen | (~petersen@redhat/juhp) (*.net *.split) |
2021-01-19 12:57:46 +0100 | b4er | (~b4er@193.27.14.109) (*.net *.split) |
2021-01-19 12:57:46 +0100 | AWizzArd | (~code@unaffiliated/awizzard) (*.net *.split) |
2021-01-19 12:57:46 +0100 | Khisanth | (~Khisanth@24.sub-174-244-147.myvzw.com) (*.net *.split) |
2021-01-19 12:57:46 +0100 | waskell | (~quassel@d172-218-41-115.bchsia.telus.net) (*.net *.split) |
2021-01-19 12:57:46 +0100 | statusfailed | (~statusfai@statusfailed.com) (*.net *.split) |
2021-01-19 12:57:46 +0100 | puffnfresh | (~puffnfres@119-17-138-164.77118a.mel.static.aussiebb.net) (*.net *.split) |
2021-01-19 12:57:46 +0100 | sujeet | (sujeet@unaffiliated/freeboson) (*.net *.split) |
2021-01-19 12:57:46 +0100 | devalot | (~ident@mail.pmade.com) (*.net *.split) |
2021-01-19 12:57:46 +0100 | puffnfresh_ | (~puffnfres@45.76.124.5) (*.net *.split) |
2021-01-19 12:57:46 +0100 | SlashLife | (~slashlife@stienen.name) (*.net *.split) |
2021-01-19 12:57:46 +0100 | cpape | (~user@static.180.18.203.116.clients.your-server.de) (*.net *.split) |
2021-01-19 12:57:46 +0100 | piele | (~piele@tbonesteak.creativeserver.net) (*.net *.split) |
2021-01-19 12:57:46 +0100 | Anthaas | (~Anthaas@unaffiliated/anthaas) (*.net *.split) |
2021-01-19 12:57:46 +0100 | pieguy128 | (~pieguy128@bras-base-mtrlpq5031w-grc-39-70-27-244-102.dsl.bell.ca) (*.net *.split) |
2021-01-19 12:57:46 +0100 | edwtjo | (~edwtjo@fsf/member/edwtjo) (*.net *.split) |
2021-01-19 12:57:46 +0100 | zmagii | (~zmagii@unaffiliated/zmagii) (*.net *.split) |
2021-01-19 12:57:46 +0100 | otulp | (~otulp@ti0187q162-6038.bb.online.no) (*.net *.split) |
2021-01-19 12:57:46 +0100 | mmaruseacph2 | (~mihai@198.199.100.72) (*.net *.split) |
2021-01-19 12:57:47 +0100 | johnyginthehouse | (~johnygint@159.203.30.32) (*.net *.split) |
2021-01-19 12:57:47 +0100 | vancz | (~vancz@unaffiliated/vancz) (*.net *.split) |
2021-01-19 12:57:47 +0100 | dminuoso | (~dminuoso@unaffiliated/dminuoso) (*.net *.split) |
2021-01-19 12:57:47 +0100 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) (*.net *.split) |
2021-01-19 12:57:47 +0100 | vk3wtf | (~doc@203.221.224.44) (*.net *.split) |
2021-01-19 12:57:47 +0100 | quicksilver | (~jules@roobarb.crazydogs.org) (*.net *.split) |
2021-01-19 12:57:47 +0100 | whatisRT | (~whatisRT@ip5b416a33.dynamic.kabel-deutschland.de) (*.net *.split) |
2021-01-19 12:57:47 +0100 | tv- | (~tv@unaffiliated/tv-) (*.net *.split) |
2021-01-19 12:57:47 +0100 | hc | (~hc@fsfe/hc) (*.net *.split) |
2021-01-19 12:57:47 +0100 | Cathy | (~Cathy@unaffiliated/cathy) (*.net *.split) |
2021-01-19 12:57:47 +0100 | mr_yogurt | (~mr_yogurt@5.61.211.35.bc.googleusercontent.com) (*.net *.split) |
2021-01-19 12:57:47 +0100 | emergence | (~emergence@vm0.max-p.me) (*.net *.split) |
2021-01-19 12:57:47 +0100 | gareth__ | (~gareth__@104.236.161.134) (*.net *.split) |
2021-01-19 12:57:47 +0100 | jol | (~jol@jol.dev) (*.net *.split) |
2021-01-19 12:57:47 +0100 | WzC | (~Frank@77-162-168-71.fixed.kpn.net) (*.net *.split) |
2021-01-19 12:57:47 +0100 | arkeet` | (~arkeet@moriya.ca) (*.net *.split) |
2021-01-19 12:57:47 +0100 | drewr | (~drew@elastic/staff/drewr) (*.net *.split) |
2021-01-19 12:57:47 +0100 | voidcontext | (~pgee@178.62.100.221) (*.net *.split) |
2021-01-19 12:57:47 +0100 | exarkun | (~exarkun@14.79.69.34.bc.googleusercontent.com) (*.net *.split) |
2021-01-19 12:57:47 +0100 | andjjj23 | (~irc@107.170.228.47) (*.net *.split) |
2021-01-19 12:57:47 +0100 | rprosper- | (~adam@186.75.232.35.bc.googleusercontent.com) (*.net *.split) |
2021-01-19 12:57:54 +0100 | hc | (~hc@fsfe/hc) |
2021-01-19 12:57:54 +0100 | b4er | (~b4er@193.27.14.109) |
2021-01-19 12:57:55 +0100 | ViCi | (daniel@10PLM.ro) |
2021-01-19 12:57:55 +0100 | imjacobc_ | (~imjacobcl@host86-129-42-107.range86-129.btcentralplus.com) |
2021-01-19 12:57:58 +0100 | mputz | (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) |
2021-01-19 12:58:00 +0100 | waskell | (~quassel@d172-218-41-115.bchsia.telus.net) |
2021-01-19 12:58:03 +0100 | Gurkenglas_ | (~Gurkengla@unaffiliated/gurkenglas) |
2021-01-19 12:58:03 +0100 | exarkun | (~exarkun@14.79.69.34.bc.googleusercontent.com) |
2021-01-19 12:58:03 +0100 | whatisRT | (~whatisRT@ip5b416a33.dynamic.kabel-deutschland.de) |
2021-01-19 12:58:05 +0100 | wz1000 | (~wz1000@static.11.113.47.78.clients.your-server.de) |
2021-01-19 12:58:08 +0100 | zmagii | (~zmagii@unaffiliated/zmagii) |
2021-01-19 12:58:11 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-01-19 12:58:16 +0100 | tv- | (~tv@unaffiliated/tv-) |
2021-01-19 12:58:19 +0100 | edwtjo | (~edwtjo@h-7-145.A213.priv.bahnhof.se) |
2021-01-19 12:58:19 +0100 | edwtjo | (~edwtjo@h-7-145.A213.priv.bahnhof.se) (Changing host) |
2021-01-19 12:58:19 +0100 | edwtjo | (~edwtjo@fsf/member/edwtjo) |
2021-01-19 12:58:20 +0100 | quicksilver | (~jules@roobarb.crazydogs.org) |
2021-01-19 12:58:21 +0100 | vancz | (~vancz@unaffiliated/vancz) |
2021-01-19 12:58:22 +0100 | mmaruseacph2 | (~mihai@198.199.100.72) |
2021-01-19 12:58:22 +0100 | voidcontext | (~pgee@178.62.100.221) |
2021-01-19 12:58:23 +0100 | sakirious | (~sakirious@c-71-197-191-137.hsd1.wa.comcast.net) |
2021-01-19 12:58:24 +0100 | vk3wtf | (~doc@203.221.224.44) |
2021-01-19 12:58:31 +0100 | gareth__ | (~gareth__@104.236.161.134) |
2021-01-19 12:58:31 +0100 | b3z | (~b3z@vmd41962.contaboserver.net) |
2021-01-19 12:58:31 +0100 | emergence | (~emergence@vm0.max-p.me) |
2021-01-19 12:58:31 +0100 | AWizzArd | (~code@gehrels.uberspace.de) |
2021-01-19 12:58:31 +0100 | Khisanth | (~Khisanth@24.sub-174-244-147.myvzw.com) |
2021-01-19 12:58:31 +0100 | puffnfresh | (~puffnfres@119-17-138-164.77118a.mel.static.aussiebb.net) |
2021-01-19 12:58:31 +0100 | cpape | (~user@static.180.18.203.116.clients.your-server.de) |
2021-01-19 12:58:31 +0100 | piele | (~piele@tbonesteak.creativeserver.net) |
2021-01-19 12:58:31 +0100 | johnyginthehouse | (~johnygint@159.203.30.32) |
2021-01-19 12:58:31 +0100 | mr_yogurt | (~mr_yogurt@5.61.211.35.bc.googleusercontent.com) |
2021-01-19 12:58:31 +0100 | WzC | (~Frank@77-162-168-71.fixed.kpn.net) |
2021-01-19 12:58:31 +0100 | andjjj23 | (~irc@107.170.228.47) |
2021-01-19 12:58:32 +0100 | ulidtko|k | (~ulidtko@194.54.80.38) |
2021-01-19 12:58:33 +0100 | dminuoso | (~dminuoso@unaffiliated/dminuoso) |
2021-01-19 12:58:35 +0100 | pieguy128 | (~pieguy128@bras-base-mtrlpq5031w-grc-39-70-27-244-102.dsl.bell.ca) |
2021-01-19 12:58:37 +0100 | SlashLife | (~slashlife@stienen.name) |
2021-01-19 12:58:41 +0100 | ralu | (~ralu@static.211.245.203.116.clients.your-server.de) |
2021-01-19 12:58:41 +0100 | ulidtko|kk | (~ulidtko@194.54.80.38) (Read error: Connection reset by peer) |
2021-01-19 12:58:41 +0100 | jonathanx | (~jonathan@h-176-109.A357.priv.bahnhof.se) (Read error: Connection reset by peer) |
2021-01-19 12:58:42 +0100 | neiluj | (~jco@91-167-203-101.subs.proxad.net) |
2021-01-19 12:58:42 +0100 | neiluj | (~jco@91-167-203-101.subs.proxad.net) (Changing host) |
2021-01-19 12:58:42 +0100 | neiluj | (~jco@unaffiliated/neiluj) |
2021-01-19 12:58:45 +0100 | _ht | (~quassel@82-169-194-8.biz.kpn.net) |
2021-01-19 12:58:49 +0100 | hololeap | (~hololeap@unaffiliated/hololeap) |
2021-01-19 12:58:56 +0100 | Anthaas | (~Anthaas@unaffiliated/anthaas) |
2021-01-19 12:59:03 +0100 | statusfailed | (~statusfai@statusfailed.com) |
2021-01-19 12:59:03 +0100 | jespada_ | (~jespada@90.254.241.81) |
2021-01-19 12:59:05 +0100 | sujeet | (sujeet@unaffiliated/freeboson) |
2021-01-19 12:59:07 +0100 | puffnfresh_ | (~puffnfres@45.76.124.5) |
2021-01-19 12:59:08 +0100 | otulp | (~otulp@ti0187q162-6038.bb.online.no) |
2021-01-19 12:59:15 +0100 | Katarushisu | (~Katarushi@cpc152083-finc20-2-0-cust170.4-2.cable.virginm.net) |
2021-01-19 12:59:18 +0100 | drewr | (~drew@elastic/staff/drewr) |
2021-01-19 12:59:22 +0100 | jamm | (~jamm@unaffiliated/jamm) (Ping timeout: 260 seconds) |
2021-01-19 12:59:31 +0100 | petersen | (~petersen@redhat/juhp) |
2021-01-19 12:59:35 +0100 | thecoffemaker | (~thecoffem@unaffiliated/thecoffemaker) |
2021-01-19 12:59:45 +0100 | Alleria | (~textual@mskresolve-a.mskcc.org) |
2021-01-19 13:00:06 +0100 | rprospero | (~adam@186.75.232.35.bc.googleusercontent.com) |
2021-01-19 13:00:08 +0100 | Alleria | Guest33543 |
2021-01-19 13:00:09 +0100 | jol | (~jol@jol.dev) |
2021-01-19 13:00:11 +0100 | Alleria__ | (~textual@zrcout.mskcc.org) (Ping timeout: 256 seconds) |
2021-01-19 13:00:11 +0100 | jespada | (~jespada@90.254.241.81) (Ping timeout: 256 seconds) |
2021-01-19 13:00:11 +0100 | arkeet | (arkeet@moriya.ca) |
2021-01-19 13:00:11 +0100 | arkeet | (arkeet@moriya.ca) (Changing host) |
2021-01-19 13:00:11 +0100 | arkeet | (arkeet@unaffiliated/arkeet) |
2021-01-19 13:00:12 +0100 | adamCS | (~adamCS@ec2-34-207-160-255.compute-1.amazonaws.com) (Ping timeout: 264 seconds) |
2021-01-19 13:00:38 +0100 | acidjnk_new | (~acidjnk@p200300d0c704e732989dd075055fe92d.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
2021-01-19 13:00:45 +0100 | imjacobclark | (~imjacobcl@host86-129-42-107.range86-129.btcentralplus.com) (Ping timeout: 256 seconds) |
2021-01-19 13:01:13 +0100 | Cathy | (~Cathy@unaffiliated/cathy) |
2021-01-19 13:01:19 +0100 | Gurkenglas | (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 256 seconds) |
2021-01-19 13:02:56 +0100 | bogdanp | (~bogdanp@188.24.80.165) |
2021-01-19 13:03:08 +0100 | adamCS | (~adamCS@ec2-34-207-160-255.compute-1.amazonaws.com) |
2021-01-19 13:04:05 +0100 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 240 seconds) |
2021-01-19 13:04:12 +0100 | devalot | (~ident@mail.pmade.com) |
2021-01-19 13:13:22 +0100 | jchia1 | (~jchia@45.32.62.73) |
2021-01-19 13:14:23 +0100 | jchia1 | (~jchia@45.32.62.73) (Remote host closed the connection) |
2021-01-19 13:14:33 +0100 | benb | (52456307@82-69-99-7.dsl.in-addr.zen.co.uk) |
2021-01-19 13:15:15 +0100 | jchia | (~jchia@58.32.37.71) (Ping timeout: 256 seconds) |
2021-01-19 13:15:29 +0100 | jchia | (~jchia@58.32.70.251) |
2021-01-19 13:19:45 +0100 | plutoniix | (~q@184.82.204.73) (Quit: Leaving) |
2021-01-19 13:20:15 +0100 | philopsos | (~caecilius@gateway/tor-sasl/caecilius) |
2021-01-19 13:25:50 +0100 | coeus | (~coeus@p200300d0274147008292896d606877b0.dip0.t-ipconnect.de) (Ping timeout: 264 seconds) |
2021-01-19 13:29:24 +0100 | mattycoch | (3aa56852@58.165.104.82) |
2021-01-19 13:30:16 +0100 | mputz | (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Quit: mputz) |
2021-01-19 13:30:56 +0100 | jchia__ | (~jchia@58.32.38.49) |
2021-01-19 13:31:58 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:a004:c2e:5fd9:3135) |
2021-01-19 13:32:18 +0100 | viluon | (uid453725@gateway/web/irccloud.com/x-buwkhmdreivhxbgq) |
2021-01-19 13:34:53 +0100 | mattycoch | nphard |
2021-01-19 13:37:14 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:a004:c2e:5fd9:3135) (Ping timeout: 264 seconds) |
2021-01-19 13:39:20 +0100 | plutoniix | (~q@184.82.204.73) |
2021-01-19 13:42:09 +0100 | coeus | (~coeus@p200300d0271a71003f6e8216a2f68215.dip0.t-ipconnect.de) |
2021-01-19 13:44:14 +0100 | Wuzzy | (~Wuzzy@p5b0df22a.dip0.t-ipconnect.de) |
2021-01-19 13:44:17 +0100 | nphard | (3aa56852@58.165.104.82) (Ping timeout: 248 seconds) |
2021-01-19 13:45:11 +0100 | knupfer | (~Thunderbi@200116b82c70da0034d2ffe034e16ff0.dip.versatel-1u1.de) (Quit: knupfer) |
2021-01-19 13:45:20 +0100 | knupfer | (~Thunderbi@200116b82c70da0049acd258c4c452c2.dip.versatel-1u1.de) |
2021-01-19 13:45:52 +0100 | aveltras | (uid364989@gateway/web/irccloud.com/x-pgszkpeaurxqzlip) |
2021-01-19 13:48:23 +0100 | olligobber | (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Ping timeout: 260 seconds) |
2021-01-19 13:49:20 +0100 | <aveltras> | i'd like to build a function which would only require the field accessor (eg mainCss or mainJs) to build a link with the following code, what would be the type of this function ? the goal is to only have to pass around that function on my app and not the Assets data type + the link builder |
2021-01-19 13:49:27 +0100 | <aveltras> | https://www.irccloud.com/pastebin/swuxws9O/ |
2021-01-19 13:49:58 +0100 | <aveltras> | intended use with something like lucid would be |
2021-01-19 13:50:01 +0100 | <aveltras> | script_ [src_ $ buildAssetLink mainCss] (mempty:: Text) |
2021-01-19 13:50:13 +0100 | Deide | (~Deide@217.155.19.23) |
2021-01-19 13:50:27 +0100 | <aveltras> | the Assets data is gathered in the main function by parsing a manifest.json file |
2021-01-19 13:50:39 +0100 | <merijn> | aveltras: You can't really avoid passing the Assets data type around? |
2021-01-19 13:51:40 +0100 | <merijn> | aveltras: I mean, even if you *could* pass the field accessor (I'm not even sure what that'd mean?) how would you actually get the data without the Assets datatype? |
2021-01-19 13:52:04 +0100 | <aveltras> | because the buildLink is already partially applied with the Assets data in my main function |
2021-01-19 13:52:49 +0100 | <merijn> | aveltras: Right, but then you can just change buildLink to accept something like "(Asset -> Text) -> ... -> Link" |
2021-01-19 13:53:15 +0100 | <merijn> | Since field accessors function simply as functions "mainCss :: Asset -> Text"? |
2021-01-19 13:53:35 +0100 | <aveltras> | what i tried until now is |
2021-01-19 13:53:39 +0100 | <aveltras> | https://www.irccloud.com/pastebin/oeHOLU6u/ |
2021-01-19 13:53:55 +0100 | <aveltras> | but then ghc complains that mainCss is not of type Assets obviously |
2021-01-19 13:54:00 +0100 | p8m_ | (p8m@gateway/vpn/protonvpn/p8m) (Ping timeout: 246 seconds) |
2021-01-19 13:54:04 +0100 | <merijn> | aveltras: that seems wrong |
2021-01-19 13:54:11 +0100 | knupfer | (~Thunderbi@200116b82c70da0049acd258c4c452c2.dip.versatel-1u1.de) (Quit: knupfer) |
2021-01-19 13:54:14 +0100 | knupfer1 | (~Thunderbi@mue-88-130-61-193.dsl.tropolys.de) |
2021-01-19 13:54:17 +0100 | <aveltras> | i think that s because that not guaranteed taht all fields would lead to a Text data |
2021-01-19 13:54:33 +0100 | <merijn> | aveltras: "buildAssetLink :: Assets -> Link", but you apply it to "mainCss :: Asset -> Link" |
2021-01-19 13:54:41 +0100 | <merijn> | eh |
2021-01-19 13:54:47 +0100 | <merijn> | "mainCss :: Asset -> Text" |
2021-01-19 13:55:10 +0100 | <aveltras> | there's no Link type here, only Text |
2021-01-19 13:55:13 +0100 | niekvandepas | (~niekvande@ip-145-116-131-65.wlan-int.ru.nl) (Remote host closed the connection) |
2021-01-19 13:55:23 +0100 | <merijn> | Eh, my brain is fried |
2021-01-19 13:55:25 +0100 | <merijn> | Anyway |
2021-01-19 13:55:30 +0100 | <aveltras> | that s just bad naming on my part |
2021-01-19 13:55:33 +0100 | p8m | (p8m@gateway/vpn/protonvpn/p8m) |
2021-01-19 13:55:38 +0100 | <merijn> | Pressumably "Assets" /= "Asset -> Text" |
2021-01-19 13:55:39 +0100 | niekvandepas | (~niekvande@ip-145-116-131-65.wlan-int.ru.nl) |
2021-01-19 13:56:03 +0100 | <aveltras> | oh no |
2021-01-19 13:56:06 +0100 | <aveltras> | damn |
2021-01-19 13:56:08 +0100 | <merijn> | aveltras: So obviously it's a type error to apply "buildAssetLink :: Assets -> Text" to "mainCss :: Asset -> Text" |
2021-01-19 13:56:08 +0100 | <aveltras> | so much time lost |
2021-01-19 13:56:24 +0100 | <aveltras> | passed a wrong function type i my template function indeed |
2021-01-19 13:56:36 +0100 | cheater | (~user@unaffiliated/cheater) (Ping timeout: 264 seconds) |
2021-01-19 13:56:36 +0100 | knupfer1 | knupfer |
2021-01-19 13:56:37 +0100 | plutoniix | (~q@184.82.204.73) (Quit: Leaving) |
2021-01-19 13:56:39 +0100 | <aveltras> | ((Assets -> Text) -> Text) is much better indeed |
2021-01-19 13:56:46 +0100 | <merijn> | Presumably you meant something like "(Asset -> Text) -> Assets -> Text)" or whatever |
2021-01-19 13:57:11 +0100 | <merijn> | And then passing mainCss should just work |
2021-01-19 13:57:11 +0100 | <dminuoso> | Manually constructing SQL queries with variable amounts of fields, tractable where-clauses... all with postgresql-simple |
2021-01-19 13:57:16 +0100 | <dminuoso> | Is quite fun and easy. |
2021-01-19 13:57:22 +0100 | <aveltras> | ye it works now |
2021-01-19 13:57:37 +0100 | <aveltras> | thanks for your assistance here, should have double checked before asking |
2021-01-19 13:57:40 +0100 | <dminuoso> | More and more do I not understand how people can deal with orm nonsense, say like in django.. |
2021-01-19 13:57:45 +0100 | <aveltras> | already had the right type in another function |
2021-01-19 13:57:54 +0100 | <merijn> | dminuoso: :p |
2021-01-19 13:58:50 +0100 | <aveltras> | while you're speaking of sql, has anyone tried using squeal ? |
2021-01-19 13:59:44 +0100 | <merijn> | aveltras: At first glance looks just as painful and awful as beam >.> |
2021-01-19 13:59:44 +0100 | niekvandepas | (~niekvande@ip-145-116-131-65.wlan-int.ru.nl) (Ping timeout: 240 seconds) |
2021-01-19 14:00:22 +0100 | <dminuoso> | Instead of trying to connect SQL into the Haskell type system, I'd rather explore tacking a type system onto SQL itself.. |
2021-01-19 14:00:29 +0100 | <merijn> | Typeclass with n billion parameters, everything lifted to the type level, etc. |
2021-01-19 14:00:40 +0100 | <merijn> | 5000 modules... |
2021-01-19 14:00:57 +0100 | <merijn> | dminuoso: tbh, I think it's kinda a dumb issue anyway |
2021-01-19 14:01:25 +0100 | <merijn> | Writing tests to check hand-written SQL vs your schema is trivial and probably much less work than maintaining an entire postgres eDSL >.> |
2021-01-19 14:01:33 +0100 | <merijn> | Probably compiles a billion times faster too :p |
2021-01-19 14:01:46 +0100 | tv- | (~tv@unaffiliated/tv-) (Quit: WeeChat 2.8) |
2021-01-19 14:01:51 +0100 | <dminuoso> | Heh, most of my compile time is generics for aeson instances. |
2021-01-19 14:02:03 +0100 | tv- | (~tv@unaffiliated/tv-) |
2021-01-19 14:02:03 +0100 | <aveltras> | i like that it had migration support but had trouble constructing basic queries with it |
2021-01-19 14:02:10 +0100 | <dminuoso> | Which, if you tightly control the aeson generic options, are actually not so bad |
2021-01-19 14:02:18 +0100 | <dminuoso> | aveltras: "migration support" |
2021-01-19 14:02:24 +0100 | <dminuoso> | Do you wanna see how complicated migrations are? |
2021-01-19 14:02:41 +0100 | <aveltras> | you mean with squeal ? |
2021-01-19 14:02:59 +0100 | <dminuoso> | `data Migration = Migration { migTitle :: Text, migVersion :: Natural, migAction :: Connection -> IO ()` |
2021-01-19 14:03:08 +0100 | <dminuoso> | one does not need library support for "migrations" |
2021-01-19 14:03:57 +0100 | <aveltras> | i mean, the type checking that the migration you're building is indeed getting you from schemaA to schemaB |
2021-01-19 14:04:09 +0100 | <idnar> | dminuoso: have you used Opaleye? |
2021-01-19 14:04:19 +0100 | <dminuoso> | idnar: No, but it has caught my eyes a few times. |
2021-01-19 14:04:45 +0100 | adeene | (~adeene@181.131.0.191) |
2021-01-19 14:07:08 +0100 | hackage | universum 1.7.2 - Custom prelude used in Serokell https://hackage.haskell.org/package/universum-1.7.2 (gromak) |
2021-01-19 14:08:15 +0100 | Tario | (~Tario@201.192.165.173) |
2021-01-19 14:10:28 +0100 | pjb | (~t@2a01cb04063ec50089de8c855996f2de.ipv6.abo.wanadoo.fr) (Read error: Connection reset by peer) |
2021-01-19 14:11:34 +0100 | cheater | (~user@unaffiliated/cheater) |
2021-01-19 14:11:35 +0100 | jackk_Doe | (~jackk@205.178.111.134) |
2021-01-19 14:12:41 +0100 | mirrorbird | (~psutcliff@2a00:801:42b:aff3:74af:2f22:932d:eac0) (Remote host closed the connection) |
2021-01-19 14:13:06 +0100 | mirrorbird | (~psutcliff@2a00:801:42b:aff3:74af:2f22:932d:eac0) |
2021-01-19 14:13:32 +0100 | jonathanx | (~jonathan@h-176-109.A357.priv.bahnhof.se) |
2021-01-19 14:14:11 +0100 | pjb | (~t@2a01cb04063ec5001d96a6f28d2d22b9.ipv6.abo.wanadoo.fr) |
2021-01-19 14:17:36 +0100 | jonathanx | (~jonathan@h-176-109.A357.priv.bahnhof.se) (Read error: Connection reset by peer) |
2021-01-19 14:17:57 +0100 | geekosaur | (82650c7c@130.101.12.124) |
2021-01-19 14:17:57 +0100 | jonathanx | (~jonathan@h-176-109.A357.priv.bahnhof.se) |
2021-01-19 14:19:29 +0100 | Kaeipi | (~Kaiepi@47.54.252.148) (Read error: No route to host) |
2021-01-19 14:19:53 +0100 | niekvandepas | (~niekvande@dhcp-077-249-088-250.chello.nl) |
2021-01-19 14:20:00 +0100 | Kaeipi | (~Kaiepi@47.54.252.148) |
2021-01-19 14:22:03 +0100 | jonathanx_ | (~jonathan@h-176-109.A357.priv.bahnhof.se) |
2021-01-19 14:23:27 +0100 | jonathanx | (~jonathan@h-176-109.A357.priv.bahnhof.se) (Read error: Connection reset by peer) |
2021-01-19 14:23:36 +0100 | Kaeipi | (~Kaiepi@47.54.252.148) (Remote host closed the connection) |
2021-01-19 14:24:37 +0100 | niekvandepas | (~niekvande@dhcp-077-249-088-250.chello.nl) (Ping timeout: 256 seconds) |
2021-01-19 14:24:57 +0100 | bogdanp | (~bogdanp@188.24.80.165) (Ping timeout: 256 seconds) |
2021-01-19 14:26:32 +0100 | Kaeipi | (~Kaiepi@47.54.252.148) |
2021-01-19 14:27:41 +0100 | Kaeipi | (~Kaiepi@47.54.252.148) (Read error: Connection reset by peer) |
2021-01-19 14:28:06 +0100 | Kaeipi | (~Kaiepi@47.54.252.148) |
2021-01-19 14:30:14 +0100 | brisbin | (~patrick@pool-173-49-158-4.phlapa.fios.verizon.net) |
2021-01-19 14:31:09 +0100 | bogdanp | (~bogdanp@188.24.80.165) |
2021-01-19 14:33:09 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:a004:c2e:5fd9:3135) |
2021-01-19 14:33:25 +0100 | Neuromancer | (~Neuromanc@unaffiliated/neuromancer) |
2021-01-19 14:34:03 +0100 | LKoen | (~LKoen@16.175.9.109.rev.sfr.net) (Remote host closed the connection) |
2021-01-19 14:35:57 +0100 | LKoen | (~LKoen@16.175.9.109.rev.sfr.net) |
2021-01-19 14:36:39 +0100 | cgfuh | (~cgfuh@181.167.191.58) |
2021-01-19 14:36:58 +0100 | larsan1 | (~larsan@84.39.117.57) |
2021-01-19 14:37:50 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:a004:c2e:5fd9:3135) (Ping timeout: 264 seconds) |
2021-01-19 14:41:20 +0100 | hexfive | (~hexfive@50.35.83.177) (Quit: i must go. my people need me.) |
2021-01-19 14:42:37 +0100 | m0rphism | (~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) |
2021-01-19 14:45:07 +0100 | nrh^ | (nrh@ip98-184-89-2.mc.at.cox.net) () |
2021-01-19 14:48:47 +0100 | encod3 | (~encod3@45-154-157-94.ftth.glasoperator.nl) |
2021-01-19 14:48:53 +0100 | niekvandepas | (~niekvande@dhcp-077-249-088-250.chello.nl) |
2021-01-19 14:54:22 +0100 | urodna | (~urodna@unaffiliated/urodna) |
2021-01-19 14:54:23 +0100 | encod3 | (~encod3@45-154-157-94.ftth.glasoperator.nl) () |
2021-01-19 14:55:13 +0100 | hyperisco | (~hyperisco@104-195-141-253.cpe.teksavvy.com) |
2021-01-19 14:56:11 +0100 | frankdmartinez | (~frankdmar@208.91.107.132) (Ping timeout: 272 seconds) |
2021-01-19 14:57:02 +0100 | LKoen | (~LKoen@16.175.9.109.rev.sfr.net) (Read error: Connection reset by peer) |
2021-01-19 14:57:41 +0100 | dandart | (~Thunderbi@home.dandart.co.uk) |
2021-01-19 14:58:42 +0100 | LKoen | (~LKoen@16.175.9.109.rev.sfr.net) |
2021-01-19 14:58:59 +0100 | justanotheruser | (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 260 seconds) |
2021-01-19 14:59:04 +0100 | elfets | (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) |
2021-01-19 14:59:42 +0100 | acidjnk_new | (~acidjnk@p200300d0c704e732989dd075055fe92d.dip0.t-ipconnect.de) |
2021-01-19 14:59:59 +0100 | elliott__ | (~elliott@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 272 seconds) |
2021-01-19 15:02:09 +0100 | ADG1089__ | (~aditya@223.226.159.22) (Remote host closed the connection) |
2021-01-19 15:04:28 +0100 | st8less | (~st8less@2603:a060:11fd:0:de2c:8831:13db:5b34) |
2021-01-19 15:04:37 +0100 | cheater | (~user@unaffiliated/cheater) (Ping timeout: 256 seconds) |
2021-01-19 15:08:47 +0100 | p7lpa1ugixavugu | (~atomic@2800:810:514:e7:7d4a:ba43:c831:bee6) |
2021-01-19 15:08:52 +0100 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) |
2021-01-19 15:12:09 +0100 | ADG1089__ | (~aditya@223.226.159.22) |
2021-01-19 15:14:15 +0100 | jackk_Doe | (~jackk@205.178.111.134) (Quit: Going offline, see ya! (www.adiirc.com)) |
2021-01-19 15:16:31 +0100 | jackk_Doe | (~jackk@205.178.111.134) |
2021-01-19 15:21:31 +0100 | columbarius1 | columbarius |
2021-01-19 15:22:01 +0100 | <kuribas> | iskander wilds |
2021-01-19 15:22:27 +0100 | <kuribas> | sorry bout that... |
2021-01-19 15:22:42 +0100 | <kuribas> | keyboard is acting weird |
2021-01-19 15:22:57 +0100 | Saukk | (~Saukk@83-148-239-3.dynamic.lounea.fi) |
2021-01-19 15:22:57 +0100 | ystael | (~ystael@209.6.50.55) |
2021-01-19 15:23:19 +0100 | mirrorbird | (~psutcliff@2a00:801:42b:aff3:74af:2f22:932d:eac0) (Ping timeout: 272 seconds) |
2021-01-19 15:23:50 +0100 | evanjs- | (~evanjs@075-129-098-007.res.spectrum.com) (Read error: Connection reset by peer) |
2021-01-19 15:24:36 +0100 | Saukk | (~Saukk@83-148-239-3.dynamic.lounea.fi) (Remote host closed the connection) |
2021-01-19 15:25:45 +0100 | evanjs | (~evanjs@075-129-098-007.res.spectrum.com) |
2021-01-19 15:27:49 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
2021-01-19 15:28:24 +0100 | elfets | (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 264 seconds) |
2021-01-19 15:28:28 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2021-01-19 15:30:00 +0100 | Tario | (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
2021-01-19 15:33:40 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:a004:c2e:5fd9:3135) |
2021-01-19 15:38:13 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:a004:c2e:5fd9:3135) (Ping timeout: 244 seconds) |
2021-01-19 15:42:54 +0100 | Tario | (~Tario@201.192.165.173) |
2021-01-19 15:43:56 +0100 | cheater | (~user@unaffiliated/cheater) |
2021-01-19 15:46:03 +0100 | mollberg | (~mollberg@h-62-63-197-58.NA.cust.bahnhof.se) |
2021-01-19 15:46:05 +0100 | geekosaur | (82650c7c@130.101.12.124) (Quit: Connection closed) |
2021-01-19 15:46:53 +0100 | mollberg | (~mollberg@h-62-63-197-58.NA.cust.bahnhof.se) (Client Quit) |
2021-01-19 15:48:12 +0100 | mollberg | (~mollberg@h-62-63-197-58.NA.cust.bahnhof.se) |
2021-01-19 15:49:47 +0100 | mollberg | (~mollberg@h-62-63-197-58.NA.cust.bahnhof.se) (Client Quit) |
2021-01-19 15:52:04 +0100 | mollberg | (~mollberg@h-62-63-197-58.NA.cust.bahnhof.se) |
2021-01-19 15:52:27 +0100 | mmmattyx | (uid17782@gateway/web/irccloud.com/x-ohocdjlobxmifhzq) |
2021-01-19 15:56:46 +0100 | <mollberg> | Any gurus around to help a Haskell beginner in distress? I could use some pointers in understanding recursive data structures... |
2021-01-19 15:57:12 +0100 | <mollberg> | Recursive type classes, I should say. |
2021-01-19 15:57:28 +0100 | <kuribas> | hmm, recursive type classes... |
2021-01-19 15:57:31 +0100 | st8less | (~st8less@2603:a060:11fd:0:de2c:8831:13db:5b34) (Ping timeout: 272 seconds) |
2021-01-19 15:58:33 +0100 | <ski> | recursive, in which sense ? |
2021-01-19 15:59:00 +0100 | <mollberg> | Every tutorial presents me with the binary tree traversal example, but I don't think I can "think recursively" enough to wrap my head around it. |
2021-01-19 15:59:12 +0100 | st8less | (~st8less@inet-167-224-197-181.isp.ozarksgo.net) |
2021-01-19 15:59:36 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-120-135.w86-198.abo.wanadoo.fr) |
2021-01-19 15:59:44 +0100 | <merijn> | mollberg: typeclasses and data structures are pretty much entirely unrelated |
2021-01-19 16:00:26 +0100 | <kuribas> | mollberg: do you know fractals? |
2021-01-19 16:00:38 +0100 | <merijn> | Especially something like binary tree traversal sounds rather unrelated to type classes |
2021-01-19 16:00:38 +0100 | <kuribas> | mollberg: the idea is that you have some part which looks like the whole. |
2021-01-19 16:00:55 +0100 | <mollberg> | Sorry, still getting used to the terminology -- I mean a recursive algebraic data type. |
2021-01-19 16:01:17 +0100 | benb | (52456307@82-69-99-7.dsl.in-addr.zen.co.uk) (Quit: Ping timeout (120 seconds)) |
2021-01-19 16:01:33 +0100 | frankdmartinez | (~frankdmar@208.91.107.132) |
2021-01-19 16:02:19 +0100 | <ski> | do you have some experience with recursion on non-recursive data structures .. like numbers, arrays ? |
2021-01-19 16:02:37 +0100 | <ski> | how about recursion with lists ? |
2021-01-19 16:02:49 +0100 | Sgeo | (~Sgeo@ool-18b98aa4.dyn.optonline.net) |
2021-01-19 16:03:47 +0100 | <mollberg> | Yes, since a few days ago I know my way around Haskell well enough to write basic list operations recursively without folding. |
2021-01-19 16:05:36 +0100 | <ski> | could you write insertion sort or selection sort ? how about "quick sort" or "merge sort" ? |
2021-01-19 16:05:45 +0100 | <merijn> | Fold and recursion are essentially the same thing, except you skip the step of manually writing out the recursion with fold :p |
2021-01-19 16:07:22 +0100 | <dminuoso> | mollberg: Start with the list type, that one is a recursive data type too. |
2021-01-19 16:07:29 +0100 | <mollberg> | I can write both a merge sort and a quick sort, yes. |
2021-01-19 16:07:37 +0100 | <dminuoso> | Or, perhaps, hand-rolled peano naturals are even simpler.. |
2021-01-19 16:07:39 +0100 | mouseghost | (~draco@87-206-9-185.dynamic.chello.pl) |
2021-01-19 16:07:39 +0100 | mouseghost | (~draco@87-206-9-185.dynamic.chello.pl) (Changing host) |
2021-01-19 16:07:39 +0100 | mouseghost | (~draco@wikipedia/desperek) |
2021-01-19 16:07:50 +0100 | <dminuoso> | % data Nat = Succ Nat | Zero |
2021-01-19 16:07:51 +0100 | <yahb> | dminuoso: |
2021-01-19 16:08:05 +0100 | <ski> | so it seems you're ok with non-linear-recursion, then |
2021-01-19 16:08:19 +0100 | knupfer | (~Thunderbi@mue-88-130-61-193.dsl.tropolys.de) (Ping timeout: 256 seconds) |
2021-01-19 16:09:07 +0100 | <ski> | you are drawing pictures of trees, yes ? |
2021-01-19 16:09:39 +0100 | son0p | (~son0p@181.136.122.143) |
2021-01-19 16:10:01 +0100 | <mollberg> | I know folding and recursion are essentially the same, was just clarifying that I understand recursion well enough to be able to write folds by myself. |
2021-01-19 16:10:12 +0100 | <mollberg> | Haven't drawn pictures of trees yet, very good idea. |
2021-01-19 16:11:19 +0100 | <ski> | is there some particular recursion you're having trouble with atm, that we could perhaps assist with ? |
2021-01-19 16:12:07 +0100 | ADG1089__ | (~aditya@223.226.159.22) (Remote host closed the connection) |
2021-01-19 16:19:16 +0100 | cfricke | (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 3.0) |
2021-01-19 16:19:52 +0100 | niekvandepas | (~niekvande@dhcp-077-249-088-250.chello.nl) (Remote host closed the connection) |
2021-01-19 16:20:36 +0100 | pera | (pera@gateway/vpn/mullvad/pera) (Ping timeout: 264 seconds) |
2021-01-19 16:20:56 +0100 | niekvandepas | (~niekvande@dhcp-077-249-088-250.chello.nl) |
2021-01-19 16:22:23 +0100 | bitmagie | (~Thunderbi@200116b80659d800054946a6cc2a64f2.dip.versatel-1u1.de) |
2021-01-19 16:23:16 +0100 | <mollberg> | I'm trying to wrap my head around the Tree/Node example in Learn you a Haskell under "Recursive Data Structures". I don't really understand how the treeInsert function works, what 'left' and 'right' signify, etc. |
2021-01-19 16:25:24 +0100 | niekvandepas | (~niekvande@dhcp-077-249-088-250.chello.nl) (Ping timeout: 264 seconds) |
2021-01-19 16:25:42 +0100 | pera | (pera@gateway/vpn/mullvad/pera) |
2021-01-19 16:25:44 +0100 | <__monty__> | mollberg: `(Node a left right)` is a pattern match. It binds the three fields of a "Node" value to the names "a," left and right. |
2021-01-19 16:25:45 +0100 | <ski> | a tree is either empty, or it's a node, that's branching off into two (sub-)trees (and also contains an element at the node) |
2021-01-19 16:26:10 +0100 | <ski> | `left' and `right' are names that are commonly given to these two sub-trees. the left and the right sub-tree |
2021-01-19 16:26:37 +0100 | <ski> | (any names could be used, but these are conventional) |
2021-01-19 16:29:31 +0100 | <ski> | could you draw e.g. the tree `Node 1 (Node 2 (Node 4 EmptyTree) EmptyTree) (Node 3 EmptyTree (Node 7 (Node 14 EmptyTree EmptyTree) EmptyTree))' in a picture ? |
2021-01-19 16:29:46 +0100 | <__monty__> | mollberg: And to insert a value in a BST you compare with the value of the current node, if the new value is smaller it needs to go into the left subtree, etc. |
2021-01-19 16:32:05 +0100 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) |
2021-01-19 16:32:38 +0100 | bitmagie | (~Thunderbi@200116b80659d800054946a6cc2a64f2.dip.versatel-1u1.de) (Quit: bitmagie) |
2021-01-19 16:33:24 +0100 | fangyrn | (uid481529@gateway/web/irccloud.com/x-uookpebloxxoqjgr) |
2021-01-19 16:34:24 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:a004:c2e:5fd9:3135) |
2021-01-19 16:39:02 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:a004:c2e:5fd9:3135) (Ping timeout: 264 seconds) |
2021-01-19 16:41:15 +0100 | adeene | (~adeene@181.131.0.191) (Read error: Connection reset by peer) |
2021-01-19 16:42:08 +0100 | <mollberg> | Going to try to draw a picture picture ans see if that clarifies it! Thanks for the help! (Unfortunately, I might be back, haha) |
2021-01-19 16:43:02 +0100 | p-core | (~Thunderbi@2001:718:1e03:5128:3697:eeda:19aa:8e56) (Quit: p-core) |
2021-01-19 16:43:23 +0100 | p-core | (~Thunderbi@2001:718:1e03:5128:3697:eeda:19aa:8e56) |
2021-01-19 16:48:24 +0100 | ski | . o O ( <https://www.bellman.net/texter/text.php?epistel=45> ) |
2021-01-19 16:49:48 +0100 | Andrologic_ | (~Andrologi@90.221.74.173) (Ping timeout: 260 seconds) |
2021-01-19 16:51:54 +0100 | adeene | (~adeene@181.131.0.191) |
2021-01-19 16:52:06 +0100 | viluon | (uid453725@gateway/web/irccloud.com/x-buwkhmdreivhxbgq) (Quit: Connection closed for inactivity) |
2021-01-19 16:57:03 +0100 | niekvandepas | (~niekvande@89.205.140.135) |
2021-01-19 16:57:04 +0100 | p-core | (~Thunderbi@2001:718:1e03:5128:3697:eeda:19aa:8e56) (Quit: p-core) |
2021-01-19 16:57:24 +0100 | p-core | (~Thunderbi@2001:718:1e03:5128:3697:eeda:19aa:8e56) |
2021-01-19 16:58:11 +0100 | blissful | (~blissful@unaffiliated/azuline) (Quit: owo) |
2021-01-19 16:58:21 +0100 | <Taneb> | Template haskell question: I have a Type and I Want to see if it represents the same type as a known type (in this case NoContent from servant). How can I do this? |
2021-01-19 16:58:27 +0100 | ADG1089__ | (~aditya@223.226.159.22) |
2021-01-19 16:58:48 +0100 | blissful | (~blissful@unaffiliated/azuline) |
2021-01-19 17:00:15 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-01-19 17:01:16 +0100 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) |
2021-01-19 17:01:47 +0100 | hnOsmium0001 | (uid453710@gateway/web/irccloud.com/x-szygrdcvutmfpknh) |
2021-01-19 17:01:48 +0100 | andrologic | (~Andrologi@90.221.74.173) |
2021-01-19 17:02:15 +0100 | justanotheruser | (~justanoth@unaffiliated/justanotheruser) |
2021-01-19 17:07:52 +0100 | p7lpa1ugixavugu | (~atomic@2800:810:514:e7:7d4a:ba43:c831:bee6) (Ping timeout: 260 seconds) |
2021-01-19 17:08:29 +0100 | avdb | (~avdb@gateway/tor-sasl/avdb) |
2021-01-19 17:09:49 +0100 | djbeau | (~dbeaureg@148.87.23.5) |
2021-01-19 17:10:59 +0100 | ericsagnes | (~ericsagne@2405:6580:0:5100:5b64:e916:ea7b:a5fd) (Ping timeout: 272 seconds) |
2021-01-19 17:11:03 +0100 | shatriff | (~vitaliish@176-52-216-242.irishtelecom.com) |
2021-01-19 17:13:31 +0100 | ransom | (~c4264035@8.48.134.30) |
2021-01-19 17:15:28 +0100 | jneira[m] | (~jneira@4.red-176-87-17.dynamicip.rima-tde.net) |
2021-01-19 17:15:32 +0100 | rayyyy | (~nanoz@gateway/tor-sasl/nanoz) |
2021-01-19 17:15:58 +0100 | ransom_ | (~c4264035@undergraduate-jvossen-9690.mines.edu) |
2021-01-19 17:17:18 +0100 | nineonine | (~nineonine@50.216.62.2) |
2021-01-19 17:17:43 +0100 | <glguy> | Taneb, you could use http://hackage.haskell.org/package/th-abstraction-0.4.2.0/docs/Language-Haskell-TH-Datatype.html#v… |
2021-01-19 17:18:01 +0100 | <glguy> | Not great for detecting failure though |
2021-01-19 17:18:10 +0100 | <glguy> | I forget if you can catch that in Q |
2021-01-19 17:18:35 +0100 | ransom | (~c4264035@8.48.134.30) (Ping timeout: 256 seconds) |
2021-01-19 17:18:55 +0100 | <glguy> | If you just want to compare for equality to a simple constructor that should be easy enough |
2021-01-19 17:19:14 +0100 | frankdmartinez | (~frankdmar@208.91.107.132) (Ping timeout: 264 seconds) |
2021-01-19 17:22:50 +0100 | LKoen | (~LKoen@16.175.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-01-19 17:22:51 +0100 | ericsagnes | (~ericsagne@2405:6580:0:5100:3a7c:5d06:5699:8d8b) |
2021-01-19 17:22:56 +0100 | cross_ | (~cross@spitfire.i.gajendra.net) (Ping timeout: 240 seconds) |
2021-01-19 17:23:03 +0100 | nineonine | (~nineonine@50.216.62.2) (Ping timeout: 260 seconds) |
2021-01-19 17:23:10 +0100 | adeene | (~adeene@181.131.0.191) (Quit: Leaving) |
2021-01-19 17:23:24 +0100 | acidjnk_new | (~acidjnk@p200300d0c704e732989dd075055fe92d.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2021-01-19 17:24:24 +0100 | p7lpa1ugixavugu | (~atomic@2800:810:514:e7:cd02:ce51:d5ac:d9bf) |
2021-01-19 17:25:27 +0100 | avdb | (~avdb@gateway/tor-sasl/avdb) (Quit: avdb) |
2021-01-19 17:27:13 +0100 | jamm | (~jamm@unaffiliated/jamm) |
2021-01-19 17:28:57 +0100 | sMuNiX | (~sMuNiX@vlnsm8-montreal02-142-122-8-233.internet.virginmobile.ca) |
2021-01-19 17:29:12 +0100 | cross | (~cross@spitfire.i.gajendra.net) |
2021-01-19 17:31:47 +0100 | jamm | (~jamm@unaffiliated/jamm) (Ping timeout: 260 seconds) |
2021-01-19 17:39:47 +0100 | kritzefitz | (~kritzefit@fw-front.credativ.com) (Remote host closed the connection) |
2021-01-19 17:41:29 +0100 | hc | (~hc@fsfe/hc) (Quit: leaving) |
2021-01-19 17:41:38 +0100 | hc | (~hc@fsfe/hc) |
2021-01-19 17:42:23 +0100 | son0p | (~son0p@181.136.122.143) (Quit: Lost terminal) |
2021-01-19 17:42:43 +0100 | jneira[m] | (~jneira@4.red-176-87-17.dynamicip.rima-tde.net) (Remote host closed the connection) |
2021-01-19 17:42:51 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:a004:c2e:5fd9:3135) |
2021-01-19 17:44:10 +0100 | jackk_Doe | (~jackk@205.178.111.134) (Quit: Going offline, see ya! (www.adiirc.com)) |
2021-01-19 17:46:17 +0100 | Alleria | (~textual@zrcout.mskcc.org) |
2021-01-19 17:46:40 +0100 | Alleria | Guest74635 |
2021-01-19 17:46:53 +0100 | niekvand_ | (~niekvande@89.205.140.135) |
2021-01-19 17:47:02 +0100 | mouseghost | (~draco@wikipedia/desperek) (Quit: mew wew) |
2021-01-19 17:47:05 +0100 | Katarushisu9 | (~Katarushi@cpc152083-finc20-2-0-cust170.4-2.cable.virginm.net) |
2021-01-19 17:47:06 +0100 | russruss40 | (~russruss@my.russellmcc.com) |
2021-01-19 17:47:51 +0100 | petersen_ | (~petersen@redhat/juhp) |
2021-01-19 17:48:30 +0100 | p8m | (p8m@gateway/vpn/protonvpn/p8m) (Ping timeout: 256 seconds) |
2021-01-19 17:48:31 +0100 | Guest33543 | (~textual@mskresolve-a.mskcc.org) (Ping timeout: 256 seconds) |
2021-01-19 17:48:31 +0100 | Deide1 | (~Deide@217.155.19.23) |
2021-01-19 17:48:37 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-120-135.w86-198.abo.wanadoo.fr) (Remote host closed the connection) |
2021-01-19 17:48:37 +0100 | niekvandepas | (~niekvande@89.205.140.135) (Ping timeout: 256 seconds) |
2021-01-19 17:48:37 +0100 | Neuromancer | (~Neuromanc@unaffiliated/neuromancer) (Ping timeout: 256 seconds) |
2021-01-19 17:48:37 +0100 | anoe | (~anoe@delanoe.org) (Ping timeout: 256 seconds) |
2021-01-19 17:48:37 +0100 | NieDzejkob | (~quassel@188.123.215.55) (Ping timeout: 256 seconds) |
2021-01-19 17:48:38 +0100 | p8m | (p8m@gateway/vpn/protonvpn/p8m) |
2021-01-19 17:48:47 +0100 | NieDzejkob | (~quassel@188.123.215.55) |
2021-01-19 17:48:52 +0100 | anoe | (~anoe@delanoe.org) |
2021-01-19 17:49:00 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-120-135.w86-198.abo.wanadoo.fr) |
2021-01-19 17:49:11 +0100 | andrologic | (~Andrologi@90.221.74.173) (Ping timeout: 256 seconds) |
2021-01-19 17:49:11 +0100 | Deide | (~Deide@217.155.19.23) (Ping timeout: 256 seconds) |
2021-01-19 17:49:11 +0100 | Katarushisu | (~Katarushi@cpc152083-finc20-2-0-cust170.4-2.cable.virginm.net) (Ping timeout: 256 seconds) |
2021-01-19 17:49:11 +0100 | petersen | (~petersen@redhat/juhp) (Ping timeout: 256 seconds) |
2021-01-19 17:49:11 +0100 | Tuplanolla | (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Ping timeout: 256 seconds) |
2021-01-19 17:49:11 +0100 | russruss4 | (~russruss@my.russellmcc.com) (Ping timeout: 256 seconds) |
2021-01-19 17:49:12 +0100 | russruss40 | russruss4 |
2021-01-19 17:49:12 +0100 | Katarushisu9 | Katarushisu |
2021-01-19 17:49:27 +0100 | petersen_ | petersen |
2021-01-19 17:49:32 +0100 | andrologic | (~Andrologi@90.221.74.173) |
2021-01-19 17:49:47 +0100 | Tuplanolla | (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) |
2021-01-19 17:51:20 +0100 | niekvand_ | (~niekvande@89.205.140.135) (Remote host closed the connection) |
2021-01-19 17:52:41 +0100 | Lord_of_Life_ | (~Lord@unaffiliated/lord-of-life/x-0885362) |
2021-01-19 17:55:25 +0100 | Lord_of_Life | (~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 272 seconds) |
2021-01-19 17:55:34 +0100 | Lord_of_Life_ | Lord_of_Life |
2021-01-19 17:56:02 +0100 | niekvandepas | (~niekvande@89.205.140.135) |
2021-01-19 17:57:12 +0100 | pavonia | (~user@unaffiliated/siracusa) (Quit: Bye!) |
2021-01-19 17:57:15 +0100 | Neuromancer | (~Neuromanc@unaffiliated/neuromancer) |
2021-01-19 17:59:36 +0100 | kritzefitz | (~kritzefit@212.86.56.80) |
2021-01-19 17:59:37 +0100 | Tario | (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
2021-01-19 17:59:58 +0100 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
2021-01-19 18:00:13 +0100 | Tario | (~Tario@201.192.165.173) |
2021-01-19 18:00:49 +0100 | Franciman | (~francesco@host-79-51-37-36.retail.telecomitalia.it) (Quit: Leaving) |
2021-01-19 18:00:52 +0100 | ubert | (~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233) (Remote host closed the connection) |
2021-01-19 18:03:22 +0100 | ep1ctetus | (~epictetus@ip184-187-162-163.sb.sd.cox.net) |
2021-01-19 18:03:44 +0100 | rwdrich | (560395a9@cpc159427-cmbg20-2-0-cust424.5-4.cable.virginm.net) |
2021-01-19 18:03:59 +0100 | rwdrich | (560395a9@cpc159427-cmbg20-2-0-cust424.5-4.cable.virginm.net) (Client Quit) |
2021-01-19 18:04:18 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds) |
2021-01-19 18:04:57 +0100 | polyphem | (~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) |
2021-01-19 18:08:00 +0100 | knupfer | (~Thunderbi@dynamic-046-114-149-239.46.114.pool.telefonica.de) |
2021-01-19 18:08:29 +0100 | worc3131 | (~quassel@2a02:c7f:dcc4:6500:cf0e:3346:8766:ab20) |
2021-01-19 18:08:37 +0100 | hackage | call-stack 0.3.0 - Use GHC call-stacks in a backward compatible way https://hackage.haskell.org/package/call-stack-0.3.0 (SimonHengel) |
2021-01-19 18:13:22 +0100 | geekosaur | (82650c7c@130.101.12.124) |
2021-01-19 18:14:25 +0100 | imjacobc_ | (~imjacobcl@host86-129-42-107.range86-129.btcentralplus.com) (Remote host closed the connection) |
2021-01-19 18:14:29 +0100 | niekvandepas | (~niekvande@89.205.140.135) (Remote host closed the connection) |
2021-01-19 18:15:02 +0100 | niekvandepas | (~niekvande@89.205.140.135) |
2021-01-19 18:15:10 +0100 | imjacobclark | (~imjacobcl@host86-129-42-107.range86-129.btcentralplus.com) |
2021-01-19 18:16:51 +0100 | conal | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
2021-01-19 18:17:34 +0100 | niekvandepas | (~niekvande@89.205.140.135) (Read error: No route to host) |
2021-01-19 18:19:53 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) |
2021-01-19 18:22:47 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Remote host closed the connection) |
2021-01-19 18:23:22 +0100 | LKoen | (~LKoen@16.175.9.109.rev.sfr.net) |
2021-01-19 18:23:24 +0100 | nineonine | (~nineonine@50.216.62.2) |
2021-01-19 18:24:46 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:a004:c2e:5fd9:3135) (Remote host closed the connection) |
2021-01-19 18:26:01 +0100 | Tario | (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
2021-01-19 18:26:20 +0100 | conal | (~conal@64.71.133.70) |
2021-01-19 18:30:09 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
2021-01-19 18:30:31 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2021-01-19 18:33:53 +0100 | Tario | (~Tario@201.192.165.173) |
2021-01-19 18:35:12 +0100 | ADG1089__ | (~aditya@223.226.159.22) (Remote host closed the connection) |
2021-01-19 18:36:54 +0100 | imjacobclark | (~imjacobcl@host86-129-42-107.range86-129.btcentralplus.com) (Remote host closed the connection) |
2021-01-19 18:37:16 +0100 | pera | (pera@gateway/vpn/mullvad/pera) (Quit: leaving) |
2021-01-19 18:37:29 +0100 | imjacobclark | (~imjacobcl@host86-129-42-107.range86-129.btcentralplus.com) |
2021-01-19 18:41:45 +0100 | imjacobclark | (~imjacobcl@host86-129-42-107.range86-129.btcentralplus.com) (Ping timeout: 240 seconds) |
2021-01-19 18:43:10 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:a004:c2e:5fd9:3135) |
2021-01-19 18:43:33 +0100 | Moyst | (~moyst@85-76-109-176-nat.elisa-mobile.fi) (Ping timeout: 260 seconds) |
2021-01-19 18:44:26 +0100 | juuandyy | (~juuandyy@90.166.144.65) |
2021-01-19 18:45:31 +0100 | Moyst | (~moyst@212-149-213-144.bb.dnainternet.fi) |
2021-01-19 18:48:21 +0100 | avdb | (~avdb@gateway/tor-sasl/avdb) |
2021-01-19 18:50:40 +0100 | orion | (~orion@unaffiliated/orion) (Remote host closed the connection) |
2021-01-19 18:53:06 +0100 | niekvandepas | (~niekvande@2001:985:bebc:1:9458:ea67:4de:2943) |
2021-01-19 18:53:39 +0100 | rajivr | (uid269651@gateway/web/irccloud.com/x-sozgnodbahkqqgom) (Quit: Connection closed for inactivity) |
2021-01-19 18:57:32 +0100 | niekvandepas | (~niekvande@2001:985:bebc:1:9458:ea67:4de:2943) (Ping timeout: 260 seconds) |
2021-01-19 18:59:02 +0100 | <dminuoso> | Say I have a `T -> Maybe (T, T)` type of generator function. Is there a standard corecursion trick similar to unfoldr that would let me build a tree rather than a list from that? |
2021-01-19 19:00:08 +0100 | ransom | (~c4264035@8.48.134.30) |
2021-01-19 19:00:11 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-01-19 19:00:58 +0100 | brodie | (~brodie@2607:f598:b992:f800:c059:1155:fde1:7ba2) |
2021-01-19 19:01:26 +0100 | <monochrom> | The source code of Data.Tree.unfoldTree may inspire you. |
2021-01-19 19:03:23 +0100 | ransom_ | (~c4264035@undergraduate-jvossen-9690.mines.edu) (Ping timeout: 260 seconds) |
2021-01-19 19:04:08 +0100 | <lyxia> | dminuoso: How about ana from recursion schemes |
2021-01-19 19:08:22 +0100 | <dminuoso> | lyxia: Mmm, I feared that recursion schemes was going to be an answer. Perhaps this is the time I finally take a look at it. |
2021-01-19 19:09:06 +0100 | danso | (~dan@2001:1970:52e7:d000:96b8:6dff:feb3:c009) |
2021-01-19 19:09:25 +0100 | <monochrom> | You just need to understand catamorphisms and anamorphisms. Don't worry about the rest, they are not enlightening enough to worth one's time. |
2021-01-19 19:09:39 +0100 | <dminuoso> | Well, ana looks very straight forward. |
2021-01-19 19:10:07 +0100 | <dminuoso> | Presumably the "base functor" from recursion scheme can be turned into the recursive data structure via Fix? |
2021-01-19 19:10:16 +0100 | <monochrom> | Yes. |
2021-01-19 19:11:00 +0100 | mollberg | (~mollberg@h-62-63-197-58.NA.cust.bahnhof.se) (Ping timeout: 264 seconds) |
2021-01-19 19:11:00 +0100 | <monochrom> | "data IntList = Nil | Cons Int (IntList)" is "data F r = Nil | Cons Int r" then "Fix F" |
2021-01-19 19:11:20 +0100 | <dminuoso> | Makes sense |
2021-01-19 19:11:35 +0100 | worc3131 | (~quassel@2a02:c7f:dcc4:6500:cf0e:3346:8766:ab20) (Remote host closed the connection) |
2021-01-19 19:11:43 +0100 | ransom_ | (~c4264035@undergraduate-jvossen-9690.mines.edu) |
2021-01-19 19:12:39 +0100 | <dminuoso> | Okay, so both `embed` and `ana` seem exactly like what I was looking for. Thanks lyxia. |
2021-01-19 19:13:03 +0100 | ransom | (~c4264035@8.48.134.30) (Ping timeout: 256 seconds) |
2021-01-19 19:13:25 +0100 | jespada_ | (~jespada@90.254.241.81) (Ping timeout: 240 seconds) |
2021-01-19 19:14:46 +0100 | knupfer | (~Thunderbi@dynamic-046-114-149-239.46.114.pool.telefonica.de) (Read error: Connection reset by peer) |
2021-01-19 19:15:38 +0100 | jespada | (~jespada@90.254.241.81) |
2021-01-19 19:18:47 +0100 | dandart | (~Thunderbi@home.dandart.co.uk) (Quit: dandart) |
2021-01-19 19:21:29 +0100 | raichoo | (~raichoo@213.240.178.58) (Quit: Lost terminal) |
2021-01-19 19:25:08 +0100 | hackage | distribution-nixpkgs 1.4.0 - Types and functions to manipulate the Nixpkgs distribution https://hackage.haskell.org/package/distribution-nixpkgs-1.4.0 (PeterSimons) |
2021-01-19 19:26:53 +0100 | ransom_ | (~c4264035@undergraduate-jvossen-9690.mines.edu) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-01-19 19:28:38 +0100 | hackage | HUnit 1.6.2.0 - A unit testing framework for Haskell https://hackage.haskell.org/package/HUnit-1.6.2.0 (SimonHengel) |
2021-01-19 19:29:33 +0100 | ransom | (~c4264035@undergraduate-jvossen-9690.mines.edu) |
2021-01-19 19:29:36 +0100 | <kuribas> | is there an easy tool for creating web interfaces, without having to code javascript? |
2021-01-19 19:29:45 +0100 | <kuribas> | or at least minimal javascript? |
2021-01-19 19:29:45 +0100 | <merijn> | HTML? *duck* |
2021-01-19 19:30:13 +0100 | <kuribas> | merijn: actually, that's a good point |
2021-01-19 19:30:31 +0100 | <kuribas> | I could just do old-style multi-page html forms... |
2021-01-19 19:30:36 +0100 | <aldum> | html+css, check out what sr.ht can do without js |
2021-01-19 19:30:44 +0100 | <monochrom> | May I bring back fond memories from old times: CGI |
2021-01-19 19:31:07 +0100 | <aldum> | strictly perl, I'm sure |
2021-01-19 19:31:17 +0100 | <kuribas> | aldum: sr.ht? |
2021-01-19 19:31:24 +0100 | <kuribas> | that's a website? |
2021-01-19 19:32:08 +0100 | hackage | cabal2nix 2.16.0 - Convert Cabal files into Nix build instructions. https://hackage.haskell.org/package/cabal2nix-2.16.0 (PeterSimons) |
2021-01-19 19:32:25 +0100 | Sheilong | (uid293653@gateway/web/irccloud.com/x-rjsiiowahomjgmcc) |
2021-01-19 19:32:46 +0100 | <aldum> | a website too, but mainly an open source forge |
2021-01-19 19:32:50 +0100 | <exarkun> | kuribas: Just compile your Haskell to JavaScript. That's what you're looking for right? |
2021-01-19 19:32:57 +0100 | hongminhee | (~dahlia@207.148.91.209) (Ping timeout: 272 seconds) |
2021-01-19 19:33:00 +0100 | <exarkun> | Or skip the intermediate step and compile it to webassembly. |
2021-01-19 19:33:15 +0100 | hongminhee | (~dahlia@207.148.91.209) |
2021-01-19 19:33:30 +0100 | <merijn> | Just use Ur/Web ;) |
2021-01-19 19:33:39 +0100 | <dminuoso> | exarkun: If only this would play nice with GC... |
2021-01-19 19:33:57 +0100 | <dminuoso> | But since webassembly sits ontop of GC and does not offer manual memory management... |
2021-01-19 19:34:01 +0100 | ransom | (~c4264035@undergraduate-jvossen-9690.mines.edu) (Ping timeout: 256 seconds) |
2021-01-19 19:34:41 +0100 | <exarkun> | dminuoso: This would differentiate it from most other websites how, exactly? :) |
2021-01-19 19:34:59 +0100 | <kuribas> | exarkun: I'd like to avoid ghcjs |
2021-01-19 19:35:13 +0100 | <kuribas> | exarkun: if I go that route, I'd use purescript |
2021-01-19 19:35:28 +0100 | <exarkun> | We can't always have what we'd like |
2021-01-19 19:35:31 +0100 | <exarkun> | especially on the web |
2021-01-19 19:35:58 +0100 | frankdmartinez | (~frankdmar@208.91.107.132) |
2021-01-19 19:35:58 +0100 | frankdmartinez | (~frankdmar@208.91.107.132) (Client Quit) |
2021-01-19 19:36:20 +0100 | frankdmartinez | (~frankdmar@208.91.107.132) |
2021-01-19 19:36:21 +0100 | frankdmartinez | (~frankdmar@208.91.107.132) (Client Quit) |
2021-01-19 19:36:29 +0100 | <dminuoso> | exarkun: Well, they are usually not programmed on a language that sits ontop. With ghcjs that means you have two garbage collectors running |
2021-01-19 19:36:45 +0100 | <dminuoso> | (The GHCJS RTS GC and the JS GC) |
2021-01-19 19:36:55 +0100 | fresheyeball | (~isaac@c-71-237-105-37.hsd1.co.comcast.net) |
2021-01-19 19:37:06 +0100 | <exarkun> | dminuoso: You might be taking me too seriously |
2021-01-19 19:37:14 +0100 | <dminuoso> | Oh. |
2021-01-19 19:37:21 +0100 | <exarkun> | But at the same time, I have about 80 chromium processes running, many of them claiming 16+GB of RAM |
2021-01-19 19:37:22 +0100 | <dminuoso> | I didn't notice any sarcasm there, sorry. |
2021-01-19 19:37:36 +0100 | <exarkun> | So the serious take might be ... who would actually notice two layers of GC? |
2021-01-19 19:37:38 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection) |
2021-01-19 19:37:45 +0100 | <dminuoso> | exarkun: Well this isn't about memory consumption, but rather program latency. GHCjs has quite terrible GC performance.. |
2021-01-19 19:37:54 +0100 | <dminuoso> | Note |
2021-01-19 19:37:55 +0100 | <exarkun> | Hey look there's a 98GB WebKitProcess |
2021-01-19 19:38:00 +0100 | <dminuoso> | Im not quite sure whether we're back at sarcasm or not. |
2021-01-19 19:38:14 +0100 | <exarkun> | Yes, the web is so screwed up it's hard to tell |
2021-01-19 19:38:27 +0100 | <exarkun> | Maybe it is already irretrievably broken and nothing you can do will make it worse? |
2021-01-19 19:38:33 +0100 | <exarkun> | Or maybe I am joking around |
2021-01-19 19:38:48 +0100 | <exarkun> | It's the Turing test of bankrupt ideas! Can you tell the difference?? |
2021-01-19 19:39:09 +0100 | <geekosaur> | you lost that one as soon as the web came up |
2021-01-19 19:39:14 +0100 | <monochrom> | I think it's cynicism and/or nihilism rather than sarcasm. |
2021-01-19 19:39:28 +0100 | <dminuoso> | The sad thing is, HTML was good conceptually. It would have been the right way to serve content. |
2021-01-19 19:40:14 +0100 | frankdmartinez | (~frankdmar@208.91.107.132) |
2021-01-19 19:40:16 +0100 | frankdmartinez | (~frankdmar@208.91.107.132) (Client Quit) |
2021-01-19 19:41:09 +0100 | <dminuoso> | It was just held back by very poor implementation, and broken websites that implementations catered for.. and then there was JavaScript.. |
2021-01-19 19:44:02 +0100 | kritzefitz | (~kritzefit@212.86.56.80) (Ping timeout: 256 seconds) |
2021-01-19 19:44:58 +0100 | <cnmne[m]> | anyone use haskell snippets with org-babel in emacs? I'm having trouble resolving an issue |
2021-01-19 19:46:21 +0100 | <kuribas> | dminuoso: html and css is good for what it was meant for. Which isn't a stateful application server. |
2021-01-19 19:46:57 +0100 | <dminuoso> | kuribas: That's not true! |
2021-01-19 19:47:32 +0100 | <dminuoso> | kuribas: HTML was designed for HTTP, which specifically has verbs and semantics *for* stateful servers. |
2021-01-19 19:49:08 +0100 | sMuNiX | (~sMuNiX@vlnsm8-montreal02-142-122-8-233.internet.virginmobile.ca) (Quit: WeeChat 3.0) |
2021-01-19 19:49:20 +0100 | tsrt^ | (tsrt@ip98-184-89-2.mc.at.cox.net) |
2021-01-19 19:49:22 +0100 | <hpc> | if you really want to get pedantic, MIME is the layer in between HTML and HTTP |
2021-01-19 19:49:37 +0100 | <hpc> | and that for stateful web stuff, there's a different mime type for form data |
2021-01-19 19:49:57 +0100 | hnOsmium0001 | (uid453710@gateway/web/irccloud.com/x-szygrdcvutmfpknh) (Quit: Connection closed for inactivity) |
2021-01-19 19:50:05 +0100 | <kuribas> | dminuoso: state of the backend, not state of the application |
2021-01-19 19:50:09 +0100 | <hpc> | (and a multipart mime type for form data with file uploads, which is the same mime type that emails use for messages with attachments or html/plaintext alternatives) |
2021-01-19 19:50:27 +0100 | <dminuoso> | kuribas: There is no notion of "backend" in http. |
2021-01-19 19:50:37 +0100 | <dminuoso> | You have resources represented by URIs, and you can interact with them via HTTP. |
2021-01-19 19:51:04 +0100 | <dminuoso> | hpc: Thanks, your pedantry is quite good and right here. |
2021-01-19 19:51:31 +0100 | <kuribas> | dminuoso: precisely |
2021-01-19 19:52:01 +0100 | <kuribas> | dminuoso: it's made for acessing resources, not creating application UIs. |
2021-01-19 19:52:05 +0100 | <dminuoso> | I think in the original statement you meant to write `Which [is] a stateful application server` |
2021-01-19 19:52:12 +0100 | <hpc> | MIME is a great place to look for weird computer history in general, btw |
2021-01-19 19:52:45 +0100 | <dminuoso> | kuribas: That's your opinion, and I doubt you will find good evidence to support that. |
2021-01-19 19:52:45 +0100 | <hpc> | it's got unicode encodings that ensure the high bit of each byte is 0, and all sorts of other weird stuff |
2021-01-19 19:53:22 +0100 | <dminuoso> | kuribas: Arguably, you'll find a lot of bits in HTTP relating to representation and UI. |
2021-01-19 19:53:28 +0100 | avdb | (~avdb@gateway/tor-sasl/avdb) (Ping timeout: 268 seconds) |
2021-01-19 19:53:36 +0100 | vicfred | (~vicfred@unaffiliated/vicfred) |
2021-01-19 19:53:54 +0100 | <monochrom> | The line was crossed as soon as people started putting counters on their otherwise static web pages. |
2021-01-19 19:53:55 +0100 | <dminuoso> | Notably, HTTP was designed specifically to contain MIME |
2021-01-19 19:54:01 +0100 | <dminuoso> | So HTTP can carry whatever MIME can |
2021-01-19 19:54:07 +0100 | <monochrom> | "this page has been visited 49384 times" |
2021-01-19 19:54:24 +0100 | <dminuoso> | monochrom: Right! Something like `GET` is supposed to be idempotent. |
2021-01-19 19:54:35 +0100 | <kuribas> | dminuoso: MIME was for transferring data and documents, not UI widgets. |
2021-01-19 19:54:35 +0100 | <monochrom> | remember those? and in little numeric look-like-real-life-counters gifs? |
2021-01-19 19:54:37 +0100 | <dminuoso> | (Though, that idempotency is questionable in the presence of DELETE) |
2021-01-19 19:54:40 +0100 | avdb | (~avdb@gateway/tor-sasl/avdb) |
2021-01-19 19:54:54 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) |
2021-01-19 19:55:24 +0100 | <monochrom> | As per Turing, you can't philosophically draw a line between data and program. |
2021-01-19 19:55:37 +0100 | <dminuoso> | monochrom: And yet, it wasnt his work that spawned lisp! |
2021-01-19 19:55:39 +0100 | <dminuoso> | Curious, isnt it. |
2021-01-19 19:55:58 +0100 | <dminuoso> | Though perhaps he just stole the quote from Church. |
2021-01-19 19:56:16 +0100 | ransom | (~c4264035@undergraduate-jvossen-9690.mines.edu) |
2021-01-19 19:57:01 +0100 | kuribas | (~user@ptr-25vy0i9v74bayflbmuo.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3)) |
2021-01-19 19:58:05 +0100 | elfets | (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) |
2021-01-19 19:59:34 +0100 | coot | (~coot@37.30.55.132.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
2021-01-19 20:01:20 +0100 | ystael | (~ystael@209.6.50.55) (Read error: Connection reset by peer) |
2021-01-19 20:01:21 +0100 | <dminuoso> | merijn: Do you know of any work to generically derive optparse-applicative parsers from aeson? |
2021-01-19 20:01:31 +0100 | <merijn> | No? |
2021-01-19 20:01:47 +0100 | unlink_ | (~unlink2@p200300ebcf259600e4593ff5d42812d3.dip0.t-ipconnect.de) (Remote host closed the connection) |
2021-01-19 20:01:49 +0100 | <dminuoso> | Was just wondering, it seemed like you'd know. :p |
2021-01-19 20:01:55 +0100 | <dminuoso> | Since you're the biggest fan of it |
2021-01-19 20:01:55 +0100 | unlink_ | (~unlink2@p200300ebcf259600e4593ff5d42812d3.dip0.t-ipconnect.de) |
2021-01-19 20:01:59 +0100 | juuandyy | (~juuandyy@90.166.144.65) (Quit: Konversation terminated!) |
2021-01-19 20:02:00 +0100 | unlink2 | (~unlink2@p200300ebcf259600e4593ff5d42812d3.dip0.t-ipconnect.de) (Remote host closed the connection) |
2021-01-19 20:02:04 +0100 | <dminuoso> | Errr. Sorry! |
2021-01-19 20:02:08 +0100 | <dminuoso> | Not *aeson*. I meant to write *servant* |
2021-01-19 20:02:16 +0100 | unlink2 | (~unlink2@p200300ebcf259600e4593ff5d42812d3.dip0.t-ipconnect.de) |
2021-01-19 20:02:22 +0100 | dbmikus | (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) |
2021-01-19 20:02:25 +0100 | <merijn> | I don't use servant either, and I don't do web ;) |
2021-01-19 20:02:37 +0100 | asheshambasta | (~user@ptr-e1lysawdkgbchi3df06.18120a2.ip6.access.telenet.be) (Ping timeout: 272 seconds) |
2021-01-19 20:02:42 +0100 | ystael | (~ystael@209.6.50.55) |
2021-01-19 20:03:38 +0100 | berberman | (~berberman@unaffiliated/berberman) (Ping timeout: 264 seconds) |
2021-01-19 20:03:39 +0100 | berberman_ | (~berberman@unaffiliated/berberman) |
2021-01-19 20:03:53 +0100 | brodie | (~brodie@2607:f598:b992:f800:c059:1155:fde1:7ba2) (Quit: brodie) |
2021-01-19 20:03:56 +0100 | Kaeipi | (~Kaiepi@47.54.252.148) (Remote host closed the connection) |
2021-01-19 20:04:06 +0100 | lekc | (~Neuromanc@unaffiliated/neuromancer) |
2021-01-19 20:04:36 +0100 | Mzg | (Mzg@s1.ct8.pl) (Ping timeout: 240 seconds) |
2021-01-19 20:04:49 +0100 | ransom | (~c4264035@undergraduate-jvossen-9690.mines.edu) (Read error: Connection reset by peer) |
2021-01-19 20:05:19 +0100 | Mzg | (Mzg@s1.ct8.pl) |
2021-01-19 20:05:20 +0100 | Kaeipi | (~Kaiepi@47.54.252.148) |
2021-01-19 20:05:26 +0100 | LKoen | (~LKoen@16.175.9.109.rev.sfr.net) (Remote host closed the connection) |
2021-01-19 20:05:48 +0100 | hekkaidekapus] | (~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 268 seconds) |
2021-01-19 20:05:53 +0100 | ransom | (~c4264035@undergraduate-jvossen-9690.mines.edu) |
2021-01-19 20:06:11 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection) |
2021-01-19 20:06:23 +0100 | shatriff | (~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection) |
2021-01-19 20:06:25 +0100 | xelxebar | (~xelxebar@gateway/tor-sasl/xelxebar) (Ping timeout: 268 seconds) |
2021-01-19 20:07:45 +0100 | hekkaidekapus] | (~tchouri@gateway/tor-sasl/hekkaidekapus) |
2021-01-19 20:07:50 +0100 | Neuromancer | (~Neuromanc@unaffiliated/neuromancer) (Ping timeout: 256 seconds) |
2021-01-19 20:07:51 +0100 | lekc | Neuromancer |
2021-01-19 20:08:07 +0100 | <monochrom> | Perhaps https://hackage.haskell.org/package/optparse-generic is good enough |
2021-01-19 20:08:35 +0100 | <monochrom> | It just doesn't involve aeson. |
2021-01-19 20:08:52 +0100 | <dminuoso> | monochrom: Sorry, I should have really written `servant` there originally. |
2021-01-19 20:09:56 +0100 | xelxebar | (~xelxebar@gateway/tor-sasl/xelxebar) |
2021-01-19 20:11:28 +0100 | unlink2 | (~unlink2@p200300ebcf259600e4593ff5d42812d3.dip0.t-ipconnect.de) (Remote host closed the connection) |
2021-01-19 20:11:28 +0100 | unlink_ | (~unlink2@p200300ebcf259600e4593ff5d42812d3.dip0.t-ipconnect.de) (Remote host closed the connection) |
2021-01-19 20:12:01 +0100 | geekosaur | (82650c7c@130.101.12.124) (Ping timeout: 248 seconds) |
2021-01-19 20:12:57 +0100 | unlink2 | (~unlink2@p200300ebcf259600e4593ff5d42812d3.dip0.t-ipconnect.de) |
2021-01-19 20:15:04 +0100 | LKoen | (~LKoen@16.175.9.109.rev.sfr.net) |
2021-01-19 20:15:28 +0100 | Mzg | (Mzg@s1.ct8.pl) (Ping timeout: 265 seconds) |
2021-01-19 20:15:39 +0100 | niekvandepas | (~niekvande@2001:985:bebc:1:9458:ea67:4de:2943) |
2021-01-19 20:16:44 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) |
2021-01-19 20:19:30 +0100 | shatriff | (~vitaliish@176-52-216-242.irishtelecom.com) |
2021-01-19 20:20:36 +0100 | Mzg | (Mzg@s1.ct8.pl) |
2021-01-19 20:22:04 +0100 | mmmattyx | (uid17782@gateway/web/irccloud.com/x-ohocdjlobxmifhzq) (Quit: Connection closed for inactivity) |
2021-01-19 20:24:31 +0100 | <maerwald> | how would that work? |
2021-01-19 20:25:21 +0100 | <dminuoso> | Im thinking of translating endpoints into subcommands. |
2021-01-19 20:26:01 +0100 | Ayo | (~quassel@82.177.83.189) |
2021-01-19 20:26:43 +0100 | ransom | (~c4264035@undergraduate-jvossen-9690.mines.edu) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-01-19 20:26:57 +0100 | <dminuoso> | maerwald: Unrelatedly, this did the job https://gist.github.com/dminuoso/20d019778518958faa7649161433b632 |
2021-01-19 20:27:32 +0100 | <dminuoso> | But there's still some related sum-types for business logic that differs between IPv4 and IPv6. |
2021-01-19 20:27:38 +0100 | frdg | (~user@pool-96-252-123-136.bstnma.fios.verizon.net) |
2021-01-19 20:28:46 +0100 | ransom | (~c4264035@undergraduate-jvossen-9690.mines.edu) |
2021-01-19 20:30:51 +0100 | <frdg> | Can I refer to functions defined in the current module with a qualification? |
2021-01-19 20:31:01 +0100 | geekosaur | (82650c7c@130.101.12.124) |
2021-01-19 20:31:35 +0100 | <dminuoso> | frdg: Yes. |
2021-01-19 20:31:48 +0100 | <dminuoso> | You can use the module name itself as a qualifier |
2021-01-19 20:32:03 +0100 | <frdg> | ok thanks |
2021-01-19 20:32:05 +0100 | <dminuoso> | i.e. `module Foo.Bar where f = 1; g = Foo.Bar.f` |
2021-01-19 20:32:49 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection) |
2021-01-19 20:33:52 +0100 | <niekvandepas> | Hi everyone, I'm trying to follow this tutorial: https://caiorss.github.io/Functional-Programming/haskell/DatabaseHDBC.html |
2021-01-19 20:34:26 +0100 | <niekvandepas> | But for some reason I can't import the package `HDBC-sqlite3` |
2021-01-19 20:34:44 +0100 | Franciman | (~francesco@host-79-51-37-36.retail.telecomitalia.it) |
2021-01-19 20:34:49 +0100 | <merijn> | jDoes anyone actually still use HDBC? |
2021-01-19 20:35:20 +0100 | <Franciman> | what do ytou use merijn ? |
2021-01-19 20:35:22 +0100 | <niekvandepas> | What alternatives do you recommend? I've tried to use Selda but ran into similar issues there |
2021-01-19 20:35:43 +0100 | <niekvandepas> | Maybe there's something wonky with my setup, but I'm pretty sure I've installed everything 'appropriately' |
2021-01-19 20:35:44 +0100 | <merijn> | Franciman: What I *use* is persistent, what I *recommend* is sqlite-simple or postgres-simple :p |
2021-01-19 20:35:46 +0100 | <geekosaur> | ad if you didn't name it, its name is Main |
2021-01-19 20:35:47 +0100 | geekosaur | (82650c7c@130.101.12.124) (Client Quit) |
2021-01-19 20:36:02 +0100 | <Franciman> | merijn, neat |
2021-01-19 20:36:24 +0100 | <merijn> | In fact, I would highly recommend "not persistent, just write SQL queries" >.> |
2021-01-19 20:36:46 +0100 | kritzefitz | (~kritzefit@212.86.56.80) |
2021-01-19 20:37:04 +0100 | <dminuoso> | I'm currently working on a larger project, and we're handrolling all SQL queries with postgresql-simple. It's just simple programming tasks.. :) |
2021-01-19 20:37:05 +0100 | geekosaur | (82650c7c@130.101.12.124) |
2021-01-19 20:37:25 +0100 | ixaxaar | (~ixaxaar@49.207.210.215) (Ping timeout: 240 seconds) |
2021-01-19 20:37:52 +0100 | <dminuoso> | geekosaur: Cheers, that's useful to know. |
2021-01-19 20:38:14 +0100 | <merijn> | Franciman: Turns out that, if you like purely functional programming SQL is actually a pretty great purely functional language :p |
2021-01-19 20:38:27 +0100 | <merijn> | Well, the "SELECT" side of it, anyway :p |
2021-01-19 20:38:46 +0100 | <Franciman> | topkek it's true |
2021-01-19 20:38:58 +0100 | <Franciman> | what I don't like is writing strings instead of typed and compile time checked code |
2021-01-19 20:39:24 +0100 | <merijn> | niekvandepas: You're using stack? |
2021-01-19 20:39:32 +0100 | <merijn> | Franciman: Yeah, but all the alternatives are worse |
2021-01-19 20:39:51 +0100 | <Franciman> | for my work now I'm trying persistent, hope it's easy enough to stay in the zone |
2021-01-19 20:39:55 +0100 | <Franciman> | so I can avoid a lot of tests |
2021-01-19 20:40:05 +0100 | <niekvandepas> | merijn: yup |
2021-01-19 20:40:22 +0100 | <dminuoso> | Franciman: The price for "typed/compile time checked code" is having to learn very crazy and complicated eDSLs that do not look anything like SQL. |
2021-01-19 20:40:33 +0100 | <dminuoso> | And deal with unreadable type errors when it *does* blow up |
2021-01-19 20:40:51 +0100 | <merijn> | Franciman: beam/squeal try to create embedded DSLs for the SQL, but, eh, those eDSLs look like |
2021-01-19 20:41:06 +0100 | <merijn> | "join_ :: (Database be db, Table table, BeamSqlBackend be) => DatabaseEntity be db (TableEntity table) -> (table (QExpr be s) -> QExpr be s Bool) -> Q be db s (table (QExpr be s))" |
2021-01-19 20:41:14 +0100 | <dminuoso> | Too often do you end up trying to figure out how to write something in the eDSL, so you sit down, think of what SQL you want to produce, and then spend an awful lot of time with the eDSL to make it generate the exact SQL you have in mind.. |
2021-01-19 20:41:16 +0100 | <Franciman> | lulz |
2021-01-19 20:41:24 +0100 | <merijn> | Which I'm pretty sure is the documentation equivalent of telling a programmer to go fuck themselves? |
2021-01-19 20:41:27 +0100 | <Franciman> | I think racket would be better at thiz |
2021-01-19 20:41:32 +0100 | <merijn> | Franciman: https://hackage.haskell.org/package/beam-core-0.9.0.0/docs/Database-Beam-Query.html#g:7 |
2021-01-19 20:41:40 +0100 | <merijn> | squeal is just as bad |
2021-01-19 20:41:51 +0100 | <dminuoso> | relatedBy_' :: forall be db rel s. (Database be db, Table rel, BeamSqlBackend be) => DatabaseEntity be db (TableEntity rel) -> (rel (QExpr be s) -> QExpr be s SqlBool) -> Q be db s (rel (QExpr be s)) |
2021-01-19 20:41:53 +0100 | <dminuoso> | Neat! |
2021-01-19 20:42:01 +0100 | conal | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
2021-01-19 20:42:18 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:a004:c2e:5fd9:3135) (Remote host closed the connection) |
2021-01-19 20:42:18 +0100 | <dminuoso> | outerJoin_' :: forall s a b be db. (BeamSqlBackend be, BeamSqlBackendSupportsOuterJoin be, Projectible be a, Projectible be b, ThreadRewritable (QNested s) a, ThreadRewritable (QNested s) b, Retaggable (QExpr be s) (WithRewrittenThread (QNested s) s a), Retaggable (QExpr be s) (WithRewrittenThread (QNested s) s b)) => Q be db (QNested s) a -> Q be db (QNested s) b -> ((WithRewrittenThread (QNested |
2021-01-19 20:42:20 +0100 | <dminuoso> | s) s a, WithRewrittenThread (QNested s) s b) -> QExpr be s SqlBool) -> Q be db s (Retag Nullable (WithRewrittenThread (QNested s) s a), Retag Nullable (WithRewrittenThread (QNested s) s b)) |
2021-01-19 20:42:22 +0100 | <dminuoso> | Oh yes. |
2021-01-19 20:42:27 +0100 | <Franciman> | damn cool, sensei |
2021-01-19 20:42:31 +0100 | conal | (~conal@64.71.133.70) |
2021-01-19 20:42:42 +0100 | conal | (~conal@64.71.133.70) (Client Quit) |
2021-01-19 20:42:50 +0100 | <Franciman> | at the end of the day, one has to write their own dsl |
2021-01-19 20:42:50 +0100 | <merijn> | Franciman: persistent is pretty nice...until, you know, a version bump's migration corrupts all your foreign keys! https://github.com/yesodweb/persistent/issues/1184 |
2021-01-19 20:42:55 +0100 | <dminuoso> | Franciman: Not really. |
2021-01-19 20:42:59 +0100 | <Franciman> | for their own logic |
2021-01-19 20:43:07 +0100 | <Franciman> | I mean internally you write SQL code |
2021-01-19 20:43:12 +0100 | <dminuoso> | You write an abstraction that hides the tedious details, and lets you think in precise semantics. |
2021-01-19 20:43:13 +0100 | <Franciman> | but do you really externally expose bare sql code? |
2021-01-19 20:43:17 +0100 | <Franciman> | yes |
2021-01-19 20:43:21 +0100 | <Franciman> | exactly |
2021-01-19 20:43:38 +0100 | <dminuoso> | But SQL is not what needs the abstractions, its your queries. |
2021-01-19 20:43:43 +0100 | <dminuoso> | (Which can be written in SQL) |
2021-01-19 20:43:53 +0100 | <Franciman> | merijn, that damn problem! |
2021-01-19 20:44:12 +0100 | <Franciman> | also fpcomplete is at it again |
2021-01-19 20:44:25 +0100 | <Franciman> | they try to squeeze everything out of the haskell ecosystem while giving back only what they want |
2021-01-19 20:44:33 +0100 | Ayo | (~quassel@82.177.83.189) (Ping timeout: 246 seconds) |
2021-01-19 20:44:40 +0100 | <Franciman> | not that others are better |
2021-01-19 20:44:41 +0100 | <Franciman> | eh |
2021-01-19 20:44:46 +0100 | <Franciman> | just companies doing companies |
2021-01-19 20:45:15 +0100 | <Franciman> | dminuoso, +1 |
2021-01-19 20:45:55 +0100 | conal | (~conal@64.71.133.70) |
2021-01-19 20:46:30 +0100 | <dminuoso> | At best, I might consider a raw relational algebra library (but one that doesn't try and tie this into the haskell type system) instead of SQL if you need compositionality |
2021-01-19 20:46:39 +0100 | <dminuoso> | Haven't quite found one I like on hackage though |
2021-01-19 20:47:19 +0100 | <Franciman> | anything that tries to be everything, is doomed to fail |
2021-01-19 20:47:51 +0100 | puffnfresh | (~puffnfres@119-17-138-164.77118a.mel.static.aussiebb.net) (Ping timeout: 265 seconds) |
2021-01-19 20:48:21 +0100 | <dolio> | I'm skeptical that a relational algebra library would actually get you the results you want long term. |
2021-01-19 20:48:55 +0100 | <dminuoso> | dolio: Im not sure, Im thinking that with QQs you could have a nice hybrid of both. |
2021-01-19 20:48:56 +0100 | Kaeipi | (~Kaiepi@47.54.252.148) (Remote host closed the connection) |
2021-01-19 20:49:22 +0100 | <dolio> | Because you'd probably run into walls where relational algebra can't say something that is integral to a SQL query actually being fast enough. |
2021-01-19 20:49:50 +0100 | <dminuoso> | So the QQ would translate your SQL into a relational algebra representation, allowing you to write raw SQL - but still get the benefits of working on an relational algebra tree |
2021-01-19 20:50:01 +0100 | Kaeipi | (~Kaiepi@47.54.252.148) |
2021-01-19 20:50:02 +0100 | <dminuoso> | (Perhaps with some support for splicing trees back into SQL) |
2021-01-19 20:50:12 +0100 | <idnar> | I quite like Opaleye |
2021-01-19 20:50:44 +0100 | justsomeguy | (~justsomeg@unaffiliated/--/x-3805311) |
2021-01-19 20:50:56 +0100 | Kaeipi | (~Kaiepi@47.54.252.148) (Remote host closed the connection) |
2021-01-19 20:51:31 +0100 | conal | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
2021-01-19 20:51:32 +0100 | Kaeipi | (~Kaiepi@47.54.252.148) |
2021-01-19 20:51:55 +0100 | conal | (~conal@64.71.133.70) |
2021-01-19 20:52:04 +0100 | <dolio> | Or, if you can say something that emits the right SQL, it's sensitive to the exact way you say it in relational algebra. |
2021-01-19 20:52:13 +0100 | conal | (~conal@64.71.133.70) (Client Quit) |
2021-01-19 20:52:31 +0100 | <dolio> | In other words, SQL query optimization is too finnicky to treat relational algebra as a good abstraction. |
2021-01-19 20:52:59 +0100 | <dminuoso> | dolio: Well you dont have to care too much about optimizations if we assume PG as a target, since that will retransform/optimize your query (through relational algebra) anyway. |
2021-01-19 20:53:20 +0100 | <dolio> | Ah. They must be better than what I have experience with. |
2021-01-19 20:54:13 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) |
2021-01-19 20:54:55 +0100 | <dminuoso> | From experience, the relational algebra approach works quite reasonably well. Ruby on Rails uses `arel` for its entire query generation, and with our data warehousing systems, I've been satisfied with the generated queries mostly. |
2021-01-19 20:55:25 +0100 | <monochrom> | I wouldn't be surprised if this depended on how much money you pay. E.g., DB/2 and Oracle may have much smarter optimizations than Postgres. |
2021-01-19 20:55:56 +0100 | <dolio> | Well, my experience is with MS SQL Server, which is more expensive than free, I think. |
2021-01-19 20:56:40 +0100 | <dminuoso> | dolio: Ah yeah. PostgreSQL is quite good at optimizations. There's of course always the odd query where you need some handholding (similar to say writing Haskell with GHC). |
2021-01-19 20:57:08 +0100 | Kaeipi | (~Kaiepi@47.54.252.148) (Ping timeout: 260 seconds) |
2021-01-19 20:57:09 +0100 | <dminuoso> | For low (by default sub-16) it actually does an exhaustive search through query plans, and picks the most efficient one. |
2021-01-19 20:57:14 +0100 | <dminuoso> | (sub-16 joins that is) |
2021-01-19 20:57:19 +0100 | jespada | (~jespada@90.254.241.81) (Ping timeout: 256 seconds) |
2021-01-19 20:57:36 +0100 | <dminuoso> | And for larger, it uses genetic algorithms |
2021-01-19 20:57:40 +0100 | <idnar> | "sub-16"? |
2021-01-19 20:57:50 +0100 | <dminuoso> | Less than 16 join tables. |
2021-01-19 20:57:59 +0100 | <dminuoso> | (Im not quite sure about the number these days, might be less) |
2021-01-19 20:58:28 +0100 | <__monty__> | GA in practical use? o.O |
2021-01-19 20:58:35 +0100 | <dminuoso> | __monty__: Yes! |
2021-01-19 20:58:42 +0100 | <dminuoso> | It's called the geqo (genetic query optimizer) |
2021-01-19 20:58:56 +0100 | <dminuoso> | https://www.postgresql.org/docs/13/geqo-pg-intro.html |
2021-01-19 20:59:43 +0100 | Kaiepi | (~Kaiepi@47.54.252.148) |
2021-01-19 21:00:13 +0100 | shatriff | (~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection) |
2021-01-19 21:00:15 +0100 | jespada | (~jespada@90.254.241.81) |
2021-01-19 21:00:15 +0100 | <idnar> | the main problems I run into with pg are: 1) the cost estimate of something is way off, and 2) it fails to turn some subselect into a join |
2021-01-19 21:00:33 +0100 | shatriff | (~vitaliish@176-52-216-242.irishtelecom.com) |
2021-01-19 21:01:01 +0100 | shatriff | (~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection) |
2021-01-19 21:01:09 +0100 | <dminuoso> | idnar: What kind of datasets do you work with? |
2021-01-19 21:01:18 +0100 | rayyyy | (~nanoz@gateway/tor-sasl/nanoz) (Ping timeout: 268 seconds) |
2021-01-19 21:01:19 +0100 | shatriff | (~vitaliish@176-52-216-242.irishtelecom.com) |
2021-01-19 21:01:50 +0100 | shatriff | (~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection) |
2021-01-19 21:02:05 +0100 | shatriff | (~vitaliish@176-52-216-242.irishtelecom.com) |
2021-01-19 21:02:28 +0100 | <idnar> | dminuoso: hmm, not sure how to characterize beyond "random medium-size web apps" |
2021-01-19 21:02:38 +0100 | shatriff | (~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection) |
2021-01-19 21:02:57 +0100 | shatriff | (~vitaliish@176-52-216-242.irishtelecom.com) |
2021-01-19 21:03:18 +0100 | <idnar> | most of the time it Just Works :) |
2021-01-19 21:03:26 +0100 | shatriff | (~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection) |
2021-01-19 21:03:32 +0100 | Xnuk | (~xnuk@vultr.xnu.kr) (Ping timeout: 260 seconds) |
2021-01-19 21:03:35 +0100 | <dminuoso> | Fair enough, just curious. Are any of these databases of non-trivial size? |
2021-01-19 21:04:02 +0100 | <dminuoso> | (By non-trivial I mean something along the lines of over a billion tuples, anything that just doesnt fit into RAM anymore) |
2021-01-19 21:05:37 +0100 | aveltras | (uid364989@gateway/web/irccloud.com/x-pgszkpeaurxqzlip) (Quit: Connection closed for inactivity) |
2021-01-19 21:05:49 +0100 | conal | (~conal@64.71.133.70) |
2021-01-19 21:06:33 +0100 | <idnar> | don't think so |
2021-01-19 21:07:02 +0100 | <idnar> | I'm usually not all in RAM; but due to the size of the host, not the db |
2021-01-19 21:08:47 +0100 | Alleria_ | (~AllahuAkb@2603-7000-3040-0000-6117-a0fe-38af-8149.res6.spectrum.com) (Ping timeout: 260 seconds) |
2021-01-19 21:09:38 +0100 | dbmikus | (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Read error: Connection reset by peer) |
2021-01-19 21:09:41 +0100 | <idnar> | certainly not Big Data™ |
2021-01-19 21:09:53 +0100 | mouseghost | (~draco@87-206-9-185.dynamic.chello.pl) |
2021-01-19 21:09:53 +0100 | mouseghost | (~draco@87-206-9-185.dynamic.chello.pl) (Changing host) |
2021-01-19 21:09:53 +0100 | mouseghost | (~draco@wikipedia/desperek) |
2021-01-19 21:09:56 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection) |
2021-01-19 21:10:06 +0100 | dbmikus | (~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) |
2021-01-19 21:12:24 +0100 | avdb | (~avdb@gateway/tor-sasl/avdb) (Ping timeout: 268 seconds) |
2021-01-19 21:12:30 +0100 | WzC | (~Frank@77-162-168-71.fixed.kpn.net) (Ping timeout: 265 seconds) |
2021-01-19 21:12:43 +0100 | WarzoneCommand | (~Frank@77-162-168-71.fixed.kpn.net) |
2021-01-19 21:12:46 +0100 | justan0theruser | (~justanoth@unaffiliated/justanotheruser) |
2021-01-19 21:12:59 +0100 | _ht | (~quassel@82-169-194-8.biz.kpn.net) (Ping timeout: 265 seconds) |
2021-01-19 21:13:01 +0100 | acidjnk_new | (~acidjnk@p200300d0c704e732989dd075055fe92d.dip0.t-ipconnect.de) |
2021-01-19 21:13:04 +0100 | <merijn> | Nobody has Big Data >.> |
2021-01-19 21:13:15 +0100 | Xnuk | (~xnuk@vultr.xnu.kr) |
2021-01-19 21:13:19 +0100 | <merijn> | I mean, Facebook, Google, and the NSA, maybe. |
2021-01-19 21:13:28 +0100 | <merijn> | Everyone else is just pretending to look cool |
2021-01-19 21:13:37 +0100 | hackage | blaze-builder 0.4.2.1 - Efficient buffered output. https://hackage.haskell.org/package/blaze-builder-0.4.2.1 (JasperVanDerJeugt) |
2021-01-19 21:13:37 +0100 | gentauro | (~gentauro@unaffiliated/gentauro) (Read error: Connection reset by peer) |
2021-01-19 21:13:40 +0100 | _ht | (~quassel@82-169-194-8.biz.kpn.net) |
2021-01-19 21:13:47 +0100 | <monochrom> | Also, along that line... |
2021-01-19 21:14:03 +0100 | gentauro | (~gentauro@unaffiliated/gentauro) |
2021-01-19 21:14:26 +0100 | <monochrom> | If you are coding up high frequency trading, then you talk about performance. |
2021-01-19 21:15:12 +0100 | <merijn> | Naah, performance is relevant in more things, but yeah, most people talking about performance are also LARPing their performance needs :p |
2021-01-19 21:15:17 +0100 | Ayo | (~quassel@82.177.83.189) |
2021-01-19 21:15:38 +0100 | <monochrom> | If you have one single computer that has to serve a million requests per second, and serving fewer than 990 thousand requests per second already gets you bankrupt, then you talk about performance. |
2021-01-19 21:16:14 +0100 | justanotheruser | (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 264 seconds) |
2021-01-19 21:16:16 +0100 | <davean> | I've done 1Mqps on normal HW |
2021-01-19 21:16:23 +0100 | <davean> | (HTTP) |
2021-01-19 21:16:28 +0100 | <dminuoso> | monochrom: Percentage wise, we're on the same level. If our service has 5% loss, we might as well file for bankruptcy.. |
2021-01-19 21:16:31 +0100 | <davean> | In Haskell |
2021-01-19 21:16:33 +0100 | <dminuoso> | (Well, permanent loss) |
2021-01-19 21:16:33 +0100 | <monochrom> | If you have a general relativity galaxy simulation that you expect to finish in 2 months, and taking 2.3 months is already too long because someone else will publish earlier than you, then you talk about performance. |
2021-01-19 21:16:42 +0100 | <merijn> | davean: Most of the web can run on one beefy machine easily :p |
2021-01-19 21:16:51 +0100 | <dminuoso> | Well to be fair, what davean did was not *easily* |
2021-01-19 21:17:15 +0100 | <monochrom> | But, if you have a program that is so "unoptimized" that it takes 1 second rather than 0.5 seconds, *pfffft* |
2021-01-19 21:17:17 +0100 | <davean> | I wouldn't call it hard either. |
2021-01-19 21:17:24 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Quit: WeeChat 3.0) |
2021-01-19 21:18:00 +0100 | <merijn> | davean: Well, it's hard. But not in the technical sense :p |
2021-01-19 21:18:01 +0100 | <davean> | Honestly the "hard" problems with HTTP I've encountered aren't rate, they're latency. |
2021-01-19 21:18:03 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-01-19 21:18:58 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-01-19 21:19:03 +0100 | frdg | (~user@pool-96-252-123-136.bstnma.fios.verizon.net) (Remote host closed the connection) |
2021-01-19 21:19:30 +0100 | <davean> | merijn: eh, I already had the traffic :-p |
2021-01-19 21:19:54 +0100 | frdg | (~user@pool-96-252-123-136.bstnma.fios.verizon.net) |
2021-01-19 21:20:40 +0100 | <merijn> | davean: Naah, I meant that, being fast isn't hard, but convincing people to make the investments/sacrifices to make things fast is hard :p |
2021-01-19 21:21:16 +0100 | <davean> | ah, mmm, being fast is easier than being slow - the slower you are the more you have to deal with the cordination problem |
2021-01-19 21:21:30 +0100 | <davean> | I ended up running 1+Mqps on a single machine because I was too lazy not to. |
2021-01-19 21:21:43 +0100 | <davean> | but maybe thats because I actually did distributed systems :-p |
2021-01-19 21:21:49 +0100 | <davean> | I knew what the option was |
2021-01-19 21:22:00 +0100 | <davean> | or I could have just done it wrong |
2021-01-19 21:24:34 +0100 | Alleria_ | (~AllahuAkb@2603-7000-3040-0000-0132-7991-54fc-9d8c.res6.spectrum.com) |
2021-01-19 21:26:36 +0100 | tsrt^ | (tsrt@ip98-184-89-2.mc.at.cox.net) (Ping timeout: 264 seconds) |
2021-01-19 21:26:39 +0100 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
2021-01-19 21:27:56 +0100 | Kaiepi | (~Kaiepi@47.54.252.148) (Remote host closed the connection) |
2021-01-19 21:28:05 +0100 | <__monty__> | Advent of Code shows me every year how easy it is to write something that takes hours instead of seconds. So I'm not so surprised fledgling programmers talk about performance. |
2021-01-19 21:28:18 +0100 | <idnar> | merijn: you probably want 3 machines for when 1 goes down :P |
2021-01-19 21:28:49 +0100 | <monochrom> | Project Euler shows that everyday |
2021-01-19 21:28:55 +0100 | raehik1 | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-01-19 21:29:01 +0100 | <dminuoso> | __monty__: Let me rephrase that: The faster computers get, the worse programmers become. |
2021-01-19 21:29:04 +0100 | <monochrom> | And we all know the true cause of those. |
2021-01-19 21:29:46 +0100 | Gurkenglas_ | Gurkenglas |
2021-01-19 21:29:47 +0100 | <monochrom> | A beginner who codes up the moral equivalent of "f n = g (f (n-1)) (f (n-1))" has no right to talk about performance, as I explained a couple of days ago. |
2021-01-19 21:30:24 +0100 | <dminuoso> | Hey but GHC can do CSE... |
2021-01-19 21:30:42 +0100 | <monochrom> | That's why I said "moral equivalent". |
2021-01-19 21:30:55 +0100 | <dminuoso> | Oh |
2021-01-19 21:31:13 +0100 | Kaiepi | (~Kaiepi@47.54.252.148) |
2021-01-19 21:31:26 +0100 | Kaiepi | (~Kaiepi@47.54.252.148) (Remote host closed the connection) |
2021-01-19 21:31:34 +0100 | <monochrom> | The actual beginners I have in mind code up list/tree traversal algorithms that look like "merely 2-pass" |
2021-01-19 21:31:54 +0100 | <__monty__> | monochrom: Hmm, AoC tends to exhibit these performance issues on choice of data structure more than anything. Which, imo, is forgivable for beginners. |
2021-01-19 21:32:36 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 264 seconds) |
2021-01-19 21:32:51 +0100 | <monochrom> | But since it becomes "<work on size n> = g <work on size n-1> <work on the same size n-1 again but slightly different>" it is patently exponential to n, and patently unamenable to known optimizations. |
2021-01-19 21:33:44 +0100 | howdoi | (uid224@gateway/web/irccloud.com/x-axbmoogzhixorxhj) |
2021-01-19 21:34:01 +0100 | <monochrom> | __monty__, that depends on whether beginner in CS at all or beginner in just Haskell. |
2021-01-19 21:34:19 +0100 | <merijn> | __monty__: tbh, AoC problems are small enough that even stupid choices don't really matter |
2021-01-19 21:34:25 +0100 | <monochrom> | I have a lot of 3rd-year CS students making the mistake I described. |
2021-01-19 21:34:45 +0100 | <davean> | idnar: Oh I had failover :) |
2021-01-19 21:35:05 +0100 | tromp | (~tromp@dhcp-077-249-230-040.chello.nl) |
2021-01-19 21:35:33 +0100 | <monochrom> | I wouldn't even use the word "forgive" if it's a beginner in CS. Not fair to require them to figure this out on their own. |
2021-01-19 21:35:56 +0100 | ph88_ | (~ph88@ip5f5af71a.dynamic.kabel-deutschland.de) |
2021-01-19 21:36:04 +0100 | <dminuoso> | davean: You wouldn't appreciate how we deal with high performance as an ISP.. |
2021-01-19 21:36:22 +0100 | <monochrom> | But a beginner in CS also has no right to talk about "performance". |
2021-01-19 21:36:25 +0100 | <dminuoso> | We just scale up the entire network to levels, that we dont need to do internal traffic engineering.. |
2021-01-19 21:36:27 +0100 | ulidtko | (~ulidtko@193.111.48.79) |
2021-01-19 21:36:30 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-01-19 21:36:35 +0100 | <justsomeguy> | Where do you even start with that stuff? I don't even have a clue as to how measure if my recursive function(s) would have better or worse performance by just reading them. |
2021-01-19 21:36:38 +0100 | <davean> | dminuoso: Hum. |
2021-01-19 21:37:07 +0100 | <justsomeguy> | ...and the most convient data structure to use is usually a list, which is ill suited for a lot of things involving random access. |
2021-01-19 21:37:31 +0100 | <justsomeguy> | But it's also pretty much the only one I'm familiar with as a beginner. |
2021-01-19 21:37:33 +0100 | <davean> | justsomeguy: then you're using the wrong list? ;) |
2021-01-19 21:38:02 +0100 | <merijn> | justsomeguy: tbh, it's not that different from reasoning about performance than other languages :p |
2021-01-19 21:38:11 +0100 | Ayo | (~quassel@82.177.83.189) (Read error: Connection reset by peer) |
2021-01-19 21:38:17 +0100 | <merijn> | justsomeguy: Like, if you need random access a linked list like [] is...pretty bad :p |
2021-01-19 21:38:27 +0100 | ulidtko|k | (~ulidtko@194.54.80.38) (Ping timeout: 256 seconds) |
2021-01-19 21:38:35 +0100 | <merijn> | justsomeguy: For random access you want |
2021-01-19 21:38:37 +0100 | <merijn> | @hackage vector |
2021-01-19 21:38:37 +0100 | <lambdabot> | https://hackage.haskell.org/package/vector |
2021-01-19 21:39:02 +0100 | <monochrom> | The Array that comes with base can be good enough. |
2021-01-19 21:39:03 +0100 | <merijn> | justsomeguy: And assuming you know other languages, you should feel right at home with the stuff in |
2021-01-19 21:39:08 +0100 | <merijn> | @hackage containers |
2021-01-19 21:39:08 +0100 | <lambdabot> | https://hackage.haskell.org/package/containers |
2021-01-19 21:39:36 +0100 | <justsomeguy> | Yeah, I haven't had to reason about performance in any language until now. Mostly my approach has been to use the built-in type that seems most suitable, and I haven't had to care much after that. I'm going to have to look at Data.Vector. |
2021-01-19 21:39:43 +0100 | raehik1 | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 260 seconds) |
2021-01-19 21:39:50 +0100 | elliott_ | (~elliott_@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 256 seconds) |
2021-01-19 21:39:51 +0100 | ph88^ | (~ph88@2a02:8109:9e00:7e5c:795a:5528:8c2c:51fe) (Ping timeout: 260 seconds) |
2021-01-19 21:40:04 +0100 | justsomeguy | has also heard that the sequence type is pretty cool. |
2021-01-19 21:40:11 +0100 | Ayo | (~quassel@82.177.83.189) |
2021-01-19 21:40:13 +0100 | <merijn> | justsomeguy: Vector is basically like C++'s std::vector/C's arrays |
2021-01-19 21:40:14 +0100 | <davean> | merijn: the Array that comes with base is missing a TON of functions |
2021-01-19 21:40:21 +0100 | <davean> | merijn: and instances. |
2021-01-19 21:40:28 +0100 | <monochrom> | I think you mean me. |
2021-01-19 21:40:33 +0100 | <davean> | er yes |
2021-01-19 21:40:36 +0100 | <davean> | sorry |
2021-01-19 21:40:52 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
2021-01-19 21:40:54 +0100 | <monochrom> | But vector is missing a ton of Ix instances, too. |
2021-01-19 21:41:14 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-01-19 21:41:19 +0100 | <exarkun> | So I stumbled around with AES128 CTR some more and I found a surprising result, I think. Passing less than one block of data to `ctr` increments the counter. If the new IV (really the counter) is used subsequently, this means the output is wrong. |
2021-01-19 21:41:32 +0100 | <merijn> | justsomeguy: It has mutable versions so you don't just have random access, but also just mutable arrays |
2021-01-19 21:41:50 +0100 | <exarkun> | It seems like this is a misuse of the API but it also seems like the failure behavior could be improved? |
2021-01-19 21:41:59 +0100 | conal | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
2021-01-19 21:42:35 +0100 | <geekosaur> | exarkun, I'd expect it pads the block out given what you said about it yesterday |
2021-01-19 21:42:40 +0100 | p8m | (p8m@gateway/vpn/protonvpn/p8m) (Ping timeout: 256 seconds) |
2021-01-19 21:42:45 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:a004:c2e:5fd9:3135) |
2021-01-19 21:42:53 +0100 | <exarkun> | geekosaur: Yea, it doesn't seem to? length of the output equals length of the input. |
2021-01-19 21:43:09 +0100 | frdg` | (~user@pool-96-252-123-136.bstnma.fios.verizon.net) |
2021-01-19 21:43:19 +0100 | <geekosaur> | and the counter is blocks, not bytes, so it can't track a partial block across calls |
2021-01-19 21:43:25 +0100 | exarkun | nods |
2021-01-19 21:43:30 +0100 | usr25 | (~usr25@unaffiliated/usr25) |
2021-01-19 21:43:40 +0100 | <exarkun> | Oh, you mean it pads it for internal book-keeping purposes? |
2021-01-19 21:43:46 +0100 | <geekosaur> | yeh |
2021-01-19 21:43:54 +0100 | Franciman | (~francesco@host-79-51-37-36.retail.telecomitalia.it) (Quit: Leaving) |
2021-01-19 21:44:05 +0100 | <exarkun> | I guess I could believe that ... but I'm not sure I'm convinced that's good behavior |
2021-01-19 21:44:07 +0100 | <geekosaur> | it has to encrypt a full block, but it could strip the ret off if it knows the output should be the same size as the input |
2021-01-19 21:44:09 +0100 | <davean> | monochrom: oh yah, and Ix its self isn't so great. |
2021-01-19 21:44:14 +0100 | <geekosaur> | *rest off |
2021-01-19 21:44:29 +0100 | <exarkun> | Hm.. It *has* to encrypt a full block ... |
2021-01-19 21:44:32 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Quit: WeeChat 3.0) |
2021-01-19 21:44:32 +0100 | <davean> | its missing a bunch of things derivable from its interface that can't be implimented efficiently externally. |
2021-01-19 21:44:44 +0100 | <frdg`> | question from learning about concurrent haskell. I do not know why this code compiles. To me there should be a type error. http://dpaste.com/BMBL5PRJE |
2021-01-19 21:44:55 +0100 | <davean> | Ix guarrentees a bunch of existing things that you can't impliment in better than O(N) genericlyu |
2021-01-19 21:45:02 +0100 | puffnfresh | (~puffnfres@119-17-138-164.77118a.mel.static.aussiebb.net) |
2021-01-19 21:45:05 +0100 | <exarkun> | This makes me realize I must not understand what the OpenSSL implementation is doing. Because OpenSSL also accepts less than a full block. But for the next byte of input, it produces the same result as if you'd included that byte in the first call. |
2021-01-19 21:45:14 +0100 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2021-01-19 21:45:42 +0100 | <geekosaur> | openssl implements a stream abstraction since it is used to encrypt streams |
2021-01-19 21:45:43 +0100 | knupfer | (~Thunderbi@200116b82c70da002457d3fffeafe7d8.dip.versatel-1u1.de) |
2021-01-19 21:45:44 +0100 | knupfer | (~Thunderbi@200116b82c70da002457d3fffeafe7d8.dip.versatel-1u1.de) (Client Quit) |
2021-01-19 21:45:45 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds) |
2021-01-19 21:45:51 +0100 | <davean> | frdg`: why do you think its MVar () not MVar a? |
2021-01-19 21:46:00 +0100 | knupfer | (~Thunderbi@mue-88-130-61-193.dsl.tropolys.de) |
2021-01-19 21:46:12 +0100 | <exarkun> | But how can it emit one byte of output before it has the other 15 bytes of input? |
2021-01-19 21:46:23 +0100 | ransom | (~c4264035@undergraduate-jvossen-9690.mines.edu) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-01-19 21:46:39 +0100 | <frdg`> | davean: I would expect an empty MVar to be an MVar holding `()` |
2021-01-19 21:46:41 +0100 | <monochrom> | s/equal/::/ |
2021-01-19 21:46:43 +0100 | <geekosaur> | it can't; it quietly buffers the output (resp. input) until it has full blocks |
2021-01-19 21:46:50 +0100 | <davean> | frdg`: but why |
2021-01-19 21:47:01 +0100 | <davean> | why would you think that? |
2021-01-19 21:47:09 +0100 | <merijn> | frdg`: "holding ()" doesn't sound empty to me |
2021-01-19 21:47:09 +0100 | <geekosaur> | this puts some restrictions on how you make use of openssl's encrypted streams |
2021-01-19 21:47:12 +0100 | frdg | (~user@pool-96-252-123-136.bstnma.fios.verizon.net) (Ping timeout: 246 seconds) |
2021-01-19 21:47:12 +0100 | <davean> | what makes () special to you |
2021-01-19 21:47:14 +0100 | <monochrom> | But "Logger m" forces "m :: MVar LogCommand". |
2021-01-19 21:47:18 +0100 | <exarkun> | I seem to be observing that it isn't buffering, it is producing results immediately |
2021-01-19 21:47:20 +0100 | <exarkun> | Let me d ouble check |
2021-01-19 21:47:26 +0100 | <davean> | yah what merijn said, () isn't empty |
2021-01-19 21:47:26 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:a004:c2e:5fd9:3135) (Ping timeout: 264 seconds) |
2021-01-19 21:47:28 +0100 | <davean> | () is something. |
2021-01-19 21:47:56 +0100 | conal | (~conal@64.71.133.70) |
2021-01-19 21:48:14 +0100 | <monochrom> | () is as "special" as "data X = Ctor" |
2021-01-19 21:48:51 +0100 | <monochrom> | At the meta level I am not confident that you know the line between terms and types. |
2021-01-19 21:49:07 +0100 | <geekosaur> | exarkun, you are not working with openssl's stream abstraction last I checked, you were working with a ctr function that encrypts blocks |
2021-01-19 21:49:16 +0100 | <monochrom> | You write like "myTerm equals myType" left right and centre, I begin to suspect that you actually believe it. |
2021-01-19 21:49:19 +0100 | son0p | (~son0p@181.136.122.143) |
2021-01-19 21:49:25 +0100 | jneira | (501ca940@gateway/web/cgi-irc/kiwiirc.com/ip.80.28.169.64) |
2021-01-19 21:49:51 +0100 | <exarkun> | geekosaur: Uh ok. I guess I misunderstood. I thought you just told me I was. |
2021-01-19 21:50:22 +0100 | <geekosaur> | no, you asked me why openssl could do things differently, so I told you what openssl is doing with its stream abstraction |
2021-01-19 21:50:29 +0100 | <geekosaur> | it's a different beast |
2021-01-19 21:50:51 +0100 | <exarkun> | I'm sorry, I'm lost now. |
2021-01-19 21:51:15 +0100 | <geekosaur> | and it has specific requirements for it to work crrectly. similarly, the function you are using has its own different requirements |
2021-01-19 21:51:18 +0100 | frdg` | (~user@pool-96-252-123-136.bstnma.fios.verizon.net) (Remote host closed the connection) |
2021-01-19 21:51:23 +0100 | <exarkun> | Here is some Python code that uses OpenSSL and shows some kind of behavior related to non-block-multiple inputs - https://gist.github.com/exarkun/10d4a416a3e9e5fdbae07ae60957b90a |
2021-01-19 21:51:44 +0100 | frdg | (~user@pool-96-252-123-136.bstnma.fios.verizon.net) |
2021-01-19 21:51:52 +0100 | <frdg> | yes I am mixing up terms and types. Is this correct because `m :: MVar a` and because that a can be anything it can stand for a LogCommand |
2021-01-19 21:51:57 +0100 | <exarkun> | I totally believe that I'm using it wrong. In fact, that was my assumption from the start. I don't know what I'm doing. |
2021-01-19 21:52:16 +0100 | <exarkun> | But I'm not convinced that quietly giving the wrong output for violating undocumented requirements is ideal behavior for the library. |
2021-01-19 21:52:41 +0100 | <geekosaur> | sadly, I don't either; I'm talking generically, I don't know what you're working with |
2021-01-19 21:53:11 +0100 | <monochrom> | I wouldn't impose that on every bloody library function. |
2021-01-19 21:53:38 +0100 | <exarkun> | Heh ok |
2021-01-19 21:54:01 +0100 | <monochrom> | some library functions are meant to be higher level. they should live up to a higher standard, yes |
2021-01-19 21:54:04 +0100 | <geekosaur> | there's also the consideration that crypto functions tend to be in the hot path and get to make such assumptions for performance reasons |
2021-01-19 21:54:12 +0100 | <monochrom> | higher safety standard, that is. |
2021-01-19 21:54:52 +0100 | <monochrom> | lower level functions live up to a lower safety standard because they live up to a higher efficiency standard and also more usable in unforseen circumstances |
2021-01-19 21:55:01 +0100 | <geekosaur> | this is a fairly low level interface and it's expected that you use a higher level interface if you want such guarantees. as was suggested to you yesterday |
2021-01-19 21:55:05 +0100 | <exarkun> | monochrom: How about the "undocumented" part though |
2021-01-19 21:55:28 +0100 | <exarkun> | monochrom: Maybe the docs could say "If you don't pass a full block this will produce garbage output" |
2021-01-19 21:55:42 +0100 | <exarkun> | That doesn't have a runtime cost |
2021-01-19 21:56:15 +0100 | <monochrom> | That probably comes back to my explanation of how if a person is great at documenting, they stand to make more money as a lawyer than a programmer. So what does economics imply about what kind of people you get for programmers? |
2021-01-19 21:56:19 +0100 | <exarkun> | As far as I can tell, `ctr`'s documentation is: "Counter (encryption)" |
2021-01-19 21:57:01 +0100 | ransom | (~c4264035@undergraduate-jvossen-9690.mines.edu) |
2021-01-19 21:57:16 +0100 | <exarkun> | Ah, I am not super interested in a philosophical debate about the ethos of programming vs lawyering right now, I suppose. |
2021-01-19 21:57:32 +0100 | <monochrom> | No, this is merely economics. |
2021-01-19 21:57:32 +0100 | <exarkun> | I think I am trying to gauge whether it is worth filing a bug report or not |
2021-01-19 21:58:02 +0100 | <monochrom> | Would it make you happier? |
2021-01-19 21:58:13 +0100 | <exarkun> | Thank you for your help monochrom |
2021-01-19 21:58:21 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-01-19 21:58:24 +0100 | revprez_anzio | (~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net) (Ping timeout: 246 seconds) |
2021-01-19 21:58:41 +0100 | <geekosaur> | you can file it but I suspect the response will be "this is a low level block crypto interface, you are expected to provide full blocks" |
2021-01-19 21:59:04 +0100 | <monochrom> | I would call it a documentation bug. |
2021-01-19 21:59:19 +0100 | revprez_anzio | (~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net) |
2021-01-19 21:59:51 +0100 | frdg | (~user@pool-96-252-123-136.bstnma.fios.verizon.net) ("ERC (IRC client for Emacs 27.1)") |
2021-01-19 22:00:05 +0100 | <monochrom> | Actually I would tone it as making a suggestion. |
2021-01-19 22:01:26 +0100 | _ht | (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
2021-01-19 22:01:40 +0100 | <monochrom> | I am pretty much inspired by the movie Apollo 13. To be fair, I do not know whether the problem solving approaches in the movie are the real ones for the real Apollo 13. |
2021-01-19 22:02:16 +0100 | <monochrom> | But basically, since accident has happened and they're in an exceptional circumstance, ... |
2021-01-19 22:03:04 +0100 | <monochrom> | it is all very well to keep saying "we don't know what this component will do under this untested circumstance, it's outside the spec, it's undocumented" |
2021-01-19 22:04:51 +0100 | <monochrom> | the whole point is that accident has happened and therefore they must stress out the components way outside their specs because that's the only chance of saving lives. |
2021-01-19 22:05:12 +0100 | <exarkun> | fwiw #python-cryptography provided this helpful explanation of AES CTR |
2021-01-19 22:05:19 +0100 | <exarkun> | "CTR mode encrypts a counter with AES, and then xors that block with the plaintext. So it's streaming." |
2021-01-19 22:05:27 +0100 | mdunnio | (~mdunnio@172.97.43.112) |
2021-01-19 22:05:32 +0100 | <monochrom> | more importantly, if a component had a built-in "safety check" that forbade you from using it outside its spec, that would stand in the way |
2021-01-19 22:05:33 +0100 | <exarkun> | no doubt someone here tried to explain this to me but I found this alternate formulation more approachable |
2021-01-19 22:06:17 +0100 | fangyrn | (uid481529@gateway/web/irccloud.com/x-uookpebloxxoqjgr) (Quit: Connection closed for inactivity) |
2021-01-19 22:06:23 +0100 | <exarkun> | And I guess the solution for me is just to always handle whole blocks |
2021-01-19 22:10:30 +0100 | bogdanp | (~bogdanp@188.24.80.165) (Ping timeout: 265 seconds) |
2021-01-19 22:12:15 +0100 | mmmattyx | (uid17782@gateway/web/irccloud.com/x-bvruurhqwoxqskjs) |
2021-01-19 22:14:03 +0100 | bogdanp | (~bogdanp@188.24.80.165) |
2021-01-19 22:15:23 +0100 | fnurglewitz | (uid263868@gateway/web/irccloud.com/x-nhzoizuedcpgsddc) (Quit: Connection closed for inactivity) |
2021-01-19 22:17:14 +0100 | desperek_ | (~draco@87-206-9-185.dynamic.chello.pl) |
2021-01-19 22:17:35 +0100 | usr25_tm | (~usr25@unaffiliated/usr25) |
2021-01-19 22:17:51 +0100 | ransom_ | (~c4264035@8.48.134.30) |
2021-01-19 22:19:21 +0100 | desperek_ | (~draco@87-206-9-185.dynamic.chello.pl) (Client Quit) |
2021-01-19 22:19:24 +0100 | ransom | (~c4264035@undergraduate-jvossen-9690.mines.edu) (Ping timeout: 246 seconds) |
2021-01-19 22:19:39 +0100 | Varis | (~Tadas@unaffiliated/varis) (Remote host closed the connection) |
2021-01-19 22:20:38 +0100 | usr25 | (~usr25@unaffiliated/usr25) (Ping timeout: 256 seconds) |
2021-01-19 22:20:38 +0100 | mouseghost | (~draco@wikipedia/desperek) (Ping timeout: 256 seconds) |
2021-01-19 22:21:12 +0100 | bogdanp | (~bogdanp@188.24.80.165) (Ping timeout: 264 seconds) |
2021-01-19 22:21:16 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:a004:c2e:5fd9:3135) |
2021-01-19 22:22:29 +0100 | bogdanp | (~bogdanp@188.24.80.165) |
2021-01-19 22:23:19 +0100 | Rudd0 | (~Rudd0@185.189.115.108) (Ping timeout: 272 seconds) |
2021-01-19 22:24:02 +0100 | larsan1 | (~larsan@84.39.117.57) (Ping timeout: 264 seconds) |
2021-01-19 22:25:38 +0100 | p8m | (p8m@gateway/vpn/protonvpn/p8m) |
2021-01-19 22:28:52 +0100 | fresheyeball | (~isaac@c-71-237-105-37.hsd1.co.comcast.net) (Quit: WeeChat 2.9) |
2021-01-19 22:31:54 +0100 | tito_04 | (~taurux@net-188-216-43-78.cust.vodafonedsl.it) |
2021-01-19 22:32:59 +0100 | taurux | (~taurux@net-188-216-43-78.cust.vodafonedsl.it) (Ping timeout: 246 seconds) |
2021-01-19 22:33:31 +0100 | kritzefitz | (~kritzefit@212.86.56.80) (Remote host closed the connection) |
2021-01-19 22:34:02 +0100 | justsomeguy | (~justsomeg@unaffiliated/--/x-3805311) (Quit: WeeChat 2.9) |
2021-01-19 22:34:23 +0100 | miklcct | (quasselcor@2001:19f0:7001:5ad:5400:2ff:feb6:50d7) (Quit: No Ping reply in 180 seconds.) |
2021-01-19 22:35:32 +0100 | miklcct | (quasselcor@2001:19f0:7001:5ad:5400:2ff:feb6:50d7) |
2021-01-19 22:36:41 +0100 | Rudd0 | (~Rudd0@185.189.115.108) |
2021-01-19 22:40:20 +0100 | acidjnk_new | (~acidjnk@p200300d0c704e732989dd075055fe92d.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
2021-01-19 22:41:06 +0100 | knupfer | (~Thunderbi@mue-88-130-61-193.dsl.tropolys.de) (Ping timeout: 246 seconds) |
2021-01-19 22:41:54 +0100 | geekosaur | (82650c7c@130.101.12.124) (Quit: Connection closed) |
2021-01-19 22:42:40 +0100 | Tario | (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
2021-01-19 22:44:18 +0100 | Tario | (~Tario@200.119.185.25) |
2021-01-19 22:44:30 +0100 | olligobber | (olligobber@gateway/vpn/privateinternetaccess/olligobber) |
2021-01-19 22:47:09 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
2021-01-19 22:48:08 +0100 | mputz | (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) |
2021-01-19 22:48:47 +0100 | conal | (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
2021-01-19 22:49:13 +0100 | bradparker | (sid262931@gateway/web/irccloud.com/x-ccluxzrskgjvclod) (Read error: Connection reset by peer) |
2021-01-19 22:49:49 +0100 | d0liver | (sid363046@gateway/web/irccloud.com/x-vbakmemyhoumgknq) (Ping timeout: 272 seconds) |
2021-01-19 22:49:53 +0100 | chele | (~chele@ip5b40237d.dynamic.kabel-deutschland.de) (Remote host closed the connection) |
2021-01-19 22:50:23 +0100 | davetapley | (sid666@gateway/web/irccloud.com/x-grrqllwpjuypfeja) (Read error: Connection reset by peer) |
2021-01-19 22:50:27 +0100 | gOOgler | (uid125351@gateway/web/irccloud.com/x-kfwutrekvoilnxmc) (Ping timeout: 272 seconds) |
2021-01-19 22:50:32 +0100 | SrPx | (sid108780@gateway/web/irccloud.com/x-qhnqktdxfgqqzrqb) (Read error: Connection reset by peer) |
2021-01-19 22:50:50 +0100 | ebutleriv | (sid217783@gateway/web/irccloud.com/x-fnjwxppdlbxyqkzv) (Ping timeout: 246 seconds) |
2021-01-19 22:51:02 +0100 | joshmeredith | (sid387798@gateway/web/irccloud.com/x-ywduelldbxnktgum) (Ping timeout: 264 seconds) |
2021-01-19 22:51:02 +0100 | d0liver | (sid363046@gateway/web/irccloud.com/x-shzgavllbwpukuzz) |
2021-01-19 22:51:18 +0100 | davetapley | (sid666@gateway/web/irccloud.com/x-ivbkhipkkxhxgwwr) |
2021-01-19 22:51:45 +0100 | gOOgler | (uid125351@gateway/web/irccloud.com/x-tobpiglzofpntwns) |
2021-01-19 22:51:57 +0100 | bradparker | (sid262931@gateway/web/irccloud.com/x-auwfxjzsfyjewjox) |
2021-01-19 22:52:02 +0100 | SrPx | (sid108780@gateway/web/irccloud.com/x-xlyxuehzwnzezwmo) |
2021-01-19 22:52:06 +0100 | ebutleriv | (sid217783@gateway/web/irccloud.com/x-maylluzrkecggfca) |
2021-01-19 22:53:05 +0100 | elliott_ | (~elliott_@pool-108-51-101-42.washdc.fios.verizon.net) |
2021-01-19 22:53:14 +0100 | joshmeredith | (sid387798@gateway/web/irccloud.com/x-cfzcqoupsfdhhgcd) |
2021-01-19 22:53:33 +0100 | conal | (~conal@64.71.133.70) |
2021-01-19 22:56:07 +0100 | matryoshka | (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-01-19 23:00:26 +0100 | <__monty__> | Do you control the counter? |
2021-01-19 23:00:48 +0100 | epicte7us | (~epictetus@ip184-187-162-163.sb.sd.cox.net) |
2021-01-19 23:01:31 +0100 | unlink2 | (~unlink2@p200300ebcf259600e4593ff5d42812d3.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
2021-01-19 23:02:27 +0100 | ransom_ | (~c4264035@8.48.134.30) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-01-19 23:02:43 +0100 | unlink2 | (~unlink2@p5dc0af9a.dip0.t-ipconnect.de) |
2021-01-19 23:03:11 +0100 | ep1ctetus | (~epictetus@ip184-187-162-163.sb.sd.cox.net) (Ping timeout: 265 seconds) |
2021-01-19 23:04:24 +0100 | ADG1089_ | (~adg1089@171.76.179.61) |
2021-01-19 23:04:54 +0100 | Franciman | (~francesco@host-79-51-37-36.retail.telecomitalia.it) |
2021-01-19 23:04:54 +0100 | ADG1089_ | (~adg1089@171.76.179.61) (Read error: Connection reset by peer) |
2021-01-19 23:05:04 +0100 | ADG1089_ | (~adg1089@223.226.159.22) |
2021-01-19 23:06:50 +0100 | Tops21 | (~Tobias@dyndsl-095-033-095-048.ewe-ip-backbone.de) (Read error: Connection reset by peer) |
2021-01-19 23:07:06 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 268 seconds) |
2021-01-19 23:08:56 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2021-01-19 23:19:46 +0100 | ADG1089__ | (~aditya@223.226.159.22) |
2021-01-19 23:21:05 +0100 | ransom | (~c4264035@2a09:bac0:98::830:861e) |
2021-01-19 23:23:36 +0100 | Wuzzy | (~Wuzzy@p5b0df22a.dip0.t-ipconnect.de) (Ping timeout: 264 seconds) |
2021-01-19 23:24:12 +0100 | Franciman | (~francesco@host-79-51-37-36.retail.telecomitalia.it) (Quit: Leaving) |
2021-01-19 23:27:00 +0100 | tsrt^ | (tsrt@ip98-184-89-2.mc.at.cox.net) |
2021-01-19 23:27:49 +0100 | jamm | (~jamm@unaffiliated/jamm) |
2021-01-19 23:30:05 +0100 | cheater | (~user@unaffiliated/cheater) (Ping timeout: 256 seconds) |
2021-01-19 23:30:34 +0100 | mirrorbird | (~psutcliff@2a00:801:42b:aff3:74af:2f22:932d:eac0) |
2021-01-19 23:32:26 +0100 | jamm | (~jamm@unaffiliated/jamm) (Ping timeout: 264 seconds) |
2021-01-19 23:32:28 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Remote host closed the connection) |
2021-01-19 23:32:42 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
2021-01-19 23:33:30 +0100 | son0p | (~son0p@181.136.122.143) (Quit: Lost terminal) |
2021-01-19 23:40:15 +0100 | takuan_dozo | (~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 246 seconds) |
2021-01-19 23:42:32 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Excess Flood) |
2021-01-19 23:43:48 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
2021-01-19 23:44:01 +0100 | <monochrom> | __monty__: The whole thing was caused by a misunderstanding on how often the counter increments. The user has control, but the user can misunderstand how to control it. |
2021-01-19 23:46:38 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed) |
2021-01-19 23:47:02 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
2021-01-19 23:48:48 +0100 | ADG1089_ | (~adg1089@223.226.159.22) (Ping timeout: 264 seconds) |
2021-01-19 23:51:43 +0100 | ADG1089__ | (~aditya@223.226.159.22) (Remote host closed the connection) |
2021-01-19 23:52:00 +0100 | royal_screwup21 | (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 265 seconds) |
2021-01-19 23:52:47 +0100 | MorrowM | (~Moshe@bzq-110-168-31-106.red.bezeqint.net) (Ping timeout: 246 seconds) |
2021-01-19 23:53:20 +0100 | ADG1089_ | (~adg1089@223.226.159.22) |
2021-01-19 23:59:47 +0100 | jlamothe | (~jlamothe@198.251.55.207) (Ping timeout: 246 seconds) |
2021-01-19 23:59:50 +0100 | elfets | (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Quit: Leaving) |