2020/12/15

2020-12-15 00:00:47 +0100conal(~conal@198.8.81.80)
2020-12-15 00:01:23 +0100jb55(~jb55@gateway/tor-sasl/jb55) (Ping timeout: 240 seconds)
2020-12-15 00:02:02 +0100questionmarkking(~questionm@165.227.7.85) (Quit: WeeChat 2.9)
2020-12-15 00:03:19 +0100questionmarkking(~questionm@165.227.7.85)
2020-12-15 00:03:30 +0100fendor(~fendor@178.165.129.102.wireless.dyn.drei.com) (Read error: Connection reset by peer)
2020-12-15 00:03:32 +0100Tario(~Tario@201.192.165.173)
2020-12-15 00:04:48 +0100uraniumz(x64cmd@gateway/vpn/privateinternetaccess/x64cmd)
2020-12-15 00:04:56 +0100conal(~conal@198.8.81.80) (Ping timeout: 240 seconds)
2020-12-15 00:04:58 +0100nf(~n@monade.li) (Quit: Fairfarren.)
2020-12-15 00:06:31 +0100nf(~n@monade.li)
2020-12-15 00:06:32 +0100mputz(~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Ping timeout: 256 seconds)
2020-12-15 00:09:43 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Read error: Connection reset by peer)
2020-12-15 00:10:24 +0100waddlepon(~waddlepon@173-8-188-69-SFBA.hfc.comcastbusiness.net)
2020-12-15 00:11:14 +0100chang(~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-15 00:11:33 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:d49:4176:8f36:b5d5) (Remote host closed the connection)
2020-12-15 00:11:47 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2020-12-15 00:11:56 +0100ystael(~ystael@209.6.50.55)
2020-12-15 00:11:58 +0100Franciman(~francesco@host-82-54-12-32.retail.telecomitalia.it) (Quit: Leaving)
2020-12-15 00:14:54 +0100conal(~conal@64.71.133.70)
2020-12-15 00:17:33 +0100philopsos(~caecilius@gateway/tor-sasl/caecilius)
2020-12-15 00:20:03 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:d49:4176:8f36:b5d5)
2020-12-15 00:20:11 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2020-12-15 00:20:27 +0100Rudd0(~Rudd0@185.189.115.108) (Remote host closed the connection)
2020-12-15 00:20:34 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-15 00:21:05 +0100uraniumz(x64cmd@gateway/vpn/privateinternetaccess/x64cmd) (Ping timeout: 240 seconds)
2020-12-15 00:22:16 +0100SomeoneSerge(~someone-s@89.187.168.40)
2020-12-15 00:22:23 +0100son0p(~son0p@181.136.122.143) (Quit: leaving)
2020-12-15 00:22:38 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 256 seconds)
2020-12-15 00:24:05 +0100hf69(~haskeller@ip72-205-40-121.dc.dc.cox.net)
2020-12-15 00:24:33 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:d49:4176:8f36:b5d5) (Ping timeout: 260 seconds)
2020-12-15 00:24:44 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-15 00:25:10 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 246 seconds)
2020-12-15 00:26:36 +0100ddellacosta(dd@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 256 seconds)
2020-12-15 00:27:13 +0100sgibber2018(~arch-gibb@208.85.237.137)
2020-12-15 00:28:23 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
2020-12-15 00:29:50 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2020-12-15 00:33:02 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 260 seconds)
2020-12-15 00:33:13 +0100hseg(~gesh@IGLD-84-228-238-87.inter.net.il) (Ping timeout: 264 seconds)
2020-12-15 00:33:17 +0100conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-12-15 00:36:06 +0100sgibber2018(~arch-gibb@208.85.237.137) (Quit: WeeChat 2.9)
2020-12-15 00:38:04 +0100aHaquer(~delight@2603-8080-f501-8cba-0000-0000-0000-0095.res6.spectrum.com)
2020-12-15 00:38:11 +0100aHaquer(~delight@2603-8080-f501-8cba-0000-0000-0000-0095.res6.spectrum.com) ()
2020-12-15 00:38:11 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-15 00:38:23 +0100livvy(~livvy@gateway/tor-sasl/livvy) (Remote host closed the connection)
2020-12-15 00:38:25 +0100aHaquer(~delight@2603-8080-f501-8cba-0000-0000-0000-0095.res6.spectrum.com)
2020-12-15 00:39:05 +0100ddere(uid110888@gateway/web/irccloud.com/x-ilyuzzqwyiwfyhhb)
2020-12-15 00:39:45 +0100iteratee(~kyle@162.211.154.4) (Read error: Connection reset by peer)
2020-12-15 00:39:53 +0100iteratee(~kyle@162.211.154.4)
2020-12-15 00:40:54 +0100vfaronov(~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) (Quit: vfaronov)
2020-12-15 00:41:00 +0100greisean(~greisean@2607:fea8:2c40:a3::4db7) (Quit: greisean)
2020-12-15 00:41:27 +0100aHaquer(~delight@2603-8080-f501-8cba-0000-0000-0000-0095.res6.spectrum.com) ()
2020-12-15 00:41:39 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:d49:4176:8f36:b5d5)
2020-12-15 00:44:16 +0100__monty__(~toonn@unaffiliated/toonn) (Quit: leaving)
2020-12-15 00:44:38 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving)
2020-12-15 00:47:58 +0100_ashbreeze_(~mark@184-157-32-85.dyn.centurytel.net)
2020-12-15 00:51:38 +0100mirrorbird(~psutcliff@2a00:801:2d6:5a31:e851:a991:dd63:f024) (Quit: Leaving)
2020-12-15 00:57:18 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:d49:4176:8f36:b5d5) (Remote host closed the connection)
2020-12-15 00:58:09 +0100Vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2020-12-15 00:58:42 +0100waddlepon(~waddlepon@173-8-188-69-SFBA.hfc.comcastbusiness.net) (Ping timeout: 260 seconds)
2020-12-15 00:58:50 +0100Vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Remote host closed the connection)
2020-12-15 00:58:56 +0100Vulfe_(~vulfe@2600:1702:31b0:34e0:d49:4176:8f36:b5d5)
2020-12-15 00:59:07 +0100hf69(~haskeller@ip72-205-40-121.dc.dc.cox.net) (Quit: WeeChat 3.0)
2020-12-15 01:00:21 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-15 01:02:32 +0100gxt(~gxt@gateway/tor-sasl/gxt)
2020-12-15 01:03:49 +0100softwarm(4408f588@ip68-8-245-136.sd.sd.cox.net) (Ping timeout: 245 seconds)
2020-12-15 01:06:01 +0100danso(~dan@69-165-210-185.cable.teksavvy.com)
2020-12-15 01:06:38 +0100vicfred(~vicfred@unaffiliated/vicfred) (Ping timeout: 264 seconds)
2020-12-15 01:07:14 +0100chang(~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com)
2020-12-15 01:08:21 +0100sgibber2018(~arch-gibb@208.85.237.137)
2020-12-15 01:08:57 +0100chang(~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) (Client Quit)
2020-12-15 01:10:57 +0100solonarv(~solonarv@astrasbourg-157-1-27-135.w90-40.abo.wanadoo.fr) (Ping timeout: 260 seconds)
2020-12-15 01:13:05 +0100hf69(~haskeller@ip72-205-40-121.dc.dc.cox.net)
2020-12-15 01:17:24 +0100johnw(~johnw@haskell/developer/johnw) (Quit: ZNC - http://znc.in)
2020-12-15 01:19:03 +0100Vulfe_(~vulfe@2600:1702:31b0:34e0:d49:4176:8f36:b5d5) (Remote host closed the connection)
2020-12-15 01:19:51 +0100mouseghost(~draco@wikipedia/desperek) (Quit: mew wew)
2020-12-15 01:22:18 +0100jaykru(~user@unaffiliated/jaykru)
2020-12-15 01:22:20 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
2020-12-15 01:23:18 +0100justsomeguysometimes wonders why so few languages have full type inference.
2020-12-15 01:24:30 +0100 <koz_> maerwald: I'm getting something weird with ghcup. If I try to get cabal 3.4.0.0-rc4 via 'ghcup install cabal', cURL vomits saying that it's unable to get a local issuer certificate.
2020-12-15 01:24:58 +0100 <koz_> I can download fine from the URL it's hitting in my web browser, and I'm fairly confident it's not an issue with cURL or my certificate chain - other sites work fine.
2020-12-15 01:25:18 +0100 <koz_> justsomeguy: 'Full' type inference can mean a few different things.
2020-12-15 01:25:27 +0100 <koz_> There's definitely limits to what's possible to automagically infer.
2020-12-15 01:26:36 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 240 seconds)
2020-12-15 01:28:35 +0100star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Remote host closed the connection)
2020-12-15 01:28:51 +0100star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
2020-12-15 01:28:52 +0100Entertainment(~entertain@104.246.132.210) (Ping timeout: 246 seconds)
2020-12-15 01:29:33 +0100nf(~n@monade.li) (Quit: Fairfarren.)
2020-12-15 01:30:41 +0100da39a3ee5e6b4b0d(~da39a3ee5@mx-ll-171.5.29-209.dynamic.3bb.co.th)
2020-12-15 01:30:44 +0100pjbGuest18665
2020-12-15 01:31:43 +0100Guest18665(~t@2a01cb04063ec50024a1053c4d73c23f.ipv6.abo.wanadoo.fr) (Ping timeout: 272 seconds)
2020-12-15 01:31:44 +0100olligobber(~olligobbe@unaffiliated/olligobber)
2020-12-15 01:32:41 +0100dycan(~dycan@101-137-177-60.mobile.dynamic.aptg.com.tw) (Read error: Connection reset by peer)
2020-12-15 01:32:50 +0100nf(~n@monade.li)
2020-12-15 01:32:50 +0100pjb(~t@2a01cb04063ec500f40e9f45bed56899.ipv6.abo.wanadoo.fr)
2020-12-15 01:34:52 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2020-12-15 01:35:25 +0100tomku(~tomku@unaffiliated/tomku) (Ping timeout: 240 seconds)
2020-12-15 01:36:02 +0100jaykru(~user@unaffiliated/jaykru) (Ping timeout: 260 seconds)
2020-12-15 01:37:19 +0100 <monochrom> It's because very few languages stay close to rank-1 parameteric polymorphism, where type inference is both do-able and beneficial.
2020-12-15 01:38:36 +0100 <koz_> monochrom: Rank-1 parametric polymorphism = Hindley-Damas-Milner?
2020-12-15 01:38:39 +0100 <monochrom> Apart from the ML heritage (SML, Caml, OCaml, maybe F#) and the Haskell heritage (Gopher, Miranda, Haskell), no one seems interested in rank-1 parametric polymorphism.
2020-12-15 01:38:39 +0100star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Excess Flood)
2020-12-15 01:38:43 +0100 <monochrom> Yeah.
2020-12-15 01:39:07 +0100 <koz_> monochrom: And (GHC at least) Haskell has shot well past HDM at this point.
2020-12-15 01:39:24 +0100jaykru(~user@unaffiliated/jaykru)
2020-12-15 01:39:28 +0100 <dolio> Haskell doesn't have full type inference.
2020-12-15 01:39:35 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:d49:4176:8f36:b5d5)
2020-12-15 01:39:37 +0100 <monochrom> Algol, Pascal, C: Not even polymorphic, and their idea of types is mostly to clarify "how many bytes so the code generator knows"
2020-12-15 01:40:23 +0100star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
2020-12-15 01:40:32 +0100 <monochrom> Simula, Smalltalk, shells, Perl, Python, PHP: What are "types"?
2020-12-15 01:41:05 +0100 <monochrom> C++, Java, C#: Subtyping kills type inference. Hell, even OCaml has to tell you sometimes it can't infer.
2020-12-15 01:41:37 +0100 <monochrom> Coq, Agda, Idris: Dependent typing kills type inference.
2020-12-15 01:41:44 +0100tomku(~tomku@unaffiliated/tomku)
2020-12-15 01:42:59 +0100Deide(~Deide@217.155.19.23) (Quit: Seeee yaaaa)
2020-12-15 01:43:45 +0100 <monochrom> Yes, GHC has done pretty reasonable heuristic annotation-aided inference in the face of rank-n, and soon we'll also get impredicativity, too.
2020-12-15 01:44:17 +0100 <monochrom> All this does is to set GHC-Haskell as the only language interested in impredicative rank-n parameteric polymorphism.
2020-12-15 01:44:27 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:d49:4176:8f36:b5d5) (Ping timeout: 260 seconds)
2020-12-15 01:46:14 +0100wonko7(~wonko7@lns-bzn-55-82-255-183-4.adsl.proxad.net) (Ping timeout: 260 seconds)
2020-12-15 01:46:30 +0100vicfred(~vicfred@unaffiliated/vicfred)
2020-12-15 01:46:54 +0100SomeoneSerge(~someone-s@89.187.168.40) (Ping timeout: 256 seconds)
2020-12-15 01:48:42 +0100 <koz_> monochrom: Yeah, I am dreaming of the day I won't have to deal with runST-oriented GHC vom.
2020-12-15 01:48:56 +0100 <koz_> (which makes me do a double take before I go "oh, it's that damn impredicativity thing")
2020-12-15 01:49:23 +0100softwarm(4408f588@ip68-8-245-136.sd.sd.cox.net)
2020-12-15 01:52:17 +0100 <monochrom> Actually, the case of Coq, Agda, Idris may be the opposite of what I said.
2020-12-15 01:52:42 +0100jaykru(~user@unaffiliated/jaykru) ("ERC (IRC client for Emacs 27.1)")
2020-12-15 01:52:43 +0100 <monochrom> Coq, Agda, Idris: Why infer types? You write the type, emacs infers the term.
2020-12-15 01:54:08 +0100 <monochrom> Right? They are theorem provers. Meaning, you write your conjecture, the computer tries to find a proof. They are not proof theoremers (you write the proof, the computer tries to find what theorem it proves.)
2020-12-15 01:55:29 +0100 <monochrom> (Please just laugh, I am joking.)
2020-12-15 01:55:51 +0100chang(~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com)
2020-12-15 01:55:52 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:d49:4176:8f36:b5d5)
2020-12-15 01:56:16 +0100 <dolio> Agda can infer a lot of types, though.
2020-12-15 01:57:36 +0100chang(~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) (Client Quit)
2020-12-15 01:59:53 +0100chang(~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com)
2020-12-15 02:00:33 +0100urodna(~urodna@unaffiliated/urodna)
2020-12-15 02:01:33 +0100chang(~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) (Client Quit)
2020-12-15 02:01:53 +0100thecoffemaker(~thecoffem@unaffiliated/thecoffemaker) (Quit: So long and thanks for all the fish!)
2020-12-15 02:03:10 +0100e2(e2@sponsored.by.bnc4you.xyz) (Ping timeout: 246 seconds)
2020-12-15 02:04:16 +0100thecoffemaker(~thecoffem@unaffiliated/thecoffemaker)
2020-12-15 02:04:46 +0100robogoat(~robogoat@209.195.0.146) (Ping timeout: 272 seconds)
2020-12-15 02:06:08 +0100 <ezzieyguywuf> do you all know of any tools outside of stack that can produce a visual like this? https://docs.haskellstack.org/en/stable/dependency_visualization/
2020-12-15 02:07:45 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2020-12-15 02:08:08 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-15 02:08:51 +0100 <ezzieyguywuf> ah, I guess ghc-pkg dot | tred | dot -Tpdf >pkgs.pdf will do the trick
2020-12-15 02:09:07 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:d49:4176:8f36:b5d5) (Remote host closed the connection)
2020-12-15 02:09:24 +0100jespada(~jespada@90.254.245.49) (Ping timeout: 258 seconds)
2020-12-15 02:09:52 +0100monadmatt(~user@119-17-128-101.771180.mel.nbn.aussiebb.net) (Ping timeout: 260 seconds)
2020-12-15 02:10:10 +0100 <ezzieyguywuf> hrm, that doesn't look like my project though...
2020-12-15 02:10:29 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-15 02:10:41 +0100monadmatt(~user@119-17-128-101.771180.mel.nbn.aussiebb.net)
2020-12-15 02:11:50 +0100jespada(~jespada@90.254.245.49)
2020-12-15 02:12:54 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 256 seconds)
2020-12-15 02:15:42 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2020-12-15 02:16:24 +0100conal(~conal@64.71.133.70)
2020-12-15 02:16:30 +0100 <dsal> I don't know how useful those things are for non-trivial apps.
2020-12-15 02:16:54 +0100e2(e2@sponsored.by.bnc4you.xyz)
2020-12-15 02:17:06 +0100alx741(~alx741@186.178.110.71) (Ping timeout: 256 seconds)
2020-12-15 02:18:45 +0100monadmatt(~user@119-17-128-101.771180.mel.nbn.aussiebb.net) (Ping timeout: 240 seconds)
2020-12-15 02:18:51 +0100johnw(~johnw@haskell/developer/johnw)
2020-12-15 02:18:51 +0100conal(~conal@64.71.133.70) (Client Quit)
2020-12-15 02:18:52 +0100 <ezzieyguywuf> *shrug*
2020-12-15 02:20:19 +0100Stanley00(~stanley00@unaffiliated/stanley00)
2020-12-15 02:21:37 +0100Stanley00(~stanley00@unaffiliated/stanley00) (Remote host closed the connection)
2020-12-15 02:21:56 +0100 <cnmne[m]> ezzieyguywuf: this reminds me of `guix graph`: https://guix.gnu.org/manual/en/html_node/Invoking-guix-graph.html)
2020-12-15 02:22:32 +0100conal(~conal@64.71.133.70)
2020-12-15 02:29:27 +0100whataday(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2020-12-15 02:29:40 +0100alx741(~alx741@186.178.110.61)
2020-12-15 02:29:41 +0100Vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2020-12-15 02:30:34 +0100whataday(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2020-12-15 02:30:50 +0100 <ezzieyguywuf> cnmne[m]: I'll check it out thank you.
2020-12-15 02:33:54 +0100columbarius(~columbari@muedsl-82-207-236-112.citykom.de) (Ping timeout: 272 seconds)
2020-12-15 02:33:58 +0100Vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 246 seconds)
2020-12-15 02:35:59 +0100columbarius(~columbari@i5E86B311.versanet.de)
2020-12-15 02:36:12 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 256 seconds)
2020-12-15 02:39:36 +0100Varis(~Tadas@unaffiliated/varis) (Remote host closed the connection)
2020-12-15 02:39:50 +0100monadmatt(~user@119-17-128-101.771180.mel.nbn.aussiebb.net)
2020-12-15 02:41:38 +0100Varis(~Tadas@unaffiliated/varis)
2020-12-15 02:41:39 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-15 02:43:38 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-15 02:46:34 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 256 seconds)
2020-12-15 02:48:58 +0100Lord_of_Life_(~Lord@unaffiliated/lord-of-life/x-0885362)
2020-12-15 02:49:50 +0100Vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2020-12-15 02:49:56 +0100Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 240 seconds)
2020-12-15 02:50:18 +0100Lord_of_Life_Lord_of_Life
2020-12-15 02:53:03 +0100hekkaidekapus](~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 240 seconds)
2020-12-15 02:55:11 +0100hekkaidekapus](~tchouri@gateway/tor-sasl/hekkaidekapus)
2020-12-15 02:56:37 +0100dnlkrgr(~dnlkrgr@HSI-KBW-46-223-1-192.hsi.kabel-badenwuerttemberg.de) (Ping timeout: 264 seconds)
2020-12-15 03:02:03 +0100mirrorbird(~psutcliff@2a00:801:2d6:5a31:e851:a991:dd63:f024)
2020-12-15 03:03:39 +0100Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
2020-12-15 03:05:07 +0100toorevitimirp(~tooreviti@117.182.180.221) (Ping timeout: 246 seconds)
2020-12-15 03:10:36 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
2020-12-15 03:13:03 +0100xff0x(~fox@2001:1a81:52c8:2700:14b6:ad9d:db0c:f54b) (Ping timeout: 272 seconds)
2020-12-15 03:14:23 +0100xff0x(~fox@2001:1a81:52fd:2900:ecae:7bf7:11ec:3725)
2020-12-15 03:14:24 +0100xsperry(~as@unaffiliated/xsperry)
2020-12-15 03:15:05 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 240 seconds)
2020-12-15 03:18:07 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2020-12-15 03:24:22 +0100barila(~barila@4e69b241.skybroadband.com) (Ping timeout: 246 seconds)
2020-12-15 03:31:41 +0100Guest90644(~botro@s91904426.blix.com) (Remote host closed the connection)
2020-12-15 03:32:56 +0100brodie_(~brodie@207.53.253.137)
2020-12-15 03:43:05 +0100carlomagno1(~cararell@148.87.23.12)
2020-12-15 03:43:06 +0100carlomagno(~cararell@148.87.23.12) (Remote host closed the connection)
2020-12-15 03:44:50 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-15 03:45:52 +0100drbean(~drbean@TC210-63-209-35.static.apol.com.tw)
2020-12-15 03:47:20 +0100Stanley00(~stanley00@unaffiliated/stanley00)
2020-12-15 03:50:16 +0100cp-(~cp-@b157153.ppp.asahi-net.or.jp) (Quit: Disappeared in a puff of smoke)
2020-12-15 03:50:32 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
2020-12-15 03:50:44 +0100 <quarters> hello. I'm not sure if this is more an emacs question or haskell, but I'm getting a number of flymake errors for missing modules after having installed haskell with ghcup
2020-12-15 03:51:21 +0100cp-(~cp-@b157153.ppp.asahi-net.or.jp)
2020-12-15 03:52:06 +0100bear1(~bear@195.140.213.38)
2020-12-15 04:02:17 +0100wei2912(~wei2912@unaffiliated/wei2912)
2020-12-15 04:02:48 +0100 <iqubic> I'd say that's an Emacs question.
2020-12-15 04:04:15 +0100 <quarters> iqubic: thanks!
2020-12-15 04:04:53 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
2020-12-15 04:06:22 +0100coot(~coot@37.30.50.101.nat.umts.dynamic.t-mobile.pl)
2020-12-15 04:06:42 +0100fresheyeball(~isaac@c-71-237-105-37.hsd1.co.comcast.net)
2020-12-15 04:07:14 +0100 <fresheyeball> I am looking to use the compose operator in TH
2020-12-15 04:07:18 +0100 <fresheyeball> How can I do this?
2020-12-15 04:07:23 +0100 <fresheyeball> ''Prelude.. does not work
2020-12-15 04:07:29 +0100 <fresheyeball> ''Prelude.(.) does not work
2020-12-15 04:07:58 +0100 <fresheyeball> ''. does not work
2020-12-15 04:09:42 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 265 seconds)
2020-12-15 04:10:19 +0100 <jle`> i'd presume (Prelude..)
2020-12-15 04:10:28 +0100 <jle`> the same way you'd use it in prefix form
2020-12-15 04:10:39 +0100 <jle`> > foldr (Prelude..) id [(+3),negate] 10
2020-12-15 04:10:41 +0100 <lambdabot> -7
2020-12-15 04:14:00 +0100 <fresheyeball> jle`: I am not getting it to work in TH though
2020-12-15 04:14:03 +0100 <fresheyeball> I need the ticks
2020-12-15 04:15:38 +0100 <jle`> yeah, i mean you can use (Prelude..) as the identifier :)
2020-12-15 04:15:43 +0100 <jle`> so you would tick the identifier
2020-12-15 04:15:47 +0100 <jle`> % '(Prelude..)
2020-12-15 04:15:48 +0100 <yahb> jle`: GHC.Base..
2020-12-15 04:15:59 +0100 <jle`> just like how you'd tick any other identifier
2020-12-15 04:16:01 +0100 <jle`> % 'Nothing
2020-12-15 04:16:02 +0100 <yahb> jle`: GHC.Maybe.Nothing
2020-12-15 04:17:49 +0100 <fresheyeball> jle`: oic
2020-12-15 04:17:51 +0100 <fresheyeball> yeah that worked
2020-12-15 04:17:54 +0100 <jle`> :D
2020-12-15 04:17:56 +0100 <fresheyeball> VarE '(Prelude..)
2020-12-15 04:17:59 +0100 <fresheyeball> tricky!
2020-12-15 04:19:45 +0100theDon(~td@muedsl-82-207-238-224.citykom.de) (Read error: Connection reset by peer)
2020-12-15 04:23:03 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-15 04:23:27 +0100elliott__(~elliott@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 260 seconds)
2020-12-15 04:23:47 +0100theDon(~td@94.134.91.212)
2020-12-15 04:23:54 +0100conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-12-15 04:24:41 +0100conal(~conal@64.71.133.70)
2020-12-15 04:25:02 +0100conal(~conal@64.71.133.70) (Client Quit)
2020-12-15 04:25:04 +0100xirhtogal(~lagothrix@unaffiliated/lagothrix)
2020-12-15 04:25:04 +0100lagothrix(~lagothrix@unaffiliated/lagothrix) (Killed (card.freenode.net (Nickname regained by services)))
2020-12-15 04:25:04 +0100xirhtogallagothrix
2020-12-15 04:26:20 +0100conal(~conal@64.71.133.70)
2020-12-15 04:30:00 +0100 <justsomeguy> *ticky
2020-12-15 04:32:07 +0100geowiesnot(~user@87-89-181-157.abo.bbox.fr)
2020-12-15 04:32:26 +0100 <fresheyeball> jle`: do you know how to input a normal haskell expression and get the TH equivelant?
2020-12-15 04:33:12 +0100 <fresheyeball> like I input \x -> x
2020-12-15 04:33:19 +0100 <fresheyeball> and get back FunD and all that non-sense
2020-12-15 04:34:48 +0100 <MarcelineVQ> that wouldn't be a FunD but you can runQ on a quasiquote to see things like that, runQ [| \x -> x |]
2020-12-15 04:35:30 +0100softwarm(4408f588@ip68-8-245-136.sd.sd.cox.net) (Ping timeout: 245 seconds)
2020-12-15 04:36:19 +0100 <MarcelineVQ> for a definition example runQ [d| { foo :: Int -> Int; foo x = 2 + x } |]
2020-12-15 04:36:30 +0100 <fresheyeball> MarcelineVQ: what about for a top level function?
2020-12-15 04:36:35 +0100 <fresheyeball> oh
2020-12-15 04:37:34 +0100 <MarcelineVQ> [| |] is equivalent to [e| |] expression, there's d for definition and t for type as well
2020-12-15 04:42:32 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-15 04:47:22 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 260 seconds)
2020-12-15 04:50:29 +0100elliott__(~elliott@pool-108-51-101-42.washdc.fios.verizon.net)
2020-12-15 04:50:36 +0100geowiesnot(~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 240 seconds)
2020-12-15 04:51:20 +0100urodna(~urodna@unaffiliated/urodna) (Quit: urodna)
2020-12-15 04:51:33 +0100Stanley00(~stanley00@unaffiliated/stanley00) (Remote host closed the connection)
2020-12-15 04:52:33 +0100 <fresheyeball> ok
2020-12-15 04:52:39 +0100 <fresheyeball> so I got this mostly working
2020-12-15 04:52:49 +0100 <fresheyeball> $(foo ''KeyCode) doesn't work though
2020-12-15 04:53:04 +0100 <fresheyeball> I get "Illegal type variable name: 'KeyCode'"
2020-12-15 04:53:09 +0100 <fresheyeball> how can I pass this?
2020-12-15 04:53:11 +0100 <fresheyeball> it is a type
2020-12-15 04:53:52 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net)
2020-12-15 04:54:01 +0100 <fresheyeball> oop I got it
2020-12-15 04:54:04 +0100 <fresheyeball> ConT vs VarT
2020-12-15 04:57:05 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2020-12-15 04:59:21 +0100softwarm(4408f588@ip68-8-245-136.sd.sd.cox.net)
2020-12-15 05:01:38 +0100chang(~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com)
2020-12-15 05:04:32 +0100Rudd0(~Rudd0@185.189.115.108)
2020-12-15 05:05:01 +0100Tario(~Tario@201.192.165.173) (Ping timeout: 264 seconds)
2020-12-15 05:05:19 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving)
2020-12-15 05:05:27 +0100justanotheruser(~justanoth@unaffiliated/justanotheruser) (Ping timeout: 260 seconds)
2020-12-15 05:06:18 +0100loller_(uid358106@gateway/web/irccloud.com/x-spyjxhxfyjxkokcy) (Quit: Connection closed for inactivity)
2020-12-15 05:06:44 +0100barila(~barila@4e69b241.skybroadband.com)
2020-12-15 05:08:21 +0100conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-12-15 05:08:43 +0100conal(~conal@64.71.133.70)
2020-12-15 05:14:58 +0100conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-12-15 05:15:04 +0100nineonine(~nineonine@50.216.62.2) (Ping timeout: 260 seconds)
2020-12-15 05:15:21 +0100Stanley00(~stanley00@unaffiliated/stanley00)
2020-12-15 05:16:37 +0100conal(~conal@64.71.133.70)
2020-12-15 05:16:52 +0100conal(~conal@64.71.133.70) (Client Quit)
2020-12-15 05:16:54 +0100bitmapper(uid464869@gateway/web/irccloud.com/x-xqjrsmravzeoznkf) (Quit: Connection closed for inactivity)
2020-12-15 05:17:40 +0100conal(~conal@64.71.133.70)
2020-12-15 05:17:41 +0100conal(~conal@64.71.133.70) (Client Quit)
2020-12-15 05:18:50 +0100softwarm(4408f588@ip68-8-245-136.sd.sd.cox.net) (Ping timeout: 245 seconds)
2020-12-15 05:19:39 +0100conal(~conal@64.71.133.70)
2020-12-15 05:25:13 +0100chang(~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-15 05:26:56 +0100m0rphism(~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) (Ping timeout: 240 seconds)
2020-12-15 05:27:05 +0100justanotheruser(~justanoth@unaffiliated/justanotheruser)
2020-12-15 05:27:12 +0100Vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Remote host closed the connection)
2020-12-15 05:27:49 +0100Vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2020-12-15 05:31:33 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-15 05:32:22 +0100Vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 256 seconds)
2020-12-15 05:35:37 +0100conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-12-15 05:36:20 +0100conal(~conal@64.71.133.70)
2020-12-15 05:36:24 +0100conal(~conal@64.71.133.70) (Client Quit)
2020-12-15 05:36:34 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2020-12-15 05:37:40 +0100Mikagami(~MOSCOS@152.32.70.55)
2020-12-15 05:39:34 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-12-15 05:40:45 +0100MOSCOS(~MOSCOS@122.54.107.175) (Ping timeout: 240 seconds)
2020-12-15 05:41:51 +0100MOSCOS(~MOSCOS@122.54.107.175)
2020-12-15 05:42:45 +0100Mikagami(~MOSCOS@152.32.70.55) (Ping timeout: 240 seconds)
2020-12-15 05:44:05 +0100argento(~argent0@168.227.96.53)
2020-12-15 05:44:45 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2020-12-15 05:45:03 +0100christo(~chris@81.96.113.213)
2020-12-15 05:49:16 +0100christo(~chris@81.96.113.213) (Ping timeout: 240 seconds)
2020-12-15 05:50:03 +0100nineonine(~nineonine@50.216.62.2)
2020-12-15 05:51:38 +0100MasseR(~MasseR@51.15.143.128) (Quit: Ping timeout (120 seconds))
2020-12-15 05:51:58 +0100MasseR(~MasseR@51.15.143.128)
2020-12-15 05:53:08 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
2020-12-15 05:55:37 +0100nineonine(~nineonine@50.216.62.2) (Ping timeout: 260 seconds)
2020-12-15 05:57:57 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 260 seconds)
2020-12-15 05:58:43 +0100Rudd0(~Rudd0@185.189.115.108) (Ping timeout: 246 seconds)
2020-12-15 06:00:49 +0100coot(~coot@37.30.50.101.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2020-12-15 06:02:02 +0100polyphem(~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) (Ping timeout: 260 seconds)
2020-12-15 06:06:13 +0100Lowl3v3l(~Lowl3v3l@dslb-002-203-233-025.002.203.pools.vodafone-ip.de)
2020-12-15 06:11:24 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-15 06:14:20 +0100nineonine(~nineonine@50.216.62.2)
2020-12-15 06:16:51 +0100vicfred(~vicfred@unaffiliated/vicfred) (Quit: Leaving)
2020-12-15 06:18:37 +0100mirrorbird(~psutcliff@2a00:801:2d6:5a31:e851:a991:dd63:f024) (Ping timeout: 272 seconds)
2020-12-15 06:18:52 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-12-15 06:20:19 +0100howdoi(uid224@gateway/web/irccloud.com/x-qbshrgqkqrzaxnce) (Quit: Connection closed for inactivity)
2020-12-15 06:21:58 +0100keltono(~keltono@x-160-94-179-178.acm.umn.edu) (Ping timeout: 260 seconds)
2020-12-15 06:22:26 +0100samebchase(~samebchas@51.15.68.182) (Ping timeout: 260 seconds)
2020-12-15 06:22:41 +0100keltono(~keltono@x-160-94-179-178.acm.umn.edu)
2020-12-15 06:22:52 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:d49:4176:8f36:b5d5)
2020-12-15 06:23:25 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2020-12-15 06:27:23 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:d49:4176:8f36:b5d5) (Ping timeout: 258 seconds)
2020-12-15 06:30:25 +0100 <orzo> is there a way to reduce the ghci prompt if it got too long after importing?
2020-12-15 06:31:13 +0100 <Axman6> you can make it smaller using import Foo.Bar.Baz as B, or you can set it (see :help) to anything you eant
2020-12-15 06:31:15 +0100 <Axman6> want*
2020-12-15 06:31:38 +0100 <orzo> i found :m on stackoverflow
2020-12-15 06:31:52 +0100 <orzo> which is good enough
2020-12-15 06:32:06 +0100 <Axman6> doesn't that remove the modules though?
2020-12-15 06:32:54 +0100 <justsomeguy> orzo: You can set the prompt with “:set prompt "prompt> "”, for example, and it won't show the module names anymore.
2020-12-15 06:33:35 +0100 <orzo> thanks
2020-12-15 06:33:43 +0100 <orzo> axman, i dont know, i imported on accident anyway
2020-12-15 06:33:58 +0100 <Axman6> you can yse :m -Foo.Bar to remove a single import
2020-12-15 06:34:03 +0100 <Axman6> use*
2020-12-15 06:34:06 +0100 <justsomeguy> orzo: To make the change permanent, you can put the string “:set prompt "whatever> "” into the ~/.ghci configuration file.
2020-12-15 06:34:58 +0100dycan(~dycan@2404:0:8232:16a5:c48:9d38:419e:a015)
2020-12-15 06:43:23 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-15 06:45:37 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
2020-12-15 06:47:45 +0100aqd(~aqd@87-92-163-238.rev.dnainternet.fi)
2020-12-15 06:48:32 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 256 seconds)
2020-12-15 06:49:19 +0100samebchase(~samebchas@51.15.68.182)
2020-12-15 06:50:00 +0100Tops2(~Tobias@dyndsl-095-033-017-085.ewe-ip-backbone.de)
2020-12-15 06:52:12 +0100Tops21(~Tobias@dyndsl-095-033-026-139.ewe-ip-backbone.de) (Ping timeout: 260 seconds)
2020-12-15 06:53:57 +0100johnw(~johnw@haskell/developer/johnw) (Ping timeout: 260 seconds)
2020-12-15 06:55:27 +0100bear1(~bear@195.140.213.38) (Remote host closed the connection)
2020-12-15 06:56:08 +0100mirrorbird(~psutcliff@2a00:801:2d6:5a31:e851:a991:dd63:f024)
2020-12-15 06:56:52 +0100hf69(~haskeller@ip72-205-40-121.dc.dc.cox.net) (Ping timeout: 260 seconds)
2020-12-15 07:02:01 +0100carlomagno1(~cararell@148.87.23.12) (Remote host closed the connection)
2020-12-15 07:03:20 +0100SanchayanMaity(~Sanchayan@136.185.170.22)
2020-12-15 07:04:12 +0100Fiver(~Fiver@185.103.96.147)
2020-12-15 07:05:52 +0100carlomagno(~cararell@148.87.23.12)
2020-12-15 07:06:54 +0100knupfer(~Thunderbi@87.123.206.218)
2020-12-15 07:10:17 +0100brodie_(~brodie@207.53.253.137) (Quit: brodie_)
2020-12-15 07:12:05 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2020-12-15 07:12:13 +0100elliott__(~elliott@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 264 seconds)
2020-12-15 07:12:30 +0100lukelau(~lukelau@2a03:b0c0:1:d0::1bc:b001) (Quit: Bye)
2020-12-15 07:12:47 +0100lukelau(~lukelau@46.101.13.214)
2020-12-15 07:14:03 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-15 07:16:07 +0100knupfer(~Thunderbi@87.123.206.218) (Ping timeout: 260 seconds)
2020-12-15 07:17:29 +0100argento(~argent0@168.227.96.53) (Quit: leaving)
2020-12-15 07:19:08 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2020-12-15 07:21:24 +0100monadmatt(~user@119-17-128-101.771180.mel.nbn.aussiebb.net) (Ping timeout: 256 seconds)
2020-12-15 07:24:47 +0100 <aplainzetakind> Why doesn't ScopedTypeVariables help here: https://dpaste.com/D9V7W2RBS
2020-12-15 07:25:22 +0100 <aplainzetakind> GHC treats the inner s as not necessarily the same as the one in the signature of the function.
2020-12-15 07:27:28 +0100cads(~cads@ip-64-72-99-232.lasvegas.net) (Ping timeout: 256 seconds)
2020-12-15 07:28:05 +0100denisse_(~spaceCat@gateway/tor-sasl/alephzer0) (Remote host closed the connection)
2020-12-15 07:28:25 +0100denisse(~spaceCat@gateway/tor-sasl/alephzer0)
2020-12-15 07:28:41 +0100 <MarcelineVQ> check the docs for Scoped, you have to explicitly activate it with a forall, like forall s. InputStream s => s -> ParsedInput
2020-12-15 07:30:38 +0100nineonin_(~nineonine@S01061cabc0b095f3.vf.shawcable.net)
2020-12-15 07:33:54 +0100elliott__(~elliott@pool-108-51-101-42.washdc.fios.verizon.net)
2020-12-15 07:33:54 +0100nineonine(~nineonine@50.216.62.2) (Ping timeout: 260 seconds)
2020-12-15 07:34:30 +0100 <aplainzetakind> MarcelineVQ: Oh right. Thanks.
2020-12-15 07:34:40 +0100plutoniix(~q@ppp-27-55-89-10.revip3.asianet.co.th)
2020-12-15 07:39:04 +0100mounty(~mounty@2001:8000:2f59:0:4077:efbd:e6d:4dbf) (Ping timeout: 258 seconds)
2020-12-15 07:39:36 +0100geowiesnot(~user@87-89-181-157.abo.bbox.fr)
2020-12-15 07:40:29 +0100sord937(~sord937@gateway/tor-sasl/sord937)
2020-12-15 07:41:21 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
2020-12-15 07:46:46 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 272 seconds)
2020-12-15 07:47:03 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-15 07:48:33 +0100monadmatt(~user@119-17-128-101.771180.mel.nbn.aussiebb.net)
2020-12-15 07:48:36 +0100machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 256 seconds)
2020-12-15 07:48:43 +0100philopsos(~caecilius@gateway/tor-sasl/caecilius) (Ping timeout: 240 seconds)
2020-12-15 07:55:16 +0100 <guest1214> parseString = do char '"'; x <- many (noneOf "\""); char '"'; return $ String x; this can match "abc", what if I want to match "server" in "server=abc"?
2020-12-15 07:55:36 +0100mbomba(~mbomba@bras-base-toroon2719w-grc-53-142-114-5-26.dsl.bell.ca)
2020-12-15 07:57:45 +0100elliott__(~elliott@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
2020-12-15 07:59:05 +0100Tops21(~Tobias@dyndsl-095-033-017-085.ewe-ip-backbone.de)
2020-12-15 08:02:47 +0100Tops2(~Tobias@dyndsl-095-033-017-085.ewe-ip-backbone.de) (Ping timeout: 260 seconds)
2020-12-15 08:03:05 +0100Rudd0(~Rudd0@185.189.115.98)
2020-12-15 08:04:18 +0100monadmatt(~user@119-17-128-101.771180.mel.nbn.aussiebb.net) (Remote host closed the connection)
2020-12-15 08:04:44 +0100monadmatt(~user@119-17-128-101.771180.mel.nbn.aussiebb.net)
2020-12-15 08:05:47 +0100Gurkenglas(~Gurkengla@unaffiliated/gurkenglas)
2020-12-15 08:10:36 +0100monadmatt(~user@119-17-128-101.771180.mel.nbn.aussiebb.net) (Ping timeout: 240 seconds)
2020-12-15 08:12:28 +0100Rudd0(~Rudd0@185.189.115.98) (Remote host closed the connection)
2020-12-15 08:12:39 +0100notzmv`(~user@189-46-208-249.dsl.telesp.net.br)
2020-12-15 08:13:06 +0100mbomba(~mbomba@bras-base-toroon2719w-grc-53-142-114-5-26.dsl.bell.ca) (Quit: WeeChat 3.0)
2020-12-15 08:13:34 +0100 <xerox_> guest1214: if it's exactly that string you can match exactly the string I think the parser for that might be called "string"
2020-12-15 08:14:07 +0100 <guest1214> xerox_: ok
2020-12-15 08:15:04 +0100 <xerox_> otherwise if it's more general name=val you can do the same you did with many (notChar '=') (I forget the exact names of the combinators but you can find those)
2020-12-15 08:15:39 +0100notzmv(~user@unaffiliated/zmv) (Ping timeout: 256 seconds)
2020-12-15 08:20:44 +0100danso(~dan@69-165-210-185.cable.teksavvy.com) (Quit: WeeChat 2.9)
2020-12-15 08:21:49 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
2020-12-15 08:23:21 +0100cfricke(~cfricke@unaffiliated/cfricke)
2020-12-15 08:23:23 +0100sfvm(~sfvm@37.228.215.77) (Remote host closed the connection)
2020-12-15 08:27:00 +0100wei2912(~wei2912@unaffiliated/wei2912) (Remote host closed the connection)
2020-12-15 08:27:36 +0100plutoniix(~q@ppp-27-55-89-10.revip3.asianet.co.th) (Ping timeout: 240 seconds)
2020-12-15 08:28:17 +0100 <dminuoso> guest1214: Random side note, you probably should use `takeWhile/takeWhile/takeWhileP/takeWhile1P` instead of many on character parsers. :(
2020-12-15 08:28:38 +0100 <dminuoso> They perform much faster in the general case if you have more than 1-2 characters to parse
2020-12-15 08:28:46 +0100geowiesnot(~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 265 seconds)
2020-12-15 08:30:35 +0100 <dminuoso> For example in the implementation of attoparsec, `many someChar` will peek a single character, run the parser, and then branch into success or failure each time. With `takeWhileXX` it will work on entire chunks (which could be as large as 1kB) at a time.
2020-12-15 08:35:41 +0100wei2912(~wei2912@unaffiliated/wei2912)
2020-12-15 08:38:41 +0100MOSCOS(~MOSCOS@122.54.107.175) (Remote host closed the connection)
2020-12-15 08:39:07 +0100MOSCOS(~MOSCOS@122.54.107.175)
2020-12-15 08:40:39 +0100plutoniix(~q@184.82.204.234)
2020-12-15 08:44:18 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-15 08:44:43 +0100dnlkrgr(~dnlkrgr@HSI-KBW-46-223-1-192.hsi.kabel-badenwuerttemberg.de)
2020-12-15 08:45:03 +0100justsomeguy(~justsomeg@unaffiliated/--/x-3805311) (Ping timeout: 256 seconds)
2020-12-15 08:46:18 +0100monadmatt(~user@119-17-128-101.771180.mel.nbn.aussiebb.net)
2020-12-15 08:47:14 +0100chele(~chele@ip5b416ea2.dynamic.kabel-deutschland.de)
2020-12-15 08:48:09 +0100 <guest1214> dminuoso: actually I'm tring to re-write this https://paste.ubuntu.com/p/QzwX26Cchf/ with parsec
2020-12-15 08:48:47 +0100 <guest1214> read a file and get the context to a Map structure
2020-12-15 08:48:56 +0100machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca)
2020-12-15 08:49:05 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds)
2020-12-15 08:49:20 +0100jonathanx(~jonathan@dyn-8-sc.cdg.chalmers.se)
2020-12-15 08:50:30 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-15 08:50:52 +0100cfricke(~cfricke@unaffiliated/cfricke) (Quit: WeeChat 3.0)
2020-12-15 08:51:05 +0100cfricke(~cfricke@unaffiliated/cfricke)
2020-12-15 08:51:30 +0100monadmatt(~user@119-17-128-101.771180.mel.nbn.aussiebb.net) (Ping timeout: 256 seconds)
2020-12-15 08:54:43 +0100cosimone(~cosimone@2001:b07:ae5:db26:1fb3:ef3f:ece2:c6f8) (Quit: cosimone)
2020-12-15 08:55:25 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2020-12-15 08:57:08 +0100z0_(~z0@188.251.81.116) (Quit: leaving)
2020-12-15 08:58:04 +0100sQVe(~sQVe@unaffiliated/sqve)
2020-12-15 08:59:58 +0100Franciman(~francesco@host-82-54-12-32.retail.telecomitalia.it)
2020-12-15 09:00:08 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-15 09:01:46 +0100dhouthoo(~dhouthoo@ptr-eitgbj2w0uu6delkbrh.18120a2.ip6.access.telenet.be)
2020-12-15 09:03:04 +0100jamm(~jamm@unaffiliated/jamm)
2020-12-15 09:04:03 +0100wei2912(~wei2912@unaffiliated/wei2912) (Remote host closed the connection)
2020-12-15 09:04:15 +0100vfaronov(~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru)
2020-12-15 09:07:01 +0100SomeoneSerge(~someone-s@89.187.168.50)
2020-12-15 09:12:13 +0100vfaronov(~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) (Ping timeout: 264 seconds)
2020-12-15 09:13:22 +0100nineonin_(~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Remote host closed the connection)
2020-12-15 09:15:18 +0100Varis(~Tadas@unaffiliated/varis) (Remote host closed the connection)
2020-12-15 09:15:21 +0100kuribas(~user@ptr-25vy0i9hsz5hd66cx41.18120a2.ip6.access.telenet.be)
2020-12-15 09:15:26 +0100cross(~cross@spitfire.i.gajendra.net) (Quit: Lost terminal)
2020-12-15 09:15:34 +0100danvet(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa)
2020-12-15 09:15:49 +0100nineonine(~nineonine@S01061cabc0b095f3.vf.shawcable.net)
2020-12-15 09:17:44 +0100bitmagie(~Thunderbi@200116b80621a300acbfb2509b3ce4e7.dip.versatel-1u1.de)
2020-12-15 09:18:28 +0100tumdedum(~tumdedum@unaffiliated/espiral) (Ping timeout: 256 seconds)
2020-12-15 09:20:14 +0100nineonine(~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Ping timeout: 256 seconds)
2020-12-15 09:22:06 +0100hekkaidekapus](~tchouri@gateway/tor-sasl/hekkaidekapus) (Remote host closed the connection)
2020-12-15 09:22:42 +0100hekkaidekapus](~tchouri@gateway/tor-sasl/hekkaidekapus)
2020-12-15 09:23:33 +0100SomeoneSerge(~someone-s@89.187.168.50) (Ping timeout: 260 seconds)
2020-12-15 09:25:52 +0100tumdedum(~tumdedum@unaffiliated/espiral)
2020-12-15 09:29:23 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
2020-12-15 09:29:35 +0100raichoo(~raichoo@213.240.178.58)
2020-12-15 09:29:44 +0100Varis(~Tadas@unaffiliated/varis)
2020-12-15 09:30:40 +0100ddere(uid110888@gateway/web/irccloud.com/x-ilyuzzqwyiwfyhhb) (Quit: Connection closed for inactivity)
2020-12-15 09:30:49 +0100magicman(~tchakkazu@static-47-180-28-65.lsan.ca.frontiernet.net) (Ping timeout: 246 seconds)
2020-12-15 09:31:25 +0100magicman(~tchakkazu@static-47-180-28-65.lsan.ca.frontiernet.net)
2020-12-15 09:33:56 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 240 seconds)
2020-12-15 09:35:30 +0100Sgeo(~Sgeo@ool-18b98aa4.dyn.optonline.net) (Read error: Connection reset by peer)
2020-12-15 09:35:40 +0100coot(~coot@37.30.50.101.nat.umts.dynamic.t-mobile.pl)
2020-12-15 09:37:54 +0100jamm(~jamm@unaffiliated/jamm) (Remote host closed the connection)
2020-12-15 09:40:41 +0100wonko7(~wonko7@2a01:e35:2ffb:7040:4535:f480:7dff:b3b5)
2020-12-15 09:42:27 +0100Fiver(~Fiver@185.103.96.147) (Remote host closed the connection)
2020-12-15 09:46:52 +0100 <kuribas> What are the unique features of servant?
2020-12-15 09:47:25 +0100quarters(~quarters@unaffiliated/quarters) (Ping timeout: 240 seconds)
2020-12-15 09:47:25 +0100 <kuribas> IMO you could have a formal specified API without actually doing type level computations.
2020-12-15 09:47:48 +0100 <kuribas> I guess the only unique feature of servant is that it can generate both a client and server from the same API.
2020-12-15 09:47:59 +0100 <kuribas> Which would be hard to do with value level computations.
2020-12-15 09:48:29 +0100 <kuribas> Also generating documentation wouldn't require a type level API.
2020-12-15 09:48:35 +0100 <lortabac> kuribas: "a formal specified API without actually doing type level computations" -> yes, but you would need code generation
2020-12-15 09:48:37 +0100 <dminuoso> It provides a type checked way to ensure your client/server handler specification line up.
2020-12-15 09:48:40 +0100thc202(~thc202@unaffiliated/thc202)
2020-12-15 09:48:48 +0100 <kuribas> lortabac: how so?
2020-12-15 09:48:49 +0100 <dminuoso> Under the hood I'd rather think of servant as generics than the other way around.
2020-12-15 09:48:59 +0100 <lortabac> kuribas: how not so? :)
2020-12-15 09:49:14 +0100 <kuribas> lortabac: combinators?
2020-12-15 09:49:45 +0100 <dminuoso> kuribas: You can get away without it, see scotty.
2020-12-15 09:50:03 +0100 <dminuoso> But you get absolutely no compile time guarantees, and you have assert routing dynamically, assert parameters dynamically, etc
2020-12-15 09:50:05 +0100 <kuribas> dminuoso: does scotty allow you to generate a swagger spec?
2020-12-15 09:50:09 +0100 <kuribas> right
2020-12-15 09:50:09 +0100 <lortabac> the other libraries to basically Value -> Value
2020-12-15 09:50:17 +0100 <dminuoso> And you get no static analyzability to build documentation, generate swagger
2020-12-15 09:50:18 +0100 <dminuoso> etc
2020-12-15 09:50:20 +0100 <dminuoso> kuribas: No
2020-12-15 09:50:35 +0100 <kuribas> I mean, my point is that it should be *possible*.
2020-12-15 09:50:43 +0100 <dminuoso> With a selective- framework, yes.
2020-12-15 09:50:45 +0100 <lortabac> kuribas: you would have to start from the specs (Swagger or other) and generate code
2020-12-15 09:50:55 +0100 <dminuoso> If there was some selective-scotty, you could generate swagger from it
2020-12-15 09:51:01 +0100 <kuribas> right
2020-12-15 09:51:13 +0100Kronic(~Kronic___@84.203.157.119)
2020-12-15 09:51:56 +0100 <kuribas> hmm, selective functors may be the thing for a graphql API...
2020-12-15 09:52:14 +0100 <lortabac> dminuoso: interesting, I had never thought about that
2020-12-15 09:52:59 +0100isovector1_(~isovector@172.103.216.166.cable.tpia.cipherkey.com)
2020-12-15 09:53:06 +0100hiroaki(~hiroaki@2a02:908:4b1b:20a0::77a4)
2020-12-15 09:53:11 +0100 <isovector1_> is there a way to set the history size for :trace when debugging in ghci?
2020-12-15 09:53:17 +0100 <isovector1_> it seems to only keep 50
2020-12-15 09:53:19 +0100 <lortabac> dminuoso: do you have an example of how this would work?
2020-12-15 09:53:30 +0100 <isovector1_> which isn't helpful if you're in a deep list comprehension
2020-12-15 09:54:08 +0100 <dminuoso> lortabac: The same as optparse-applicative, really.
2020-12-15 09:54:21 +0100nineonine(~nineonine@S01061cabc0b095f3.vf.shawcable.net)
2020-12-15 09:55:48 +0100nineonine(~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Remote host closed the connection)
2020-12-15 09:56:36 +0100nineonine(~nineonine@S01061cabc0b095f3.vf.shawcable.net)
2020-12-15 09:58:09 +0100 <dminuoso> Perhaps applicative is enough in fact
2020-12-15 09:58:14 +0100hiroaki(~hiroaki@2a02:908:4b1b:20a0::77a4) (Ping timeout: 264 seconds)
2020-12-15 09:59:01 +0100heatsink(~heatsink@2600:1700:bef1:5e10:8cf6:ea5e:26b8:985d) (Remote host closed the connection)
2020-12-15 09:59:57 +0100 <lortabac> strange that nobody has come up with the idea until now
2020-12-15 10:00:35 +0100 <dminuoso> I mean with selective we could do dynamic route dispatching based on content
2020-12-15 10:00:37 +0100 <dminuoso> something like
2020-12-15 10:00:43 +0100SomeoneSerge(~someone-s@37.120.212.78)
2020-12-15 10:01:12 +0100nineonine(~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Ping timeout: 260 seconds)
2020-12-15 10:01:46 +0100isovector1_(~isovector@172.103.216.166.cable.tpia.cipherkey.com) ("Leaving")
2020-12-15 10:02:01 +0100drbean(~drbean@TC210-63-209-35.static.apol.com.tw) (Ping timeout: 264 seconds)
2020-12-15 10:03:13 +0100heatsink(~heatsink@2600:1700:bef1:5e10:e8cd:c472:5c8e:bedd)
2020-12-15 10:04:21 +0100Gurkenglas(~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 258 seconds)
2020-12-15 10:04:47 +0100 <dminuoso> router = ((get "/users/" *> intParam "userId") <&> getUserAction) <> (get "/users/" *> getUsersAction)
2020-12-15 10:04:50 +0100 <dminuoso> vs
2020-12-15 10:04:52 +0100heatsink_(~heatsink@2600:1700:bef1:5e10:898f:fa7:e29d:81eb)
2020-12-15 10:05:41 +0100 <dminuoso> router = (branch (get "/users/" *> intOrStr "userId") userByIdAction userByNameAction) <> (get "/users/" *> getUsersAction)
2020-12-15 10:06:17 +0100nineonine(~nineonine@S01061cabc0b095f3.vf.shawcable.net)
2020-12-15 10:06:47 +0100 <dminuoso> The idea seems cool, and would address some of the issues scotty has
2020-12-15 10:07:35 +0100 <dminuoso> Statically verify the routes dont overlap, have the type checker assist in correct action types, generate documentation/swagger/router
2020-12-15 10:07:37 +0100heatsink(~heatsink@2600:1700:bef1:5e10:e8cd:c472:5c8e:bedd) (Ping timeout: 260 seconds)
2020-12-15 10:08:05 +0100nineonine(~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Remote host closed the connection)
2020-12-15 10:08:31 +0100heatsink(~heatsink@2600:1700:bef1:5e10:4d77:d169:419d:340a)
2020-12-15 10:08:38 +0100nineonine(~nineonine@S01061cabc0b095f3.vf.shawcable.net)
2020-12-15 10:08:59 +0100monadmatt(~user@119-17-128-101.771180.mel.nbn.aussiebb.net)
2020-12-15 10:09:16 +0100boxscape(54a35b08@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.91.8)
2020-12-15 10:09:45 +0100shatriff(~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection)
2020-12-15 10:09:57 +0100heatsink_(~heatsink@2600:1700:bef1:5e10:898f:fa7:e29d:81eb) (Ping timeout: 260 seconds)
2020-12-15 10:10:02 +0100shatriff(~vitaliish@176-52-216-242.irishtelecom.com)
2020-12-15 10:10:51 +0100shatriff(~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection)
2020-12-15 10:11:24 +0100johnw(~johnw@haskell/developer/johnw)
2020-12-15 10:11:45 +0100creffett|irssi(~creffett|@185.163.110.125)
2020-12-15 10:13:10 +0100nineonine(~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Ping timeout: 265 seconds)
2020-12-15 10:13:12 +0100geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2020-12-15 10:13:27 +0100heatsink(~heatsink@2600:1700:bef1:5e10:4d77:d169:419d:340a) (Ping timeout: 260 seconds)
2020-12-15 10:14:02 +0100dycan(~dycan@2404:0:8232:16a5:c48:9d38:419e:a015) (Ping timeout: 260 seconds)
2020-12-15 10:14:03 +0100da39a3ee5e6b4b0d(~da39a3ee5@mx-ll-171.5.29-209.dynamic.3bb.co.th) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-15 10:15:16 +0100monadmatt(~user@119-17-128-101.771180.mel.nbn.aussiebb.net) (Ping timeout: 240 seconds)
2020-12-15 10:17:04 +0100monadmatt(~user@119-17-128-101.771180.mel.nbn.aussiebb.net)
2020-12-15 10:17:54 +0100jamm(~jamm@unaffiliated/jamm)
2020-12-15 10:17:58 +0100 <Kronic> is there a way to execute stack ghci such that I don't need to reboot it when I install a new dependency?
2020-12-15 10:19:43 +0100boxscape(54a35b08@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.91.8) (Quit: Connection closed)
2020-12-15 10:20:20 +0100m0rphism(~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de)
2020-12-15 10:20:44 +0100_xor(~xor@74.215.46.133) (Read error: Connection reset by peer)
2020-12-15 10:21:03 +0100hnOsmium0001(uid453710@gateway/web/irccloud.com/x-rvftuowotlhsrsqk) (Quit: Connection closed for inactivity)
2020-12-15 10:21:37 +0100_xor(~xor@74.215.46.133)
2020-12-15 10:22:34 +0100 <kuribas> dminuoso: what's selective there?
2020-12-15 10:22:39 +0100 <kuribas> it looks just applicative
2020-12-15 10:23:41 +0100esp32_prog(yoann@gateway/vpn/protonvpn/esp32prog/x-46565127)
2020-12-15 10:23:52 +0100 <dminuoso> kuribas: the `branch` is selective
2020-12-15 10:24:31 +0100 <dminuoso> Ah, the code is a bit weird
2020-12-15 10:24:33 +0100 <dminuoso> Let me fix that
2020-12-15 10:27:20 +0100 <kuribas> dminuoso: how is that different from alternative?
2020-12-15 10:27:30 +0100 <kuribas> I would separate branches with alternative
2020-12-15 10:28:16 +0100 <dminuoso> kuribas: you dont get dynamic choice with alternative.
2020-12-15 10:30:05 +0100verement(~anonymous@cpe-76-167-229-223.san.res.rr.com) (Ping timeout: 240 seconds)
2020-12-15 10:32:42 +0100verement(~anonymous@cpe-76-167-229-223.san.res.rr.com)
2020-12-15 10:33:48 +0100monadmatt(~user@119-17-128-101.771180.mel.nbn.aussiebb.net) (Remote host closed the connection)
2020-12-15 10:34:13 +0100monadmatt(~user@119-17-128-101.771180.mel.nbn.aussiebb.net)
2020-12-15 10:40:00 +0100kuribasneeds to read the paper...
2020-12-15 10:41:25 +0100solonarv(~solonarv@astrasbourg-157-1-27-135.w90-40.abo.wanadoo.fr)
2020-12-15 10:42:00 +0100jedws(~jedws@121.209.189.201) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-15 10:44:57 +0100xff0x(~fox@2001:1a81:52fd:2900:ecae:7bf7:11ec:3725) (Ping timeout: 260 seconds)
2020-12-15 10:45:08 +0100 <guest1214> parseServer :: Parser String; parseServer = string "server="; parse parseServer "not matched" "server=abc"; -- this can detect if the input string contain "server=" or not, how to get the value abc?
2020-12-15 10:45:10 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-15 10:45:22 +0100monadmatt(~user@119-17-128-101.771180.mel.nbn.aussiebb.net) (Ping timeout: 272 seconds)
2020-12-15 10:45:35 +0100xff0x(~fox@2001:1a81:52fd:2900:a752:2bb2:552e:da09)
2020-12-15 10:46:02 +0100hexfive(~hexfive@50-47-142-195.evrt.wa.frontiernet.net) (Quit: i must go. my people need me.)
2020-12-15 10:46:05 +0100 <guest1214> parseServer = {do; string "server="; return}?
2020-12-15 10:48:02 +0100 <guest1214> parseString :: Parser LispVal; parseString = do char '"'; x <- many (noneOf "\""); char '"'; return $ String x -- I saw an example like this, but I don't understand what it means?
2020-12-15 10:48:33 +0100 <guest1214> what "many (noneOf "\"")" is working on?
2020-12-15 10:49:55 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 246 seconds)
2020-12-15 10:50:26 +0100nineonine(~nineonine@S01061cabc0b095f3.vf.shawcable.net)
2020-12-15 10:54:23 +0100 <kuribas> guest1214: that parses all characters upto (not including), a literal double quote.
2020-12-15 10:55:02 +0100 <kuribas> noneOf fails when it sees the given characters, otherwise it succeeds.
2020-12-15 10:55:17 +0100 <kuribas> sees *one of* the given characters I mean
2020-12-15 10:55:39 +0100 <kuribas> remmber thatt "\"" is the same as ['"']
2020-12-15 10:55:50 +0100 <kuribas> a list with a single character.
2020-12-15 10:56:42 +0100 <guest1214> kuribas: but what `many (noneOf "\"")` apply on?
2020-12-15 10:57:23 +0100 <kuribas> guest1214: the input stream I suppose?
2020-12-15 10:57:28 +0100 <kuribas> it's a parser after all
2020-12-15 10:57:43 +0100 <guest1214> kuribas: but there's no a parameter name
2020-12-15 10:58:18 +0100 <kuribas> your question is not clear
2020-12-15 10:58:40 +0100 <kuribas> you mean the input stream as a parameter?
2020-12-15 10:58:57 +0100 <guest1214> kuribas: this first `char '"'` and the last `char '"'` will match double quote symbol in "abc", right?
2020-12-15 10:59:03 +0100 <kuribas> yes
2020-12-15 10:59:03 +0100jespada(~jespada@90.254.245.49) (Quit: Leaving)
2020-12-15 10:59:13 +0100nineonine(~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Ping timeout: 260 seconds)
2020-12-15 10:59:46 +0100 <guest1214> then `many (noneOf "\"")` will apply on abc from "abc", right?
2020-12-15 11:00:40 +0100 <kuribas> yes
2020-12-15 11:01:26 +0100 <guest1214> wait a sec, but "abc" :: String, and `parse parseString "not matched" "abcde"` "abc" is not Parser String, that's ok?
2020-12-15 11:02:30 +0100Rudd0(~Rudd0@185.189.115.98)
2020-12-15 11:02:54 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
2020-12-15 11:02:57 +0100__monty__(~toonn@unaffiliated/toonn)
2020-12-15 11:04:14 +0100 <kuribas> can you rephrase that?
2020-12-15 11:05:09 +0100fendor(~fendor@77.119.131.74.wireless.dyn.drei.com)
2020-12-15 11:05:36 +0100 <guest1214> parse parseString "not matched" "abc=def"
2020-12-15 11:05:47 +0100 <guest1214> this input stream "abc=def" is String
2020-12-15 11:05:57 +0100 <guest1214> parseString :: Parser String
2020-12-15 11:06:40 +0100 <guest1214> parse function make parseString apply on "abc=def" ?
2020-12-15 11:07:54 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 256 seconds)
2020-12-15 11:12:06 +0100monadmatt(~user@119-17-128-101.771180.mel.nbn.aussiebb.net)
2020-12-15 11:14:06 +0100Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
2020-12-15 11:15:16 +0100sQVe(~sQVe@unaffiliated/sqve) (Ping timeout: 256 seconds)
2020-12-15 11:17:19 +0100monadmatt(~user@119-17-128-101.771180.mel.nbn.aussiebb.net) (Ping timeout: 260 seconds)
2020-12-15 11:17:54 +0100ubert(~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233)
2020-12-15 11:18:58 +0100SanchayanMaity(~Sanchayan@136.185.170.22) (Read error: Connection reset by peer)
2020-12-15 11:19:35 +0100SanchayanMaity(~Sanchayan@136.185.170.22)
2020-12-15 11:20:43 +0100mimi_vx(~mimi@2a01:490:16:1026:d961:6e73:8fa:323d)
2020-12-15 11:22:36 +0100darkanthey(~user@host-92-28-133-164.as13285.net)
2020-12-15 11:29:43 +0100 <johnnyboy[m]> anybody here has experience with regex-tdfa?
2020-12-15 11:29:52 +0100sQVe(~sQVe@unaffiliated/sqve)
2020-12-15 11:30:13 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 264 seconds)
2020-12-15 11:31:13 +0100nineonine(~nineonine@S01061cabc0b095f3.vf.shawcable.net)
2020-12-15 11:31:18 +0100 <johnnyboy[m]> I wonder what I'm doing wrong
2020-12-15 11:32:18 +0100ahri(~ahri@178.209.40.84) (Quit: Ping timeout (120 seconds))
2020-12-15 11:32:18 +0100 <johnnyboy[m]> I have a regex made of this string: https://privatebin.net/?8f55cd084f15cd74#6H8ddBJ38nLkxQYTHRmw8F7aNkejTf4EvNHJ4rB9fQr9
2020-12-15 11:32:44 +0100 <johnnyboy[m]> but it fails to match "0:05.66"
2020-12-15 11:33:02 +0100 <johnnyboy[m]> the documentation fails to specify the supported syntax
2020-12-15 11:33:23 +0100 <johnnyboy[m]> so I wrote the expression down in a rather primitive way
2020-12-15 11:33:49 +0100livvy(~livvy@gateway/tor-sasl/livvy)
2020-12-15 11:34:36 +0100 <johnnyboy[m]> wait, I should try grep first
2020-12-15 11:34:45 +0100 <johnnyboy[m]> to see if I made a stupid mistake somewhere
2020-12-15 11:35:25 +0100nineonine(~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Ping timeout: 246 seconds)
2020-12-15 11:36:32 +0100 <johnnyboy[m]> ok, my regex might be messed up
2020-12-15 11:37:02 +0100 <johnnyboy[m]> still, I'd appreciate more comprehensive documentation on supported syntax
2020-12-15 11:37:04 +0100jespada(~jespada@90.254.245.49)
2020-12-15 11:37:40 +0100polyrain(~polyrain@2001:8003:e501:6901:944a:b02d:de39:ddc1)
2020-12-15 11:38:24 +0100 <int-e> johnnyboy[m]: is it the \\ ?
2020-12-15 11:38:34 +0100 <johnnyboy[m]> seems to be
2020-12-15 11:38:50 +0100 <int-e> Because the syntax is \. but when writing it as a Haskell string you need to quote the \ again.
2020-12-15 11:39:18 +0100SanchayanMaity(~Sanchayan@136.185.170.22) (Remote host closed the connection)
2020-12-15 11:39:23 +0100 <johnnyboy[m]> no, wait
2020-12-15 11:39:29 +0100 <johnnyboy[m]> it was the '?'
2020-12-15 11:39:39 +0100 <johnnyboy[m]> the "[0-5]?"
2020-12-15 11:40:05 +0100SanchayanMaity(~Sanchayan@136.185.170.22)
2020-12-15 11:40:10 +0100 <johnnyboy[m]> "[0-9]:[0-5][0-9]\\.[0-9][0-9]" matches fine
2020-12-15 11:40:39 +0100 <int-e> ah
2020-12-15 11:40:51 +0100 <tomsmeding> johnnyboy[m]: the docs state "This regex-tdfa package implements, correctly, POSIX extended regular expressions." -- the relevant posix standard is here: https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html
2020-12-15 11:40:56 +0100 <tomsmeding> in case you're feeling adventurous :p
2020-12-15 11:41:17 +0100 <tomsmeding> but "posix extended regular expressions" is a search term that will also give you simpler explanations
2020-12-15 11:41:26 +0100 <johnnyboy[m]> ah, sorry
2020-12-15 11:41:29 +0100 <johnnyboy[m]> blindness strikes again
2020-12-15 11:41:40 +0100 <tomsmeding> indeed you might need to do \?
2020-12-15 11:41:59 +0100st8less(~st8less@inet-167-224-197-181.isp.ozarksgo.net) (Quit: WeeChat 2.9)
2020-12-15 11:42:10 +0100 <tomsmeding> ... or not, that's only BRE. ERE seems to treat ? specially even without a \
2020-12-15 11:42:43 +0100 <tomsmeding> so test it with grep -E
2020-12-15 11:42:48 +0100aqd(~aqd@87-92-163-238.rev.dnainternet.fi) (Quit: Textual IRC Client: www.textualapp.com)
2020-12-15 11:43:09 +0100 <int-e> "0:00.00" =~ "([0-9]+:[0-5][0-9]:[0-5][0-9]|[0-5]?[0-9]:[0-5][0-9]\\.[0-9][0-9])" :: Bool -- returns True for me.
2020-12-15 11:43:12 +0100int-eis confused.
2020-12-15 11:43:37 +0100 <johnnyboy[m]> grep understands "[0-5]\?[0-9]:[0-5][0-9]\\.[0-9][0-9]"
2020-12-15 11:43:39 +0100 <int-e> (module: Text.Regex.TDFA, package: regex-tdfa-1.3.1.0)
2020-12-15 11:43:46 +0100 <johnnyboy[m]> whoops
2020-12-15 11:44:04 +0100 <johnnyboy[m]> I'm using Revolt, which seems to remove some backslashes
2020-12-15 11:44:44 +0100rprije(~rprije@14-203-203-69.tpgi.com.au) (Ping timeout: 260 seconds)
2020-12-15 11:45:17 +0100xff0x(~fox@2001:1a81:52fd:2900:a752:2bb2:552e:da09) (Ping timeout: 260 seconds)
2020-12-15 11:45:51 +0100xff0x(~fox@2001:1a81:52fd:2900:887b:f1f1:80a5:c706)
2020-12-15 11:45:53 +0100 <int-e> Yeah I still think that quoting (number of backslashes) is the most likely thing to go wrong here.
2020-12-15 11:46:09 +0100 <johnnyboy[m]> okay, thanks
2020-12-15 11:46:18 +0100 <tomsmeding> try simpler expressions first that test each of your individual special characters
2020-12-15 11:46:18 +0100 <johnnyboy[m]> I need to check the backslashes then
2020-12-15 11:46:50 +0100 <tomsmeding> 99.9% of the time, when your regex doesn't work and it's not using zero-width lookahead or lookbehind, the problem is backslashes :p
2020-12-15 11:47:26 +0100 <johnnyboy[m]> int-e: Thanks, your expression works for me, too!
2020-12-15 11:48:34 +0100 <johnnyboy[m]> I wonder what it means that the documentation of regex-tdfa says that 'This package does not provide "basic" regular expressions'
2020-12-15 11:49:52 +0100 <kuribas> guest1214: you're not trying to match against an unquoted string?
2020-12-15 11:50:35 +0100DavidEichmann(~david@62.110.198.146.dyn.plus.net)
2020-12-15 11:51:39 +0100 <tomsmeding> johnnyboy[m]: posix defines "extended regular expressions" (ERE) and "basic regular expressions" (BRE)
2020-12-15 11:51:42 +0100 <tomsmeding> I assume they refer to that
2020-12-15 11:51:58 +0100 <tomsmeding> grep implements BRE, 'grep -E' or egrep implements ERE
2020-12-15 11:52:14 +0100 <johnnyboy[m]> ah
2020-12-15 11:52:24 +0100 <johnnyboy[m]> so does regex-tdfa support ERE, then?
2020-12-15 11:52:32 +0100 <tomsmeding> that's what the docs claim 🤷
2020-12-15 11:53:02 +0100 <johnnyboy[m]> I see
2020-12-15 11:54:13 +0100 <tomsmeding> they additionally claim that most system libraries do _not_ implement ERE even if they claim they do, because they apparently often have bugs that regex-tdfa doesn't
2020-12-15 11:55:59 +0100 <johnnyboy[m]> weird
2020-12-15 11:56:03 +0100 <johnnyboy[m]> it still doesn't seem to work
2020-12-15 11:56:35 +0100 <johnnyboy[m]> by, the way, I'm using matchOnceText
2020-12-15 11:57:44 +0100da39a3ee5e6b4b0d(~da39a3ee5@mx-ll-171.5.29-209.dynamic.3bb.co.th)
2020-12-15 11:58:23 +0100 <tomsmeding> also not for simpler expressions?
2020-12-15 11:58:50 +0100 <tomsmeding> like, "\\.", and "a?", and "a|b", and "a+" :p
2020-12-15 11:58:51 +0100 <johnnyboy[m]> for simpler expressions, it seems to work
2020-12-15 11:59:02 +0100 <tomsmeding> then incrementally grow until you find the part that doesn't work
2020-12-15 11:59:09 +0100 <johnnyboy[m]> I haven't tested extensively, though
2020-12-15 11:59:12 +0100 <tomsmeding> and then shrink on that part again :)
2020-12-15 11:59:21 +0100 <johnnyboy[m]> by simpler expressions, I meant my other expressions
2020-12-15 11:59:27 +0100 <johnnyboy[m]> they seem to work just fine
2020-12-15 11:59:57 +0100 <johnnyboy[m]> incremental approach sounds like the smart thing to do
2020-12-15 12:00:28 +0100geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 265 seconds)
2020-12-15 12:03:54 +0100mirrorbird(~psutcliff@2a00:801:2d6:5a31:e851:a991:dd63:f024) (Quit: Leaving)
2020-12-15 12:04:51 +0100 <johnnyboy[m]> okay, actually it does seem to work now
2020-12-15 12:05:02 +0100 <johnnyboy[m]> so I have something wrong elsewhere in my code
2020-12-15 12:05:04 +0100LKoen(~LKoen@29.248.88.92.rev.sfr.net)
2020-12-15 12:05:07 +0100 <johnnyboy[m]> thanks for the help!
2020-12-15 12:06:02 +0100jonathanx(~jonathan@dyn-8-sc.cdg.chalmers.se) (Ping timeout: 264 seconds)
2020-12-15 12:08:28 +0100esp32_prog(yoann@gateway/vpn/protonvpn/esp32prog/x-46565127) (Ping timeout: 256 seconds)
2020-12-15 12:11:59 +0100 <tomsmeding> good luck!
2020-12-15 12:14:05 +0100daGrevis(~daGrevis@unaffiliated/dagrevis) (Ping timeout: 240 seconds)
2020-12-15 12:15:30 +0100daGrevis(~daGrevis@unaffiliated/dagrevis)
2020-12-15 12:20:33 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh)
2020-12-15 12:21:43 +0100tomboy64(~tomboy64@gateway/tor-sasl/tomboy64) (Ping timeout: 240 seconds)
2020-12-15 12:25:49 +0100oish(~charlie@228.25.169.217.in-addr.arpa)
2020-12-15 12:26:34 +0100 <johnnyboy[m]> actually, it does seem to be a regex issue after all
2020-12-15 12:26:35 +0100ralejs(~ralejs@2620:10d:c093:400::5:9f2) (Read error: Connection reset by peer)
2020-12-15 12:26:37 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-15 12:27:09 +0100oish(~charlie@228.25.169.217.in-addr.arpa) (Client Quit)
2020-12-15 12:27:21 +0100 <johnnyboy[m]> it seems that my regexes are haunted
2020-12-15 12:27:28 +0100 <johnnyboy[m]> they fail to match even "(.)+"
2020-12-15 12:27:32 +0100oish(~charlie@228.25.169.217.in-addr.arpa)
2020-12-15 12:28:59 +0100 <johnnyboy[m]> now I found the error
2020-12-15 12:29:23 +0100 <johnnyboy[m]> I had unescaped parentheses where I wanted to match the characters '(' and ')'
2020-12-15 12:29:25 +0100 <johnnyboy[m]> :D
2020-12-15 12:29:29 +0100 <johnnyboy[m]> such a rookie mistake
2020-12-15 12:29:37 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
2020-12-15 12:30:42 +0100michalz(~user@185.246.204.41)
2020-12-15 12:30:53 +0100oish(~charlie@228.25.169.217.in-addr.arpa) (Client Quit)
2020-12-15 12:31:16 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds)
2020-12-15 12:31:16 +0100oish(~charlie@217.169.25.228)
2020-12-15 12:31:40 +0100ralejs(~ralejs@2620:10d:c093:400::5:e8f8)
2020-12-15 12:33:09 +0100oish(~charlie@217.169.25.228) (Client Quit)
2020-12-15 12:33:31 +0100oish(~charlie@228.25.169.217.in-addr.arpa)
2020-12-15 12:33:45 +0100polyrain(~polyrain@2001:8003:e501:6901:944a:b02d:de39:ddc1) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-15 12:34:48 +0100tomboy64(~tomboy64@gateway/tor-sasl/tomboy64)
2020-12-15 12:36:17 +0100 <johnnyboy[m]> I learned to always check my backslashes in the future
2020-12-15 12:36:34 +0100 <Kronic> Can be helpful to split it up into a few lines rather than having one monster regex
2020-12-15 12:37:02 +0100da39a3ee5e6b4b0d(~da39a3ee5@mx-ll-171.5.29-209.dynamic.3bb.co.th) (Ping timeout: 256 seconds)
2020-12-15 12:37:25 +0100 <johnnyboy[m]> yes
2020-12-15 12:37:58 +0100kritzefitz(~kritzefit@212.86.56.80)
2020-12-15 12:38:48 +0100toorevitimirp(~tooreviti@117.182.180.221)
2020-12-15 12:39:08 +0100 <johnnyboy[m]> it's funny how the line breaks are "\\\\\n" in my latex output
2020-12-15 12:39:29 +0100 <johnnyboy[m]> hm. it looks to me that my client removed two backslashes again
2020-12-15 12:39:34 +0100 <johnnyboy[m]> there should be five of them
2020-12-15 12:45:00 +0100ralejs(~ralejs@2620:10d:c093:400::5:e8f8) (Read error: Connection reset by peer)
2020-12-15 12:45:01 +0100Varis(~Tadas@unaffiliated/varis) (Remote host closed the connection)
2020-12-15 12:45:50 +0100 <arahael> There _are_ five of them.
2020-12-15 12:46:15 +0100Varis(~Tadas@unaffiliated/varis)
2020-12-15 12:46:18 +0100 <arahael> Or rather, only two of them, and a newline. ;)
2020-12-15 12:47:58 +0100Mikagami(~MOSCOS@152.32.70.55)
2020-12-15 12:49:17 +0100ubert1(~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233)
2020-12-15 12:50:01 +0100ubert(~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233) (Ping timeout: 272 seconds)
2020-12-15 12:50:01 +0100ubert1ubert
2020-12-15 12:51:05 +0100MOSCOS(~MOSCOS@122.54.107.175) (Ping timeout: 240 seconds)
2020-12-15 12:51:33 +0100MOSCOS(~MOSCOS@122.54.107.175)
2020-12-15 12:52:07 +0100machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 260 seconds)
2020-12-15 12:53:28 +0100Mikagami(~MOSCOS@152.32.70.55) (Ping timeout: 256 seconds)
2020-12-15 12:54:15 +0100xiinotulp(~q@184.82.192.212)
2020-12-15 12:55:37 +0100jonathanx(~jonathan@dyn-8-sc.cdg.chalmers.se)
2020-12-15 12:55:52 +0100 <tomsmeding> johnnyboy[m]: I think in your matrix client you see the markdown-parsed version, which has backslashes removed; we on irc see the "fallback" plain-text version that has no markdown parsing, and thus no backslash dropping, applied
2020-12-15 12:55:53 +0100Tario(~Tario@201.192.165.173)
2020-12-15 12:56:21 +0100 <johnnyboy[m]> ok
2020-12-15 12:56:53 +0100 <tomsmeding> (try a code block with backticks ` to also display the characters as-is in your matrix client ;) )
2020-12-15 12:57:10 +0100 <johnnyboy[m]> `\\\\\n`
2020-12-15 12:57:12 +0100plutoniix(~q@184.82.204.234) (Ping timeout: 256 seconds)
2020-12-15 12:57:15 +0100 <johnnyboy[m]> oh, cool!
2020-12-15 12:57:33 +0100 <tomsmeding> the more you know :)
2020-12-15 12:59:40 +0100 <johnnyboy[m]> LaTeX support would be awesome :D
2020-12-15 13:00:16 +0100 <johnnyboy[m]> it's always so hard to communicate math formulas through electoric messaging
2020-12-15 13:00:32 +0100 <johnnyboy[m]> but that's off-topic, sorry
2020-12-15 13:01:45 +0100 <[exa]> there are katex and similar plugins for all possible chat systems, usually working with the latex math parens like \(\frac{\pi}{2}\)
2020-12-15 13:03:07 +0100bliminse(~bliminse@host109-158-129-129.range109-158.btcentralplus.com)
2020-12-15 13:04:19 +0100 <johnnyboy[m]> guess I should google katex
2020-12-15 13:04:54 +0100 <cnmne[m]> this might be relevant
2020-12-15 13:04:55 +0100 <cnmne[m]> https://github.com/matrix-org/matrix-react-sdk/pull/5244
2020-12-15 13:07:21 +0100Stanley00(~stanley00@unaffiliated/stanley00) (Remote host closed the connection)
2020-12-15 13:07:36 +0100shatriff(~vitaliish@176-52-216-242.irishtelecom.com)
2020-12-15 13:10:45 +0100 <johnnyboy[m]> ok, thanks!
2020-12-15 13:11:36 +0100Tario(~Tario@201.192.165.173) (Ping timeout: 240 seconds)
2020-12-15 13:12:34 +0100Tario(~Tario@201.192.165.173)
2020-12-15 13:13:06 +0100monadmatt(~user@119-17-128-101.771180.mel.nbn.aussiebb.net)
2020-12-15 13:14:38 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-15 13:17:56 +0100SomeoneSerge(~someone-s@37.120.212.78) (Ping timeout: 240 seconds)
2020-12-15 13:18:00 +0100monadmatt(~user@119-17-128-101.771180.mel.nbn.aussiebb.net) (Ping timeout: 272 seconds)
2020-12-15 13:20:47 +0100jules000(~jules000@ip-195-169-221-246.eduvpn.ru.nl)
2020-12-15 13:20:53 +0100raichoo(~raichoo@213.240.178.58) (Quit: Lost terminal)
2020-12-15 13:25:31 +0100creffett|irssi(~creffett|@185.163.110.125) (Remote host closed the connection)
2020-12-15 13:25:53 +0100hseg(~gesh@IGLD-84-228-238-87.inter.net.il)
2020-12-15 13:31:06 +0100xiinotulp(~q@184.82.192.212) (Quit: Leaving)
2020-12-15 13:31:10 +0100Entertainment(~entertain@104.246.132.210)
2020-12-15 13:40:36 +0100bitmagie(~Thunderbi@200116b80621a300acbfb2509b3ce4e7.dip.versatel-1u1.de) (Quit: bitmagie)
2020-12-15 13:41:14 +0100Codaraxis_(~Codaraxis@91.193.4.10) (Read error: Connection reset by peer)
2020-12-15 13:41:16 +0100ridcully_(~ridcully@pd951f4de.dip0.t-ipconnect.de)
2020-12-15 13:41:26 +0100ridcully(~ridcully@p57b5259e.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
2020-12-15 13:44:17 +0100geekosaur(ac3a8b12@172.58.139.18)
2020-12-15 13:45:02 +0100 <hseg> Am getting stack overflows from a bit of quickcheck. Recommendations?
2020-12-15 13:45:49 +0100 <hseg> Add HasCallStack constraints to all top-level functions in my codebase?
2020-12-15 13:46:18 +0100 <hseg> also, how can i add callstacks to instance functions?
2020-12-15 13:48:22 +0100 <dminuoso> hseg: Compile with profiling, generage cost centres to all top level functions?
2020-12-15 13:49:06 +0100 <dminuoso> And then do a heap profile?
2020-12-15 13:49:13 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Remote host closed the connection)
2020-12-15 13:49:18 +0100 <hseg> remind me how i do that last bit?
2020-12-15 13:50:06 +0100 <dminuoso> https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/runtime_control.html#rts-options-f…
2020-12-15 13:50:43 +0100 <dminuoso> (Also -p is of interest)
2020-12-15 13:50:59 +0100Gurkenglas(~Gurkengla@unaffiliated/gurkenglas)
2020-12-15 13:51:01 +0100 <dminuoso> See also related https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/profiling.html#rts-options-heap-prof
2020-12-15 13:51:16 +0100 <hseg> ty
2020-12-15 13:52:20 +0100heatsink(~heatsink@2600:1700:bef1:5e10:2c47:ef5:a455:237)
2020-12-15 13:53:10 +0100 <hseg> hrm. ok, seems i'll need to package up my test case as an executable to do that
2020-12-15 13:53:15 +0100 <hseg> no problem
2020-12-15 13:53:22 +0100rayyyy(~nanoz@gateway/tor-sasl/nanoz)
2020-12-15 13:55:44 +0100BartK(~BartK@195.140.213.38)
2020-12-15 13:56:52 +0100heatsink(~heatsink@2600:1700:bef1:5e10:2c47:ef5:a455:237) (Ping timeout: 260 seconds)
2020-12-15 13:57:29 +0100jules000(~jules000@ip-195-169-221-246.eduvpn.ru.nl) (Remote host closed the connection)
2020-12-15 13:58:22 +0100jules000(~jules000@ip-195-169-221-246.eduvpn.ru.nl)
2020-12-15 13:58:57 +0100geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2020-12-15 14:00:27 +0100 <hseg> hrm. for some reason i get an empty profile
2020-12-15 14:01:29 +0100 <hseg> i mean, i have profiling: True and profiling-detail: all-functions in my cabal.project, so cabal run sandbox-algebra -- +RTS -p -RTS should give me a profile, right?
2020-12-15 14:02:21 +0100Wuzzy(~Wuzzy@p549c9bc8.dip0.t-ipconnect.de)
2020-12-15 14:02:26 +0100 <geekosaur> --RTS or cabal itself will eat the profiling option (and probably do nothing since it wasn't built for profiling)
2020-12-15 14:02:41 +0100 <geekosaur> in place of the -- that is
2020-12-15 14:02:46 +0100jules000(~jules000@ip-195-169-221-246.eduvpn.ru.nl) (Ping timeout: 246 seconds)
2020-12-15 14:03:15 +0100urodna(~urodna@unaffiliated/urodna)
2020-12-15 14:04:05 +0100 <dminuoso> hseg: It should, yes.
2020-12-15 14:04:40 +0100 <hseg> ok, -h gives me a heap profile, so at least that's something
2020-12-15 14:06:06 +0100mputz(~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de)
2020-12-15 14:07:01 +0100 <hseg> ok, it's the usual culprit. have too little laziness in my multiplication function, which causes the entire combinatorial structure to be forced
2020-12-15 14:07:44 +0100 <hseg> i suppose profiling makes things heavier in heap, right?
2020-12-15 14:07:55 +0100cosimone(~cosimone@93-47-228-249.ip115.fastwebnet.it)
2020-12-15 14:08:08 +0100 <xerox_> why is there a big difference between IOUArray and STUArray?
2020-12-15 14:08:22 +0100 <hseg> which is why my stack overflow is overshadowed by the testcase eating all the memory
2020-12-15 14:08:23 +0100 <xerox_> the same exact algorithm takes 10 times the time with the first one, I had no idea
2020-12-15 14:09:04 +0100mastarija(~mastarija@93-142-81-107.adsl.net.t-com.hr)
2020-12-15 14:09:23 +0100 <merijn> xerox_: The U in STU is for *unboxed*
2020-12-15 14:09:24 +0100carlomagno(~cararell@148.87.23.12) (Ping timeout: 260 seconds)
2020-12-15 14:09:38 +0100 <merijn> Oh, wait, the IO one too
2020-12-15 14:09:47 +0100 <xerox_> yeah!
2020-12-15 14:10:01 +0100 <merijn> xerox_: Time to dive into the Core :p
2020-12-15 14:10:06 +0100 <xerox_> oh boy
2020-12-15 14:10:09 +0100 <int-e> xerox_: I don't think there *should* be a difference
2020-12-15 14:10:24 +0100 <xerox_> int-e: I expected the same really
2020-12-15 14:10:28 +0100 <int-e> so it's interesting if you see one
2020-12-15 14:10:43 +0100 <xerox_> I'll share some code let me tidy it up
2020-12-15 14:11:00 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2020-12-15 14:11:01 +0100notzmv`notzmv
2020-12-15 14:11:22 +0100notzmv(~user@189-46-208-249.dsl.telesp.net.br) (Changing host)
2020-12-15 14:11:22 +0100notzmv(~user@unaffiliated/zmv)
2020-12-15 14:12:04 +0100 <merijn> xerox_: Oh, this is compiled and with -O2, yes?
2020-12-15 14:12:40 +0100 <xerox_> yes
2020-12-15 14:12:41 +0100 <hseg> hrm. any ideas on how to improve http://ix.io/2I9Q's behaviour?
2020-12-15 14:12:41 +0100 <int-e> there's the state hack thing, is that specific for the real world token?
2020-12-15 14:13:33 +0100 <int-e> I don't know, compiling with -fno-state-hack may rule out this idea
2020-12-15 14:13:37 +0100jonathanx(~jonathan@dyn-8-sc.cdg.chalmers.se) (Ping timeout: 246 seconds)
2020-12-15 14:14:18 +0100 <hseg> basically am trying to count up all the different ways two [m] can be joined together
2020-12-15 14:14:46 +0100 <hseg> where i care about which element gets matched up with which, but not about order
2020-12-15 14:14:58 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2020-12-15 14:15:21 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-15 14:15:55 +0100 <Kronic> in megaparsec, what is the correct pattern to use to parse a string up until a particular String?
2020-12-15 14:16:00 +0100 <Kronic> I guess takeWhileP ?
2020-12-15 14:16:16 +0100tomku(~tomku@unaffiliated/tomku) (Ping timeout: 272 seconds)
2020-12-15 14:16:50 +0100 <hseg> (this means i have O(sum_k choose(|n|,k)*choose(|m|,k)) different terms)
2020-12-15 14:17:21 +0100 <merijn> Kronic: manyTill ?
2020-12-15 14:17:33 +0100 <merijn> Kronic: takeWhileP is until a specific character
2020-12-15 14:17:51 +0100 <merijn> Kronic: Note that most relevant combinators are re-exported from parser-combinators
2020-12-15 14:17:58 +0100 <Kronic> ah thank you
2020-12-15 14:18:11 +0100 <xerox_> you know I might have forgotten an 'U' in the IO case, I need to make sure I did use IO*U*Array
2020-12-15 14:18:15 +0100 <xerox_> that would explain it
2020-12-15 14:18:20 +0100 <merijn> xerox_: lol
2020-12-15 14:18:36 +0100 <xerox_> no compassion ):
2020-12-15 14:18:59 +0100 <merijn> so my comment was right, despite being wrong ;)
2020-12-15 14:20:12 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 260 seconds)
2020-12-15 14:20:50 +0100jules000(~jules000@ip-195-169-221-246.eduvpn.ru.nl)
2020-12-15 14:21:42 +0100tomku(~tomku@unaffiliated/tomku)
2020-12-15 14:21:54 +0100xerox_slaps forehead
2020-12-15 14:22:03 +0100 <xerox_> that was exactly it, my bad
2020-12-15 14:22:34 +0100jonathanx(~jonathan@dyn-8-sc.cdg.chalmers.se)
2020-12-15 14:26:30 +0100st8less(~st8less@2603:a060:11fd:0:7178:b32c:37ac:2d45)
2020-12-15 14:29:36 +0100 <hseg> actually, that simplifies to O(binom(n+m,n`min`m))
2020-12-15 14:29:43 +0100rayyyy(~nanoz@gateway/tor-sasl/nanoz) (Ping timeout: 240 seconds)
2020-12-15 14:30:16 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2020-12-15 14:30:39 +0100 <int-e> to err is human...
2020-12-15 14:31:23 +0100 <xerox_> given that my implementations of play and playIO are identical except for the return type it should be possible to write a more general type and the function just once right? https://pastebin.com/raw/vcdkyHSG
2020-12-15 14:31:55 +0100philopsos(~caecilius@gateway/tor-sasl/caecilius)
2020-12-15 14:32:26 +0100 <xerox_> something like MagicalClass m, MagicalArray a => [Int] -> m (a Int Int)
2020-12-15 14:33:11 +0100 <merijn> xerox_: Or...just define a datatype, rather than a class ;)
2020-12-15 14:33:24 +0100raichoo(~raichoo@213.240.178.58)
2020-12-15 14:33:35 +0100 <Kronic> Does megaparsec have an equivalent of anyChar ?
2020-12-15 14:33:36 +0100 <xerox_> that's not a bad idea, so I'd have the 'arr' inside, and the two versions
2020-12-15 14:34:25 +0100da39a3ee5e6b4b0d(~da39a3ee5@2403:6200:8876:cecf:a55b:90cf:1ae1:4d7b)
2020-12-15 14:35:12 +0100 <merijn> I do that to compare "channel types", see: https://github.com/merijn/broadcast-chan/blob/master/broadcast-chan/benchmarks/Channels.hs#L46-L60
2020-12-15 14:35:36 +0100 <xerox_> I guess Monad m => should be enough tho
2020-12-15 14:35:51 +0100 <xerox_> maybe Monad m and MArray a Int Int works
2020-12-15 14:36:11 +0100 <merijn> xerox_: You can capture the Array type existentially
2020-12-15 14:36:52 +0100 <int-e> :t Control.Monad.ST.stToIO
2020-12-15 14:36:54 +0100 <lambdabot> ST RealWorld a -> IO a
2020-12-15 14:36:57 +0100christo(~chris@81.96.113.213)
2020-12-15 14:37:00 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-15 14:37:22 +0100 <int-e> which gets you most of the way, hmm
2020-12-15 14:37:52 +0100 <int-e> :t GHC.IOArray.IOArray
2020-12-15 14:37:53 +0100 <lambdabot> GHC.Arr.STArray RealWorld i e -> GHC.IOArray.IOArray i e
2020-12-15 14:38:23 +0100 <int-e> I guess this part isn't exposed through official means.
2020-12-15 14:38:26 +0100 <xerox_> neat
2020-12-15 14:39:51 +0100jules000_(~jules000@217-62-97-211.cable.dynamic.v4.ziggo.nl)
2020-12-15 14:41:26 +0100 <int-e> :t Control.Monad.ST.Unsafe.unsafeIOToST -- this one exists as well, and is as powerful as unsafePerformIO
2020-12-15 14:41:27 +0100 <lambdabot> IO a -> ST s a
2020-12-15 14:42:05 +0100 <xerox_> makes sense, since you can runSt
2020-12-15 14:43:15 +0100rayyyy(~nanoz@gateway/tor-sasl/nanoz)
2020-12-15 14:43:32 +0100jules000(~jules000@ip-195-169-221-246.eduvpn.ru.nl) (Ping timeout: 260 seconds)
2020-12-15 14:45:36 +0100FreeBirdLjj(~freebirdl@101.87.168.174)
2020-12-15 14:47:08 +0100 <Kronic> ah it is anySingle
2020-12-15 14:47:09 +0100sgibber2018(~arch-gibb@208.85.237.137) (Ping timeout: 256 seconds)
2020-12-15 14:48:28 +0100cross(~cross@spitfire.i.gajendra.net)
2020-12-15 14:48:34 +0100peutri(~peutri@ns317027.ip-94-23-46.eu)
2020-12-15 14:49:58 +0100FreeBirdLjj(~freebirdl@101.87.168.174) (Ping timeout: 256 seconds)
2020-12-15 14:50:01 +0100 <Kronic> Weird tbh, is there any reason for this pattern of renaming things? if anySingle has the same functionality as anyChar why not just have anySingle available as the default then have anyChar as an alias in the Char package? That's what I was expecting but I guess there is a good reason for it...
2020-12-15 14:50:48 +0100LKoen(~LKoen@29.248.88.92.rev.sfr.net) (Remote host closed the connection)
2020-12-15 14:51:05 +0100LKoen(~LKoen@29.248.88.92.rev.sfr.net)
2020-12-15 14:52:01 +0100 <geekosaur> because there are multiple types for which a Stream is composed of Char-s, but also multiple where it isn't?
2020-12-15 14:52:34 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2020-12-15 14:52:41 +0100 <geekosaur> multiple Stream types
2020-12-15 14:52:56 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-15 14:53:15 +0100heatsink(~heatsink@2600:1700:bef1:5e10:2c47:ef5:a455:237)
2020-12-15 14:57:54 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 256 seconds)
2020-12-15 14:58:07 +0100heatsink(~heatsink@2600:1700:bef1:5e10:2c47:ef5:a455:237) (Ping timeout: 260 seconds)
2020-12-15 14:59:54 +0100berberman(~berberman@unaffiliated/berberman) (Ping timeout: 258 seconds)
2020-12-15 14:59:57 +0100berberman_(~berberman@unaffiliated/berberman)
2020-12-15 15:08:22 +0100Stanley00(~stanley00@unaffiliated/stanley00)
2020-12-15 15:09:40 +0100SomeoneSerge(~someone-s@89.187.168.57)
2020-12-15 15:10:16 +0100notzmv`(~user@191.205.10.181)
2020-12-15 15:10:23 +0100mputz(~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Quit: mputz)
2020-12-15 15:11:22 +0100jules000_(~jules000@217-62-97-211.cable.dynamic.v4.ziggo.nl) (Remote host closed the connection)
2020-12-15 15:11:40 +0100jules000(~jules000@217-62-97-211.cable.dynamic.v4.ziggo.nl)
2020-12-15 15:12:42 +0100notzmv(~user@unaffiliated/zmv) (Ping timeout: 256 seconds)
2020-12-15 15:13:14 +0100Stanley00(~stanley00@unaffiliated/stanley00) (Ping timeout: 264 seconds)
2020-12-15 15:13:25 +0100aev_software(~aev@pool-108-5-152-94.nwrknj.fios.verizon.net)
2020-12-15 15:13:47 +0100monadmatt(~user@119-17-128-101.771180.mel.nbn.aussiebb.net)
2020-12-15 15:14:16 +0100aev_software(~aev@pool-108-5-152-94.nwrknj.fios.verizon.net) ()
2020-12-15 15:15:50 +0100nineonine(~nineonine@S01061cabc0b095f3.vf.shawcable.net)
2020-12-15 15:18:23 +0100 <Kronic> I understand, I just thought the name should have been persisted as an alias. I'm new to megaparsec so finding out what anyChar was, where I can find it and so on is a bit of a pain if you use an out of date tutorial
2020-12-15 15:19:09 +0100mastarija(~mastarija@93-142-81-107.adsl.net.t-com.hr) (Quit: Leaving)
2020-12-15 15:20:11 +0100mputz(~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de)
2020-12-15 15:21:07 +0100da39a3ee5e6b4b0d(~da39a3ee5@2403:6200:8876:cecf:a55b:90cf:1ae1:4d7b) (Ping timeout: 260 seconds)
2020-12-15 15:22:20 +0100chang(~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com)
2020-12-15 15:23:12 +0100monadmatt(~user@119-17-128-101.771180.mel.nbn.aussiebb.net) (Ping timeout: 260 seconds)
2020-12-15 15:26:21 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-12-15 15:26:36 +0100jespada(~jespada@90.254.245.49) (Ping timeout: 240 seconds)
2020-12-15 15:27:35 +0100jespada(~jespada@90.254.245.49)
2020-12-15 15:28:19 +0100bitmagie(~Thunderbi@200116b80621a300acbfb2509b3ce4e7.dip.versatel-1u1.de)
2020-12-15 15:29:00 +0100sondr3(~sondr3@cm-84.211.56.132.getinternet.no)
2020-12-15 15:30:31 +0100pavonia(~user@unaffiliated/siracusa) (Quit: Bye!)
2020-12-15 15:31:03 +0100st8less(~st8less@2603:a060:11fd:0:7178:b32c:37ac:2d45) (Ping timeout: 260 seconds)
2020-12-15 15:31:06 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-15 15:31:36 +0100christo(~chris@81.96.113.213)
2020-12-15 15:32:44 +0100st8less(~st8less@inet-167-224-197-181.isp.ozarksgo.net)
2020-12-15 15:35:36 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds)
2020-12-15 15:35:45 +0100christo(~chris@81.96.113.213) (Ping timeout: 240 seconds)
2020-12-15 15:36:56 +0100toorevitimirp(~tooreviti@117.182.180.221) (Remote host closed the connection)
2020-12-15 15:37:54 +0100 <sondr3> I've written a simple Scheme interpreter over the last few weeks and occasionally GADTs have come up and after reading myself up on them I'm curious of the benefits of using them over regular ADTs when you might want to compile the language? From what I've read GADTs are useful to leverage Haskells type system for usage in e.g. interpreters
2020-12-15 15:38:40 +0100darjeeling_(~darjeelin@115.215.43.136) (Ping timeout: 246 seconds)
2020-12-15 15:39:10 +0100geekosaur(ac3a8b12@172.58.139.18) (Remote host closed the connection)
2020-12-15 15:39:15 +0100 <sondr3> I've been wanting to try to "compile" it to WebAssembly for example
2020-12-15 15:43:26 +0100 <lortabac> sondr3: a typical example is a GADT that represents the terms of a simply-typed lambda calculus in such a way that only well-typed terms can be constructed
2020-12-15 15:43:38 +0100Kronic_(~Kronic___@84.203.157.119)
2020-12-15 15:44:10 +0100 <merijn> Of course that only works if you have dependent types or write your AST directly using GADTs
2020-12-15 15:44:18 +0100 <merijn> Because *parsing* GADTs is a PITA :p
2020-12-15 15:44:45 +0100 <lortabac> yes, you need singletons, which is not the most ergonomic thing in the world :)
2020-12-15 15:45:09 +0100christo(~chris@81.96.113.213)
2020-12-15 15:47:01 +0100Kronic(~Kronic___@84.203.157.119) (Ping timeout: 264 seconds)
2020-12-15 15:47:23 +0100 <lortabac> merijn: you can also parse the language and write the GADT source code to a file :P
2020-12-15 15:47:34 +0100 <merijn> Also, note that the ability to represent ill-typed ASTs can be a feature too :)
2020-12-15 15:47:57 +0100boxscape(54a35b08@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.91.8)
2020-12-15 15:48:01 +0100 <lortabac> sondr3: in the case of Scheme, I don't think this technique makes much sense
2020-12-15 15:48:19 +0100mud(~mud@unaffiliated/kadoban) (Remote host closed the connection)
2020-12-15 15:48:49 +0100mud(~mud@unaffiliated/kadoban)
2020-12-15 15:48:57 +0100Sgeo(~Sgeo@ool-18b98aa4.dyn.optonline.net)
2020-12-15 15:49:21 +0100shekhar(2a6f1557@42.111.21.87)
2020-12-15 15:49:41 +0100 <sondr3> Yeah, I'll just stick with what I have, thanks :)
2020-12-15 15:51:47 +0100berberman_(~berberman@unaffiliated/berberman) (Ping timeout: 260 seconds)
2020-12-15 15:51:47 +0100fresheyeball(~isaac@c-71-237-105-37.hsd1.co.comcast.net) (Read error: Connection reset by peer)
2020-12-15 15:52:05 +0100darjeeling_(~darjeelin@122.245.217.210)
2020-12-15 15:52:25 +0100berberman(~berberman@unaffiliated/berberman)
2020-12-15 15:53:02 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-15 15:54:02 +0100heatsink(~heatsink@2600:1700:bef1:5e10:2c47:ef5:a455:237)
2020-12-15 15:54:31 +0100bitmagie(~Thunderbi@200116b80621a300acbfb2509b3ce4e7.dip.versatel-1u1.de) (Quit: bitmagie)
2020-12-15 15:54:46 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Client Quit)
2020-12-15 15:55:09 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-15 15:58:47 +0100heatsink(~heatsink@2600:1700:bef1:5e10:2c47:ef5:a455:237) (Ping timeout: 260 seconds)
2020-12-15 15:59:27 +0100shekhar(2a6f1557@42.111.21.87) (Remote host closed the connection)
2020-12-15 15:59:41 +0100fendor(~fendor@77.119.131.74.wireless.dyn.drei.com) (Remote host closed the connection)
2020-12-15 15:59:53 +0100 <__monty__> Is there a way to have a vector grow upon insert if the index would go out of bounds?
2020-12-15 16:00:47 +0100sQVe(~sQVe@unaffiliated/sqve) (Quit: Bye!)
2020-12-15 16:02:16 +0100 <dolio> There might be a package that implements that on top of vector, but I don't know of one, and it isn't how the popular vector packages work.
2020-12-15 16:04:37 +0100jules000(~jules000@217-62-97-211.cable.dynamic.v4.ziggo.nl) (Remote host closed the connection)
2020-12-15 16:05:35 +0100jules000(~jules000@217-62-97-211.cable.dynamic.v4.ziggo.nl)
2020-12-15 16:06:56 +0100polyphem(~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889)
2020-12-15 16:10:16 +0100jules000(~jules000@217-62-97-211.cable.dynamic.v4.ziggo.nl) (Ping timeout: 272 seconds)
2020-12-15 16:10:17 +0100 <ephemient> I did build something like that on top of Array (not Vector) a while back. not too hard, probably easier for Vector where you can only grow in one direction
2020-12-15 16:11:19 +0100 <dolio> Maybe just primitive is a better base, because you don't need quite a lot of stuff in vector.
2020-12-15 16:12:37 +0100geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 246 seconds)
2020-12-15 16:13:21 +0100jamm(~jamm@unaffiliated/jamm) (Remote host closed the connection)
2020-12-15 16:14:36 +0100jamm(~jamm@unaffiliated/jamm)
2020-12-15 16:16:01 +0100rayyyy(~nanoz@gateway/tor-sasl/nanoz) (Remote host closed the connection)
2020-12-15 16:16:17 +0100jules000(~jules000@217-62-97-211.cable.dynamic.v4.ziggo.nl)
2020-12-15 16:16:31 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Read error: Connection reset by peer)
2020-12-15 16:16:39 +0100rayyyy(~nanoz@gateway/tor-sasl/nanoz)
2020-12-15 16:17:08 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
2020-12-15 16:17:17 +0100da39a3ee5e6b4b0d(~da39a3ee5@2403:6200:8876:cecf:a55b:90cf:1ae1:4d7b)
2020-12-15 16:19:01 +0100Kronic_Kronic
2020-12-15 16:19:04 +0100olligobber(~olligobbe@unaffiliated/olligobber) (Remote host closed the connection)
2020-12-15 16:19:05 +0100nineonine(~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Ping timeout: 240 seconds)
2020-12-15 16:19:12 +0100jamm(~jamm@unaffiliated/jamm) (Ping timeout: 260 seconds)
2020-12-15 16:20:13 +0100Franciman(~francesco@host-82-54-12-32.retail.telecomitalia.it) (Quit: Leaving)
2020-12-15 16:22:59 +0100pounce(~pounce@ns379743.ip-5-196-70.eu) (Ping timeout: 260 seconds)
2020-12-15 16:26:37 +0100chang(~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-15 16:26:44 +0100jonathanx(~jonathan@dyn-8-sc.cdg.chalmers.se) (Remote host closed the connection)
2020-12-15 16:27:36 +0100jules000(~jules000@217-62-97-211.cable.dynamic.v4.ziggo.nl) (Remote host closed the connection)
2020-12-15 16:28:01 +0100hseg(~gesh@IGLD-84-228-238-87.inter.net.il) (Ping timeout: 246 seconds)
2020-12-15 16:28:02 +0100jonathanx(~jonathan@dyn-8-sc.cdg.chalmers.se)
2020-12-15 16:29:28 +0100chang(~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com)
2020-12-15 16:32:35 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net)
2020-12-15 16:33:47 +0100cfricke(~cfricke@unaffiliated/cfricke) (Ping timeout: 260 seconds)
2020-12-15 16:34:58 +0100mputz(~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Ping timeout: 272 seconds)
2020-12-15 16:37:25 +0100DTZUZU(~DTZUZU@205.ip-149-56-132.net) (Ping timeout: 265 seconds)
2020-12-15 16:37:44 +0100SanchayanMaity_(sid478177@gateway/web/irccloud.com/x-gmsaydqqxiwaogmm)
2020-12-15 16:42:29 +0100SanchayanMaity(~Sanchayan@136.185.170.22) (Quit: SanchayanMaity)
2020-12-15 16:42:29 +0100SanchayanMaity_SanchayanMaity
2020-12-15 16:43:07 +0100wpcarro_(sid397589@gateway/web/irccloud.com/x-aweknydjzbeukkit) (Ping timeout: 260 seconds)
2020-12-15 16:43:42 +0100AndreasK(uid320732@gateway/web/irccloud.com/x-jsmyjulmopxjbqpc) (Ping timeout: 260 seconds)
2020-12-15 16:43:42 +0100benwr____(sid372383@gateway/web/irccloud.com/x-yhpqlbemzbtsvkdw) (Ping timeout: 260 seconds)
2020-12-15 16:43:42 +0100lally(sid388228@gateway/web/irccloud.com/x-udblkappiwdfbwqx) (Ping timeout: 260 seconds)
2020-12-15 16:44:02 +0100wpcarro_(sid397589@gateway/web/irccloud.com/x-ftehwxrmwpnsjcjv)
2020-12-15 16:45:13 +0100AndreasK(uid320732@gateway/web/irccloud.com/x-auivhtzomgrjbpeg)
2020-12-15 16:45:42 +0100DTZUZU(~DTZUZU@205.ip-149-56-132.net)
2020-12-15 16:46:15 +0100benwr____(sid372383@gateway/web/irccloud.com/x-iqkpxequimehwenq)
2020-12-15 16:46:18 +0100lally(sid388228@gateway/web/irccloud.com/x-qptpvlldxpkwwzmr)
2020-12-15 16:46:53 +0100jules000(~jules000@217-62-97-211.cable.dynamic.v4.ziggo.nl)
2020-12-15 16:46:55 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2020-12-15 16:47:19 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-15 16:48:37 +0100jules000(~jules000@217-62-97-211.cable.dynamic.v4.ziggo.nl) (Remote host closed the connection)
2020-12-15 16:48:45 +0100jonathanx(~jonathan@dyn-8-sc.cdg.chalmers.se) (Remote host closed the connection)
2020-12-15 16:50:13 +0100fuzzypixelz(~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net)
2020-12-15 16:51:43 +0100nineonine(~nineonine@S01061cabc0b095f3.vf.shawcable.net)
2020-12-15 16:51:55 +0100slack1256(~slack1256@45.4.2.119)
2020-12-15 16:52:59 +0100 <fuzzypixelz> hello. I was told that in Haskell function application is prioritized, for this reason I don't know why `square addOne 0 + 2` fails and I have to do `square (addOne 0) + 2`.
2020-12-15 16:53:31 +0100 <fuzzypixelz> oops, I see it, whitin a split second of sending that haha
2020-12-15 16:54:04 +0100jules000(~jules000@217-62-97-211.cable.dynamic.v4.ziggo.nl)
2020-12-15 16:54:18 +0100 <fuzzypixelz> I think the compiler wouldn't know if it should pass addOne as an argument or pass it the value 0
2020-12-15 16:54:24 +0100 <fuzzypixelz> anyway, silly me
2020-12-15 16:54:44 +0100heatsink(~heatsink@2600:1700:bef1:5e10:2c47:ef5:a455:237)
2020-12-15 16:55:57 +0100 <lortabac> fuzzypixelz: 'square addOne 0' means "apply the function 'square' to the arguments 'addOne' and '0'"
2020-12-15 16:56:32 +0100nineonine(~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Ping timeout: 260 seconds)
2020-12-15 16:58:14 +0100hiroaki(~hiroaki@ip4d16fa3b.dynamic.kabel-deutschland.de)
2020-12-15 16:58:17 +0100 <slack1256> On `cabal v2-repl` can I pass values to be replaces CPP phase? if so, how?
2020-12-15 16:58:26 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
2020-12-15 16:58:44 +0100darkanthey(~user@host-92-28-133-164.as13285.net) ("Killed buffer")
2020-12-15 16:58:57 +0100 <slack1256> *on the CPP
2020-12-15 16:59:00 +0100gremax(znc@torba.club) ("WeeChat 2.9")
2020-12-15 16:59:27 +0100heatsink(~heatsink@2600:1700:bef1:5e10:2c47:ef5:a455:237) (Ping timeout: 260 seconds)
2020-12-15 16:59:51 +0100softwarm(4408f588@ip68-8-245-136.sd.sd.cox.net)
2020-12-15 17:00:14 +0100justsomeguy(~justsomeg@2603:9000:960a:fc00:c4d2:5b73:c7b7:3a2b)
2020-12-15 17:00:14 +0100justsomeguy(~justsomeg@2603:9000:960a:fc00:c4d2:5b73:c7b7:3a2b) (Changing host)
2020-12-15 17:00:14 +0100justsomeguy(~justsomeg@unaffiliated/--/x-3805311)
2020-12-15 17:00:22 +0100conal(~conal@64.71.133.70)
2020-12-15 17:01:16 +0100fendor(~fendor@77.119.131.74.wireless.dyn.drei.com)
2020-12-15 17:01:37 +0100carlomagno(~cararell@148.87.23.5)
2020-12-15 17:01:39 +0100conal(~conal@64.71.133.70) (Client Quit)
2020-12-15 17:02:12 +0100carlomagno(~cararell@148.87.23.5) (Remote host closed the connection)
2020-12-15 17:02:52 +0100 <fuzzypixelz> Are Non-exhaustive function patterns run-time exceptions?
2020-12-15 17:03:12 +0100Rudd0(~Rudd0@185.189.115.98) (Ping timeout: 256 seconds)
2020-12-15 17:04:56 +0100 <gehmehgeh> fuzzypixelz: why don't you try yourself? ;)
2020-12-15 17:05:47 +0100carlomagno(~cararell@148.87.23.10)
2020-12-15 17:06:53 +0100jules000(~jules000@217-62-97-211.cable.dynamic.v4.ziggo.nl) (Remote host closed the connection)
2020-12-15 17:07:28 +0100jules000(~jules000@217-62-97-211.cable.dynamic.v4.ziggo.nl)
2020-12-15 17:07:44 +0100Neuromancer(~Neuromanc@unaffiliated/neuromancer) (Quit: Going offline, see ya! (www.adiirc.com))
2020-12-15 17:08:08 +0100Neuromancer(~Neuromanc@unaffiliated/neuromancer)
2020-12-15 17:08:25 +0100Rudd0(~Rudd0@185.189.115.98)
2020-12-15 17:09:08 +0100 <fuzzypixelz> gehmehgeh: yes I tried and couldn't believe it, something so silly as forgeting a catch-all condition could crash my program! haha
2020-12-15 17:11:10 +0100 <merijn> fuzzypixelz: Enable -Wall ;)
2020-12-15 17:11:19 +0100 <merijn> Then the compiler will yell at you :p
2020-12-15 17:11:40 +0100da39a3ee5e6b4b0d(~da39a3ee5@2403:6200:8876:cecf:a55b:90cf:1ae1:4d7b) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-15 17:11:55 +0100 <fuzzypixelz> oh that's nice
2020-12-15 17:12:17 +0100jules000(~jules000@217-62-97-211.cable.dynamic.v4.ziggo.nl) (Ping timeout: 260 seconds)
2020-12-15 17:12:36 +0100danso(~dan@69-165-210-185.cable.teksavvy.com)
2020-12-15 17:13:30 +0100 <merijn> fuzzypixelz: I recommend defaulting to -Wall on and selectively disabling warnings if/when you decide they aren't useful
2020-12-15 17:13:34 +0100 <fuzzypixelz> I sincerely apologize to the Glorious Haskell Compiler for being so blasphemous
2020-12-15 17:14:50 +0100rayyyy(~nanoz@gateway/tor-sasl/nanoz) (Quit: Leaving)
2020-12-15 17:15:56 +0100 <fuzzypixelz> merijn: I'll keep that in mind
2020-12-15 17:17:31 +0100 <fuzzypixelz> Since IO is so complicated and my reading speed can't carry me to the respective chapter yet, I shall allow myself to use the `error` function to get the output a the end of my programs, for now.
2020-12-15 17:18:32 +0100bitmapper(uid464869@gateway/web/irccloud.com/x-rkpypfhwqclqvqju)
2020-12-15 17:18:51 +0100monadmatt(~user@119-17-128-101.771180.mel.nbn.aussiebb.net)
2020-12-15 17:21:15 +0100verement(~anonymous@cpe-76-167-229-223.san.res.rr.com) (Quit: verement)
2020-12-15 17:21:23 +0100Ariakenom(~Ariakenom@h-98-128-229-53.NA.cust.bahnhof.se)
2020-12-15 17:22:11 +0100sirslapuson(~dom@unaffiliated/sirslapuson)
2020-12-15 17:23:33 +0100pengjiz(~user@2601:547:901:fab0:4223:43ff:febc:71e1)
2020-12-15 17:23:40 +0100monadmatt(~user@119-17-128-101.771180.mel.nbn.aussiebb.net) (Ping timeout: 246 seconds)
2020-12-15 17:23:57 +0100hnOsmium0001(uid453710@gateway/web/irccloud.com/x-pdlgiucbwprtfcne)
2020-12-15 17:25:46 +0100 <__monty__> Don't be afraid of IO.
2020-12-15 17:27:14 +0100knupfer(~Thunderbi@200116b82c872a00b0c611fffeb43e0f.dip.versatel-1u1.de)
2020-12-15 17:27:17 +0100 <justsomeguy> Which book are you reading, fuzzypixelz?
2020-12-15 17:27:33 +0100hekkaidekapus(~tchouri@gateway/tor-sasl/hekkaidekapus)
2020-12-15 17:27:59 +0100knupfer(~Thunderbi@200116b82c872a00b0c611fffeb43e0f.dip.versatel-1u1.de) (Remote host closed the connection)
2020-12-15 17:28:07 +0100knupfer(~Thunderbi@200116b82c872a00805f74f2dadcf329.dip.versatel-1u1.de)
2020-12-15 17:29:15 +0100jules000(~jules000@217-62-97-211.cable.dynamic.v4.ziggo.nl)
2020-12-15 17:29:33 +0100 <fuzzypixelz> justsomeguy: learn you a haskell for good
2020-12-15 17:29:43 +0100hekkaidekapus](~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 240 seconds)
2020-12-15 17:30:28 +0100verement(~anonymous@cpe-76-167-229-223.san.res.rr.com)
2020-12-15 17:31:06 +0100conal(~conal@64.71.133.70)
2020-12-15 17:31:36 +0100vfaronov(~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru)
2020-12-15 17:32:28 +0100 <tomsmeding> fuzzypixelz: if you want some quick-and-dirty way to add some input and output to your program, you can use 'interact': https://hackage.haskell.org/package/base-4.14.0.0/docs/Prelude.html#v:interact
2020-12-15 17:32:45 +0100 <tomsmeding> it's mostly only useful if you first read a bunch, then write a bunch, and then are done
2020-12-15 17:33:01 +0100conal(~conal@64.71.133.70) (Client Quit)
2020-12-15 17:33:03 +0100 <sm[m]> @where HTAC is another good one; IO doesn't have to be too complicated
2020-12-15 17:33:03 +0100 <lambdabot> "Haskell Tutorial and Cookbook" by Mark Watson in 2017-09-04 at <https://leanpub.com/haskell-cookbook>
2020-12-15 17:33:29 +0100 <tomsmeding> but it allows you to write 'main :: IO () ; main = interact myPureFunction', where myPureFunction has type 'String -> String' and does not involve any IO at all
2020-12-15 17:36:04 +0100acarrico(~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 256 seconds)
2020-12-15 17:40:12 +0100verement(~anonymous@cpe-76-167-229-223.san.res.rr.com) (Quit: verement)
2020-12-15 17:44:45 +0100conal(~conal@64.71.133.70)
2020-12-15 17:47:42 +0100heatsink(~heatsink@2600:1700:bef1:5e10:2c47:ef5:a455:237)
2020-12-15 17:47:46 +0100 <merijn> fuzzypixelz: Note that LYAH is widely considered "not great" in terms of education
2020-12-15 17:49:47 +0100 <justsomeguy> Why is that, merijn?
2020-12-15 17:50:32 +0100 <merijn> justsomeguy: The order in which it introduces things is a bit random, it doesn't explain everything in sufficient details, has no exercises, and generally leaves people unprepared to actually write code
2020-12-15 17:51:16 +0100 <justsomeguy> Hmm... I've only skimmed through it. In contrast to HPFP, I find the brevity attractive, though.
2020-12-15 17:51:26 +0100 <merijn> LYAH has a good representation because when it came out it was one of the only free and accessible texts on Haskell, but history has mostly obsoleted it as teaching tool
2020-12-15 17:51:32 +0100notzmv`notzmv
2020-12-15 17:51:38 +0100 <merijn> justsomeguy: HPFP is on the other side of brevity, yes :p
2020-12-15 17:51:52 +0100notzmv(~user@191.205.10.181) (Changing host)
2020-12-15 17:51:52 +0100notzmv(~user@unaffiliated/zmv)
2020-12-15 17:51:58 +0100 <justsomeguy> Having tons of examples seems to be essential, I think.
2020-12-15 17:52:30 +0100justsomeguyhas only partly read through a few books on haskell, but he thinks he likes Get Programming With Haskell by Will Kurt the most.
2020-12-15 17:52:31 +0100 <merijn> But there are other books which are widely regarded better than LYAH, such a Richard Bird's "Thinking Functionally With Haskell" or Graham Hutton's "Programming in Haskell"
2020-12-15 17:53:50 +0100 <justsomeguy> I'm going to have to read Huttons book sometime, it looks really well articulated.
2020-12-15 17:54:13 +0100justsomeguyappreciates good editing and narrative structure, a lot.
2020-12-15 17:54:33 +0100 <sm[m]> justsomeguy++
2020-12-15 17:54:47 +0100 <merijn> justsomeguy: LYAH is great as an appetizer of "look at these neat things!", but not for actually *understanding* those neat things :p
2020-12-15 17:54:56 +0100 <sm[m]> I think HTAC has that too. Here's HTAC's IO intro: https://leanpub.com/haskell-cookbook/read#leanpub-auto-hello-io--monad
2020-12-15 17:55:33 +0100 <sm[m]> (in which I just learned why they are called Monads)
2020-12-15 17:55:50 +0100conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-12-15 17:56:08 +0100chris8142(~chris8142@srvnet-01-071.ikbnet.co.at)
2020-12-15 17:56:52 +0100conal(~conal@64.71.133.70)
2020-12-15 17:57:58 +0100quantumvatican(~private@lfbn-idf2-1-504-211.w86-246.abo.wanadoo.fr)
2020-12-15 17:59:58 +0100verement(~anonymous@cpe-76-167-229-223.san.res.rr.com)
2020-12-15 18:00:12 +0100 <justsomeguy> “Every IO () action returns exactly one value. Think of the word “mono” (or “one”) when you think of Monads because they always return one value.”
2020-12-15 18:00:16 +0100 <justsomeguy> Neat :^)
2020-12-15 18:01:20 +0100 <quantumvatican> Hello, I would like help with advent of code #15. My program crashes (killed by the shell) on part 2 and don't understand why. I am iterating a function f : Foo -> Foo where Foo contains a strict IntMap from numbers to their last position (so not storing the whole list). Foo also contains the current turn and my main call is "until (current turn is the target) f input".
2020-12-15 18:01:31 +0100hseg(~gesh@IGLD-84-228-238-87.inter.net.il)
2020-12-15 18:01:32 +0100 <quantumvatican> Am I missing something?
2020-12-15 18:01:47 +0100 <dolio> That explanation sounds wrong.
2020-12-15 18:01:54 +0100 <justsomeguy> Can you link to your source code?
2020-12-15 18:01:55 +0100geekosaur(42d52137@66.213.33.55)
2020-12-15 18:01:55 +0100 <koz_> quantumvatican: Could you please pastebin your code?
2020-12-15 18:01:58 +0100 <koz_> Ninjas...
2020-12-15 18:02:27 +0100 <quantumvatican> Could you tell me what you think is wrong?
2020-12-15 18:02:27 +0100 <dolio> The 'mon' in monad coms from monoid, and has nothing to do with 'returning one value'.
2020-12-15 18:03:50 +0100 <boxscape> where does the -ad come from?
2020-12-15 18:04:37 +0100 <geekosaur> @quote triad
2020-12-15 18:04:37 +0100 <lambdabot> geekosaur says: so fwiw it looks like [Mac Lane] introduced it in _Categories for the Working Mathematician_, and his terminology note doesn't explain why he picked "monad", but perhaps can be
2020-12-15 18:04:38 +0100 <lambdabot> understood to imply a sort of cross between "monoid" and "triad". (p.138 at http://www.maths.ed.ac.uk/~aar/papers/maclanecat.pdf)
2020-12-15 18:04:40 +0100 <dolio> Triad.
2020-12-15 18:04:53 +0100 <boxscape> hm, I see
2020-12-15 18:05:15 +0100 <boxscape> I suppose the word Monad also already existed in other fields when he started using it
2020-12-15 18:05:16 +0100 <boxscape> 
2020-12-15 18:05:20 +0100 <dolio> One of the names before monad was "(Kleisli) triple".
2020-12-15 18:05:24 +0100 <quantumvatican> @koz_ here is my code, thank you for your help https://framabin.org/p/?28fc06ad9cd05caf#n2HvY17DG4mRGbd4Zio9UoT169hX5P2wCoXuauBz9KY=
2020-12-15 18:05:24 +0100 <lambdabot> Unknown command, try @list
2020-12-15 18:05:44 +0100 <geekosaur> there's an overview of the existing terminology on the referenced page, iirc
2020-12-15 18:05:57 +0100 <dolio> Yeah, it might also be a pun, since apparently some category folks liked that.
2020-12-15 18:06:32 +0100 <dolio> Kind of a nonsense pun, since it has nothing to do with Leibniz's monads.
2020-12-15 18:09:17 +0100 <dolio> I've heard that one of the big names in categoy theory liked to repurpose philosophy terms into math terms, I guess regardless of whether there's even a tenuous connection between them. :)
2020-12-15 18:09:26 +0100 <koz_> quantumvatican: What exactly is the message that you get when your program crashes?
2020-12-15 18:09:44 +0100 <geekosaur> proably "Killed" given what they said earlier
2020-12-15 18:09:53 +0100 <geekosaur> i.e. the OOM catcher got it
2020-12-15 18:10:14 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-12-15 18:10:44 +0100 <boxscape> quantumvatican can you try making your datatype strict, i.e. adding ! in front of (IntMap Position), Int, and Turn?
2020-12-15 18:11:15 +0100 <koz_> Also, did you import the strict IntMap?
2020-12-15 18:14:27 +0100jules000(~jules000@217-62-97-211.cable.dynamic.v4.ziggo.nl) (Remote host closed the connection)
2020-12-15 18:14:54 +0100jules000(~jules000@ip-195-169-216-4.eduvpn.ru.nl)
2020-12-15 18:16:52 +0100 <dminuoso> Mmm, so we can do bang annotations in the definition of a function, but why not at the call site?
2020-12-15 18:16:59 +0100mjrosenb(~mrosenbe@nyc.schrodinger.com)
2020-12-15 18:17:14 +0100 <boxscape> instead of seq?
2020-12-15 18:17:20 +0100 <dminuoso> Well, in terms of seq.
2020-12-15 18:17:31 +0100 <boxscape> right
2020-12-15 18:17:55 +0100 <dminuoso> seq is ergonomically a wart, BangPatterns feel much more natural :)
2020-12-15 18:18:07 +0100 <geekosaur> there's $!
2020-12-15 18:18:32 +0100 <glguy> dminuoso: I think it just feels different
2020-12-15 18:19:13 +0100 <dminuoso> geekosaur: Ohh nice, yeah I guess we dont need syntax if we can just supply it via a haskell world operator.
2020-12-15 18:20:26 +0100sdrodge(~sdrodge@unaffiliated/sdrodge) (Ping timeout: 256 seconds)
2020-12-15 18:20:34 +0100sdrodge_(~sdrodge@unaffiliated/sdrodge)
2020-12-15 18:21:00 +0100 <mjrosenb> I did today's AoC problem in haskell and python, I suppose I shouldn't be surprised that the solution in python is 3x the speed of the haskell one.
2020-12-15 18:21:13 +0100 <glguy> what speeds did you get?
2020-12-15 18:21:31 +0100 <boxscape> python is interpreted and haskell is compiled, so some surprise is warranted
2020-12-15 18:21:35 +0100 <mjrosenb> ~18 seconds in python, ~45 seconds in haskell
2020-12-15 18:21:47 +0100 <glguy> mjrosenb: the haskell solution should run in under a second
2020-12-15 18:21:55 +0100 <mjrosenb> the problem is more or less 30,000,000 hash lookups and insertions.
2020-12-15 18:22:09 +0100 <dolio> Seems like whether you should be surprised depends on how good you are at writing things in each language. :)
2020-12-15 18:22:16 +0100 <boxscape> I have 40 seconds in haskell and 650ms in C, but it's because I used a mutable array in C and an immutable IntMap in haskell
2020-12-15 18:22:37 +0100 <glguy> the C time is reflective of a Haskell solution using a mutable array
2020-12-15 18:22:44 +0100 <boxscape> makes sense
2020-12-15 18:23:15 +0100vfaronov(~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) (Quit: vfaronov)
2020-12-15 18:23:28 +0100 <mjrosenb> I'm /way/ more comfortable with haskell than python, but I haven't spent that much time attempting to optimize beyond overall complexity.
2020-12-15 18:23:29 +0100vfaronov(~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru)
2020-12-15 18:25:25 +0100quarters(~quarters@104-0-129-162.lightspeed.irvnca.sbcglobal.net)
2020-12-15 18:26:44 +0100 <Kronic> Perhaps post both solutions
2020-12-15 18:27:27 +0100 <mjrosenb> one min...
2020-12-15 18:27:45 +0100vfaronov(~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) (Client Quit)
2020-12-15 18:28:03 +0100vfaronov(~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru)
2020-12-15 18:28:07 +0100 <mjrosenb> haskell: https://gist.github.com/mjrosenb/11552f705f504ed772187b90462c0ebd
2020-12-15 18:29:33 +0100 <mjrosenb> python: https://gist.github.com/mjrosenb/f8dc6d29162dca25e59d2a0226cc7767
2020-12-15 18:32:20 +0100 <mjrosenb> the haskell one is the one that I actually used, ergo, it takes the problem input from stdin, the python one was just me seeing if python was faster due to constant time lookups, and therefore has the input hardcoded.
2020-12-15 18:33:13 +0100 <Kronic> I'll be the first to say that I am an expert in neither language, I'm pretty new to Haskell, but to me it looks like they are two completely different approaches
2020-12-15 18:33:15 +0100vfaronov(~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) (Quit: vfaronov)
2020-12-15 18:33:20 +0100vicfred(~vicfred@unaffiliated/vicfred)
2020-12-15 18:33:29 +0100vfaronov(~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru)
2020-12-15 18:34:49 +0100 <geekosaur> well, yes, it's not uncommon that you want a different approach in Haskell
2020-12-15 18:34:56 +0100fuzzypixelz(~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Quit: fuzzypixelz)
2020-12-15 18:34:57 +0100chris8142(~chris8142@srvnet-01-071.ikbnet.co.at) (Quit: WeeChat 3.0)
2020-12-15 18:35:10 +0100m4lvin(~m4lvin@w4eg.de)
2020-12-15 18:35:29 +0100 <Kronic> Sure, but these aren't even trying to be roughly equivalent so how could they be comparable?
2020-12-15 18:35:49 +0100 <mjrosenb> I think they're pretty similar, have a map from each value to the last index that that value was seen at.
2020-12-15 18:36:24 +0100 <mjrosenb> at each step, check what the index that the previous number was last seen at
2020-12-15 18:36:37 +0100 <mjrosenb> generate a new number, and insert the previous one into the map.
2020-12-15 18:37:45 +0100vfaronov(~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) (Client Quit)
2020-12-15 18:37:54 +0100 <mjrosenb> in the haskell version, I added some extra functions and wrapped the state into a datatype, but those should be superficial differences.
2020-12-15 18:38:01 +0100vfaronov(~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru)
2020-12-15 18:38:19 +0100raichoo(~raichoo@213.240.178.58) (Quit: Lost terminal)
2020-12-15 18:39:46 +0100MOSCOS(~MOSCOS@122.54.107.175) (Remote host closed the connection)
2020-12-15 18:40:05 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Ping timeout: 240 seconds)
2020-12-15 18:40:09 +0100machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca)
2020-12-15 18:40:11 +0100MOSCOS(~MOSCOS@122.54.107.175)
2020-12-15 18:41:53 +0100jules000(~jules000@ip-195-169-216-4.eduvpn.ru.nl) (Remote host closed the connection)
2020-12-15 18:42:14 +0100 <hseg> hrmph. replacing quickCheck with verboseCheck forced my thunks and solved my space leak
2020-12-15 18:42:19 +0100jules000(~jules000@ip-195-169-216-4.eduvpn.ru.nl)
2020-12-15 18:42:55 +0100avdb(~avdb@213.177.155.250)
2020-12-15 18:43:21 +0100 <hseg> should replace my maps with strict maps instead. i think it might solve some of my memory problems
2020-12-15 18:43:53 +0100howdoi(uid224@gateway/web/irccloud.com/x-yfmvmpnsjbxmilas)
2020-12-15 18:45:13 +0100 <hseg> indeed, should use containers' advice and replace with hashmaps considering i don't really need the ordering
2020-12-15 18:45:25 +0100 <dminuoso> hseg: did the profiling help?
2020-12-15 18:46:23 +0100jules000_(~jules000@ip-195-169-216-4.eduvpn.ru.nl)
2020-12-15 18:46:25 +0100 <hseg> profiling found the main source of errors, which was the usual suspect. changed algorithms, no help. trying to get more data, used verboseCheck. it forced thunks and solved the memory leak
2020-12-15 18:46:43 +0100 <hseg> so i'm converting to strict maps to see if that doesn't solve it
2020-12-15 18:47:04 +0100jules000(~jules000@ip-195-169-216-4.eduvpn.ru.nl) (Ping timeout: 260 seconds)
2020-12-15 18:47:04 +0100jules000_(~jules000@ip-195-169-216-4.eduvpn.ru.nl) (Remote host closed the connection)
2020-12-15 18:47:30 +0100jules000(~jules000@ip-195-169-216-4.eduvpn.ru.nl)
2020-12-15 18:48:23 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2020-12-15 18:48:30 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2020-12-15 18:48:36 +0100conal(~conal@64.71.133.70) (Quit: Textual IRC Client: www.textualapp.com)
2020-12-15 18:48:45 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-15 18:52:06 +0100nineonine(~nineonine@S01061cabc0b095f3.vf.shawcable.net)
2020-12-15 18:52:12 +0100 <dsal> mjrosenb: this is 900 ms on my macbook: https://www.irccloud.com/pastebin/RtaAP8sh/st.hs
2020-12-15 18:52:19 +0100jules000(~jules000@ip-195-169-216-4.eduvpn.ru.nl) (Ping timeout: 260 seconds)
2020-12-15 18:52:25 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
2020-12-15 18:53:27 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-15 18:53:34 +0100nineonine(~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Remote host closed the connection)
2020-12-15 18:53:42 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 256 seconds)
2020-12-15 18:54:08 +0100nineonine(~nineonine@S01061cabc0b095f3.vf.shawcable.net)
2020-12-15 18:54:26 +0100Faye(~holo@nikky.moe) (Ping timeout: 240 seconds)
2020-12-15 18:54:42 +0100ubert(~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233) (Remote host closed the connection)
2020-12-15 18:54:43 +0100Faye(~holo@nikky.moe)
2020-12-15 18:54:52 +0100 <hseg> hrmph. monoidal-containers has several annoying inconsistencies
2020-12-15 18:55:04 +0100bwe_(~bwe@2a01:4f8:1c1c:4878::2)
2020-12-15 18:55:40 +0100boxscape(54a35b08@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.91.8) (Quit: Connection closed)
2020-12-15 18:55:42 +0100 <hseg> eg hashmap expects you to cast using newtype for some functions, map.strict.mapkeys is accumulating vs map.mapkeys being nonaccumulating, etc etc
2020-12-15 18:55:52 +0100boxscape(54a35b08@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.91.8)
2020-12-15 18:57:18 +0100z0(~z0@188.251.81.116)
2020-12-15 18:57:51 +0100 <z0> what's the canonical way to filter [(a,b)] on b ?
2020-12-15 18:58:11 +0100 <koz_> z0: filter (predicate . snd) ?
2020-12-15 18:58:31 +0100nineonine(~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Ping timeout: 246 seconds)
2020-12-15 18:58:40 +0100jespada(~jespada@90.254.245.49) (Quit: Sleeping)
2020-12-15 18:58:41 +0100 <mjrosenb> dsal: what module do I need to get for MV and runST?
2020-12-15 18:58:46 +0100justsomeguy(~justsomeg@unaffiliated/--/x-3805311) ()
2020-12-15 18:58:56 +0100 <koz_> mjrosenb: MV is probably Data.Vector.Mutable.
2020-12-15 18:58:56 +0100Neuromancer(~Neuromanc@unaffiliated/neuromancer) (Read error: Connection reset by peer)
2020-12-15 18:59:03 +0100 <koz_> runST is Control.Monad.ST
2020-12-15 18:59:06 +0100bwe(~bwe@unaffiliated/bwe) (Ping timeout: 240 seconds)
2020-12-15 18:59:18 +0100 <z0> i do it so often, im writing a helper function. just checking, thanks
2020-12-15 19:00:23 +0100 <mjrosenb> danke.
2020-12-15 19:00:32 +0100jb55(~jb55@gateway/tor-sasl/jb55)
2020-12-15 19:01:06 +0100 <dsal> mjrosenb: I'm using unboxed vectors.
2020-12-15 19:01:10 +0100 <dsal> unboxed mutable.
2020-12-15 19:01:57 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-15 19:02:37 +0100 <mjrosenb> Could not find module ‘Data.Vector.Mutable’
2020-12-15 19:02:46 +0100 <mjrosenb> I'll figure that out later.
2020-12-15 19:02:56 +0100nineonine(~nineonine@S01061cabc0b095f3.vf.shawcable.net)
2020-12-15 19:03:45 +0100 <dsal> @where Data.Vector.Mutable
2020-12-15 19:03:45 +0100 <lambdabot> I know nothing about data.vector.mutable.
2020-12-15 19:04:08 +0100 <dsal> https://hackage.haskell.org/package/vector/docs/Data-Vector-Unboxed-Mutable.html
2020-12-15 19:04:11 +0100aarvar(~foewfoiew@50.35.43.33)
2020-12-15 19:04:17 +0100 <xerox_> z0: it's also good to know about list comprehensions [ .. | (_,b) <- xs, predicate b ] sometimes it reads well and lets you do other stuff at the same time
2020-12-15 19:04:28 +0100aarvar(~foewfoiew@50.35.43.33) ()
2020-12-15 19:04:31 +0100 <dmj`> :t \x -> scanl (foldl x)
2020-12-15 19:04:32 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2020-12-15 19:04:33 +0100 <lambdabot> Foldable t => (b -> a -> b) -> b -> [t a] -> [b]
2020-12-15 19:08:13 +0100tomku(~tomku@unaffiliated/tomku) (Ping timeout: 265 seconds)
2020-12-15 19:09:48 +0100tomku(~tomku@unaffiliated/tomku)
2020-12-15 19:10:55 +0100softwarm(4408f588@ip68-8-245-136.sd.sd.cox.net) (Ping timeout: 245 seconds)
2020-12-15 19:12:29 +0100 <z0> oh man thats beatiful
2020-12-15 19:13:15 +0100vfaronov(~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) (Quit: vfaronov)
2020-12-15 19:13:34 +0100vfaronov(~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru)
2020-12-15 19:13:35 +0100Neuromancer(~Neuromanc@unaffiliated/neuromancer)
2020-12-15 19:14:48 +0100 <boxscape> > (\x -> scanl (foldl x)) (-) 0 [[1,2],[2,3]]
2020-12-15 19:14:50 +0100 <lambdabot> [0,-3,-8]
2020-12-15 19:15:40 +0100hf69(~haskeller@ip72-205-40-121.dc.dc.cox.net)
2020-12-15 19:17:14 +0100Franciman(~francesco@host-82-54-12-32.retail.telecomitalia.it)
2020-12-15 19:17:22 +0100 <z0> > (scanl . foldl) (-) 0 [[1,2],[2,3]]
2020-12-15 19:17:25 +0100 <lambdabot> [0,-3,-8]
2020-12-15 19:17:45 +0100vfaronov(~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) (Client Quit)
2020-12-15 19:18:04 +0100vfaronov(~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru)
2020-12-15 19:18:24 +0100geekosaur(42d52137@66.213.33.55) (Ping timeout: 245 seconds)
2020-12-15 19:19:55 +0100monadmatt(~user@119-17-128-101.771180.mel.nbn.aussiebb.net)
2020-12-15 19:19:56 +0100Neuromancer(~Neuromanc@unaffiliated/neuromancer) (Quit: AdiIRC is updating to v4.0 Beta Build (2020/11/06 UTC) 64 Bit)
2020-12-15 19:20:20 +0100Neuromancer(~Neuromanc@unaffiliated/neuromancer)
2020-12-15 19:24:09 +0100 <hseg> The Map type is shared between the lazy and strict modules, meaning that the same Map value can be passed to functions in both modules. This means that the Functor, Traversable and Data instances are the same as for the Data.Map.Lazy module, so if they are used the resulting maps may contain suspended values (thunks).
2020-12-15 19:24:12 +0100 <hseg> WTF?
2020-12-15 19:24:39 +0100 <koz_> hseg: Map (and HashMap) have strict _functions_, not strict _data_ as such.
2020-12-15 19:24:59 +0100monadmatt(~user@119-17-128-101.771180.mel.nbn.aussiebb.net) (Ping timeout: 260 seconds)
2020-12-15 19:26:11 +0100 <hseg> hrm. any reason for preferring the former over the latter?
2020-12-15 19:26:12 +0100 <merijn> hseg: What's so weird about that?
2020-12-15 19:26:47 +0100juuandyy(~juuandyy@90.166.144.65)
2020-12-15 19:26:57 +0100 <hseg> i understood strict maps were strict over their values and spines, whereas lazy maps were only lazy in spines
2020-12-15 19:27:10 +0100 <merijn> hseg: Lazy is good if the values are mutually recursive (i.e. computing them does lookups in the same Map, such as dynamic programming style tricks) or when computing the value is slow and you don't need all of them
2020-12-15 19:27:14 +0100 <merijn> hseg: eh, no
2020-12-15 19:27:20 +0100 <merijn> hseg: Both strict and lazy map have a strict spine
2020-12-15 19:27:32 +0100 <merijn> A lazy spine would have *terrible* performance
2020-12-15 19:27:42 +0100 <hseg> oops, mistyped. meant lazy is only strict in spine
2020-12-15 19:27:47 +0100 <hseg> but lazy in values
2020-12-15 19:27:50 +0100 <merijn> hseg: Right
2020-12-15 19:28:07 +0100 <merijn> hseg: But that doesn't contradict the docs you quoted
2020-12-15 19:28:25 +0100 <merijn> hseg: The docs are just saying that the strictness is enforced by the functions, not by the datatype
2020-12-15 19:28:59 +0100 <hseg> sure... but class instances cannot enforce strictness because of this
2020-12-15 19:29:24 +0100 <merijn> "class instances" ?
2020-12-15 19:29:38 +0100 <hseg> Functor, Traversable, Data
2020-12-15 19:29:51 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Remote host closed the connection)
2020-12-15 19:30:09 +0100 <hseg> any reason for this choice over cloning the datatype mod strictness annotations?
2020-12-15 19:30:16 +0100geekosaur(42d52137@66.213.33.55)
2020-12-15 19:30:18 +0100 <koz_> hseg: Are you concerned that, say, fmap, will stuff a should-be-strict map full of lazy values?
2020-12-15 19:30:21 +0100brodie_(~brodie@207.53.253.137)
2020-12-15 19:30:26 +0100 <hseg> yup
2020-12-15 19:30:29 +0100 <merijn> hseg: The fact that you don't have to repeatedly do "toStrict" when interacting with different APIs? :p
2020-12-15 19:30:42 +0100slack1256(~slack1256@45.4.2.119) (Ping timeout: 256 seconds)
2020-12-15 19:31:28 +0100 <hseg> arguably, you should. we don't see Int and Int# as similar enough to be convertible, after all
2020-12-15 19:31:38 +0100 <hseg> why is this any different?
2020-12-15 19:32:01 +0100 <hseg> (otoh, polymorphism in both of these *would* be nice)
2020-12-15 19:32:15 +0100 <hseg> (for the latter, this exists as levity polymorphism)
2020-12-15 19:33:14 +0100 <dsal> hseg: I made great use of that lazy/strict map thing a few days ago.
2020-12-15 19:33:27 +0100 <koz_> I'm actually curious about the question hseg raises too.
2020-12-15 19:33:41 +0100 <koz_> _Can_ fmap potentially stuff a should-be-strict map full of lazy values?
2020-12-15 19:33:56 +0100 <merijn> Define "should be strict" :p
2020-12-15 19:34:09 +0100 <koz_> merijn: One made entirely using functions from Data.Map.Strict.
2020-12-15 19:34:11 +0100 <geekosaur> there's only one Map type, it;s the operations that are strict/lazy
2020-12-15 19:34:12 +0100 <merijn> See, that's the confusion
2020-12-15 19:34:13 +0100 <hseg> sniped
2020-12-15 19:34:17 +0100 <merijn> There is no strict Map
2020-12-15 19:34:20 +0100 <merijn> There is just Map
2020-12-15 19:34:32 +0100 <merijn> And you can build Maps strictly or lazily
2020-12-15 19:34:50 +0100avdb(~avdb@213.177.155.250) (Quit: avdb)
2020-12-15 19:34:57 +0100 <koz_> merijn: So suppose I used only strict operations to make a Map. Then I call fmap on it. Will that invalidate my efforts in the use of strict operations?
2020-12-15 19:35:05 +0100 <koz_> (in the sense that the result won't be strict in its values)
2020-12-15 19:35:10 +0100 <merijn> koz_: Define "invalidate"
2020-12-15 19:35:25 +0100 <dsal> One of my day 7 solutions. Gets a map made from Data.Map.Strict, fmaps it with lazy ! so I can ask for stuff before I finish populating it: https://www.irccloud.com/pastebin/8KJNYCTs/day7.hs
2020-12-15 19:35:27 +0100 <hseg> that the map will contain non-whnf values
2020-12-15 19:35:32 +0100 <koz_> merijn: In the sense that after the fmap, the result won't be strict in its values.
2020-12-15 19:35:47 +0100 <koz_> Or what hseg said.
2020-12-15 19:35:50 +0100 <dsal> koz_: I think the above is the exact use case you're describing.
2020-12-15 19:35:56 +0100 <merijn> Yes
2020-12-15 19:36:06 +0100 <koz_> Interesting. TIL, thank you!
2020-12-15 19:36:15 +0100 <dsal> Map == Data.Map.Strict and LMap = Data.Map
2020-12-15 19:37:01 +0100 <hseg> dsal: sure, but i don't believe that is necessarily impossible with a split Map situation as i'm advocating
2020-12-15 19:37:53 +0100 <merijn> koz_, hseg: Anyway, that's all trivially solved anyway
2020-12-15 19:38:15 +0100 <hseg> newtype with specially-defined forcing instances?
2020-12-15 19:38:16 +0100 <merijn> @hoogle <$!>
2020-12-15 19:38:16 +0100 <lambdabot> Control.Monad (<$!>) :: Monad m => (a -> b) -> m a -> m b
2020-12-15 19:38:17 +0100 <lambdabot> Control.Monad.Compat (<$!>) :: Monad m => (a -> b) -> m a -> m b
2020-12-15 19:38:17 +0100 <lambdabot> Protolude.Monad (<$!>) :: Monad m => (a -> b) -> m a -> m b
2020-12-15 19:38:27 +0100 <merijn> hseg: Eh, just use <$!> instead of <$> :p
2020-12-15 19:38:50 +0100 <boxscape> huh it needs a Monad instance instead of functor?
2020-12-15 19:39:04 +0100cosimone(~cosimone@93-47-228-249.ip115.fastwebnet.it) (Quit: cosimone)
2020-12-15 19:39:06 +0100 <koz_> merijn: Or I'll just keep doing what I've been, which is using Map-specific functions.
2020-12-15 19:39:07 +0100 <hseg> sure, but that requires me to remember to take this into consideration, instead of being caught by the compiler
2020-12-15 19:39:26 +0100boxscape(54a35b08@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.91.8) (Quit: Connection closed)
2020-12-15 19:39:31 +0100glamas(~glamas@107.182.17.237) (Quit: ZNC 1.7.4 - https://znc.in)
2020-12-15 19:39:34 +0100 <koz_> But it's definitely good to know.
2020-12-15 19:39:34 +0100 <merijn> boxscape: No other way to enforce the sequencing of seq
2020-12-15 19:39:41 +0100boxscape(54a35b08@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.91.8)
2020-12-15 19:39:44 +0100oish(~charlie@228.25.169.217.in-addr.arpa) (Quit: leaving)
2020-12-15 19:39:55 +0100 <merijn> boxscape: Although I guess that doesn't work on Map then :p
2020-12-15 19:40:02 +0100 <boxscape> hm yeah
2020-12-15 19:40:52 +0100boxscape(54a35b08@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.91.8) (Client Quit)
2020-12-15 19:40:53 +0100glamas(~glamas@107.182.17.237)
2020-12-15 19:41:01 +0100 <hseg> yup...
2020-12-15 19:41:14 +0100boxscape(54a35b08@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.91.8)
2020-12-15 19:42:43 +0100 <dmj`> z0: I used that function today at work, `\f -> scanl' (foldl' f))`
2020-12-15 19:43:04 +0100 <dmj`> z0: almost fell out of my chair when it just worked
2020-12-15 19:43:39 +0100 <dmj`> :t scanl' . foldl'
2020-12-15 19:43:41 +0100 <lambdabot> Foldable t => (b -> a -> b) -> b -> [t a] -> [b]
2020-12-15 19:46:11 +0100knupfer(~Thunderbi@200116b82c872a00805f74f2dadcf329.dip.versatel-1u1.de) (Remote host closed the connection)
2020-12-15 19:46:20 +0100knupfer(~Thunderbi@200116b82c872a00018817df86cc2183.dip.versatel-1u1.de)
2020-12-15 19:46:22 +0100shf(~sheaf@2a01:cb19:80cc:7e00:d59b:49eb:ac7c:3f2a) (Read error: Connection reset by peer)
2020-12-15 19:48:14 +0100_linker_(~linker@2a02:a31a:a041:9a80:1c5:249d:af3e:edc4)
2020-12-15 19:51:37 +0100fuzzypixelz(~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net)
2020-12-15 19:51:40 +0100cads(~cads@ip-64-72-99-232.lasvegas.net)
2020-12-15 19:51:47 +0100 <z0> is there a better way of writing [ let y = read x in (y,f y) | x <- ... ] ?
2020-12-15 19:51:52 +0100ClaudiusMaximus(~claude@196.67.6.51.dyn.plus.net)
2020-12-15 19:51:52 +0100ClaudiusMaximus(~claude@196.67.6.51.dyn.plus.net) (Changing host)
2020-12-15 19:51:52 +0100ClaudiusMaximus(~claude@unaffiliated/claudiusmaximus)
2020-12-15 19:53:09 +0100 <monochrom> [ (y, f y) | x <- ... , let y = read x ]
2020-12-15 19:53:18 +0100 <z0> i mean assuming i can't do `x <- read <$> xs`
2020-12-15 19:53:23 +0100 <kuribas> or better don't use read
2020-12-15 19:53:42 +0100chele(~chele@ip5b416ea2.dynamic.kabel-deutschland.de) (Remote host closed the connection)
2020-12-15 19:53:43 +0100 <z0> monochrom: thanks! i knew this looked strange
2020-12-15 19:53:44 +0100hekkaidekapus(~tchouri@gateway/tor-sasl/hekkaidekapus) (Remote host closed the connection)
2020-12-15 19:53:44 +0100skiold(~skiold@gateway/tor-sasl/skiold) (Remote host closed the connection)
2020-12-15 19:53:45 +0100 <nf> z0: you can do that
2020-12-15 19:53:45 +0100jpds(~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
2020-12-15 19:53:51 +0100 <kuribas> :t (***)
2020-12-15 19:53:52 +0100 <lambdabot> Arrow a => a b c -> a b' c' -> a (b, b') (c, c')
2020-12-15 19:54:04 +0100 <z0> kuribas: why not?
2020-12-15 19:54:06 +0100skiold(~skiold@gateway/tor-sasl/skiold)
2020-12-15 19:54:08 +0100hekkaidekapus(~tchouri@gateway/tor-sasl/hekkaidekapus)
2020-12-15 19:54:08 +0100jpds(~jpds@gateway/tor-sasl/jpds)
2020-12-15 19:54:11 +0100 <kuribas> z0: because it's partial
2020-12-15 19:54:17 +0100 <ephemient> :t (&&&)
2020-12-15 19:54:19 +0100 <lambdabot> Arrow a => a b c -> a b c' -> a b (c, c')
2020-12-15 19:54:25 +0100texasmynsted(~texasmyns@99.96.221.112)
2020-12-15 19:54:34 +0100 <SrPx> https://github.com/moonad/Formality/blob/master/blog/0-goodbye-javascript.md
2020-12-15 19:54:36 +0100 <SrPx> ( :
2020-12-15 19:54:42 +0100 <monochrom> I'm pretty sure it's just anotheer AoC day so input validation goes out of window.
2020-12-15 19:54:53 +0100 <kuribas> :t (id &&&)
2020-12-15 19:54:55 +0100 <lambdabot> (b -> c') -> b -> (b, c')
2020-12-15 19:55:06 +0100cosimone(~cosimone@2001:b07:ae5:db26:1fb3:ef3f:ece2:c6f8)
2020-12-15 19:55:24 +0100 <ephemient> > [id &&& reverse $ show y | y <- [49..51]]
2020-12-15 19:55:26 +0100 <lambdabot> [("49","94"),("50","05"),("51","15")]
2020-12-15 19:55:45 +0100 <z0> of course it's aoc :)
2020-12-15 19:56:18 +0100 <kuribas> :t \f xs -> ((id &&& f) . read) <$> xs
2020-12-15 19:56:20 +0100 <lambdabot> (Functor f, Read b) => (b -> c') -> f String -> f (b, c')
2020-12-15 19:56:35 +0100nineonine(~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Remote host closed the connection)
2020-12-15 19:57:13 +0100vicfred(~vicfred@unaffiliated/vicfred) (Quit: Leaving)
2020-12-15 19:57:21 +0100nineonine(~nineonine@50.216.62.2)
2020-12-15 19:58:16 +0100hiroaki(~hiroaki@ip4d16fa3b.dynamic.kabel-deutschland.de) (Ping timeout: 272 seconds)
2020-12-15 19:58:16 +0100Lowl3v3l(~Lowl3v3l@dslb-002-203-233-025.002.203.pools.vodafone-ip.de) (Ping timeout: 240 seconds)
2020-12-15 19:59:32 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Ping timeout: 272 seconds)
2020-12-15 19:59:48 +0100kuribas(~user@ptr-25vy0i9hsz5hd66cx41.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
2020-12-15 20:01:36 +0100jules000(~jules000@ip-195-169-216-4.eduvpn.ru.nl)
2020-12-15 20:03:25 +0100natechan(~natechan@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Quit: WeeChat 2.9)
2020-12-15 20:03:30 +0100tomku(~tomku@unaffiliated/tomku) (Ping timeout: 258 seconds)
2020-12-15 20:03:35 +0100berberman_(~berberman@unaffiliated/berberman)
2020-12-15 20:03:40 +0100Jesin(~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) (Quit: Leaving)
2020-12-15 20:03:54 +0100natechan(~natechan@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2020-12-15 20:04:28 +0100tomku(~tomku@unaffiliated/tomku)
2020-12-15 20:04:39 +0100berberman(~berberman@unaffiliated/berberman) (Ping timeout: 258 seconds)
2020-12-15 20:05:37 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 264 seconds)
2020-12-15 20:06:59 +0100 <jle`> z0: y <- mapMaybe readMaybe ...
2020-12-15 20:07:05 +0100Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2020-12-15 20:07:08 +0100 <jle`> z0: or traverse readMaybe
2020-12-15 20:07:13 +0100Tario(~Tario@201.192.165.173)
2020-12-15 20:07:17 +0100mirrorbird(~psutcliff@2a00:801:447:b1bf:a43d:1573:86a9:1f86)
2020-12-15 20:09:29 +0100quantumvatican(~private@lfbn-idf2-1-504-211.w86-246.abo.wanadoo.fr) (Quit: Lost terminal)
2020-12-15 20:09:35 +0100dhouthoo(~dhouthoo@ptr-eitgbj2w0uu6delkbrh.18120a2.ip6.access.telenet.be) (Quit: WeeChat 2.9)
2020-12-15 20:10:45 +0100cads(~cads@ip-64-72-99-232.lasvegas.net) (Ping timeout: 240 seconds)
2020-12-15 20:11:18 +0100hiroaki(~hiroaki@ip4d168e73.dynamic.kabel-deutschland.de)
2020-12-15 20:13:39 +0100 <tomsmeding> SrPx: 🎉
2020-12-15 20:13:39 +0100Lowl3v3l(~Lowl3v3l@2001:638:1558:99f8::5)
2020-12-15 20:16:58 +0100Jesin(~Jesin@pool-72-66-101-18.washdc.fios.verizon.net)
2020-12-15 20:19:00 +0100justsomeguy(~justsomeg@216.186.218.241)
2020-12-15 20:19:00 +0100justsomeguy(~justsomeg@216.186.218.241) (Changing host)
2020-12-15 20:19:00 +0100justsomeguy(~justsomeg@unaffiliated/--/x-3805311)
2020-12-15 20:19:25 +0100Ariakenom_(~Ariakenom@h-98-128-229-53.NA.cust.bahnhof.se)
2020-12-15 20:20:01 +0100tomku(~tomku@unaffiliated/tomku) (Ping timeout: 264 seconds)
2020-12-15 20:21:17 +0100Ariakenom(~Ariakenom@h-98-128-229-53.NA.cust.bahnhof.se) (Ping timeout: 260 seconds)
2020-12-15 20:22:36 +0100julm(~julm@revolt129.abo.ilico.org) (Quit: Lost terminal)
2020-12-15 20:23:33 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2020-12-15 20:23:56 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-15 20:27:34 +0100sis7(~user@2001:15e8:110:473e::1)
2020-12-15 20:28:19 +0100Ariakenom(~Ariakenom@h-98-128-229-53.NA.cust.bahnhof.se)
2020-12-15 20:28:28 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 246 seconds)
2020-12-15 20:30:34 +0100tomku(~tomku@unaffiliated/tomku)
2020-12-15 20:30:46 +0100Ariakenom_(~Ariakenom@h-98-128-229-53.NA.cust.bahnhof.se) (Ping timeout: 256 seconds)
2020-12-15 20:31:06 +0100haritz(~hrtz@unaffiliated/haritz) (Ping timeout: 258 seconds)
2020-12-15 20:31:10 +0100todda7(~torstein@ppp-2-84-17-53.home.otenet.gr) (Remote host closed the connection)
2020-12-15 20:31:12 +0100fuzzypixelz(~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Ping timeout: 260 seconds)
2020-12-15 20:31:36 +0100todda7(~torstein@ppp-2-84-17-53.home.otenet.gr)
2020-12-15 20:31:47 +0100haritz(~hrtz@62.3.70.206)
2020-12-15 20:31:47 +0100haritz(~hrtz@62.3.70.206) (Changing host)
2020-12-15 20:31:47 +0100haritz(~hrtz@unaffiliated/haritz)
2020-12-15 20:32:11 +0100fuzzypixelz(~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net)
2020-12-15 20:32:44 +0100Jesin(~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) (Quit: Leaving)
2020-12-15 20:32:57 +0100 <boxscape> z0 [ (y, f y) | x <- ... , let y = read x ] should also be the same as [ (y, f y) | (read -> y) <- ... ] with ViewPatterns
2020-12-15 20:33:15 +0100 <boxscape> I believe
2020-12-15 20:37:34 +0100Wuzzy(~Wuzzy@p549c9bc8.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
2020-12-15 20:38:50 +0100 <solonarv> yup
2020-12-15 20:41:39 +0100Jesin(~Jesin@pool-72-66-101-18.washdc.fios.verizon.net)
2020-12-15 20:43:45 +0100 <SrPx> tomsmeding: 🎉
2020-12-15 20:44:05 +0100 <SrPx> also there is a (IMO) really good introduction to theorem proving, made for haskellers, in our repo now:
2020-12-15 20:44:06 +0100Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck)
2020-12-15 20:44:23 +0100 <SrPx> https://github.com/moonad/Formality/blob/master/THEOREMS.md
2020-12-15 20:44:35 +0100Sheilong(uid293653@gateway/web/irccloud.com/x-ruenqifzengrhwga)
2020-12-15 20:44:54 +0100 <SrPx> please check it and let me know if it is as pedagogical as I expect it to be (:
2020-12-15 20:45:32 +0100 <tomsmeding> SrPx: after I finish my thesis :p
2020-12-15 20:45:39 +0100Katarushisu(~Katarushi@cpc149712-finc20-2-0-cust535.4-2.cable.virginm.net) (Ping timeout: 272 seconds)
2020-12-15 20:45:47 +0100 <SrPx> just for the channel (:
2020-12-15 20:47:12 +0100mputz(~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de)
2020-12-15 20:47:26 +0100cgfuh(~cgfuh@181.167.191.58)
2020-12-15 20:47:50 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2020-12-15 20:47:57 +0100ransom_(~c4264035@2a09:bac0:98::830:8619)
2020-12-15 20:48:33 +0100Deide(~Deide@217.155.19.23)
2020-12-15 20:50:41 +0100jules000(~jules000@ip-195-169-216-4.eduvpn.ru.nl) (Remote host closed the connection)
2020-12-15 20:52:16 +0100ransom_(~c4264035@2a09:bac0:98::830:8619) (Client Quit)
2020-12-15 20:54:19 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-15 20:56:38 +0100 <koz_> tomsmeding: Are you here to spit a thesis against both of our asses? :P
2020-12-15 20:56:45 +0100 <koz_> (sorry for obscure reference)
2020-12-15 20:57:00 +0100tomsmedingdoesn't get the reference unfortunately
2020-12-15 20:57:06 +0100 <tomsmeding> but no it's completely unrelated :p
2020-12-15 20:58:43 +0100 <koz_> It's OK, it's rather obscure.
2020-12-15 21:00:13 +0100justanotheruser(~justanoth@unaffiliated/justanotheruser) (Ping timeout: 272 seconds)
2020-12-15 21:01:36 +0100cads(~cads@ip-64-72-99-232.lasvegas.net)
2020-12-15 21:01:58 +0100tomsmedingfound the reference, and indeed had no chance of knowing that one
2020-12-15 21:02:13 +0100 <koz_> It's OK, I have a fondness for obscurica in my humour.
2020-12-15 21:02:23 +0100 <tomsmeding> :D
2020-12-15 21:02:23 +0100 <koz_> As a result, I tend to make jokes about 3 people will get.
2020-12-15 21:05:54 +0100sh9(~sh9@softbank060116136158.bbtec.net) (Ping timeout: 256 seconds)
2020-12-15 21:07:03 +0100fuzzypixelz(~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Quit: fuzzypixelz)
2020-12-15 21:08:17 +0100wonko7(~wonko7@2a01:e35:2ffb:7040:4535:f480:7dff:b3b5) (Ping timeout: 258 seconds)
2020-12-15 21:08:29 +0100sqrt2(~ben@unaffiliated/sqrt2) (Remote host closed the connection)
2020-12-15 21:08:40 +0100sqrt2(~ben@unaffiliated/sqrt2)
2020-12-15 21:09:48 +0100leifm(~leif@210.54.33.112)
2020-12-15 21:10:06 +0100boxscape(54a35b08@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.91.8) (Quit: Connection closed)
2020-12-15 21:10:43 +0100boxscape(54a35b08@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.91.8)
2020-12-15 21:11:14 +0100juuandyy(~juuandyy@90.166.144.65) (Quit: Konversation terminated!)
2020-12-15 21:11:33 +0100jmchael_(~jmchael@87.112.46.194)
2020-12-15 21:11:36 +0100jmchael(~jmchael@87.112.60.168) (Ping timeout: 240 seconds)
2020-12-15 21:11:48 +0100jespada(~jespada@90.254.245.49)
2020-12-15 21:12:54 +0100banner(~banner@116-255-17-47.ip4.superloop.com)
2020-12-15 21:13:25 +0100fendor(~fendor@77.119.131.74.wireless.dyn.drei.com) (Remote host closed the connection)
2020-12-15 21:13:27 +0100danvet(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 260 seconds)
2020-12-15 21:15:04 +0100fendor(~fendor@77.119.131.74.wireless.dyn.drei.com)
2020-12-15 21:20:53 +0100monadmatt(~user@119-17-128-101.771180.mel.nbn.aussiebb.net)
2020-12-15 21:21:00 +0100texasmynsted(~texasmyns@99.96.221.112) (Remote host closed the connection)
2020-12-15 21:21:54 +0100texasmynsted(~texasmyns@99.96.221.112)
2020-12-15 21:22:09 +0100justanotheruser(~justanoth@unaffiliated/justanotheruser)
2020-12-15 21:22:35 +0100cosimone(~cosimone@2001:b07:ae5:db26:1fb3:ef3f:ece2:c6f8) (Quit: cosimone)
2020-12-15 21:23:10 +0100ridcully_ridcully
2020-12-15 21:23:50 +0100wonko7(~wonko7@lns-bzn-55-82-255-183-4.adsl.proxad.net)
2020-12-15 21:24:15 +0100leifm(~leif@210.54.33.112) (Quit: WeeChat 2.9)
2020-12-15 21:25:34 +0100monadmatt(~user@119-17-128-101.771180.mel.nbn.aussiebb.net) (Ping timeout: 256 seconds)
2020-12-15 21:25:40 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2020-12-15 21:25:56 +0100texasmynsted(~texasmyns@99.96.221.112) (Ping timeout: 240 seconds)
2020-12-15 21:26:00 +0100banner(~banner@116-255-17-47.ip4.superloop.com) (Quit: Leaving)
2020-12-15 21:26:19 +0100tomku(~tomku@unaffiliated/tomku) (Ping timeout: 260 seconds)
2020-12-15 21:26:50 +0100tomku(~tomku@unaffiliated/tomku)
2020-12-15 21:29:10 +0100rprije(~rprije@14-203-203-69.tpgi.com.au)
2020-12-15 21:31:36 +0100cosimone(~cosimone@2001:b07:ae5:db26:1fb3:ef3f:ece2:c6f8)
2020-12-15 21:31:36 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2020-12-15 21:31:57 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-15 21:36:01 +0100kenran(~kenran@i59F67BED.versanet.de)
2020-12-15 21:36:44 +0100Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck) (Quit: WeeChat 2.9)
2020-12-15 21:37:04 +0100hiroaki(~hiroaki@ip4d168e73.dynamic.kabel-deutschland.de) (Ping timeout: 246 seconds)
2020-12-15 21:37:05 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 265 seconds)
2020-12-15 21:38:01 +0100hiroaki(~hiroaki@ip4d168e73.dynamic.kabel-deutschland.de)
2020-12-15 21:38:49 +0100mirrorbird(~psutcliff@2a00:801:447:b1bf:a43d:1573:86a9:1f86) (Quit: Leaving)
2020-12-15 21:38:52 +0100hiroaki(~hiroaki@ip4d168e73.dynamic.kabel-deutschland.de) (Max SendQ exceeded)
2020-12-15 21:39:50 +0100hiroaki(~hiroaki@ip4d168e73.dynamic.kabel-deutschland.de)
2020-12-15 21:41:00 +0100Wuzzy(~Wuzzy@p5790ede5.dip0.t-ipconnect.de)
2020-12-15 21:43:55 +0100justanotheruser(~justanoth@unaffiliated/justanotheruser) (Ping timeout: 272 seconds)
2020-12-15 21:44:22 +0100tomku(~tomku@unaffiliated/tomku) (Ping timeout: 260 seconds)
2020-12-15 21:45:13 +0100tomku(~tomku@unaffiliated/tomku)
2020-12-15 21:45:20 +0100boxscape(54a35b08@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.91.8) (Ping timeout: 256 seconds)
2020-12-15 21:47:50 +0100Franciman(~francesco@host-82-54-12-32.retail.telecomitalia.it) (Ping timeout: 256 seconds)
2020-12-15 21:48:28 +0100hiroaki(~hiroaki@ip4d168e73.dynamic.kabel-deutschland.de) (Ping timeout: 272 seconds)
2020-12-15 21:49:57 +0100knupfer(~Thunderbi@200116b82c872a00018817df86cc2183.dip.versatel-1u1.de) (Ping timeout: 260 seconds)
2020-12-15 21:50:13 +0100Franciman(~francesco@host-82-54-12-32.retail.telecomitalia.it)
2020-12-15 21:51:06 +0100 <z0> so those 3 people walk into a bar...
2020-12-15 21:51:27 +0100 <z0> sorry
2020-12-15 21:51:40 +0100 <koz_> z0: I dunno whether to shoot myself or go bowling at that joke. :P
2020-12-15 21:52:21 +0100rprije(~rprije@14-203-203-69.tpgi.com.au) (Remote host closed the connection)
2020-12-15 21:52:41 +0100rprije(~rprije@14-203-203-69.tpgi.com.au)
2020-12-15 21:52:47 +0100 <z0> my jokes are exclusively for the common folk
2020-12-15 21:53:27 +0100cads(~cads@ip-64-72-99-232.lasvegas.net) (Ping timeout: 260 seconds)
2020-12-15 21:55:14 +0100texasmynsted(~texasmyns@99.96.221.112)
2020-12-15 21:56:05 +0100knupfer(~Thunderbi@200116b82c872a00bcdcaafffe00d654.dip.versatel-1u1.de)
2020-12-15 21:56:05 +0100knupfer(~Thunderbi@200116b82c872a00bcdcaafffe00d654.dip.versatel-1u1.de) (Client Quit)
2020-12-15 21:56:17 +0100knupfer(~Thunderbi@87.123.206.218)
2020-12-15 21:56:35 +0100mimi_vx(~mimi@2a01:490:16:1026:d961:6e73:8fa:323d) (Ping timeout: 272 seconds)
2020-12-15 21:59:32 +0100texasmynsted(~texasmyns@99.96.221.112) (Ping timeout: 260 seconds)
2020-12-15 22:01:09 +0100hiroaki(~hiroaki@ip4d16fa3b.dynamic.kabel-deutschland.de)
2020-12-15 22:03:38 +0100ransom_(~c4264035@8.48.134.25)
2020-12-15 22:03:50 +0100ransom_(~c4264035@8.48.134.25) (Client Quit)
2020-12-15 22:05:44 +0100brisbin(~patrick@pool-173-49-158-4.phlapa.fios.verizon.net) (Ping timeout: 256 seconds)
2020-12-15 22:06:16 +0100tomku(~tomku@unaffiliated/tomku) (Ping timeout: 240 seconds)
2020-12-15 22:07:44 +0100brisbin(~patrick@pool-173-49-158-4.phlapa.fios.verizon.net)
2020-12-15 22:07:52 +0100ddellacosta(dd@gateway/vpn/mullvad/ddellacosta)
2020-12-15 22:10:23 +0100 <ezzieyguywuf> yikes, ghc-lib-parser-ex cabal file has my eyes spinning
2020-12-15 22:10:28 +0100 <ezzieyguywuf> all the conditional flags etc.
2020-12-15 22:11:27 +0100texasmynsted(~texasmyns@99.96.221.112)
2020-12-15 22:13:14 +0100tomku(~tomku@unaffiliated/tomku)
2020-12-15 22:15:17 +0100 <sirslapuson> exit
2020-12-15 22:15:19 +0100sirslapuson(~dom@unaffiliated/sirslapuson) (Quit: WeeChat 2.9)
2020-12-15 22:16:24 +0100jules000(~jules000@217-62-97-211.cable.dynamic.v4.ziggo.nl)
2020-12-15 22:17:19 +0100fuzzypixelz(~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net)
2020-12-15 22:19:59 +0100jules000(~jules000@217-62-97-211.cable.dynamic.v4.ziggo.nl) (Remote host closed the connection)
2020-12-15 22:22:03 +0100vicfred(~vicfred@unaffiliated/vicfred)
2020-12-15 22:22:12 +0100jules000(~jules000@217-62-97-211.cable.dynamic.v4.ziggo.nl)
2020-12-15 22:22:39 +0100mimi_vx(~mimi@2a01:490:16:1026:d961:6e73:8fa:323d)
2020-12-15 22:24:16 +0100cads(~cads@ip-64-72-99-232.lasvegas.net)
2020-12-15 22:28:15 +0100vfaronov(~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) (Quit: vfaronov)
2020-12-15 22:28:32 +0100vfaronov(~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru)
2020-12-15 22:29:19 +0100son0p(~son0p@181.136.122.143)
2020-12-15 22:30:00 +0100sord937(~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
2020-12-15 22:30:18 +0100monadmatt(~user@119-17-128-101.771180.mel.nbn.aussiebb.net)
2020-12-15 22:32:37 +0100hiroaki(~hiroaki@ip4d16fa3b.dynamic.kabel-deutschland.de) (Ping timeout: 264 seconds)
2020-12-15 22:32:45 +0100vfaronov(~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) (Client Quit)
2020-12-15 22:33:03 +0100vfaronov(~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru)
2020-12-15 22:33:29 +0100softwarm(4408f588@ip68-8-245-136.sd.sd.cox.net)
2020-12-15 22:36:26 +0100texasmynsted(~texasmyns@99.96.221.112) (Remote host closed the connection)
2020-12-15 22:37:02 +0100texasmynsted(~texasmyns@99.96.221.112)
2020-12-15 22:37:13 +0100texasmynsted(~texasmyns@99.96.221.112) (Read error: Connection reset by peer)
2020-12-15 22:37:31 +0100texasmynsted(~texasmyns@99.96.221.112)
2020-12-15 22:37:51 +0100[exa](exa@srv3.blesmrt.net) (Changing host)
2020-12-15 22:37:51 +0100[exa](exa@unaffiliated/exa/x-5381537)
2020-12-15 22:38:24 +0100 <ezzieyguywuf> what does this mean in a cabal file? if !flag(ghc-lib) && impl(ghc >= 8.10.0) && impl(ghc < 8.11.0). Specifically, if I specify `--flags=-ghc-lib` and my ghc is v8.8.4
2020-12-15 22:38:33 +0100 <ezzieyguywuf> does that mean the next block does not get read?
2020-12-15 22:39:08 +0100 <c_wraith> that is what it means
2020-12-15 22:39:27 +0100texasmynsted(~texasmyns@99.96.221.112) (Remote host closed the connection)
2020-12-15 22:40:03 +0100texasmynsted(~texasmyns@99.96.221.112)
2020-12-15 22:40:33 +0100gOOgler(uid125351@gateway/web/irccloud.com/x-gvsdgdjawgkiapwd)
2020-12-15 22:41:51 +0100 <ezzieyguywuf> ok thank you
2020-12-15 22:44:45 +0100texasmynsted(~texasmyns@99.96.221.112) (Ping timeout: 240 seconds)
2020-12-15 22:45:21 +0100hiroaki(~hiroaki@ip4d168e73.dynamic.kabel-deutschland.de)
2020-12-15 22:45:21 +0100mimi_vx(~mimi@2a01:490:16:1026:d961:6e73:8fa:323d) (Ping timeout: 272 seconds)
2020-12-15 22:46:14 +0100knupfer(~Thunderbi@87.123.206.218) (Ping timeout: 260 seconds)
2020-12-15 22:46:49 +0100vfaronov(~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) (Quit: vfaronov)
2020-12-15 22:49:48 +0100BartK(~BartK@195.140.213.38) (Remote host closed the connection)
2020-12-15 22:51:42 +0100awk(~mnrmnaugh@unaffiliated/mnrmnaugh)
2020-12-15 22:52:19 +0100 <merijn> What's the inverse of commutative? non-commutative?
2020-12-15 22:52:51 +0100 <koz_> merijn: Yeah, I guess?
2020-12-15 22:53:39 +0100_ashbreeze_(~mark@184-157-32-85.dyn.centurytel.net) (Remote host closed the connection)
2020-12-15 22:53:45 +0100guest1214(~user@49.5.6.87) (Ping timeout: 240 seconds)
2020-12-15 22:54:15 +0100geekosaur(42d52137@66.213.33.55) (Remote host closed the connection)
2020-12-15 22:54:56 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-15 22:56:52 +0100son0p(~son0p@181.136.122.143) (Ping timeout: 272 seconds)
2020-12-15 22:57:22 +0100hexo-(~hexo@83.167.228.130) (Quit: ZNC - http://znc.in)
2020-12-15 22:57:26 +0100sondr3(~sondr3@cm-84.211.56.132.getinternet.no) (Quit: Leaving)
2020-12-15 22:57:49 +0100MasseR(~MasseR@51.15.143.128) (Ping timeout: 264 seconds)
2020-12-15 22:58:01 +0100pjb(~t@2a01cb04063ec500f40e9f45bed56899.ipv6.abo.wanadoo.fr) (Ping timeout: 272 seconds)
2020-12-15 22:58:36 +0100son0p(~son0p@181.136.122.143)
2020-12-15 22:59:14 +0100tomku(~tomku@unaffiliated/tomku) (Ping timeout: 256 seconds)
2020-12-15 22:59:56 +0100pjb(~t@2a01cb06a05a85e2487839f79a84871f.ipv6.abo.wanadoo.fr)
2020-12-15 22:59:57 +0100hexo-(~hexo@83.167.228.130)
2020-12-15 23:00:05 +0100 <monochrom> Yes non-commutative.
2020-12-15 23:00:10 +0100MasseR(~MasseR@51.15.143.128)
2020-12-15 23:00:40 +0100 <monochrom> Unless you also want x*y = - (y*x) which has a name too.
2020-12-15 23:01:17 +0100kritzefitz(~kritzefit@212.86.56.80) (Remote host closed the connection)
2020-12-15 23:05:56 +0100 <iqubic> Is there a structure like a group where "x*y = invert (y*x)"?
2020-12-15 23:07:08 +0100LKoen(~LKoen@29.248.88.92.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”)
2020-12-15 23:07:16 +0100slack1256(~slack1256@45.4.2.119)
2020-12-15 23:07:34 +0100softwarm(4408f588@ip68-8-245-136.sd.sd.cox.net) (Ping timeout: 245 seconds)
2020-12-15 23:07:42 +0100 <solonarv> iqubic: that's a commutative group where every element is self-inverse; those do have a name, but I forget what it is
2020-12-15 23:08:02 +0100 <solonarv> proof: invert x = invert (1*x) = x*1 = x
2020-12-15 23:08:21 +0100 <solonarv> (so every element is its own inverse)
2020-12-15 23:08:24 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2020-12-15 23:08:39 +0100 <solonarv> and: x*y = invert (y*x) = y*x -- so it's commutative
2020-12-15 23:08:45 +0100 <iqubic> Right. I see.
2020-12-15 23:08:46 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-15 23:08:52 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds)
2020-12-15 23:09:03 +0100 <iqubic> It's like an abelian group, except that every element is a self inverse.
2020-12-15 23:09:49 +0100pavonia(~user@unaffiliated/siracusa)
2020-12-15 23:10:24 +0100jeremyb(~jeremyb@84.39.117.57)
2020-12-15 23:12:20 +0100slack1256(~slack1256@45.4.2.119) (Remote host closed the connection)
2020-12-15 23:12:48 +0100mounty(~mounty@2001:8000:2f59:0:bc37:56:578e:e1d4)
2020-12-15 23:13:25 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 264 seconds)
2020-12-15 23:13:43 +0100chang(~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) (Remote host closed the connection)
2020-12-15 23:15:36 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2020-12-15 23:15:37 +0100tomku(~tomku@unaffiliated/tomku)
2020-12-15 23:19:32 +0100Ariakenom_(~Ariakenom@h-98-128-229-53.NA.cust.bahnhof.se)
2020-12-15 23:21:28 +0100Ariakenom__(~Ariakenom@h-98-128-229-53.NA.cust.bahnhof.se)
2020-12-15 23:21:49 +0100Ariakenom(~Ariakenom@h-98-128-229-53.NA.cust.bahnhof.se) (Ping timeout: 260 seconds)
2020-12-15 23:22:14 +0100_ashbreeze_(~mark@184-157-32-85.dyn.centurytel.net)
2020-12-15 23:22:19 +0100ashbreeze(~mark@184-157-32-85.dyn.centurytel.net)
2020-12-15 23:23:13 +0100ashbreeze(~mark@184-157-32-85.dyn.centurytel.net) (Client Quit)
2020-12-15 23:23:16 +0100_ashbreeze_(~mark@184-157-32-85.dyn.centurytel.net) (Client Quit)
2020-12-15 23:23:46 +0100_ashbreeze_(~mark@184-157-32-85.dyn.centurytel.net)
2020-12-15 23:24:12 +0100philopsos(~caecilius@gateway/tor-sasl/caecilius) (Remote host closed the connection)
2020-12-15 23:24:18 +0100kenran(~kenran@i59F67BED.versanet.de) (Quit: leaving)
2020-12-15 23:24:49 +0100Ariakenom_(~Ariakenom@h-98-128-229-53.NA.cust.bahnhof.se) (Ping timeout: 264 seconds)
2020-12-15 23:26:10 +0100softwarm(4408f588@ip68-8-245-136.sd.sd.cox.net)
2020-12-15 23:27:21 +0100rprije(~rprije@14-203-203-69.tpgi.com.au) (Remote host closed the connection)
2020-12-15 23:27:41 +0100rprije(~rprije@14-203-203-69.tpgi.com.au)
2020-12-15 23:28:05 +0100quarters(~quarters@104-0-129-162.lightspeed.irvnca.sbcglobal.net) (Remote host closed the connection)
2020-12-15 23:30:34 +0100notzmv(~user@unaffiliated/zmv) (Ping timeout: 260 seconds)
2020-12-15 23:31:50 +0100Gigabitten(~Somn@098-127-002-172.res.spectrum.com)
2020-12-15 23:32:06 +0100fendor(~fendor@77.119.131.74.wireless.dyn.drei.com) (Read error: Connection reset by peer)
2020-12-15 23:32:25 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2020-12-15 23:32:59 +0100thc202(~thc202@unaffiliated/thc202) (Quit: thc202)
2020-12-15 23:33:09 +0100lekc(~Neuromanc@unaffiliated/neuromancer)
2020-12-15 23:33:39 +0100asdkkdd(~Neuromanc@unaffiliated/neuromancer)
2020-12-15 23:33:40 +0100cantstanya(~chatting@gateway/tor-sasl/cantstanya) (Remote host closed the connection)
2020-12-15 23:33:49 +0100philopsos(~caecilius@gateway/tor-sasl/caecilius)
2020-12-15 23:34:16 +0100olligobber(~olligobbe@unaffiliated/olligobber)
2020-12-15 23:34:47 +0100monadmatt(~user@119-17-128-101.771180.mel.nbn.aussiebb.net) (Remote host closed the connection)
2020-12-15 23:35:06 +0100monadmatt(~user@119-17-128-101.771180.mel.nbn.aussiebb.net)
2020-12-15 23:35:58 +0100cantstanya(~chatting@gateway/tor-sasl/cantstanya)
2020-12-15 23:36:52 +0100asdkkdd(~Neuromanc@unaffiliated/neuromancer) (Read error: Connection reset by peer)
2020-12-15 23:36:54 +0100lekc(~Neuromanc@unaffiliated/neuromancer) (Read error: Connection reset by peer)
2020-12-15 23:36:57 +0100Neuromancer(~Neuromanc@unaffiliated/neuromancer) (Read error: Connection reset by peer)
2020-12-15 23:37:23 +0100 <c_wraith> is there a way to pass rts arguments to the program being run by cabal run?
2020-12-15 23:37:23 +0100Neuromancer(~Neuromanc@unaffiliated/neuromancer)
2020-12-15 23:37:31 +0100Gigabitten(~Somn@098-127-002-172.res.spectrum.com) (Remote host closed the connection)
2020-12-15 23:38:22 +0100 <solonarv> c_wraith: cabal run my-program -- +RTS --some --rts=args -RTS --more arguments
2020-12-15 23:38:24 +0100 <dolio> c_wraith: Did you try --?
2020-12-15 23:38:28 +0100mbomba(~mbomba@bras-base-toroon2719w-grc-53-142-114-5-26.dsl.bell.ca)
2020-12-15 23:38:40 +0100 <c_wraith> yes, it told me there's no program named --
2020-12-15 23:39:04 +0100 <monochrom> I fear that the -- is to be as in "run -- my-program"
2020-12-15 23:39:16 +0100 <monochrom> even "run -- my-package:my-program"
2020-12-15 23:39:30 +0100 <dolio> Was it just `cabal run -- ...`? You might need to explicitly give the executable name.
2020-12-15 23:39:34 +0100Jesin(~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) (Quit: Leaving)
2020-12-15 23:39:44 +0100 <dolio> Even though you probably shouldn't need to.
2020-12-15 23:39:55 +0100 <c_wraith> ugh. there's only one executable. fix your argument parsing, cabal
2020-12-15 23:40:03 +0100 <monochrom> IKR?
2020-12-15 23:40:05 +0100monadmatt(~user@119-17-128-101.771180.mel.nbn.aussiebb.net) (Ping timeout: 268 seconds)
2020-12-15 23:40:48 +0100Neuromancer(~Neuromanc@unaffiliated/neuromancer) (Read error: Connection reset by peer)
2020-12-15 23:40:53 +0100monadmatt(~user@119-17-128-101.771180.mel.nbn.aussiebb.net)
2020-12-15 23:41:13 +0100Neuromancer(~Neuromanc@unaffiliated/neuromancer)
2020-12-15 23:42:18 +0100hiroaki(~hiroaki@ip4d168e73.dynamic.kabel-deutschland.de) (Ping timeout: 256 seconds)
2020-12-15 23:42:23 +0100Jesin(~Jesin@pool-72-66-101-18.washdc.fios.verizon.net)
2020-12-15 23:44:16 +0100jules000(~jules000@217-62-97-211.cable.dynamic.v4.ziggo.nl) (Remote host closed the connection)
2020-12-15 23:44:44 +0100jules000(~jules000@217-62-97-211.cable.dynamic.v4.ziggo.nl)
2020-12-15 23:44:57 +0100caubert(~mrbentari@207.246.80.112) (Quit: WeeChat 2.9)
2020-12-15 23:46:50 +0100mrbentarikau(~caubert@207.246.80.112)
2020-12-15 23:47:37 +0100hyperisco(~hyperisco@d192-186-117-226.static.comm.cgocable.net) (Ping timeout: 246 seconds)
2020-12-15 23:47:39 +0100mrbentarikau(~caubert@207.246.80.112) (Client Quit)
2020-12-15 23:48:09 +0100caubert(~caubert@207.246.80.112)
2020-12-15 23:48:32 +0100Ariakenom__(~Ariakenom@h-98-128-229-53.NA.cust.bahnhof.se) (Quit: Leaving)
2020-12-15 23:48:36 +0100_ashbreeze_(~mark@184-157-32-85.dyn.centurytel.net) (Remote host closed the connection)
2020-12-15 23:49:23 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-15 23:49:56 +0100_ashbreeze_(~mark@184-157-32-85.dyn.centurytel.net)
2020-12-15 23:54:16 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2020-12-15 23:55:02 +0100hiroaki(~hiroaki@ip4d16fa3b.dynamic.kabel-deutschland.de)
2020-12-15 23:56:28 +0100 <ezzieyguywuf> do ghc-boot and ghc-boot-th versions have to match? and does ghc-lib-parser-ex depend on a particular version of these?
2020-12-15 23:57:00 +0100 <ezzieyguywuf> reading through the cabal file of ghc-lib-parser-ex it doesn't specify a particular version, but I know for sure that ghc-boot-8.8 and ghc-boot-th-8.10 will cause ghc-lib-parser-ex to fail