Home freenode/#haskell: Logs Calendar

Logs on 2020-12-15 (freenode/#haskell)

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

All times are in UTC on 2020-12-15.