Home liberachat/#haskell: Logs Calendar

Logs on 2022-07-23 (liberachat/#haskell)

00:00:23 <yin> ansi-terminal-game is not up to the task
00:00:49 <Haskelytic> yin: what are you building?
00:01:25 <yin> interactive 2D simulation, like a litte experiment on the terminal
00:01:30 <Haskelytic> on a side note, I was exploring some libraries and when I do `:i Text` after importing `Data.Text` I see this "Data.Text.Internal.Text {-# UNPACK #-}Data.Text.Array.Array"
00:01:31 <yin> vty is next
00:01:41 <Haskelytic> what is that UNPACK stuff
00:01:58 <Haskelytic> yin: sounds cool, what are you simulating?
00:02:25 <geekosaur> it's a compiler pragma that tells ghc to unpack the Array constructor into the Text constructor
00:02:44 <geekosaur> it only works for strict fields with a single constructor
00:04:16 <Haskelytic> geekosaur: I'm guessing that's a way to unbox fields?
00:04:21 <Haskelytic> performance optimization?
00:04:35 mixfix41 joins (~sdenynine@user/mixfix41)
00:04:45 <Haskelytic> I saw two more UNPACKS but they were for `Int` fields
00:04:50 matthewmosior joins (~matthewmo@173.170.253.91)
00:07:18 henninb joins (~henninb@97-116-134-233.mpls.qwest.net)
00:07:39 × yin quits (~yin@user/zero) (Quit: leaving)
00:07:52 × henninb quits (~henninb@97-116-134-233.mpls.qwest.net) (Client Quit)
00:08:24 <Haskelytic> let's say I pass a `x = "foo" :: (IsString) s => s` into a function `g :: Text -> ()`. Is it correct to say that at the call site I have instantiated a `Text` value? If I understood the `OverloadedStrings` extension, `g x` would be equivalent to `g (fromString "foo")`
00:08:43 yin joins (~yin@user/zero)
00:08:49 henninb joins (~henninb@97-116-134-233.mpls.qwest.net)
00:09:19 × zzz quits (~yin@user/zero) (Quit: leaving)
00:10:00 × henninb quits (~henninb@97-116-134-233.mpls.qwest.net) (Client Quit)
00:10:15 henninb joins (~henninb@97-116-134-233.mpls.qwest.net)
00:12:22 × noteness quits (~noteness@user/noteness) (Write error: Connection reset by peer)
00:12:29 × stiell quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 268 seconds)
00:15:07 × henninb quits (~henninb@97-116-134-233.mpls.qwest.net) (Client Quit)
00:15:11 noteness joins (~noteness@user/noteness)
00:15:23 henninb joins (~henninb@97-116-134-233.mpls.qwest.net)
00:17:35 <geekosaur> Haskelytic, yes
00:17:50 <geekosaur> and you probably shouldn't use it unless you've profiled and know you need it
00:18:00 × henninb quits (~henninb@97-116-134-233.mpls.qwest.net) (Client Quit)
00:18:35 <geekosaur> and yes, your `x` will have been instantiated as a Text there
00:18:38 henninb joins (~henninb@97-116-134-233.mpls.qwest.net)
00:26:04 stiell joins (~stiell@gateway/tor-sasl/stiell)
00:26:09 audisarah joins (~audisarah@S01069050ca4e3573.cg.shawcable.net)
00:26:17 <audisarah> hi
00:26:27 × henninb quits (~henninb@97-116-134-233.mpls.qwest.net) (Quit: leaving)
00:26:31 quarkyalice joins (~quarkyali@user/quarkyalice)
00:26:47 <audisarah> are there any major software projects that use Haskell?
00:27:00 <geekosaur> pandoc?
00:27:01 <Haskelytic> GHC :)
00:27:05 × hounded_woodstoc quits (~hounded@2603-7000-da43-eccc-0000-0000-0000-0cec.res6.spectrum.com) (Quit: Leaving)
00:27:05 × hounded quits (~hounded@2603-7000-da43-eccc-0000-0000-0000-0cec.res6.spectrum.com) (Quit: Leaving)
00:27:16 <audisarah> pandoc?
00:27:22 <Haskelytic> oh yeah pandoc is great
00:27:27 <audisarah> Haskelytic: haha, good one
00:27:29 × quarkyalice quits (~quarkyali@user/quarkyalice) (Client Quit)
00:27:43 <geekosaur> it's probably the best known Haskell project
00:28:05 <audisarah> so no?
00:28:06 <geekosaur> hledger, git-annex, xmonad
00:28:26 <dsal> audisarah: what's the nature of your question?
00:28:32 <geekosaur> you hadn't heard of pandoc? I see it pretty much everywhere because it's the swiss army knife of document conversion
00:28:43 <audisarah> dsal: are there any major software projects written in Haskell?
00:28:54 <dsal> That's the words of your question, not the nature. :)
00:29:08 <audisarah> what do you mean 'nature'?
00:29:37 <dsal> This sounds like an XY problem. What are you hoping to find out?
00:29:42 <audisarah> you want me to type my own question? I mean, I'd guess it would be for my own information
00:29:54 <audisarah> or knowledge so I can decide if Haskell is worth learning
00:30:17 <dsal> So, whether or not Haskell is worth learning is an unrelated question, which is why I said it sounds like XY. :)
00:30:47 henninb joins (~henninb@97-116-134-233.mpls.qwest.net)
00:30:51 × henninb quits (~henninb@97-116-134-233.mpls.qwest.net) (Client Quit)
00:30:58 <dsal> If your only goal for learning something is to work on some major project you've heard of, then the question makes sense, but I don't think anyone here learned Haskell for that reason.
00:31:02 use-value1 joins (~Thunderbi@2a00:23c6:8a03:2f01:4df4:4757:dc2:3c10)
00:31:02 <audisarah> dsal: oh, are you a help desk technician?
00:31:18 henninb joins (~henninb@97-116-134-233.mpls.qwest.net)
00:31:24 <audisarah> I don't think my question has anything to do with help desk terminology
00:31:26 audisarah laughs
00:31:41 <dsal> Not sure what help desks have to do with anything.
00:32:03 <audisarah> "The XY problem is a communication problem encountered in help desk, technical suppor"
00:32:11 <Haskelytic> This is a strange conversation :)
00:32:18 × henninb quits (~henninb@97-116-134-233.mpls.qwest.net) (Client Quit)
00:32:19 <audisarah> sorry, I'm not too familiar with help desk terminology
00:32:29 <audisarah> I'm interested in software
00:32:46 <audisarah> was simply asking if Haskell was worth the commitment to learn
00:32:47 <dsal> The XY problem shows up in programming more than anything.
00:32:58 <Haskelytic> audisarah: That's kind of up to you to figure out.
00:33:07 <audisarah> ah, ok I think you've answered my question dsal
00:33:11 <dsal> Ah, no, you were asking about major projects using Haskell. That's the X. What you want to *know* is whether it's worth learning. That's the Y.
00:33:30 × gurkenglas quits (~gurkengla@dslb-002-203-144-112.002.203.pools.vodafone-ip.de) (Ping timeout: 272 seconds)
00:33:31 <dsal> It's worth learning if you want to be a better programmer.
00:33:42 × use-value quits (~Thunderbi@2a00:23c6:8a03:2f01:582e:8b1d:fe57:faee) (Ping timeout: 244 seconds)
00:33:43 use-value1 is now known as use-value
00:33:48 <audisarah> lol
00:34:01 <audisarah> what do you mean 'better programmer'?
00:34:05 <Haskelytic> dsal: citation needed :)
00:34:09 henninb joins (~henninb@97-116-134-233.mpls.qwest.net)
00:34:17 <audisarah> isn't that relative? better than what?
00:34:27 × henninb quits (~henninb@97-116-134-233.mpls.qwest.net) (Client Quit)
00:34:41 henninb joins (~henninb@97-116-134-233.mpls.qwest.net)
00:34:49 <dsal> Yes, better generally means relative to where you are. Having a broader understanding generally puts you in a better position than having a narrower understanding.
00:35:29 <Haskelytic> I can think of a pragmatic reason for you to learn. You ever seen APIs that claim to be functional and eschew OOPy patterns but look like somebody was trying to build a puzzler?
00:35:30 <dsal> It's hard to know what that means specifically for you without knowing more about your background, though.
00:35:38 <Haskelytic> Learn Haskell and those APIs will become easier to grok :)
00:36:07 × henninb quits (~henninb@97-116-134-233.mpls.qwest.net) (Client Quit)
00:36:27 henninb joins (~henninb@97-116-134-233.mpls.qwest.net)
00:36:27 × henninb quits (~henninb@97-116-134-233.mpls.qwest.net) (Client Quit)
00:36:36 <dsal> You can also see patterns that folks try to create, but can't because of language limitations. e.g., elm has functors, but can't express them explicitly, so it just uses a pattern. Most other languages just have lots of different things you have to do in different situations that can't be made common.
00:37:16 quarkyalice joins (~quarkyali@user/quarkyalice)
00:38:07 <dsal> There are classes of bugs in codebases I've worked on in the past that we just had to accept / try to teach people to stop writing. In my current codebase, we can just make them not compile and worry about bigger issues.
00:39:24 × quarkyalice quits (~quarkyali@user/quarkyalice) (Client Quit)
00:39:34 <audisarah> dsal: so you want to restrict peoples freedoms to program?
00:39:35 <audisarah> why?
00:40:00 <geekosaur> what?
00:40:06 <geekosaur> where did you get that from?
00:41:02 <audisarah> when you said you want to make certain patterns non-compilable?
00:41:14 <geekosaur> bugs should not compile
00:41:33 <dsal> Customers tend to not like production downtime that prevents their businesses from moving money.
00:42:23 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
00:42:37 <Haskelytic> audisarah: If it's any consolation, even the BDFL of Python said something along the lines of "python is a nightmare at scale"
00:42:39 geekosaur thinks this person is deliberately "mis"interpreting what is being said
00:43:01 <dsal> "restricting freedom" is a powerful tool that's not available as broadly in most languages.
00:43:09 <dsal> It's actually an incredibly powerful feature.
00:43:42 <Haskelytic> So even those pythonistas are now embracing types, albeit somewhat haphazardly
00:44:42 elmyr is now known as dy
00:49:58 × segfaultfizzbuzz quits (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 240 seconds)
00:51:20 × stiell quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 268 seconds)
00:51:43 <qrpnxz> newtype Feature = Feature (Bug)
00:51:49 <qrpnxz> problem solved 😎
00:52:28 × noteness quits (~noteness@user/noteness) (Remote host closed the connection)
00:52:33 <qrpnxz> coerce buggyFunction :: Featureful
00:55:20 × audisarah quits (~audisarah@S01069050ca4e3573.cg.shawcable.net) (Ping timeout: 252 seconds)
00:55:36 <dsal> Sure, but I can make `coerce` not work when it wouldn't be appropriate.
00:55:54 noteness joins (~noteness@user/noteness)
00:55:59 <dsal> Most of the time when, when I feel like GHC is being magic and powerful, it's about what it *prevents* people from writing.
00:56:42 <qrpnxz> nooo, did you just `type role Bug nominal` me? you win again...
00:57:03 <qrpnxz> 😁
00:57:26 <dsal> `coerce` has a bunch of names in this codebase for some reason.
01:00:49 segfaultfizzbuzz joins (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net)
01:02:30 × mmhat quits (~mmh@p200300f1c7055944ee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.6)
01:02:37 <Haskelytic> :t replicateM
01:02:38 <lambdabot> Applicative m => Int -> m a -> m [a]
01:02:51 <Haskelytic> the naming convention has been broken :)
01:03:00 <Haskelytic> why isn't it replicateA
01:05:00 <dsal> I assume it used to be constrained to Monad
01:05:31 <qrpnxz> well that's confusing
01:06:54 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
01:07:02 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
01:07:37 <cjay> Is there a way to profile only a single library, that is a dependency of a benchmark target? cabal seems to want profiling-versions of other dependencies when profiling is turned on (and doesn't even try to build them for some reason, maybe because of nix..)
01:07:38 <dsal> https://github.com/ghc/ghc/commit/741cf18a5e4ee5d0aa8afcab813441e7bcd4050c
01:08:00 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
01:08:21 <cjay> cabal.project options seem to never do what I want/expect. And it doesn't even complain.
01:08:34 quarkyalice joins (~quarkyali@user/quarkyalice)
01:08:47 <Haskelytic> dsal: oh wow nice find
01:09:48 <dsal> Yeah, Applicative came later, so it makes sense to see things like this. Keeping the names is reasonable, I guess.
01:09:59 stiell joins (~stiell@gateway/tor-sasl/stiell)
01:10:17 × quarkyalice quits (~quarkyali@user/quarkyalice) (Client Quit)
01:10:57 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
01:14:04 <qrpnxz> from how Data.Traversable is, i would more expect that those stay specialized and that new more general functions with different names get defined. (e.g. traverse vs mapM) Because of that experience, i wouldn't immediately have considered trying replicateM on an Applicative. Not the end of the world but just unexpected. So good to know.
01:14:12 audisarah joins (~audisarah@S01069050ca4e3573.cg.shawcable.net)
01:17:05 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
01:19:03 <cjay> when profiling an executable, are profiling-versions of ALL the dependencies required, even if I don't wont cost centers in any of the dependecies (except for one..)
01:21:04 kannon joins (~NK@74-95-14-193-SFBA.hfc.comcastbusiness.net)
01:22:08 kannon_ joins (~NK@74-95-14-193-SFBA.hfc.comcastbusiness.net)
01:22:23 × kannon quits (~NK@74-95-14-193-SFBA.hfc.comcastbusiness.net) (Read error: Connection reset by peer)
01:23:47 <dsal> I've never attempted profiling without wanting to know all cost centers.
01:24:14 <sm> cjay: yes
01:25:00 <cjay> dsal: having cost centers all over the place prevents inlinig, so you're profiling a very different program, according to this https://www.tweag.io/blog/2020-01-30-haskell-profiling/
01:25:57 <cjay> sm: thx, good to know.
01:26:29 <cjay> hmm, now I need to find a way to tell nix to rebuild everything with profiling :|
01:27:04 <cjay> AND tell it to not add cost centers. ugh.
01:37:13 matthewmosior joins (~matthewmo@173.170.253.91)
01:37:51 vysn joins (~vysn@user/vysn)
01:38:51 <qrpnxz> i think that's a couple of keystrokes on emacs 😁
01:39:27 × kannon_ quits (~NK@74-95-14-193-SFBA.hfc.comcastbusiness.net) (Ping timeout: 244 seconds)
01:41:24 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
01:41:36 × hosk1 quits (~goober@90-231-13-185-no3430.tbcn.telia.com) (Quit: WeeChat 3.5)
01:41:51 hosk1 joins (~goober@90-231-13-185-no3430.tbcn.telia.com)
01:51:02 matthewmosior joins (~matthewmo@173.170.253.91)
01:51:20 naso joins (~naso@193-116-244-197.tpgi.com.au)
01:53:32 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 268 seconds)
01:54:46 × segfaultfizzbuzz quits (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 268 seconds)
01:56:55 segfaultfizzbuzz joins (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net)
02:01:59 <qrpnxz> just now learning the async library. The thing is awesome. withAsync ❤️
02:07:25 × Chai-T-Rex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection)
02:07:25 × noteness quits (~noteness@user/noteness) (Write error: Broken pipe)
02:07:25 × adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Write error: Broken pipe)
02:07:25 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Write error: Broken pipe)
02:07:25 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Write error: Broken pipe)
02:07:25 × califax quits (~califax@user/califx) (Write error: Broken pipe)
02:07:25 × winny quits (~weechat@user/winny) (Write error: Broken pipe)
02:07:25 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Write error: Broken pipe)
02:07:25 × stiell quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
02:07:25 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
02:07:25 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
02:08:21 <audisarah> Haskelytic: bro, Haskell will never, ever be the authority on types lol
02:08:23 <dsal> Oh yeah, there's a lot of good stuff in there
02:08:26 <audisarah> as much as you try
02:08:33 <audisarah> C++ and C will always be the authority
02:08:58 <audisarah> and please don't mistake type theory with Haskell:)
02:09:01 × segfaultfizzbuzz quits (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 268 seconds)
02:09:03 <dsal> It's easier to troll when you say things that aren't so obviously stupid.
02:09:24 <audisarah> dsal: which part? that type theory =/= Haskell?
02:09:56 <audisarah> or that I'd trust a C++ programmer of a Haskell programmer on a practical project when it comes to advice on types
02:10:21 chexum joins (~quassel@gateway/tor-sasl/chexum)
02:10:23 adanwan joins (~adanwan@gateway/tor-sasl/adanwan)
02:10:28 califax joins (~califax@user/califx)
02:10:31 azimut joins (~azimut@gateway/tor-sasl/azimut)
02:10:32 noteness joins (~noteness@user/noteness)
02:10:34 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
02:10:34 stiell joins (~stiell@gateway/tor-sasl/stiell)
02:10:37 winny joins (~weechat@user/winny)
02:10:42 Chai-T-Rex joins (~ChaiTRex@user/chaitrex)
02:10:51 jpds joins (~jpds@gateway/tor-sasl/jpds)
02:11:22 <audisarah> at this point I'd consider Haskell a failed project
02:11:50 <audisarah> it was certainly admirable to try and take type theory into mainstream but
02:11:55 <audisarah> OCaml has done far more in that regard
02:12:03 <audisarah> maybe in 300 years I'll be wrong
02:12:13 <audisarah> but no, I'm not trolling?
02:12:20 <audisarah> are you?
02:12:21 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
02:13:28 × noteness quits (~noteness@user/noteness) (Remote host closed the connection)
02:15:52 noteness joins (~noteness@user/noteness)
02:19:18 <audisarah> like OCaml might even be more niche than Haskell but
02:19:26 <audisarah> at least me and my friends have fucking heard of OCaml
02:19:29 <audisarah> and it has that respect
02:19:44 kannon joins (~NK@135-180-47-54.fiber.dynamic.sonic.net)
02:19:48 <audisarah> cause it was the first
02:20:04 <qrpnxz> C authority on types? What?
02:20:22 <qrpnxz> C types amount to a sticker pack lol
02:20:27 <audisarah> qrpnxz: you can program *any* type in C
02:20:46 <audisarah> not saying C has strict types lol
02:20:54 <qrpnxz> I can't parameterize any type in C so already way behind
02:21:22 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 268 seconds)
02:21:25 <audisarah> you can even program GHC in C, of course you can parametrize types in C
02:21:30 <audisarah> simple matter of abstraction
02:21:47 <qrpnxz> mmm, no you can't. C just doesn't have that feature.
02:21:59 <audisarah> lol wait waht
02:22:04 <audisarah> You can't program GHC in C?
02:22:08 <audisarah> is that what youre saying?
02:22:16 <qrpnxz> yeah, choose the one that doesn't make sense.
02:22:18 <qrpnxz> very honest
02:23:46 <audisarah> qrpnxz: GHC was written in C so what exactly does Haskell add? besides an abstraction written on top of C
02:23:47 <audisarah> I'm confused
02:23:52 jpds joins (~jpds@gateway/tor-sasl/jpds)
02:24:35 <qrpnxz> hasn't ghc been bootstrapped to haskell for a while now
02:25:00 <qrpnxz> even if it wasn't i don't get your point though
02:25:47 <audisarah> all I said was you could program any type in C
02:25:50 <audisarah> or even GHC itself
02:25:58 <audisarah> am I wrong?
02:26:16 <qrpnxz> could you explain what you mean exactly by "program any type"
02:27:08 <dsal> qrpnxz: trolls just want to waste your time. It's pretty clear this person has no interest in actual programming topics and shouldn't be taken seriously.
02:27:22 <audisarah> I mean, any type that Haskell implements could be programmed in C via native code or LLVM back-end since GHC is programmed in C
02:27:28 <audisarah> or bootstrapped in C in later versions
02:27:40 <audisarah> so therefore Haskell is really just a big abstraction on top of C
02:27:41 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
02:27:41 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
02:27:41 finn_elija is now known as FinnElija
02:27:43 <audisarah> when you think about it
02:27:56 <EvanR> function types in C are pretty painful
02:27:57 <audisarah> the rest is just human terminology
02:28:08 × cheater quits (~Username@user/cheater) (Read error: Connection reset by peer)
02:28:11 <monochrom> Why C? Why not go straight to machine code?
02:28:19 <qrpnxz> i would calculate any c program on a piece of paper, so really c is just a big abstraction on top of my pencil
02:28:21 <monochrom> And what is your point?
02:28:38 <monochrom> And yeah what qrpnxz says.
02:28:47 <monochrom> Although, I think Turing said it first :)
02:28:50 cheater joins (~Username@user/cheater)
02:28:52 <qrpnxz> lol
02:28:57 <audisarah> so then why not just use pure Lambda calculus?
02:29:03 <audisarah> if its just a big abstraction on top of your pencil
02:29:04 <audisarah> lol
02:29:23 <audisarah> what does Haskell offer that C doesn't and OCaml doesn't
02:29:29 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
02:29:29 <audisarah> in terms of major software accomplishments?
02:29:34 <audisarah> besides GHC itself
02:29:38 <monochrom> Yes this whole "debate" or "discussion" or whatever you euphemise it is pointless. Can we move on now?
02:29:43 <EvanR> space leaks mattering more than memory leaks
02:30:01 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
02:30:36 audisarah is a HUGE fan of type theory btw
02:31:00 audisarah is a HUGE fan of C, lisp, lambda calculus, OCaml.
02:31:12 <qrpnxz> Haskell is just so much nicer to write for a lot of kinds of programs. Just basic datastructures alone are a reason to avoid C. Hey, i like C too, but Haskell is very convenient and nice from a pragmatic point of view compare to C.
02:31:24 <monochrom> Haskell offers me less chore than C, and even less chore than OCaml.
02:31:53 <monochrom> But that will not convince you because you're in reductionist mode anyway.
02:32:29 <audisarah> no, I think I understand and agree with you monochrom
02:32:32 <monochrom> Yeah I don't know why I'm feeding this.
02:32:33 <qrpnxz> EvanR: i like left Twix more than Right Twix personally
02:32:38 <audisarah> I understand benefits of Haskell to certain users
02:32:44 <audisarah> that aren't familiar with OCaml or dont care to learn
02:32:55 <audisarah> and aren't going to code the next GHC
02:33:15 <audisarah> im just wondering then, what will it accomplish in future as a high level functional language?
02:33:48 <audisarah> what is the point, if any. will it inspire new functional languages beyond what common lisp or closure has inspired?
02:33:55 <qrpnxz> i've looked very briefly at ocaml and it's pretty ugly (what i have seen anyway). It's also OOP iirc? (I know very very little about it sorry) It just seem like a way of working rather different from haskell. I like haskell way better afaik
02:34:05 <audisarah> or will it enable more academic research into type theory that dwarfs OCaml
02:34:12 <audisarah> or will it be eventually faster than C
02:34:27 <monochrom> Actually in terms of statically typed OOP, OCaml does it justice and beauty.
02:34:27 <audisarah> what does it contribute to our understanding of cs?
02:34:41 <qrpnxz> monochrom: also, is ocaml eager?
02:34:41 <monochrom> (For dynamically typed OOP, Smalltalk)
02:34:42 <dsal> I programmed in ocaml 20 years ago or so. It's not terrible, but I don't really want to do that professionally again right now.
02:34:45 <monochrom> Yes.
02:34:54 <qrpnxz> ah yes see. I really like lazy
02:35:09 <qrpnxz> well good to know about the oop. I may try ocaml some day
02:35:20 <audisarah> the idea of Haskell for large software projects I think is a myth
02:35:32 <dsal> There are neat parts, but I hit a few nasty parts in production.
02:35:34 <audisarah> maybe in 300 years but then it will have been replaced
02:35:41 <audisarah> so what does it inspire?
02:35:43 <audisarah> or do
02:37:59 <qrpnxz> if nobody used haskell, i'd use it.
02:38:09 <qrpnxz> not being super big kind of a feature sometimes too lol
02:38:59 <dsal> For sure, there are a lots of things that could be fixed if nobody used it. :)
02:39:11 <qrpnxz> heh indeed
02:39:36 <monochrom> haha that's depraved
02:40:16 <monochrom> "Is that stop-the-world GC?" butterfly man meme
02:40:30 <dsal> They fixed simplified subsumption and now they're going to fix fixing simplified subsumption.
02:40:40 <qrpnxz> lol
02:41:05 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 268 seconds)
02:41:08 <qrpnxz> monochrom: i just understood your comment lmao
02:41:51 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection)
02:42:02 <monochrom> Yeah it was not an obvious connection. I was inspired by something a student ran into yesterday.
02:43:24 <monochrom> I taught fork() in a Unix-and-C course. A student experimented with a fork bomb. Then he regretted it because now he couldn't kill it. Main issue: Spawn rate exceeded kill rate.
02:44:02 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
02:44:08 <monochrom> Later he found a solution: SIGSTOP them first, then you have a better chance killing them.
02:45:09 × mzan quits (~quassel@mail.asterisell.com) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
02:45:18 <monochrom> Lesson learned: Fork bombs, garbage, and Haskell can all be easily fixed, if only you could just freeze everyone.
02:46:20 <dsal> SIGSTOP on a forkbomb is basically a hiring freeze.
02:46:28 mzan joins (~quassel@mail.asterisell.com)
02:46:32 <monochrom> hehe
02:48:21 segfaultfizzbuzz joins (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net)
02:49:08 <qrpnxz> :(){ :|:& };:
02:49:10 <qrpnxz> :)
02:49:58 <monochrom> Hmm I should use that for my other nick.
02:50:10 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 240 seconds)
02:50:26 yauhsien joins (~yauhsien@61-231-44-121.dynamic-ip.hinet.net)
02:50:50 <qrpnxz> 😁
02:52:39 <sm> audisarah: Haskell was used to build a very robust blockchain (cardano). I think it would have been hard to do this in another language.
02:52:41 × td_ quits (~td@94.134.91.35) (Ping timeout: 244 seconds)
02:54:08 dcoutts_ joins (~duncan@host86-171-69-210.range86-171.btcentralplus.com)
02:54:49 td_ joins (~td@muedsl-82-207-238-135.citykom.de)
02:55:32 <sclv> i do not think so, and rather wish they had built it in another language
02:56:08 × causal quits (~user@2001:470:ea0f:3:329c:23ff:fe3f:1e0e) (Quit: WeeChat 3.5)
02:56:26 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
02:56:47 <dsal> Heh. It did make way too many jobs that look like scams
02:56:50 × dcoutts quits (~duncan@host86-150-18-49.range86-150.btcentralplus.com) (Ping timeout: 260 seconds)
02:58:03 × winny quits (~weechat@user/winny) (Remote host closed the connection)
02:58:03 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
02:58:03 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Write error: Connection reset by peer)
02:58:17 × segfaultfizzbuzz quits (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 268 seconds)
02:59:13 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection)
02:59:44 bilegeek_ joins (~bilegeek@225.sub-174-208-229.myvzw.com)
02:59:56 <qrpnxz> sm: see, i would use that as an example except i don't respect cardano lol
03:01:58 × bilegeek quits (~bilegeek@2600:1008:b021:fa10:a7a7:bc63:5a2:d855) (Ping timeout: 240 seconds)
03:06:04 × zaquest quits (~notzaques@5.130.79.72) (Remote host closed the connection)
03:06:16 kannon parts (~NK@135-180-47-54.fiber.dynamic.sonic.net) ()
03:07:26 jpds joins (~jpds@gateway/tor-sasl/jpds)
03:07:42 winny joins (~weechat@user/winny)
03:07:54 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
03:09:19 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
03:12:06 zaquest joins (~notzaques@5.130.79.72)
03:15:14 kannon joins (~NK@135-180-47-54.fiber.dynamic.sonic.net)
03:16:58 × vysn quits (~vysn@user/vysn) (Ping timeout: 240 seconds)
03:19:00 × yauhsien quits (~yauhsien@61-231-44-121.dynamic-ip.hinet.net) (Remote host closed the connection)
03:19:52 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 268 seconds)
03:23:53 nate4 joins (~nate@98.45.169.16)
03:24:39 matthewmosior joins (~matthewmo@173.170.253.91)
03:29:33 × nate4 quits (~nate@98.45.169.16) (Ping timeout: 276 seconds)
03:33:43 yauhsien joins (~yauhsien@61-231-44-121.dynamic-ip.hinet.net)
03:34:16 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5)
03:35:45 meow_mew joins (uid562569@id-562569.ilkley.irccloud.com)
03:35:59 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 268 seconds)
03:35:59 × califax quits (~califax@user/califx) (Ping timeout: 268 seconds)
03:37:13 × stiell quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 268 seconds)
03:37:50 × noteness quits (~noteness@user/noteness) (Ping timeout: 268 seconds)
03:37:50 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 268 seconds)
03:37:50 × Chai-T-Rex quits (~ChaiTRex@user/chaitrex) (Ping timeout: 268 seconds)
03:37:50 × adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 268 seconds)
03:38:27 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 268 seconds)
03:48:14 × machinedgod quits (~machinedg@d172-219-86-154.abhsia.telus.net) (Ping timeout: 268 seconds)
03:55:15 quarkyalice joins (~quarkyali@user/quarkyalice)
03:56:15 × yauhsien quits (~yauhsien@61-231-44-121.dynamic-ip.hinet.net) (Remote host closed the connection)
04:01:02 × kannon quits (~NK@135-180-47-54.fiber.dynamic.sonic.net) (Quit: leaving)
04:01:42 yauhsien joins (~yauhsien@61-231-44-121.dynamic-ip.hinet.net)
04:06:48 × yauhsien quits (~yauhsien@61-231-44-121.dynamic-ip.hinet.net) (Ping timeout: 268 seconds)
04:10:25 stiell joins (~stiell@gateway/tor-sasl/stiell)
04:11:20 × naso quits (~naso@193-116-244-197.tpgi.com.au) (Remote host closed the connection)
04:12:24 naso joins (~naso@193-116-244-197.tpgi.com.au)
04:12:47 azimut joins (~azimut@gateway/tor-sasl/azimut)
04:12:50 chexum joins (~quassel@gateway/tor-sasl/chexum)
04:12:53 adanwan joins (~adanwan@gateway/tor-sasl/adanwan)
04:13:28 noteness joins (~noteness@user/noteness)
04:15:55 califax joins (~califax@user/califx)
04:16:55 × adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
04:17:08 <yin> why do people hate block-chain?
04:17:16 adanwan joins (~adanwan@gateway/tor-sasl/adanwan)
04:17:17 × naso quits (~naso@193-116-244-197.tpgi.com.au) (Ping timeout: 268 seconds)
04:17:18 radhika joins (uid560836@id-560836.helmsley.irccloud.com)
04:17:43 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
04:18:20 <dsal> Because it's incredibly wasteful scams that don't solve any problems.
04:18:53 <slack1256> Wait until you learn about the ad business.
04:18:54 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
04:18:54 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
04:18:54 × stiell quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
04:18:54 × winny quits (~weechat@user/winny) (Remote host closed the connection)
04:19:11 azimut joins (~azimut@gateway/tor-sasl/azimut)
04:19:16 stiell joins (~stiell@gateway/tor-sasl/stiell)
04:19:46 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
04:19:51 <dsal> Yeah, I used to work in ads. Crap, but much more honest crap.
04:20:04 <slack1256> There is a lattice of crap.
04:20:21 <slack1256> err semi-order
04:21:37 winny joins (~weechat@user/winny)
04:22:40 × matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection)
04:22:48 matthewmosior joins (~matthewmo@173.170.253.91)
04:23:34 × quarkyalice quits (~quarkyali@user/quarkyalice) (Quit: quarkyalice)
04:24:40 × waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 272 seconds)
04:25:19 <qrpnxz> ad sounds bad until you need to sell something
04:25:38 quarkyalice joins (~quarkyali@user/quarkyalice)
04:27:06 <monochrom> There are some ads I really like, they're well-made. But #haskell-offtopic.
04:27:15 polo joins (~textual@user/polo)
04:28:24 segfaultfizzbuzz joins (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net)
04:29:19 × matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection)
04:29:33 yauhsien joins (~yauhsien@61-231-44-121.dynamic-ip.hinet.net)
04:29:48 Chai-T-Rex joins (~ChaiTRex@user/chaitrex)
04:31:16 × polo quits (~textual@user/polo) (Read error: Connection reset by peer)
04:31:34 Guest3 joins (~textual@pool-100-34-212-74.phlapa.fios.verizon.net)
04:35:35 matthewmosior joins (~matthewmo@173.170.253.91)
04:36:31 off^ joins (~off@75-147-198-169-Atlanta.hfc.comcastbusiness.net)
04:37:29 × quarkyalice quits (~quarkyali@user/quarkyalice) (Quit: quarkyalice)
04:39:46 × audisarah quits (~audisarah@S01069050ca4e3573.cg.shawcable.net) (Quit: Client closed)
04:42:04 × Guest3 quits (~textual@pool-100-34-212-74.phlapa.fios.verizon.net) (Read error: Connection reset by peer)
04:43:14 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
04:45:13 quarkyalice joins (~quarkyali@user/quarkyalice)
04:45:56 takuan joins (~takuan@178-116-218-225.access.telenet.be)
04:47:39 × yauhsien quits (~yauhsien@61-231-44-121.dynamic-ip.hinet.net) (Ping timeout: 272 seconds)
04:49:12 <yin> is there nothing good about blockchains?
04:49:43 <dsal> I think git is ok
04:49:44 <yin> or is the technology just infamously misused?
04:49:45 notzmv joins (~zmv@user/notzmv)
04:50:28 <qrpnxz> merkle trees are neat-o, proof of work is interesting, zero-knowledge proofs are great. I can say these things, but "blockchain"?
04:52:05 × quarkyalice quits (~quarkyali@user/quarkyalice) (Read error: Connection reset by peer)
04:54:05 <qrpnxz> hard to say anything meaningful about "blockchain(s)". Like, in particular Bitcoin? And even then like in particular what about Bitcoin's protocal, or what property of the network, or what?
04:55:35 <monochrom> Oh! Conclusion: Therefore we should use Haskell for the ad business instead! >:)
04:56:17 <dsal> I tried that, but Google is really conservative about what languages they trust programmers with
04:56:32 <davean> blockchains are about the worst distributed system implimentation.
04:56:34 <monochrom> Ah yeah.
04:56:56 <jargon> How do I get an angle from a unit vector?
04:57:14 Guest3 joins (~textual@pool-100-34-212-74.phlapa.fios.verizon.net)
04:57:18 <monochrom> Another thought: Would you like to hear that IMO all of programming is a scam in the first place anyway? >:)
04:57:42 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Quit: No Ping reply in 180 seconds.)
04:57:43 <dsal> jargon: are you using dimensional or something?
04:58:12 <jargon> This is what I have so far: https://pastebin.com/uPg8mfbz
04:58:28 <dsal> monochrom: programmers more than programming. I'll tell you how easy a problem is until it's mine
04:58:51 <monochrom> True that.
04:58:52 matthewmosior joins (~matthewmo@173.170.253.91)
04:58:57 <dsal> jargon: I don't know that language
04:59:15 chexum joins (~quassel@gateway/tor-sasl/chexum)
04:59:42 <jargon> BASIC is Beginner's All-Purpose Instruction Code, it is industry standard as pseudo-code.
05:00:11 <dsal> Weird. I've never been an in industry that did that. Heh
05:00:30 <monochrom> Ugh are you inviting help or are you looking for quarrels, what's your point.
05:00:41 talismanick joins (~talismani@2601:200:c100:3850::dd64)
05:01:05 <jargon> I would like to capture the angle based off the unit vector provided by that routine.
05:01:24 <talismanick> Is there an update/modern counterpart to Okasaki's thesis?
05:02:00 <slack1256> talismanick: Last time I saw, his book was the latest version.
05:03:24 <talismanick> slack1256: I can't say I understand what you mean... I don't see additional editions on the web
05:03:40 <talismanick> and, I'm sure the SoTA is quite different now from 1999
05:05:24 × adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 268 seconds)
05:05:34 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Quit: No Ping reply in 180 seconds.)
05:06:03 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Quit: ZNC - https://znc.in)
05:06:25 azimut joins (~azimut@gateway/tor-sasl/azimut)
05:06:36 adanwan joins (~adanwan@gateway/tor-sasl/adanwan)
05:07:15 × stiell quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 268 seconds)
05:07:45 <EvanR> jargon, categorical error... an angle is a thing between two vectors
05:08:23 <EvanR> you can compute it using the dot product
05:08:35 <talismanick> and, you need inner product space structure for that
05:09:02 <EvanR> if you haven't already, define the dot product xD
05:09:04 stiell joins (~stiell@gateway/tor-sasl/stiell)
05:09:10 <talismanick> (idk what you mean by "vector" in this context - just got here)
05:09:47 <EvanR> jargon is a user, might be confusing
05:09:48 <monochrom> It is the inner product space kind of vector, don't worry :)
05:10:40 <jargon> EvanR I am trying to capture the normal vector as a rotation of 0 thru 1?
05:10:57 × noteness quits (~noteness@user/noteness) (Ping timeout: 268 seconds)
05:11:27 × Guest3 quits (~textual@pool-100-34-212-74.phlapa.fios.verizon.net) (Quit: My MacBook has gone to sleep. ZZZzzz…)
05:11:39 <EvanR> a normal vector
05:11:44 <EvanR> that's easy. 90
05:12:05 <jargon> :
05:12:07 <jargon> :|
05:12:07 chexum joins (~quassel@gateway/tor-sasl/chexum)
05:12:11 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 268 seconds)
05:12:21 <jargon> --> https://pastebin.com/uPg8mfbz <--
05:12:53 <EvanR> wait what language is this
05:12:58 <jargon> BASIC.
05:13:41 <EvanR> you don't have to yell!
05:13:48 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
05:13:48 <monochrom> :)
05:14:22 <monochrom> I think that people who used to know that all-caps can mean yelling are near extinction.
05:14:53 Guest3 joins (~textual@pool-100-34-212-74.phlapa.fios.verizon.net)
05:15:11 noteness joins (~noteness@user/noteness)
05:17:35 <jargon> My computer is constantly yelling at me about nonexistent virus warnings.
05:18:03 <Haskelytic> jargon: you should go full terry davis and exorcise your machine :)
05:18:21 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 268 seconds)
05:18:43 <slack1256> Haskelytic: Glowie :-)
05:19:29 <slack1256> God, terry was ahead this whole bunch of poser schizo-posters </s>
05:20:36 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
05:20:42 <jargon> Terry refused to take medication and ran from the law.
05:20:59 <slack1256> I was reading about finger trees the other day. For amorized analysis, they always study the same operation (say 'snoc') and its performance when applied repetedly n-times. Is this standard analysis? or are there other ways to study a mix of different operations?
05:22:43 <jargon> Notice, there doesn't seem to be any out in the public videos of Terry.
05:23:08 <monochrom> Perhaps snoc represents the hardest scenerio for finger trees. I don't actually know, I'm guessing.
05:23:47 × segfaultfizzbuzz quits (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 255 seconds)
05:24:11 <monochrom> But generally speaking we have the banker's method and we have the potential method. (They are described in Okasaki's as well as all data structure books in their amortization chapters.)
05:24:15 <yin> wait caps isn't yelling anymore?
05:24:23 <yin> WDYM?
05:24:32 <monochrom> Both methods are designed to let you freely mix different operations.
05:25:10 <slack1256> I probably mis-read the banker's method then :-(
05:25:28 slack1256 goes to the library to get Okasaki's
05:25:41 john joins (~john@115.96.217.40)
05:25:50 × Guest3 quits (~textual@pool-100-34-212-74.phlapa.fios.verizon.net) (Quit: My MacBook has gone to sleep. ZZZzzz…)
05:26:33 <jargon> How do I use take a given x and y cartesian coordinate and measure the rotation of the end point from the origin as a rotation of zero thru one?
05:26:36 <slack1256> Oh, you mean as you can define the debit structure for all the operations, that is the common currency any mix of operations should spend and save.
05:26:52 <jargon> How do I use take a given x and y cartesian coordinate and measure the rotation of the end point from the origin as a measure of zero thru one?
05:26:54 <monochrom> Yeah!
05:28:57 × zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!)
05:29:15 × raym quits (~raym@user/raym) (Ping timeout: 244 seconds)
05:29:18 <jargon> The flavor of BASIC I program in is called FreeBASIC "TK22"
05:30:57 raym joins (~raym@user/raym)
05:31:22 <jargon> For "TK22"; For/Next/Gosub/Goto/If/Then/Else are all deprecated.
05:32:16 <jargon> In "TK22"; For/Next/Step/Gosub/Goto/If/Then/Else/Return/On/Call are all deprecated.
05:33:09 <monochrom> Unpopular Opinion: Good riddance. Every step towards "all of BASIC is deprecated" is progress.
05:33:55 <monochrom> Although, my heart still has a soft spot for https://hackage.haskell.org/package/basic
05:34:01 segfaultfizzbuzz joins (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net)
05:37:24 <monochrom> Yikes, I guess case matters. Here be more yelling: it should be https://hackage.haskell.org/package/BASIC
05:42:30 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:c19d:5429:582b:ef6e) (Remote host closed the connection)
05:44:48 Guest3 joins (~textual@pool-100-34-212-74.phlapa.fios.verizon.net)
05:48:02 <qrpnxz> lol it's actually BASIC
05:49:36 <jargon> monochrom, My "TK" implementation of FreeBASIC is exponentially faster.
05:50:02 <jargon> "TK22" *
05:51:57 astra is now known as amish
05:52:03 <jargon> It is advised to declare a variable after the start of a function definition, assign its initial values before use, then from there-on interface the variables.
05:52:05 × amish quits (sid289983@id-289983.hampstead.irccloud.com) (Changing host)
05:52:05 amish joins (sid289983@user/amish)
05:52:20 amish is now known as astra
05:55:18 × segfaultfizzbuzz quits (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 240 seconds)
06:01:16 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
06:02:17 matthewmosior joins (~matthewmo@173.170.253.91)
06:02:24 use-value1 joins (~Thunderbi@2a00:23c6:8a03:2f01:4df4:4757:dc2:3c10)
06:03:58 × use-value quits (~Thunderbi@2a00:23c6:8a03:2f01:4df4:4757:dc2:3c10) (Ping timeout: 268 seconds)
06:03:58 use-value1 is now known as use-value
06:05:03 <jargon> Again, how do I capture the 0 thru 1 rotation of the end-point of a cartesian coordinate about the origin?
06:05:46 <jargon> I can't do crap until I get this working.
06:06:56 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
06:07:01 × pavonia quits (~user@user/siracusa) (Read error: Connection reset by peer)
06:09:17 pavonia joins (~user@user/siracusa)
06:13:18 gmg joins (~user@user/gehmehgeh)
06:14:09 × Guest3 quits (~textual@pool-100-34-212-74.phlapa.fios.verizon.net) (Quit: My MacBook has gone to sleep. ZZZzzz…)
06:14:48 naso joins (~naso@193-116-244-197.tpgi.com.au)
06:16:30 × Vajb quits (~Vajb@n1zigc3rgo9mpde2w-1.v6.elisa-mobile.fi) (Read error: Connection reset by peer)
06:16:44 Vajb joins (~Vajb@hag-jnsbng11-58c3ad-40.dhcp.inet.fi)
06:18:14 jinsun__ joins (~jinsun@user/jinsun)
06:18:14 jinsun is now known as Guest2224
06:18:14 jinsun__ is now known as jinsun
06:19:39 × john quits (~john@115.96.217.40) (Remote host closed the connection)
06:20:55 × Guest2224 quits (~jinsun@user/jinsun) (Ping timeout: 244 seconds)
06:22:23 matthewmosior joins (~matthewmo@173.170.253.91)
06:23:07 <jargon> This is what I wanted to do: http://puzzlum.org/3D%20Floor//vault/3D%20Floor%20Space/vods/2022-06-15_15-52-09.mp4
06:23:42 × naso quits (~naso@193-116-244-197.tpgi.com.au) (Ping timeout: 268 seconds)
06:26:32 segfaultfizzbuzz joins (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net)
06:27:08 <jargon> This: (Sorry for the prior bugged hyperlink) http://puzzlum.org/3D%20Floor/vault/3D%20Floor%20Space/vods/2022-06-15_15-52-09.mp4
06:34:44 × segfaultfizzbuzz quits (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 268 seconds)
06:41:33 Guest3 joins (~textual@pool-100-34-212-74.phlapa.fios.verizon.net)
06:42:50 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:c19d:5429:582b:ef6e)
06:47:29 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:c19d:5429:582b:ef6e) (Ping timeout: 255 seconds)
06:49:30 × Guest3 quits (~textual@pool-100-34-212-74.phlapa.fios.verizon.net) (Read error: Connection reset by peer)
06:50:27 _ht joins (~quassel@231-169-21-31.ftth.glasoperator.nl)
06:50:32 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
07:07:21 × slack1256 quits (~slack1256@186.11.19.31) (Remote host closed the connection)
07:09:04 kuribas joins (~user@ptr-17d51eoy2a996494wfb.18120a2.ip6.access.telenet.be)
07:09:20 segfaultfizzbuzz joins (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net)
07:11:31 jakalx parts (~jakalx@base.jakalx.net) ()
07:13:00 × Haskelytic quits (~Haskelyti@118.179.211.17) (Ping timeout: 252 seconds)
07:13:39 × talismanick quits (~talismani@2601:200:c100:3850::dd64) (Ping timeout: 268 seconds)
07:13:57 × segfaultfizzbuzz quits (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 272 seconds)
07:16:42 × jrm quits (~jrm@user/jrm) (Quit: ciao)
07:17:00 jrm joins (~jrm@user/jrm)
07:17:52 famubu joins (~famubu@user/famubu)
07:20:09 <famubu> Hi. I was trying to see how package management is done with cabal. I got a haskell package providing an executable. Is there a way to run a command using this executable via cabal on a new package being made with cabal?
07:22:20 <maerwald[m]> famubu: cabal run
07:22:31 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
07:24:01 naso joins (~naso@193-116-244-197.tpgi.com.au)
07:25:04 <famubu> So a cabal.project file is needed?
07:25:31 <famubu> I mean when I tried `cabal run <external-executable>` I got a message saying that.
07:25:32 nate4 joins (~nate@98.45.169.16)
07:26:23 <famubu> Like this: Cannot run the package pack-name, it is not in this project (either directly or indirectly). If you want to add it to the project then edit the cabal.project file.
07:26:38 × jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 255 seconds)
07:30:51 × nate4 quits (~nate@98.45.169.16) (Ping timeout: 268 seconds)
07:35:49 matthewmosior joins (~matthewmo@173.170.253.91)
07:39:19 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
07:40:32 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
07:46:18 king_gs joins (~Thunderbi@187.201.95.222)
07:47:27 × king_gs quits (~Thunderbi@187.201.95.222) (Client Quit)
07:47:38 × mvk quits (~mvk@2607:fea8:5ce3:8500::909a) (Ping timeout: 240 seconds)
07:50:30 <Noinia> I'm playing with folds from the lens package. Is there an easy way to transform a 'Fold s a' into a 'Fold s b' by appling some given function f :: a -> b to all elements that the fold will visit?
07:52:34 jinsun__ joins (~jinsun@user/jinsun)
07:52:34 jinsun is now known as Guest3745
07:52:34 jinsun__ is now known as jinsun
07:53:50 × naso quits (~naso@193-116-244-197.tpgi.com.au) (Ping timeout: 240 seconds)
07:54:16 benin0 joins (~benin@183.82.24.158)
07:55:27 × Guest3745 quits (~jinsun@user/jinsun) (Ping timeout: 244 seconds)
07:57:00 × radhika quits (uid560836@id-560836.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
07:59:16 segfaultfizzbuzz joins (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net)
08:04:09 × segfaultfizzbuzz quits (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 268 seconds)
08:04:48 × bilegeek_ quits (~bilegeek@225.sub-174-208-229.myvzw.com) (Quit: Leaving)
08:05:15 × famubu quits (~famubu@user/famubu) (Ping timeout: 272 seconds)
08:09:08 mc47 joins (~mc47@xmonad/TheMC47)
08:09:26 vysn joins (~vysn@user/vysn)
08:10:35 matthewmosior joins (~matthewmo@173.170.253.91)
08:11:47 <kuribas> tomsmeding: the documentation is available now :) I added a new version with better documentation and some minor changes (but it's still being processed).
08:12:15 <kuribas> tomsmeding: I found there is some overlap between my package and the barbies package: https://hackage.haskell.org/package/barbies
08:12:33 gurkenglas joins (~gurkengla@dslb-002-203-144-112.002.203.pools.vodafone-ip.de)
08:14:10 zeenk joins (~zeenk@2a02:2f04:a311:2d00:6865:d863:4c93:799f)
08:15:36 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
08:17:10 × zachel quits (~zachel@user/zachel) (Ping timeout: 244 seconds)
08:18:10 coot joins (~coot@213.134.190.95)
08:19:37 × kuribas quits (~user@ptr-17d51eoy2a996494wfb.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
08:20:58 naso joins (~naso@193-116-244-197.tpgi.com.au)
08:21:42 jakalx joins (~jakalx@base.jakalx.net)
08:25:13 <tomsmeding> @tell kuribas ah, that looks more extensive, too; but the first thing you have going for your library is better names :p
08:25:13 <lambdabot> Consider it noted.
08:30:58 Pickchea joins (~private@user/pickchea)
08:31:00 mmhat joins (~mmh@p200300f1c7055944ee086bfffe095315.dip0.t-ipconnect.de)
08:34:37 × Pickchea quits (~private@user/pickchea) (Client Quit)
08:34:47 Pickchea joins (~private@user/pickchea)
08:44:02 matthewmosior joins (~matthewmo@173.170.253.91)
08:44:43 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:c19d:5429:582b:ef6e)
08:46:30 alternateved joins (~user@staticline-31-183-144-54.toya.net.pl)
08:48:29 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
08:49:11 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:c19d:5429:582b:ef6e) (Ping timeout: 244 seconds)
08:53:34 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 268 seconds)
08:54:09 azimut joins (~azimut@gateway/tor-sasl/azimut)
09:00:05 × sjanssen quits (~sjanssenm@2001:470:69fc:105::1:61d8) (Quit: You have been kicked for being idle)
09:02:56 famubu joins (~famubu@14.139.174.50)
09:05:49 matthewmosior joins (~matthewmo@173.170.253.91)
09:09:51 × [exa] quits (exa@srv3.blesmrt.net) (Changing host)
09:09:51 [exa] joins (exa@user/exa/x-3587197)
09:18:13 × vysn quits (~vysn@user/vysn) (Ping timeout: 268 seconds)
09:18:44 × naso quits (~naso@193-116-244-197.tpgi.com.au) (Remote host closed the connection)
09:18:45 × tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
09:19:14 naso joins (~naso@193-116-244-197.tpgi.com.au)
09:22:10 × mmhat quits (~mmh@p200300f1c7055944ee086bfffe095315.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
09:34:15 waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
09:35:50 mmhat joins (~mmh@p200300f1c70559cbee086bfffe095315.dip0.t-ipconnect.de)
09:41:40 × FragByte quits (~christian@user/fragbyte) (Quit: Quit)
09:42:17 × adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 268 seconds)
09:42:54 × noteness quits (~noteness@user/noteness) (Ping timeout: 268 seconds)
09:43:10 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
09:43:27 azimut_ joins (~azimut@gateway/tor-sasl/azimut)
09:43:31 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 268 seconds)
09:43:31 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 268 seconds)
09:43:38 adanwan joins (~adanwan@gateway/tor-sasl/adanwan)
09:43:38 FragByte joins (~christian@user/fragbyte)
09:44:08 × gmg quits (~user@user/gehmehgeh) (Ping timeout: 268 seconds)
09:45:09 noteness joins (~noteness@user/noteness)
09:45:22 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 268 seconds)
09:45:30 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
09:45:30 finn_elija is now known as FinnElija
09:46:11 gmg joins (~user@user/gehmehgeh)
09:46:38 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
09:49:29 segfaultfizzbuzz joins (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net)
09:54:00 × segfaultfizzbuzz quits (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 272 seconds)
09:58:43 × jonathanx_ quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Remote host closed the connection)
10:03:26 × raym quits (~raym@user/raym) (Remote host closed the connection)
10:06:10 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
10:09:17 raym joins (~raym@user/raym)
10:10:12 lisbeths joins (uid135845@id-135845.lymington.irccloud.com)
10:10:39 × Pickchea quits (~private@user/pickchea) (Ping timeout: 272 seconds)
10:18:31 matthewmosior joins (~matthewmo@173.170.253.91)
10:18:52 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
10:19:28 × FragByte quits (~christian@user/fragbyte) (Quit: Quit)
10:21:28 FragByte joins (~christian@user/fragbyte)
10:22:11 segfaultfizzbuzz joins (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net)
10:22:50 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
10:24:00 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
10:24:00 × noteness quits (~noteness@user/noteness) (Write error: Connection reset by peer)
10:24:00 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Read error: Connection reset by peer)
10:24:18 noteness joins (~noteness@user/noteness)
10:24:36 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
10:25:18 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
10:26:19 × segfaultfizzbuzz quits (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 244 seconds)
10:29:27 × benin0 quits (~benin@183.82.24.158) (Read error: Connection reset by peer)
10:36:43 × FragByte quits (~christian@user/fragbyte) (Quit: Quit)
10:38:43 FragByte joins (~christian@user/fragbyte)
10:39:38 × naso quits (~naso@193-116-244-197.tpgi.com.au) (Remote host closed the connection)
10:39:51 × gurkenglas quits (~gurkengla@dslb-002-203-144-112.002.203.pools.vodafone-ip.de) (Ping timeout: 276 seconds)
10:40:31 naso joins (~naso@193-116-244-197.tpgi.com.au)
10:45:06 × naso quits (~naso@193-116-244-197.tpgi.com.au) (Ping timeout: 264 seconds)
10:45:31 Pickchea joins (~private@user/pickchea)
10:46:20 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:c19d:5429:582b:ef6e)
10:51:06 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:c19d:5429:582b:ef6e) (Ping timeout: 264 seconds)
10:51:40 × coot quits (~coot@213.134.190.95) (Quit: coot)
10:54:01 matthewmosior joins (~matthewmo@173.170.253.91)
10:55:39 naso joins (~naso@193-116-244-197.tpgi.com.au)
10:56:14 coot joins (~coot@213.134.190.95)
10:57:04 × jargon quits (~jargon@184.101.188.251) (Remote host closed the connection)
10:58:21 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
11:01:08 × superbil quits (~superbil@1-34-176-171.hinet-ip.hinet.net) (Ping timeout: 268 seconds)
11:02:33 superbil joins (~superbil@1-34-176-171.hinet-ip.hinet.net)
11:03:51 × naso quits (~naso@193-116-244-197.tpgi.com.au) (Ping timeout: 272 seconds)
11:04:06 × enemeth79 quits (sid309041@id-309041.lymington.irccloud.com) (Quit: Connection closed for inactivity)
11:09:32 segfaultfizzbuzz joins (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net)
11:10:58 × coot quits (~coot@213.134.190.95) (Quit: coot)
11:11:41 matthewmosior joins (~matthewmo@173.170.253.91)
11:11:59 mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475)
11:14:05 × segfaultfizzbuzz quits (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 268 seconds)
11:14:23 radhika joins (uid560836@id-560836.helmsley.irccloud.com)
11:15:28 <radhika> Hi what is the use of hoogle? I understand searching functions.. but as a newbie I don’t know the function anyway so what do I search?
11:19:07 <int-e> it's for searching by types
11:19:48 <int-e> @hoogle [a] -> [a] -> [a]
11:19:49 <lambdabot> Prelude (++) :: [a] -> [a] -> [a]
11:19:49 <lambdabot> Data.List (++) :: [a] -> [a] -> [a]
11:19:49 <lambdabot> GHC.Base (++) :: [a] -> [a] -> [a]
11:20:29 <int-e> So if you forget what the operator for list concatenation is, you could do that.
11:20:56 <int-e> (It doesn't always work this well, of course, because types do not fully describe function semantics.)
11:21:49 <int-e> Also those three results are all the same, exported from different modules. It's not perfect.
11:22:34 <radhika> Sorry to labour on this.. but is Comcast the only function which takes two lists and returns third ?
11:22:45 <radhika> I meant concat
11:22:51 <int-e> Whether that's useful for you... well you'll have to figure that out for yourself.
11:23:15 <radhika> Ok
11:23:25 <int-e> No, it's not the only one.
11:23:41 <radhika> That’s the only use case for hoogle right ?
11:24:27 <radhika> Basically if I know the type signature for a function I can shortlist all functions with that type sign..
11:24:27 <int-e> https://hoogle.haskell.org/ will give you other results if you try that query.
11:24:43 <int-e> `interleave` is a convincing one
11:25:31 <int-e> Sometimes you'll see an identifier in code and not know which import it came from, Hoogle might help there too.
11:25:35 int-e shrugs
11:25:40 <int-e> I actually hardly use it.
11:26:56 <radhika> Also there is a drop down set :stackage and set : Haskell platform what’s the difference..?
11:27:04 nate4 joins (~nate@98.45.169.16)
11:27:33 × zeenk quits (~zeenk@2a02:2f04:a311:2d00:6865:d863:4c93:799f) (Quit: Konversation terminated!)
11:30:50 azimut joins (~azimut@gateway/tor-sasl/azimut)
11:30:54 wonkydonky joins (~wonkydonk@95.7.166.247)
11:31:38 × nate4 quits (~nate@98.45.169.16) (Ping timeout: 240 seconds)
11:32:03 × azimut_ quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 268 seconds)
11:36:10 naso joins (~naso@193-116-244-197.tpgi.com.au)
11:38:33 coot joins (~coot@213.134.190.95)
11:42:30 segfaultfizzbuzz joins (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net)
11:44:51 × stefan-_ quits (~cri@42dots.de) (Ping timeout: 244 seconds)
11:46:49 × adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
11:47:05 adanwan joins (~adanwan@gateway/tor-sasl/adanwan)
11:47:27 × segfaultfizzbuzz quits (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 268 seconds)
11:48:38 × famubu quits (~famubu@14.139.174.50) (Ping timeout: 272 seconds)
11:49:03 stefan-_ joins (~cri@42dots.de)
11:49:46 zer0bitz joins (~zer0bitz@2001:2003:f748:2000:a99c:c442:e059:77a3)
11:54:28 azimut_ joins (~azimut@gateway/tor-sasl/azimut)
11:56:37 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Quit: ZNC - https://znc.in)
12:01:07 × naso quits (~naso@193-116-244-197.tpgi.com.au) (Remote host closed the connection)
12:01:23 naso joins (~naso@193-116-244-197.tpgi.com.au)
12:13:53 azimut joins (~azimut@gateway/tor-sasl/azimut)
12:13:59 × noteness quits (~noteness@user/noteness) (Ping timeout: 268 seconds)
12:14:36 × azimut_ quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 268 seconds)
12:15:13 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 268 seconds)
12:16:01 <tomsmeding> radhika: those select different subsets of packages to search througj
12:16:15 <tomsmeding> For hoogle, stackage is generally a good bet
12:16:50 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
12:16:56 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
12:17:27 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
12:18:14 <radhika> R packages different in both ?
12:18:28 noteness joins (~noteness@user/noteness)
12:21:20 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
12:21:32 <hpc> they're both subsets of hackage, so any particular $package-$version is going to be the same in both, but which ones they have will be different
12:22:17 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
12:33:34 segfaultfizzbuzz joins (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net)
12:34:07 matthewmosior joins (~matthewmo@173.170.253.91)
12:36:38 × coot quits (~coot@213.134.190.95) (Quit: coot)
12:38:34 × segfaultfizzbuzz quits (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 268 seconds)
12:41:39 Guest|8 joins (~Guest|8@64.64.233.93.16clouds.com)
12:42:35 × Guest|8 quits (~Guest|8@64.64.233.93.16clouds.com) (Client Quit)
12:47:30 fef joins (~thedawn@user/thedawn)
13:09:06 × hosk1 quits (~goober@90-231-13-185-no3430.tbcn.telia.com) (Quit: WeeChat 3.5)
13:11:15 × cods quits (~fred@82-65-232-44.subs.proxad.net) (Ping timeout: 268 seconds)
13:17:56 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:c19d:5429:582b:ef6e)
13:22:45 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:c19d:5429:582b:ef6e) (Ping timeout: 260 seconds)
13:24:07 <naso> i am having trouble building in prof mode in cabal
13:24:34 <naso> cabal install --enable-profiling --ghc-options="-fprof-auto -rtsopts"
13:24:35 <naso> cabal run project-exe -- +RTS -p
13:24:45 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
13:24:49 <naso> error: the flag -p requires the program to be built with -prof
13:24:53 <naso> ?
13:24:54 segfaultfizzbuzz joins (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net)
13:25:07 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
13:25:36 × alternateved quits (~user@staticline-31-183-144-54.toya.net.pl) (Read error: Connection reset by peer)
13:25:37 coot joins (~coot@213.134.190.95)
13:25:49 chexum joins (~quassel@gateway/tor-sasl/chexum)
13:25:57 alternateved joins (~user@staticline-31-183-144-54.toya.net.pl)
13:28:01 azimut joins (~azimut@gateway/tor-sasl/azimut)
13:29:31 × segfaultfizzbuzz quits (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 272 seconds)
13:29:32 MajorBiscuit joins (~MajorBisc@2a02-a461-129d-1-193d-75d8-745d-e91e.fixed6.kpn.net)
13:30:22 hosk1 joins (~goober@90-231-13-185-no3430.tbcn.telia.com)
13:32:56 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
13:35:00 × Pickchea quits (~private@user/pickchea) (Ping timeout: 260 seconds)
13:36:00 × fef quits (~thedawn@user/thedawn) (Ping timeout: 268 seconds)
13:36:32 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
13:36:57 azimut joins (~azimut@gateway/tor-sasl/azimut)
13:37:06 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
13:37:27 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
13:37:27 × noteness quits (~noteness@user/noteness) (Remote host closed the connection)
13:37:29 <naso> i had to also pass `--enable-profiling` to `cabal run`
13:38:02 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
13:38:05 noteness joins (~noteness@user/noteness)
13:38:37 × coot quits (~coot@213.134.190.95) (Quit: coot)
13:39:22 <tomsmeding> naso: indeed, `cabal run` doesn't care what you did before (e.g. build or install); it just looks at the flags it gets, builds the required executables if necessary, and runs the command
13:39:55 <naso> tomsmeding: thanks
13:40:06 <tomsmeding> `cabal install` builds an executable in the same manner, and installs it in some global directory, usually ~/.cabal/bin
13:40:32 <tomsmeding> The only thing that these commands share is caching of already-built things (with the same flags)
13:40:34 nschoe joins (~quassel@2a01:e0a:8e:a190:3df3:6514:cf29:be48)
13:41:18 fef joins (~thedawn@user/thedawn)
13:41:26 <tomsmeding> `cabal exec` is different from build, run and install, because it just executes whatever executable is available without building -- i.e. `cabal build` + `cabal exec` probably does what you expected
13:41:47 <tomsmeding> But usually what you want is simply `cabal run` with the flags you want, and nothing else
13:44:29 <naso> i am building in profile to display a treemap with profiteur. So I could combine the `cabal build` and `cabal run` commands into one line>
13:44:31 <naso> ?
13:44:38 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 268 seconds)
13:45:26 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
13:46:14 chexum joins (~quassel@gateway/tor-sasl/chexum)
13:47:43 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 268 seconds)
13:49:41 matthewmosior joins (~matthewmo@173.170.253.91)
13:51:28 gurkenglas joins (~gurkengla@dslb-002-203-144-112.002.203.pools.vodafone-ip.de)
13:54:01 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
13:54:19 <[itchyjunk]> My solution works but not sure if it's the most obvious way of doing this
13:54:20 <[itchyjunk]> https://bpa.st/Q4QQ
13:55:16 <naso> looks good to me
13:55:21 <[itchyjunk]> nice!
13:56:14 × Luj quits (~Luj@2a01:e0a:5f9:9681:5880:c9ff:fe9f:3dfb) (Quit: The Lounge - https://thelounge.chat)
13:57:03 coot joins (~coot@213.134.190.95)
13:57:03 <int-e> if you want to be a bit fancy, you can do basicOp '+' = (+)
13:57:07 segfaultfizzbuzz joins (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net)
13:57:29 lys_ joins (~lys@user/lys)
13:57:35 Luj joins (~Luj@2a01:e0a:5f9:9681:5880:c9ff:fe9f:3dfb)
13:58:44 <int-e> if you want to be incomprehensible, fromJust . flip lookup [('+',(+)),('-',(-)),('*',(*)),('/',div)] ...don't do that.
13:59:58 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
14:04:20 × lisbeths quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
14:04:22 × califax quits (~califax@user/califx) (Ping timeout: 268 seconds)
14:04:46 Pickchea joins (~private@user/pickchea)
14:08:41 × adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 268 seconds)
14:08:59 adanwan joins (~adanwan@gateway/tor-sasl/adanwan)
14:09:22 azimut joins (~azimut@gateway/tor-sasl/azimut)
14:13:54 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
14:17:44 × alternateved quits (~user@staticline-31-183-144-54.toya.net.pl) (Remote host closed the connection)
14:18:09 alternateved joins (~user@staticline-31-183-144-54.toya.net.pl)
14:18:39 × adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
14:18:58 adanwan joins (~adanwan@gateway/tor-sasl/adanwan)
14:23:11 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
14:23:34 azimut joins (~azimut@gateway/tor-sasl/azimut)
14:26:12 jakalx parts (~jakalx@base.jakalx.net) ()
14:27:00 causal joins (~user@2001:470:ea0f:3:329c:23ff:fe3f:1e0e)
14:27:15 × lys_ quits (~lys@user/lys) (Quit: Leaving)
14:27:35 jakalx joins (~jakalx@base.jakalx.net)
14:29:45 moonsheep joins (~user@user/moonsheep)
14:29:55 <moonsheep> When will text 2 make it into stackage?
14:31:47 vglfr joins (~vglfr@194.9.14.33)
14:32:11 matthewmosior joins (~matthewmo@173.170.253.91)
14:33:17 <[itchyjunk]> :D that second solution looks like job security
14:36:38 × coot quits (~coot@213.134.190.95) (Quit: coot)
14:39:29 × off^ quits (~off@75-147-198-169-Atlanta.hfc.comcastbusiness.net) (Remote host closed the connection)
14:43:38 × nschoe quits (~quassel@2a01:e0a:8e:a190:3df3:6514:cf29:be48) (Ping timeout: 240 seconds)
14:44:15 × vglfr quits (~vglfr@194.9.14.33) (Ping timeout: 272 seconds)
14:44:17 califax joins (~califax@user/califx)
14:45:44 SamBellamy joins (~SamBellam@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net)
14:45:55 vglfr joins (~vglfr@194.9.14.33)
14:46:38 talismanick joins (~talismani@2601:200:c100:3850::dd64)
14:49:46 × adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
14:50:21 × vglfr quits (~vglfr@194.9.14.33) (Ping timeout: 244 seconds)
14:50:48 adanwan joins (~adanwan@gateway/tor-sasl/adanwan)
14:50:54 vglfr joins (~vglfr@194.9.14.33)
14:51:41 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
14:51:47 × vglfr quits (~vglfr@194.9.14.33) (Read error: Connection reset by peer)
14:51:55 <tomsmeding> naso: you don't need `cabal build` at all if you're going to run it afterwards anyway
14:51:59 vglfr joins (~vglfr@194.9.14.33)
14:53:58 × vglfr quits (~vglfr@194.9.14.33) (Read error: Connection reset by peer)
14:56:03 vglfr joins (~vglfr@194.9.14.33)
14:59:54 × mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 272 seconds)
15:01:01 × vglfr quits (~vglfr@194.9.14.33) (Ping timeout: 268 seconds)
15:01:20 mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475)
15:01:51 vglfr joins (~vglfr@194.9.14.33)
15:06:41 nschoe joins (~quassel@2a01:e0a:8e:a190:7ed8:b071:19a0:1de1)
15:06:41 machinedgod joins (~machinedg@d172-219-86-154.abhsia.telus.net)
15:09:06 × Pickchea quits (~private@user/pickchea) (Ping timeout: 264 seconds)
15:09:07 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 268 seconds)
15:09:30 chexum joins (~quassel@gateway/tor-sasl/chexum)
15:09:34 <naso> tomsmeding: got it--thanks :)
15:11:43 × nschoe quits (~quassel@2a01:e0a:8e:a190:7ed8:b071:19a0:1de1) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
15:12:33 × machinedgod quits (~machinedg@d172-219-86-154.abhsia.telus.net) (Ping timeout: 244 seconds)
15:14:31 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:c19d:5429:582b:ef6e)
15:14:44 machinedgod joins (~machinedg@d172-219-86-154.abhsia.telus.net)
15:15:12 × gurkenglas quits (~gurkengla@dslb-002-203-144-112.002.203.pools.vodafone-ip.de) (Ping timeout: 268 seconds)
15:18:45 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:c19d:5429:582b:ef6e) (Ping timeout: 244 seconds)
15:22:53 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
15:26:30 × talismanick quits (~talismani@2601:200:c100:3850::dd64) (Ping timeout: 244 seconds)
15:26:41 gurkenglas joins (~gurkengla@dslb-002-203-144-112.002.203.pools.vodafone-ip.de)
15:27:36 coot joins (~coot@213.134.190.95)
15:27:55 zebrag joins (~chris@user/zebrag)
15:28:34 nate4 joins (~nate@98.45.169.16)
15:33:42 × nate4 quits (~nate@98.45.169.16) (Ping timeout: 268 seconds)
15:36:12 × use-value quits (~Thunderbi@2a00:23c6:8a03:2f01:4df4:4757:dc2:3c10) (Remote host closed the connection)
15:36:31 use-value joins (~Thunderbi@2a00:23c6:8a03:2f01:4df4:4757:dc2:3c10)
15:40:14 yauhsien joins (~yauhsien@61-231-44-121.dynamic-ip.hinet.net)
15:40:34 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
15:41:43 × machinedgod quits (~machinedg@d172-219-86-154.abhsia.telus.net) (Ping timeout: 268 seconds)
15:42:20 MoC joins (~moc@user/moc)
15:44:58 zachel joins (~zachel@user/zachel)
15:48:43 Lycurgus joins (~juan@user/Lycurgus)
15:50:34 Haskelytic joins (~Haskelyti@118.179.211.17)
15:53:35 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
15:58:53 × mmhat quits (~mmh@p200300f1c70559cbee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.6)
16:02:40 marinelli joins (~marinelli@gateway/tor-sasl/marinelli)
16:10:01 vysn joins (~vysn@user/vysn)
16:11:35 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
16:12:19 × coot quits (~coot@213.134.190.95) (Quit: coot)
16:12:55 matthewmosior joins (~matthewmo@173.170.253.91)
16:13:42 marinelli[m] is now known as marinelli[m][m]
16:14:49 × use-value quits (~Thunderbi@2a00:23c6:8a03:2f01:4df4:4757:dc2:3c10) (Quit: use-value)
16:19:44 × mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 244 seconds)
16:20:53 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
16:21:00 famubu joins (~famubu@14.139.174.50)
16:21:49 mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475)
16:23:14 × califax quits (~califax@user/califx) (Remote host closed the connection)
16:24:08 califax joins (~califax@user/califx)
16:26:14 acarrico joins (~acarrico@dhcp-68-142-48-19.greenmountainaccess.net)
16:27:59 × MoC quits (~moc@user/moc) (Quit: Konversation terminated!)
16:28:09 × acarrico quits (~acarrico@dhcp-68-142-48-19.greenmountainaccess.net) (Client Quit)
16:29:09 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
16:30:03 marinelli[m][m] is now known as marinelli[m]
16:30:09 × marinelli[m] quits (~marinelli@2001:470:69fc:105::2d8) (Quit: Reconnecting)
16:30:23 marinelli[m] joins (~marinelli@2001:470:69fc:105::2d8)
16:30:33 marinelli parts (~marinelli@gateway/tor-sasl/marinelli) ()
16:30:35 agumonkey joins (~user@2a01:e0a:8f9:d3e0:b117:81a8:33f6:93e7)
16:35:53 × yauhsien quits (~yauhsien@61-231-44-121.dynamic-ip.hinet.net) (Remote host closed the connection)
16:38:04 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:c19d:5429:582b:ef6e)
16:38:32 yauhsien joins (~yauhsien@61-231-44-121.dynamic-ip.hinet.net)
16:41:51 tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
16:42:50 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:c19d:5429:582b:ef6e) (Ping timeout: 260 seconds)
16:43:03 econo joins (uid147250@user/econo)
16:44:05 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 268 seconds)
16:47:52 × famubu quits (~famubu@14.139.174.50) (Quit: leaving)
16:49:38 × yauhsien quits (~yauhsien@61-231-44-121.dynamic-ip.hinet.net) (Remote host closed the connection)
16:51:52 yauhsien joins (~yauhsien@61-231-44-121.dynamic-ip.hinet.net)
16:53:18 × segfaultfizzbuzz quits (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 244 seconds)
16:53:23 matthewmosior joins (~matthewmo@173.170.253.91)
16:54:08 <albet70> how to get a file list ascending by time? listDirectory only seems not ordered
16:58:05 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
17:00:16 mvk joins (~mvk@2607:fea8:5ce3:8500::909a)
17:01:21 jmdaemon joins (~jmdaemon@user/jmdaemon)
17:02:39 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:c19d:5429:582b:ef6e)
17:06:27 <monochrom> Perhaps you have to call getModificationTime for every file and do your own sorting.
17:06:45 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:c19d:5429:582b:ef6e) (Ping timeout: 244 seconds)
17:07:08 × mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 255 seconds)
17:09:15 mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475)
17:10:25 <int-e> ...argh, getModificationTime follows symlinks.
17:10:58 × marinelli[m] quits (~marinelli@2001:470:69fc:105::2d8) (Quit: Reconnecting)
17:11:12 marinelli[m] joins (~marinelli@2001:470:69fc:105::2d8)
17:12:58 × naso quits (~naso@193-116-244-197.tpgi.com.au) ()
17:13:04 × adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 268 seconds)
17:13:54 alp_ joins (~alp@user/alp)
17:13:57 × radhika quits (uid560836@id-560836.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
17:14:18 × califax quits (~califax@user/califx) (Ping timeout: 268 seconds)
17:14:50 × yauhsien quits (~yauhsien@61-231-44-121.dynamic-ip.hinet.net) (Remote host closed the connection)
17:15:23 <albet70> yes, but I found there's no Data.Time.Clock.sort for UTCTime
17:15:37 califax joins (~califax@user/califx)
17:15:44 <monochrom> UTCTime is an Ord instance.
17:15:46 adanwan joins (~adanwan@gateway/tor-sasl/adanwan)
17:15:52 <monochrom> err, s/is/has/
17:16:13 <albet70> so?
17:16:15 × EsoAlgo quits (~EsoAlgo@129.146.136.145) (Ping timeout: 272 seconds)
17:16:37 <albet70> sort isn't asked by Ord
17:16:42 <monochrom> So you can use any sorting algorithm that just requires Ord.
17:16:44 <c_wraith> :t sort
17:16:46 <lambdabot> Ord a => [a] -> [a]
17:16:46 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 268 seconds)
17:16:55 <c_wraith> Ord looks sufficient to me
17:16:59 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
17:17:02 <albet70> I see
17:17:09 chexum_ joins (~quassel@gateway/tor-sasl/chexum)
17:17:09 yauhsien joins (~yauhsien@61-231-44-121.dynamic-ip.hinet.net)
17:17:22 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Quit: No Ping reply in 180 seconds.)
17:18:08 <troydm> what's default unimplemented function method, like how do I mark function unemplemented yet
17:18:34 <troydm> I'm doing error "unimplemented" but there ought to be something more elegant
17:18:46 <c_wraith> usually just set the body as undefined
17:18:49 <albet70> how to turn [IO String] to [String] in do notation?
17:19:43 <int-e> :t sequence
17:19:44 <lambdabot> (Traversable t, Monad m) => t (m a) -> m (t a)
17:19:57 <troydm> c_wraith: ahh, yes undefined
17:19:59 <int-e> ...right. that, with t = []
17:20:00 <monochrom> If you used traverse, you wouldn't even have an intermediate [IO String].
17:20:01 <troydm> c_wraith: thx
17:20:12 <int-e> :t mapM
17:20:13 <lambdabot> (Traversable t, Monad m) => (a -> m b) -> t a -> m (t b)
17:20:22 <int-e> :t traverse
17:20:23 <lambdabot> (Traversable t, Applicative f) => (a -> f b) -> t a -> f (t b)
17:20:52 <int-e> The old types were more beginner-friendly :P
17:23:02 <c_wraith> eh. when I was a beginner, having two *different* mapM/sequence functions was more confusing
17:24:01 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
17:24:05 <c_wraith> "why is that a type error? oh, because it's the wrong one. Ok, import the right one... and now there's a namespace collision error."
17:24:33 <monochrom> Did traverse exist back then? Or do you mean mapM_ and mapM?
17:25:11 <c_wraith> mapM and sequence. traverse existed, but it didn't have a monomorphic form and wasn't in the prelude. (still isn't, I think)
17:25:19 matthewmosior joins (~matthewmo@173.170.253.91)
17:27:05 <monochrom> It is now, I tried 8.10.7
17:28:04 <c_wraith> oh, it's traverse_ that wasn't added. but mapM_ is there!
17:28:14 <albet70> filelist <- listDirectory "./Downloads/"; tl <- traverse getModificationTime $ ("./Downloads/" <>) <$> filelist; print $ sort tl Variable not in scope: sort :: [time-1.9.3:Data.Time.Clock.Internal.UTCTime.UTCTime] -> a0
17:28:38 <c_wraith> it's in Data.List
17:29:33 <albet70> aha
17:30:20 <albet70> I think listDirectory should have options like get file list ascending by time or size or whatever, why it's so poor?
17:30:36 <c_wraith> because it's cross-platform
17:30:38 <albet70> no one using it?
17:31:00 <qrpnxz> c_wraith: traverse and sequence are in the Prelude
17:31:23 <qrpnxz> foldMap also
17:31:25 <qrpnxz> but not fold
17:31:41 <qrpnxz> bit of a mixed bag. I usually end up having to import foldable
17:32:13 <c_wraith> honestly, I've never used fold. Somehow it just never comes up.
17:33:34 <monochrom> Wait, there is a "fold"?!
17:33:38 <qrpnxz> yeah, and then i also read that sum and product are not foldl' (!), so it's a bit of a mess
17:34:37 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
17:34:49 <c_wraith> :t fold
17:34:50 <lambdabot> (Foldable t, Monoid m) => t m -> m
17:35:08 __monty__ joins (~toonn@user/toonn)
17:35:17 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:c19d:5429:582b:ef6e)
17:35:19 <c_wraith> :t foldMap id
17:35:20 <lambdabot> (Foldable t, Monoid m) => t m -> m
17:35:46 <c_wraith> Somehow I just never end up in that situation
17:35:54 <c_wraith> oh...
17:35:57 <c_wraith> :t mconcat
17:35:58 <lambdabot> Monoid a => [a] -> a
17:36:02 <c_wraith> because of that
17:36:03 <monochrom> Haha oops oh well then I guess I was wrong last time to say "there are foldr, foldl, and foldMap, but there is no handwaving fold".
17:36:33 <qrpnxz> lol
17:37:24 <c_wraith> well. there isn't a handwaving "fold" idea that explains all of those.
17:37:35 × Haskelytic quits (~Haskelyti@118.179.211.17) (Quit: Client closed)
17:38:01 lys_ joins (~lys@user/lys)
17:38:26 coot joins (~coot@213.134.190.95)
17:38:57 <c_wraith> But I think I was also in that conversation, and it's why I led with "that looks like foldr by the type"
17:39:32 <dolio> sum and product have more optimized implementations for most types people use, as I recall.
17:40:23 <qrpnxz> huh
17:40:35 <dolio> As long as they're being used on specific types.
17:40:56 <dolio> Or, I suppose, types that are specifically known at compile time.
17:50:41 Pickchea joins (~private@user/pickchea)
17:56:41 kyborg2011 joins (~kyborg201@217.147.170.194)
17:56:56 × kyborg2011 quits (~kyborg201@217.147.170.194) (Client Quit)
17:57:52 × moonsheep quits (~user@user/moonsheep) (Quit: ERC 5.4 (IRC client for GNU Emacs 28.1))
17:59:34 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
18:02:37 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
18:06:07 × Lycurgus quits (~juan@user/Lycurgus) (Quit: Exeunt juan@acm.org)
18:08:38 × coot quits (~coot@213.134.190.95) (Quit: coot)
18:13:15 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
18:17:23 <albet70> I like foldl1, why not let reduce = foldl1?
18:19:46 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
18:20:23 jpds joins (~jpds@gateway/tor-sasl/jpds)
18:20:36 <EvanR> your gratuitous bikeshedding has been reported
18:22:00 × yauhsien quits (~yauhsien@61-231-44-121.dynamic-ip.hinet.net) (Remote host closed the connection)
18:22:33 yauhsien joins (~yauhsien@61-231-44-121.dynamic-ip.hinet.net)
18:22:50 <darkling> Which colour form did you use to make the report? :)
18:23:06 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
18:23:45 <geekosaur> I don't see it on discourse, it's not proper bikeshedding :þ
18:24:51 <[exa]> albet70: there's too many possibilities for how to sort the directory contents, any API for that would probably be chronically incomplete (and randomly non-working on certain unspoken platforms)
18:25:24 <geekosaur> and unreliable if a file is being written to when you check its size (ls/dir ignores this)
18:26:37 <geekosaur> (I have seen a C API for that kind of thing, limited to posix. now that I think about it, someone was trying to come up with applicatives…)
18:28:22 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
18:32:36 × agumonkey quits (~user@2a01:e0a:8f9:d3e0:b117:81a8:33f6:93e7) (Ping timeout: 268 seconds)
18:35:55 × stiell quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
18:35:55 × Chai-T-Rex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection)
18:35:55 × adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Read error: Connection reset by peer)
18:35:55 × gmg quits (~user@user/gehmehgeh) (Remote host closed the connection)
18:35:55 × winny quits (~weechat@user/winny) (Remote host closed the connection)
18:36:29 Chai-T-Rex joins (~ChaiTRex@user/chaitrex)
18:36:40 adanwan joins (~adanwan@gateway/tor-sasl/adanwan)
18:36:52 gmg joins (~user@user/gehmehgeh)
18:36:57 stiell joins (~stiell@gateway/tor-sasl/stiell)
18:37:08 winny joins (~weechat@user/winny)
18:40:39 × adanwan quits (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
18:41:03 × yauhsien quits (~yauhsien@61-231-44-121.dynamic-ip.hinet.net) (Remote host closed the connection)
18:41:09 adanwan joins (~adanwan@gateway/tor-sasl/adanwan)
18:41:30 × bgamari quits (~bgamari@64.223.171.172) (Ping timeout: 240 seconds)
18:41:58 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
18:42:12 bgamari joins (~bgamari@64.223.132.170)
18:42:47 matthewmosior joins (~matthewmo@173.170.253.91)
18:43:27 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 276 seconds)
18:44:54 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Ping timeout: 244 seconds)
18:47:26 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
18:48:32 × jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 244 seconds)
18:50:13 × gmg quits (~user@user/gehmehgeh) (Remote host closed the connection)
18:51:01 gmg joins (~user@user/gehmehgeh)
18:51:07 jmdaemon joins (~jmdaemon@user/jmdaemon)
18:51:12 × mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection)
18:51:46 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
18:54:20 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
19:01:04 matthewmosior joins (~matthewmo@173.170.253.91)
19:04:19 × Sciencentistguy quits (~sciencent@hacksoc/ordinary-member) (Quit: o/)
19:05:59 Sgeo joins (~Sgeo@user/sgeo)
19:10:38 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
19:14:36 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
19:16:18 × winny quits (~weechat@user/winny) (Remote host closed the connection)
19:16:41 winny joins (~weechat@user/winny)
19:22:05 × malte quits (~malte@mal.tc) (Ping timeout: 260 seconds)
19:29:56 machinedgod joins (~machinedg@d172-219-86-154.abhsia.telus.net)
19:30:04 nate4 joins (~nate@98.45.169.16)
19:30:12 Rimas_K joins (~Rimas_K@78-58-145-243.static.zebra.lt)
19:30:41 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
19:33:03 × fef quits (~thedawn@user/thedawn) (Ping timeout: 268 seconds)
19:34:28 malte joins (~malte@mal.tc)
19:34:42 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
19:34:54 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 268 seconds)
19:34:55 × nate4 quits (~nate@98.45.169.16) (Ping timeout: 260 seconds)
19:42:39 <SamBellamy> is this example https://paste.tomsmeding.com/ceyZBbr9 you wouldn't be able to tell if it was nothing or is just correct if you gave it [0]
19:42:43 <SamBellamy> in*
19:42:46 <SamBellamy> ?*
19:42:46 <lambdabot> Maybe you meant: v @ ? .
19:42:58 × vglfr quits (~vglfr@194.9.14.33) (Ping timeout: 240 seconds)
19:44:05 <geekosaur> with [0] yes
19:44:14 <geekosaur> this is why Maybe exists
19:45:36 <SamBellamy> would you then change this "intOrZero Nothing = 0"?
19:46:17 <geekosaur> I wouldn't use intOrSZero at all, I'd use safeHead directly so I could tell Nothing from Just 0
19:46:22 <int-e> don't use headOrZero?
19:46:33 <geekosaur> unless there is a good reason to default to 0
19:47:20 <int-e> I mean, headOrZero may be legitimate, but you you want to distinguish [] and [headOrZero []] then no tweaking of the return value of headOrZero for the empty list will accomplish that.
19:47:32 <int-e> you you -> if you
19:49:48 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
19:49:49 <SamBellamy> alright
19:50:15 × m1dnight quits (~christoph@78-22-0-121.access.telenet.be) (Quit: WeeChat 3.6)
19:51:14 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
19:51:38 × Rimas_K quits (~Rimas_K@78-58-145-243.static.zebra.lt) (Quit: Client closed)
19:51:41 m1dnight joins (~christoph@78.22.0.121)
19:55:51 michalz joins (~michalz@185.246.204.93)
19:55:56 <SamBellamy> How would this work? https://paste.tomsmeding.com/4HRYJ9qr I tried "iWantAString Right "hi""
19:56:06 chomwitt joins (~chomwitt@2a02:587:dc00:5a00:e1c1:d1bd:c7b:c0e9)
19:56:39 <Bulby[m]> backslash it, like other langs?
19:56:39 <Bulby[m]> "iWantAString Right\"hi\""
19:56:46 <SamBellamy> Ok
19:57:10 <SamBellamy> btw, how come when I try to use backspace it repeats the previous thing on the terminal?
19:57:29 <Bulby[m]> on the haskell repl?
19:57:53 <Bulby[m]> it doesn't do that for me
19:57:55 <SamBellamy> The terminal on VSCode
19:58:08 <Bulby[m]> no idea, probably a binding
19:58:16 <Bulby[m]> doesn't do that in a normal terminal for me
19:58:29 <Bulby[m]> may be a windows thing for you 🤷
19:58:30 <SamBellamy> maybe cos it's iterm??
19:58:42 <SamBellamy> iterm2
19:59:33 <Bulby[m]> no idea
19:59:40 <SamBellamy> ok no worries
20:03:03 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
20:03:05 <geekosaur> sounds like it might be https://gitlab.haskell.org/ghc/ghc/-/issues/20722 ?
20:05:35 <geekosaur> which iirc is awaiting a fixed haskeline
20:06:40 × alternateved quits (~user@staticline-31-183-144-54.toya.net.pl) (Remote host closed the connection)
20:07:57 <monochrom> I think I have a student who suffers that, too.
20:08:26 <monochrom> Currently he thinks that it's his own strange setup. (He does have a slightly strange setup.)
20:10:17 yauhsien joins (~yauhsien@61-231-44-121.dynamic-ip.hinet.net)
20:14:19 × yauhsien quits (~yauhsien@61-231-44-121.dynamic-ip.hinet.net) (Remote host closed the connection)
20:14:51 × vysn quits (~vysn@user/vysn) (Ping timeout: 272 seconds)
20:17:56 × lys_ quits (~lys@user/lys) (Quit: Leaving)
20:20:16 coot joins (~coot@213.134.190.95)
20:20:21 <SamBellamy> I keep getting an error https://paste.tomsmeding.com/H8L3GcK6 e.g. func False 7
20:20:55 <SamBellamy> should it return 2?
20:21:44 <Rembane> SamBellamy: Have you tried calling it with func False (Just 7) ?
20:21:51 <monochrom> func False (Just 7)
20:21:58 <monochrom> Respect the types.
20:22:18 <SamBellamy> f
20:22:24 <monochrom> Be mechanical, not intuitive.
20:23:31 alternateved joins (~user@staticline-31-183-144-54.toya.net.pl)
20:23:44 <SamBellamy> Shouldn't it return 2 and not "Just 7"
20:24:04 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
20:24:10 <monochrom> Who said it returns Just 7? We are saying the 2nd param is (Just 7)
20:24:29 <geekosaur> `Just 7` and `7` are different, incompatible types
20:24:44 <geekosaur> you cannot simply pass 7 where it expects a `Maybe Int`
20:25:42 <Rembane> SamBellamy: Also, try to read the type error again. If you need help you can put it in a paste bin and show it to us and we can help you.
20:26:25 <monochrom> I'm becoming pessimistic about that.
20:26:37 vysn joins (~vysn@user/vysn)
20:26:40 <monochrom> These days the next generation use vscode and hls etc.
20:27:02 <monochrom> The type error message will not appear in the REPL.
20:27:11 <monochrom> (not as text)
20:27:17 <geekosaur> they still show the type error. admittedly getting that into a pastebin might be a little more difficult
20:27:34 <SamBellamy> func False (Just 7) ==> Just 7 but then func False (Just 5) ==> 2
20:27:45 <geekosaur> er
20:27:59 <geekosaur> it can't be returning 2 for the one and Just 7 for the other
20:28:05 <monochrom> It will appear when you hover your mouse at the relevant code, and it is in one of those annoying hover popups.
20:28:09 × machinedgod quits (~machinedg@d172-219-86-154.abhsia.telus.net) (Ping timeout: 272 seconds)
20:28:24 <monochrom> At best you can hope for the student to send you a PNG screenshot.
20:28:33 <darkling> Doesn't everyone paste screenshots these days? :(
20:28:47 <monochrom> At worst the screenshot is cropped wrong so it is missing the most important part.
20:28:50 <SamBellamy> I swear it returned Just 7 I can send a pic
20:28:52 <Rembane> The horriblest and also most exciting is a photo taken of the screen.
20:29:02 <SamBellamy> lmao
20:29:19 <monochrom> (It is always cropping away the most important part.)
20:29:29 <Rembane> SamBellamy: What happens if you load the code into ghci and tries to run it?
20:29:31 <darkling> I've seen a number of those... usually kernel oopses.
20:30:08 <Rembane> darkling: The best of those are the ones that only have the error message: "Kernel panic. Core dumped."
20:30:24 <monochrom> One day I should be angry enough to actually vocally oppose any form of IDEs on that ground.
20:30:29 <geekosaur> https://paste.tomsmeding.com/2a43aOdb
20:30:52 <monochrom> or alternatively s/angry/drunk/
20:31:10 <Rembane> monochrom: Why not both?
20:31:18 <monochrom> heh yeah
20:31:20 <geekosaur> (I have not tried to do this in vscode, although I have that set up.)
20:31:38 <Rembane> geekosaur: What do :{ and :} do?
20:31:39 <monochrom> "class Angry a => Drunk a" so yeah
20:31:49 <monochrom> ghci multi-line mode!
20:31:53 <geekosaur> multiline input
20:31:53 <darkling> I still don't use an IDE. Everyone at work thinks I'm weird.
20:32:00 × Digit quits (~user@user/digit) (Ping timeout: 276 seconds)
20:32:04 <Rembane> monochrom, geekosaur: Sweet! Thank you!
20:32:05 <darkling> (They're probably right)
20:32:08 <geekosaur> so everything is taken as one definition instead of each line overwriting the previous
20:32:14 <Rembane> darkling: What do you use instead?
20:32:22 <darkling> emacs and a terminal.
20:32:27 <monochrom> DId you also know: xpath comments are like (: this is a comment, so happy :)
20:32:33 <geekosaur> emacs is the original IDE
20:32:52 <geekosaur> I mostly brought up vscode because I didn't feel like fighting emacs to set up HLS
20:32:52 <darkling> I only really use emacs for syntax highlighting and indentation.
20:32:53 <Rembane> darkling: Good stuff!
20:32:59 × SamBellamy quits (~SamBellam@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net) (Remote host closed the connection)
20:33:06 SamBellamy joins (~SamBellam@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net)
20:33:06 <geekosaur> hm
20:33:11 <SamBellamy> I did load it
20:33:24 <SamBellamy> is there a png paste bin?
20:33:33 matthewmosior joins (~matthewmo@173.170.253.91)
20:33:34 <geekosaur> imgur, usually
20:34:07 <monochrom> emacs haskell-mode offers both error-message-in-hover and error-message-in-repl so I don't mind.
20:34:32 <geekosaur> imgur.com more specifically
20:34:49 <monochrom> To be fair, hover is nice when you don't need to copy-paste the information.
20:35:22 <monochrom> Ugh I don't want to see a pic thanks but no thanks.
20:35:22 <geekosaur> interestingly, the hovers I usually get stick around if I mouse into them so I can click on active parts and even copy some things
20:35:36 <geekosaur> although that's generally in code
20:35:54 <monochrom> Ah that's nice, yeah as long as it's copyable I won't whine.
20:37:12 <hpc> imgur's gotten awful
20:37:33 <hpc> i have javascript and cookie whitelists in my firefox, and somehow nothing i do makes imgur load for me
20:37:36 <monochrom> Oh, imgur's gotten more awful? (I haven't checked or care heh)
20:37:51 <hpc> maybe dropbox? i have no idea what they've been up to though
20:37:52 <Rembane> I wonder if a png can be put in a Github Gist.
20:38:08 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
20:38:58 <geekosaur> github ime won't render graphics
20:38:59 <hpc> looks like gists are text only
20:39:22 <monochrom> Time to recall the art of ascii art :)
20:39:28 <hpc> if you're fine with it being a bit tedious, you can create a "gist" repo
20:39:32 <geekosaur> aalib still exists 🙂
20:39:33 <SamBellamy> https://unsee.cc/album#nD8laI7qAwB1ThIH
20:39:38 <hpc> and then delete it later
20:39:46 <Rembane> Ach! I was hoping for a sweet hack.
20:39:51 <SamBellamy> sorry
20:39:55 <SamBellamy> I hope that works
20:39:57 dsrt^ joins (~dsrt@73.54.250.255)
20:40:11 <hpc> maybe you can base64 the image and make the gist an html file :D
20:40:16 <Rembane> :D
20:40:44 <SamBellamy> hpc: is there a tool for that? :D
20:40:46 <monochrom> Oh oh I know! Made your picture in xpm format. Which is C code. Now it's "text"... >:)
20:41:10 <Rembane> SamBellamy: The error message says that the function needs a (Maybe Int) and when you give it an Int the typechecker gets a bit confused and says that it can't find the correct type class.
20:41:43 <Rembane> SamBellamy: What it boils down to is that you need to wrap the integer in a (Just ...)
20:41:43 <geekosaur> I think we got past that? the question is now the part in the middle, but I wonder how deranged the definition was at that point
20:41:52 <SamBellamy> I think the unexpected behaviour was func False (Just 7) ==> Just 7
20:42:03 <monochrom> SamBellamy: What's your question again? Everything in the screenshot makes sense wrt the code.
20:42:07 <Rembane> Oh. I'm joining the typechecker in being confused.
20:42:22 <monochrom> False? True?
20:42:29 × coot quits (~coot@213.134.190.95) (Quit: coot)
20:42:40 <SamBellamy> monochrom: I think this part func False (Just 7) ==> Just 7?
20:42:48 <SamBellamy> expecting 2
20:43:03 <monochrom> OK I see that one now.
20:43:17 <monochrom> An old version of your code before you saved?
20:43:39 <SamBellamy> I copy and pasted it, I didn't change the code, it's from Haskell mooc
20:44:01 <monochrom> Can you try again?
20:44:07 <SamBellamy> tbs I did change it from "f" to "func" but that wouldn't make a difference I don't think
20:44:11 <monochrom> I mean, s/Can/Could/
20:44:49 <SamBellamy> now it works fine i.e. func False (Just 7) ==> 2
20:44:57 <monochrom> Yeah you didn't save.
20:45:01 <SamBellamy> but I just wanted to show the error
20:45:19 <monochrom> It affects my students all the time too. Yes they're using vscode too.
20:45:39 <SamBellamy> What editor would be best?
20:45:58 <monochrom> I know in theoy vscode autosaves. In practice there is like 1% or 0.1% chance there is some race condition or something? and it misses a beat.
20:46:14 <monochrom> Oh vscode is fine. Just explicitly tell it to save.
20:46:23 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
20:46:54 <SamBellamy> what one do you use?
20:46:59 <SamBellamy> thinking of switching
20:47:02 <monochrom> emacs
20:47:03 <SamBellamy> maybe Notepad
20:47:19 <Rembane> Neovim
20:47:20 <monochrom> But emacs takes forever to learn. I don't recommend bothering.
20:47:22 <geekosaur> I don't think it autosaves by default, at least it hasn't here and I am running it pretty much as installed
20:47:24 <SamBellamy> not Notepad++, just Notepad
20:47:32 <SamBellamy> :O
20:47:38 <monochrom> Actually I recommend Notepad++ on Windows.
20:47:41 <geekosaur> notepad++ would be much better for programming
20:47:43 <SamBellamy> I need to learn vim
20:47:58 <monochrom> If you really like to learn vim, that's cool too.
20:48:02 <SamBellamy> jk jk, I did use Notepad++ when I was using windows
20:48:04 <darkling> I used to know someone who wrote his Java in WordPad...
20:48:15 <Rembane> darkling: In .rtf files?
20:48:20 <SamBellamy> darkling: next level
20:48:39 <SamBellamy> darkling: that person is operating on a higher plane
20:48:43 <SamBellamy> another dimension
20:48:57 <darkling> It's odd. He didn't *look* insane. :)
20:49:08 <monochrom> No no no. Handwriting an xpm file is the next dimension. >:)
20:49:23 <SamBellamy> monochrom: in an exam, imagine
20:49:34 <monochrom> But I guess you can go "why not both" and handwrite an xpm file in wordpad...
20:49:52 <Rembane> I suppose memory can be written in Paint.
20:50:26 <monochrom> Oh oh oh I have one more level! Handwrite an xpm file in Paint and run OCR...
20:50:40 <monochrom> s/write/draw/
20:50:57 <monochrom> Thanks for the Paint tip!
20:51:14 <Rembane> ^^
20:51:18 <Rembane> This reminds me of: https://xkcd.com/378/
20:51:46 <monochrom> "Hi which editor/IDE do you use to code?" "I hand-draw Haskell in Paint and run OCR"
20:51:48 <SamBellamy> what's the difference between vim and emacs?
20:51:55 <SamBellamy> LMAO
20:52:50 matthewmosior joins (~matthewmo@173.170.253.91)
20:53:19 <Rembane> SamBellamy: vim is using different modes to edit and type more text etc, while emacs relies on the CTRL key. They are both reasonable appraoches, try both editors and see which one you like the most.
20:53:20 <geekosaur> these days, just that emacs defaults to input mode whereas vim defaults to command mode
20:53:28 <monochrom> "This is known as untyped Haskell"
20:53:37 <geekosaur> or that, more completely
20:54:25 <darkling> monochrom: ROFL
20:54:31 <Rembane> monochrom: Typing the technical interview?
20:55:25 <monochrom> And the last one, I'll stop: I hand-draw Haskell in Paint and send the pic to my child, my child types it up. This is known as Dependently Typed Haskell.
20:55:47 <SamBellamy> whiteboard interview, writes up python, "ok great, now lets code that up", *pulls out phone to run OCR*
20:56:36 × michalz quits (~michalz@185.246.204.93) (Remote host closed the connection)
20:56:54 <Rembane> :D
20:57:27 <Rembane> SamBellamy: I want to be able to code like that. I found a blog post a long time ago by someone who used trees drawn on paper to code in J, but I can't find it again.
20:59:52 SamBellamy parts (~SamBellam@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net) ()
20:59:58 <hpc> when i write haskell i only use characters that can be written in a single stroke
21:00:01 <hpc> that's called linear typing
21:00:14 SamBellamy joins (~SamBellam@cpc142034-slou6-2-0-cust488.17-4.cable.virginm.net)
21:00:27 <SamBellamy> Rembane: would be a cool final year project
21:00:38 <Rembane> SamBellamy: ^^
21:00:38 <SamBellamy> also, I'm done with Safari, keeps lagging
21:06:09 <monochrom> haha hpc nice
21:13:53 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
21:17:58 Digit joins (~user@user/digit)
21:19:38 × vysn quits (~vysn@user/vysn) (Ping timeout: 240 seconds)
21:21:17 talismanick joins (~talismani@2601:644:8300:c010::8544)
21:24:04 × _ht quits (~quassel@231-169-21-31.ftth.glasoperator.nl) (Remote host closed the connection)
21:26:38 agumonkey joins (~user@2a01:e0a:8f9:d3e0:b117:81a8:33f6:93e7)
21:30:25 × Pickchea quits (~private@user/pickchea) (Ping timeout: 260 seconds)
21:30:43 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
21:31:22 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
21:31:46 × gmg quits (~user@user/gehmehgeh) (Quit: Leaving)
21:36:02 × zer0bitz quits (~zer0bitz@2001:2003:f748:2000:a99c:c442:e059:77a3) (Read error: Connection reset by peer)
21:36:40 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
21:37:30 lucyy joins (~user@5.151.88.4)
21:43:44 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
21:44:25 coot joins (~coot@213.134.190.95)
21:55:34 × mvk quits (~mvk@2607:fea8:5ce3:8500::909a) (Ping timeout: 244 seconds)
21:56:12 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
21:56:29 × lucyy quits (~user@5.151.88.4) (Changing host)
21:56:29 lucyy joins (~user@user/lucyy)
21:59:07 × dsrt^ quits (~dsrt@73.54.250.255) (Ping timeout: 268 seconds)
21:59:21 × chomwitt quits (~chomwitt@2a02:587:dc00:5a00:e1c1:d1bd:c7b:c0e9) (Ping timeout: 272 seconds)
22:07:57 machinedgod joins (~machinedg@d172-219-86-154.abhsia.telus.net)
22:11:14 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
22:14:34 zeenk joins (~zeenk@2a02:2f04:a311:2d00:6865:d863:4c93:799f)
22:16:15 maroloccio joins (~marolocci@37.100.36.239)
22:16:37 dsrt^ joins (~dsrt@73.54.250.255)
22:25:41 matthewmosior joins (~matthewmo@173.170.253.91)
22:27:12 × coot quits (~coot@213.134.190.95) (Remote host closed the connection)
22:28:22 × Tuplanolla quits (~Tuplanoll@91-159-69-97.elisa-laajakaista.fi) (Quit: Leaving.)
22:31:54 coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
22:38:38 vglfr joins (~vglfr@194.9.14.33)
22:39:50 × gurkenglas quits (~gurkengla@dslb-002-203-144-112.002.203.pools.vodafone-ip.de) (Ping timeout: 240 seconds)
22:43:18 Sciencentistguy joins (~sciencent@hacksoc/ordinary-member)
22:45:35 mvk joins (~mvk@2607:fea8:5ce3:8500::909a)
22:56:16 <qrpnxz> prisms are pretty nice for parsing!
23:01:42 cirilla joins (~lys@user/lys)
23:02:30 × agumonkey quits (~user@2a01:e0a:8f9:d3e0:b117:81a8:33f6:93e7) (Ping timeout: 272 seconds)
23:08:40 × Vajb quits (~Vajb@hag-jnsbng11-58c3ad-40.dhcp.inet.fi) (Read error: Connection reset by peer)
23:12:30 Polo joins (~textual@user/polo)
23:13:55 × alternateved quits (~user@staticline-31-183-144-54.toya.net.pl) (Remote host closed the connection)
23:14:03 × cirilla quits (~lys@user/lys) (Quit: Leaving)
23:16:51 Vajb joins (~Vajb@n1zigc3rgo9mpde2w-1.v6.elisa-mobile.fi)
23:24:48 × Polo quits (~textual@user/polo) (Quit: My MacBook has gone to sleep. ZZZzzz…)
23:24:59 king_gs joins (~Thunderbi@2806:103e:29:a1b3:d33d:90f:3255:af90)
23:30:07 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
23:31:36 nate4 joins (~nate@98.45.169.16)
23:36:33 × nate4 quits (~nate@98.45.169.16) (Ping timeout: 268 seconds)
23:41:10 × coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
23:42:10 drlkf joins (~drlkf@ns327185.ip-37-187-109.eu)
23:42:31 AlexNoo_ joins (~AlexNoo@178.34.150.131)
23:42:43 Guest3 joins (~textual@222.15.195.173.client.static.strong-in52.as13926.net)
23:43:02 × zeenk quits (~zeenk@2a02:2f04:a311:2d00:6865:d863:4c93:799f) (Quit: Konversation terminated!)
23:43:32 × machinedgod quits (~machinedg@d172-219-86-154.abhsia.telus.net) (Ping timeout: 244 seconds)
23:43:51 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 272 seconds)
23:44:10 × Alex_test quits (~al_test@178.34.160.206) (Ping timeout: 240 seconds)
23:44:14 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
23:45:48 × AlexZenon quits (~alzenon@178.34.160.206) (Ping timeout: 268 seconds)
23:45:58 × AlexNoo quits (~AlexNoo@178.34.160.206) (Ping timeout: 240 seconds)
23:46:22 × drlkf quits (~drlkf@ns327185.ip-37-187-109.eu) (Client Quit)
23:46:42 drlkf joins (~drlkf@ns327185.ip-37-187-109.eu)
23:49:25 AlexZenon joins (~alzenon@178.34.150.131)
23:49:30 Alex_test joins (~al_test@178.34.150.131)
23:52:12 × drlkf quits (~drlkf@ns327185.ip-37-187-109.eu) (Quit: q=)
23:52:37 drlkf joins (~drlkf@ns327185.ip-37-187-109.eu)
23:55:36 yauhsien joins (~yauhsien@61-231-44-121.dynamic-ip.hinet.net)
23:57:48 matthewmosior joins (~matthewmo@173.170.253.91)
23:59:50 × yauhsien quits (~yauhsien@61-231-44-121.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)

All times are in UTC on 2022-07-23.