2024/07/26

2024-07-26 00:00:41 +0200 <mauke> Guestc127: English text, mostly. And Haskell code
2024-07-26 00:00:54 +0200 <mauke> (Haskell is a programming language)
2024-07-26 00:02:26 +0200 <c_wraith> Inst: didn't her sieve use infinite data structures? Data.Array is not so good at that.
2024-07-26 00:02:39 +0200 <Inst> yeah, i saw
2024-07-26 00:03:00 +0200 <monochrom> IIUC array vs o'neil's is a trade-off between fixing a bound upfront and growable. Of course with the extra power in the latter somes extra cost.
2024-07-26 00:04:05 +0200 <c_wraith> I actually re-implemented a bunch of her stuff at some point. The wheel logic was surprisingly slow. I suspect I did it wrong.
2024-07-26 00:04:28 +0200 <c_wraith> (I mean, it got the right results, but I suspect my implementation did way too much work)
2024-07-26 00:04:37 +0200 <monochrom> "I am annoyed at how if you impose limitations you can do it faster" is not particularly news, exciting, or exciting news.
2024-07-26 00:04:49 +0200 <Guestc127> I just found this forum,promise im not a troll, ill just look in to learn something,sorry
2024-07-26 00:04:56 +0200 <Rembane> monochrom: Sounds axiomatic
2024-07-26 00:05:23 +0200 <mauke> Guestc127: how did you find us? :-)
2024-07-26 00:05:40 +0200 <monochrom> Instead, I am annoyed at how people are annoyed at axiomatic tautologies. >:)
2024-07-26 00:06:29 +0200 <Guestc127> !Travis! on github and IPFS
2024-07-26 00:08:07 +0200 <Guestc127> how are you today?
2024-07-26 00:09:01 +0200danse-nr3(~danse-nr3@user/danse-nr3) (Ping timeout: 252 seconds)
2024-07-26 00:09:02 +0200 <monochrom> Speaking of which people who scaremonger about parser combinator inefficiency keep forgetting that they far exceed CFG while the oh-so-faster-than-thou parser generators are "linear time" only because they can only do LL(k) or at most LALR.
2024-07-26 00:09:20 +0200 <monochrom> Oh and also the former can do ambiguous grammars, the latter can't.
2024-07-26 00:09:49 +0200 <monochrom> Even with exactly CFG you're looking at cubic time at the minimum.
2024-07-26 00:10:33 +0200 <Rembane> That's a lot of time
2024-07-26 00:10:40 +0200 <c_wraith> mostly I don't care because I'm parsing data without large structures.
2024-07-26 00:10:53 +0200 <c_wraith> So I'd rather have easy to use than fast.
2024-07-26 00:11:25 +0200 <c_wraith> So I also dislike parsec-style non-backtracking
2024-07-26 00:11:39 +0200 <monochrom> I'm going to bring it to the meta level and write a post "stop telling beginners what to do" :)
2024-07-26 00:11:44 +0200 <c_wraith> let me write grammars the easy way, instead of factoring out all backtracking
2024-07-26 00:11:58 +0200 <Rembane> "Telling beginners what to do considered harmful."
2024-07-26 00:12:12 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2024-07-26 00:12:13 +0200 <c_wraith> "whatever you do, do not install GHC"
2024-07-26 00:12:18 +0200 <Rembane> c_wraith: What's the easy way to write grammars in your opinion?
2024-07-26 00:12:54 +0200 <c_wraith> Rembane: anything where (a <|> b) <> c is the same as (a <> c) <|> (b <> c)
2024-07-26 00:13:20 +0200 <c_wraith> those aren't interchangeable in parsec-like systems
2024-07-26 00:13:38 +0200 <Rembane> c_wraith: Cool, that seems like a great quality of life improvement
2024-07-26 00:14:02 +0200 <c_wraith> I mostly try to use Earley, but it has some issues of its own.
2024-07-26 00:14:48 +0200 <c_wraith> (like depending on parser-combinators to provide utilities, but some of them are infinite loops with Earley)
2024-07-26 00:15:02 +0200 <Rembane> FUN! :D
2024-07-26 00:15:08 +0200kupi(uid212005@id-212005.hampstead.irccloud.com)
2024-07-26 00:15:29 +0200 <c_wraith> I think those qualify as bugs in parser-combinators, but I haven't managed to get them to fix the last one I ran into
2024-07-26 00:17:41 +0200 <Inst> hmmm, okay, time to O2?
2024-07-26 00:17:44 +0200 <c_wraith> huh. I've got some free time. I think I should just go through parser-combinators and fix all the cases where it does that. Then I can submit a fix, not just a bug report.
2024-07-26 00:17:49 +0200Natch(~natch@c-9e07225c.038-60-73746f7.bbcust.telenor.se) (Remote host closed the connection)
2024-07-26 00:17:56 +0200 <Inst> or maybe drag out bodigrim's tastybench
2024-07-26 00:18:22 +0200 <Rembane> c_wraith: Yes!
2024-07-26 00:19:20 +0200danse-nr3(~danse-nr3@user/danse-nr3)
2024-07-26 00:24:50 +0200 <c_wraith> I can understand why parser-combinators have implementations that loop infinitely with Earley. It's so tempting to use direct recursion and it works with other parsers. But Earley needs to explicitly break recursion so it can build the state table. That means all recursion must be done via some/many, as those take care of breaking the recursion.
2024-07-26 00:30:13 +0200 <monochrom> That will be a bug at the level of API design. It's much more meta.
2024-07-26 00:31:47 +0200 <c_wraith> It's definitely the case that Earley adds requirements to its API that other parsers don't.
2024-07-26 00:32:29 +0200 <mauke> does haskell have marpa bindings?
2024-07-26 00:33:52 +0200 <c_wraith> huh, I hadn't heard of marpa. That sounds cool.
2024-07-26 00:38:09 +0200Natch(~natch@c-9e07225c.038-60-73746f7.bbcust.telenor.se)
2024-07-26 00:38:17 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2024-07-26 00:39:20 +0200 <danse-nr3> https://hackage.haskell.org/packages/search?terms=marpa no results
2024-07-26 00:39:53 +0200 <danse-nr3> huh i think we have it here don't we?
2024-07-26 00:39:56 +0200 <danse-nr3> @hackage marpa
2024-07-26 00:39:57 +0200 <lambdabot> https://hackage.haskell.org/package/marpa
2024-07-26 00:40:04 +0200 <danse-nr3> hmm
2024-07-26 00:43:24 +0200skyesoss(~Thunderbi@128.135.204.35) (Ping timeout: 276 seconds)
2024-07-26 00:49:52 +0200Guestc127(~Guestc127@50.25.133.140) (Quit: Client closed)
2024-07-26 00:55:04 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com)
2024-07-26 00:56:42 +0200 <dibblego> @type \r x -> mempty & r .~ x -- does this function already exist?
2024-07-26 00:56:43 +0200 <lambdabot> Monoid s => ASetter s b1 a b2 -> b2 -> b1
2024-07-26 01:01:10 +0200 <geekosaur> keep in mind that "@hackage" just puts a hackage url on a string; it does not check to see if the result is valid
2024-07-26 01:01:21 +0200 <geekosaur> @hackage #foo
2024-07-26 01:01:21 +0200 <lambdabot> https://hackage.haskell.org/package/#foo
2024-07-26 01:01:49 +0200 <danse-nr3> haha i noticed. Been wondering whether having a /search?terms=<foo> template would be more useful
2024-07-26 01:01:54 +0200pavonia(~user@user/siracusa)
2024-07-26 01:02:16 +0200 <danse-nr3> :t (.~)
2024-07-26 01:02:17 +0200 <lambdabot> ASetter s t a b -> b -> s -> t
2024-07-26 01:06:44 +0200 <mauke> :t \r x -> set r x mempty
2024-07-26 01:06:46 +0200 <lambdabot> Monoid s => ASetter s t a b -> b -> t
2024-07-26 01:07:15 +0200 <mauke> @pl \r x -> set r x mempty
2024-07-26 01:07:15 +0200 <lambdabot> flip flip mempty . set
2024-07-26 01:09:23 +0200 <EvanR> a case for keyword arguments!
2024-07-26 01:09:47 +0200 <danse-nr3> -.-
2024-07-26 01:09:49 +0200 <EvanR> set(3rd=mempry)
2024-07-26 01:09:56 +0200 <EvanR> lol
2024-07-26 01:10:31 +0200tcard_(~tcard@2400:4051:5801:7500:1e90:74c3:2754:ce8a) (Quit: Leaving)
2024-07-26 01:11:35 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 265 seconds)
2024-07-26 01:15:41 +0200tcard(~tcard@2400:4051:5801:7500:1e90:74c3:2754:ce8a)
2024-07-26 01:17:59 +0200 <dibblego> u guyz
2024-07-26 01:23:07 +0200acidjnk(~acidjnk@p200300d6e72cfb03bc7a1a14f590e127.dip0.t-ipconnect.de) (Remote host closed the connection)
2024-07-26 01:23:33 +0200acidjnk(~acidjnk@p200300d6e72cfb03bc7a1a14f590e127.dip0.t-ipconnect.de)
2024-07-26 01:25:47 +0200 <dibblego> I was thinking something like (.~~)
2024-07-26 01:28:21 +0200acidjnk(~acidjnk@p200300d6e72cfb03bc7a1a14f590e127.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
2024-07-26 01:32:04 +0200 <jackdk> dibblego: I don't believe this exists, probably because it doesn't compose that well if you want to apply multiple things to a `mempty`. Maybe you can collect a list of setters, compose them all, and apply to `mempty`?
2024-07-26 01:40:34 +0200 <dibblego> hm, I was thinking changing something like: (mempty & r1 .~ x1 & r2 .~ x2) to (r1 .~~ x1 & r2 .~ x2)
2024-07-26 01:42:32 +0200 <ncf> is this about building maps
2024-07-26 01:42:46 +0200 <dibblego> no
2024-07-26 01:45:01 +0200 <jackdk> I was thinking something like `onMempty [r1 .~ x1, r2 .~ x2]` but that fails to work if the setters change type
2024-07-26 01:55:46 +0200 <dibblego> no worries, I just wrote it and used it
2024-07-26 01:56:45 +0200danse-nr3(~danse-nr3@user/danse-nr3) (Quit: it's very late here)
2024-07-26 02:08:09 +0200 <kupi> anyone here used the xiaomi community app here to unlock lisa? I have loggin in with my 8 year old account but it says 0 days in community. Do I have to wait 30 days?
2024-07-26 02:09:07 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 272 seconds)
2024-07-26 02:09:44 +0200Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Ping timeout: 264 seconds)
2024-07-26 02:10:16 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2024-07-26 02:21:13 +0200 <kupi> sorry, wrong channel
2024-07-26 02:31:38 +0200misterfish(~misterfis@84.53.85.146)
2024-07-26 02:39:48 +0200bolivood(~bolivood@user/bolivood)
2024-07-26 02:44:19 +0200 <bolivood> haskell is the worst
2024-07-26 02:44:37 +0200 <bolivood> functional puritan who complicate even the most straightforward problems
2024-07-26 02:45:17 +0200 <Axman6> ... except for all the others
2024-07-26 02:45:41 +0200 <Axman6> bolivood: don't use it then, I promise we won't be offended
2024-07-26 02:46:13 +0200 <EvanR> we're making simple things simple (or somethings slightly wordy) while making seemingly impossible things not that hard
2024-07-26 02:46:34 +0200 <EvanR> seemingly impossible functional programs
2024-07-26 02:46:45 +0200 <Axman6> needs more tardin monad
2024-07-26 02:46:50 +0200 <Axman6> tardis!
2024-07-26 02:46:55 +0200 <Inst> oh, this is an actual account
2024-07-26 02:47:04 +0200 <Inst> bolivood: why are you angry at Haskell?
2024-07-26 02:47:17 +0200 <bolivood> because i am forced to work with this crap at work
2024-07-26 02:47:27 +0200 <Inst> bolivood -> bollywood?
2024-07-26 02:47:28 +0200 <bolivood> convetions that you invented that are "Correct", and lots of "magic"
2024-07-26 02:47:41 +0200 <Axman6> bolivood: Wanna swap jobs then?
2024-07-26 02:47:46 +0200 <bolivood> and a fanatical community resistant to change
2024-07-26 02:47:51 +0200 <Axman6> you can play with python and C++ and VHDL
2024-07-26 02:47:59 +0200 <bolivood> inflexible stubborn, making it even harder to adopt modern practices
2024-07-26 02:48:10 +0200 <Axman6> "modern practices"?
2024-07-26 02:48:11 +0200 <Inst> Axman6: iirc there's a bunch of Indians trained by Alexander Granin at Juspay
2024-07-26 02:48:16 +0200 <EvanR> I would report your enslavement to the authorities
2024-07-26 02:48:27 +0200 <EvanR> instead of us
2024-07-26 02:48:34 +0200 <Axman6> bolivood: if you just want to rane, you're welsome to go to #haskell-offtopic, but this isn't the place, we've got work to do
2024-07-26 02:48:58 +0200 <Inst> please do so in #haskell-offtopic, I'm fascinated in your story!
2024-07-26 02:49:06 +0200 <Axman6> Inst: account says Frankfurt, but who knows
2024-07-26 02:49:45 +0200 <Axman6> bolivood: why did you take a job writing Haskell if you have such a passionate hate for it? I would never take a Scala job, for that reason (previous job burned me very hard)
2024-07-26 02:49:59 +0200 <Inst> I mean that's the only scenario I can imagine
2024-07-26 02:51:54 +0200 <jackdk> *shrug* more than most communities I've been in, in the Haskell world I can usually find a blog article or paper explaining why things are so
2024-07-26 02:52:29 +0200 <Axman6> I'm really curious what modern practices means
2024-07-26 02:53:01 +0200 <Axman6> I use the git, I've done the devops, I've cried over the TDD, all in Haskell
2024-07-26 02:53:16 +0200 <bolivood> Axman6, it's a good job in other aspects
2024-07-26 02:53:36 +0200 <jackdk> Could be as simple as things like LSP stuff. I've heard opinions on HLS that range from "it's my second-favourite LSP" to extreme frustration
2024-07-26 02:54:34 +0200 <Inst> or it could be an actually cursed Haskell codebase, or lunatics in management, who knows, lots of things are possible
2024-07-26 02:54:56 +0200 <bolivood> Axman6, i'm not burning out, i focus on the positive aspects of the job i do enjoy
2024-07-26 02:57:41 +0200 <Inst> well, i hope you're having a fun time, and yeah, there are legitimate things to complain about with haskell
2024-07-26 02:58:44 +0200 <Inst> there are also illegitimate things, would be fun to figure out which is which, though
2024-07-26 02:59:13 +0200ddellacosta(~ddellacos@ool-44c73d29.dyn.optonline.net)
2024-07-26 02:59:54 +0200xff0x(~xff0x@2405:6580:b080:900:c695:3b30:f4d2:83e8) (Ping timeout: 276 seconds)
2024-07-26 03:01:06 +0200starburst(~starburst@2601:602:480:9390:8538:eef:4cf0:528d)
2024-07-26 03:02:57 +0200 <starburst> is there anyone here familiar with pipes? : )
2024-07-26 03:04:49 +0200 <bolivood> I was told to stop complaining here Inst
2024-07-26 03:05:07 +0200 <Inst> yeah i guess you're under an NDA
2024-07-26 03:05:40 +0200 <starburst> what ar you hiding from us
2024-07-26 03:11:08 +0200xff0x(~xff0x@2405:6580:b080:900:c695:3b30:f4d2:83e8)
2024-07-26 03:13:55 +0200misterfish(~misterfis@84.53.85.146) (Ping timeout: 260 seconds)
2024-07-26 03:18:38 +0200starburst(~starburst@2601:602:480:9390:8538:eef:4cf0:528d) (Quit: Client closed)
2024-07-26 03:22:41 +0200billchenchina-(~billchenc@210.110.131.60)
2024-07-26 03:29:51 +0200starburst(~starburst@2601:602:480:9390:8538:eef:4cf0:528d)
2024-07-26 03:37:11 +0200TonyStone(~TonyStone@user/TonyStone)
2024-07-26 03:38:13 +0200 <jackdk> Nobody said anything about pipes while you were gone, starburst. I'm sorry to say that I've never successfully written a nontrivial program using it.
2024-07-26 03:38:40 +0200 <starburst> thankyou jackdk
2024-07-26 03:39:02 +0200 <jackdk> These days I use `streaming` by default, conduit when things are simple and I have to interop with existing libraries. I don't know if "just change your project's streaming library" is a move you can make
2024-07-26 03:39:59 +0200 <jackdk> http://jackkelly.name/blog/archives/2024/04/13/why_streaming_is_my_favourite_haskell_streaming_lib…
2024-07-26 03:40:33 +0200JuanDaugherty(~juan@user/JuanDaugherty)
2024-07-26 03:41:51 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com)
2024-07-26 03:41:52 +0200 <starburst> i am a nooby noob trying to wrap my head around this sort of thing.. tyty
2024-07-26 03:45:48 +0200 <starburst> ooh.. streaming seems interesting.. i saw the package briefly but wasnt sure if they were doing the same sort of thing..
2024-07-26 03:47:21 +0200 <jackdk> What is your goal, at this stage? Do you have a specific project or are you just trying to learn how to stream?
2024-07-26 03:48:35 +0200 <jackdk> This affects whether I recommend conduit or streaming; I consider streaming the better library but many common http libs etc can take in a conduit.
2024-07-26 03:50:13 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 248 seconds)
2024-07-26 03:50:22 +0200 <starburst> sort of both in a way.. it seems like streaming is an element of my project sort of..
2024-07-26 03:53:15 +0200 <jackdk> If the streaming itself is complicated, I will usually do the hard bits using the `streaming` library, and convert to a conduit if/when I need to.
2024-07-26 03:54:45 +0200 <starburst> i feel like its silly to be so vague but.. i hav had this shape of the way i would like to pass control through a program in my mind for a while.. and some packages and paradigms feel like they allude to how to design that kind of shape
2024-07-26 03:56:57 +0200 <glguy> I don't think it crosses into "non-trivial" but I did a terminal implementation of 2048 using pipes a long time ago
2024-07-26 03:58:13 +0200ystael(~ystael@user/ystael) (Ping timeout: 248 seconds)
2024-07-26 03:58:43 +0200 <starburst> hoyo.. do you understand the secrets
2024-07-26 03:58:54 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com)
2024-07-26 03:59:01 +0200starburst(~starburst@2601:602:480:9390:8538:eef:4cf0:528d) (Quit: Client closed)
2024-07-26 03:59:12 +0200 <Axman6> did it ever terminate? My problem with pipes was always with wanting to do something once the streeam had finished - like taking a hash of a stream of bytestrings and finalising when it's done
2024-07-26 03:59:34 +0200 <glguy> Terminate? you could exit the game
2024-07-26 03:59:59 +0200 <glguy> https://github.com/glguy/TwosGame/blob/master/Main.hs
2024-07-26 04:00:10 +0200starburst(~starburst@2601:602:480:9390:8538:eef:4cf0:528d)
2024-07-26 04:00:10 +0200 <starburst> oops
2024-07-26 04:00:49 +0200 <glguy> https://asciinema.org/a/X8H7ErYy6F3AJtVy4VxPTBOF7
2024-07-26 04:01:33 +0200 <starburst> aowh
2024-07-26 04:02:15 +0200lystra(~lystra@208.59.105.41)
2024-07-26 04:04:59 +0200starburst(~starburst@2601:602:480:9390:8538:eef:4cf0:528d) (Client Quit)
2024-07-26 04:09:50 +0200starburst(~starburst@2601:602:480:9390:8538:eef:4cf0:528d)
2024-07-26 04:09:56 +0200 <starburst> oops again
2024-07-26 04:13:55 +0200td_(~td@i53870924.versanet.de) (Ping timeout: 264 seconds)
2024-07-26 04:14:07 +0200 <starburst> hmm.. pipes.. streams..
2024-07-26 04:15:15 +0200td_(~td@i53870934.versanet.de)
2024-07-26 04:15:27 +0200 <starburst> does anyon here enjoy explaining things
2024-07-26 04:17:06 +0200 <geekosaur> half the channel, but they're likely to dive off into irrelevancies (well, to you)
2024-07-26 04:17:34 +0200 <starburst> ty geeko
2024-07-26 04:17:58 +0200 <JuanDaugherty> starburst, https://meansofproduction.biz/pub/codeSamples/xsqlbrws.cls.txt 30+ yo smalltalk code that uses named pipes, they were maybe 10 or 20 years old at that point
2024-07-26 04:18:32 +0200 <Axman6> we love explaining things
2024-07-26 04:19:10 +0200 <jackdk> But it's easier to respond to specific questions than open-ended ones, and the act of formulating the question itself can often be really helpful to the asker
2024-07-26 04:19:21 +0200 <starburst> wo juan.. interesting
2024-07-26 04:19:31 +0200 <monochrom> I enjoy getting paid to explain things.
2024-07-26 04:19:44 +0200 <Axman6> lucky
2024-07-26 04:19:56 +0200 <starburst> that is tru jack mhm
2024-07-26 04:22:45 +0200xff0x(~xff0x@2405:6580:b080:900:c695:3b30:f4d2:83e8) (Ping timeout: 248 seconds)
2024-07-26 04:24:05 +0200 <Lears> I have a question for #haskell almost every day. Disappointingly, the process of turning it into a /good/ question resolves the issue 99% of the time.
2024-07-26 04:25:10 +0200 <starburst> m.. i am trying to figure out what i even want to know..
2024-07-26 04:25:40 +0200JuanDaugherty(~juan@user/JuanDaugherty) (Quit: JuanDaugherty)
2024-07-26 04:25:41 +0200 <monochrom> The other 1% of the time the good question is equivalent to one of the Millenium problems. >:)
2024-07-26 04:28:51 +0200Guest58(~Guest62@32.221.120.181)
2024-07-26 04:32:52 +0200 <starburst> uhgg >_<
2024-07-26 04:34:26 +0200 <starburst> i feel like iv read about readers several times b4 but.. its hard for me to hav a good mental image of them
2024-07-26 04:35:44 +0200 <monochrom> Perhaps the problem is with "image" and you should develop "rules", "algebra" instead of "image".
2024-07-26 04:37:18 +0200 <starburst> how do i do that??
2024-07-26 04:37:38 +0200CrunchyFlakes(~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-07-26 04:38:08 +0200starburst(~starburst@2601:602:480:9390:8538:eef:4cf0:528d) (Quit: Client closed)
2024-07-26 04:38:33 +0200starburst(~starburst@2601:602:480:9390:8538:eef:4cf0:528d)
2024-07-26 04:38:44 +0200 <monochrom> Stop reading picturely "tutorials". Start reading, writing, playing with actual code.
2024-07-26 04:38:56 +0200 <starburst> that keeps happening.. i hope i didnt miss any fun
2024-07-26 04:39:34 +0200 <starburst> anyfin.. oops
2024-07-26 04:39:47 +0200 <geekosaur> we have logs, see the channel topic
2024-07-26 04:39:54 +0200 <geekosaur> in this case, you missed nothing
2024-07-26 04:40:10 +0200CrunchyFlakes(~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de)
2024-07-26 04:40:23 +0200 <starburst> that is true.. i wish i had a pc with me rn
2024-07-26 04:40:37 +0200 <starburst> tyy ty
2024-07-26 04:41:51 +0200 <starburst> mayb i could.. run a lil bit of haskell.. hmmm
2024-07-26 04:42:06 +0200 <geekosaur> https://play.haskell.org
2024-07-26 04:42:44 +0200 <starburst> thanks : )
2024-07-26 04:43:59 +0200starburst(~starburst@2601:602:480:9390:8538:eef:4cf0:528d) (Quit: Client closed)
2024-07-26 04:44:13 +0200starburst(~starburst@2601:602:480:9390:8538:eef:4cf0:528d)
2024-07-26 04:46:59 +0200starburst(~starburst@2601:602:480:9390:8538:eef:4cf0:528d) (Client Quit)
2024-07-26 04:50:23 +0200starburst(~starburst@2601:602:480:9390:8538:eef:4cf0:528d)
2024-07-26 04:50:46 +0200 <starburst> it may b a bit hard to stay connected here for now.. thank you for talking to me
2024-07-26 04:51:11 +0200 <starburst> i will explore using the language an see what i can find…. <3
2024-07-26 04:51:54 +0200 <geekosaur> godbolt.org also has a Haskell environment, I believe
2024-07-26 04:53:50 +0200 <starburst> ty m(- _ -)m
2024-07-26 04:54:28 +0200 <starburst> i hope you hav good dreams tonight
2024-07-26 04:56:25 +0200 <starburst> goodbye for now (   )/
2024-07-26 04:56:53 +0200starburst(~starburst@2601:602:480:9390:8538:eef:4cf0:528d) (Quit: Client closed)
2024-07-26 04:57:20 +0200torkel(~sindu@83-243-191-191.fth.tafjordconnect.net)
2024-07-26 04:58:29 +0200Inst(~Inst@user/Inst) (Ping timeout: 248 seconds)
2024-07-26 05:13:49 +0200xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
2024-07-26 05:14:53 +0200slack1256(~slack1256@2803:c600:5111:80cb:ffde:2539:7254:2ff5) (Remote host closed the connection)
2024-07-26 05:16:32 +0200billchenchina-(~billchenc@210.110.131.60) (Quit: Leaving)
2024-07-26 05:38:54 +0200waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 252 seconds)
2024-07-26 05:40:55 +0200torkel(~sindu@83-243-191-191.fth.tafjordconnect.net) (Ping timeout: 260 seconds)
2024-07-26 05:53:56 +0200aforemny_(~aforemny@i59F516CE.versanet.de) (Ping timeout: 252 seconds)
2024-07-26 05:54:06 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 276 seconds)
2024-07-26 05:54:09 +0200aforemny(~aforemny@i59F516C5.versanet.de)
2024-07-26 05:59:18 +0200rosco(~rosco@125.235.232.224)
2024-07-26 06:14:34 +0200kupi(uid212005@id-212005.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2024-07-26 06:37:40 +0200rosco(~rosco@125.235.232.224) (Quit: Lost terminal)
2024-07-26 06:40:46 +0200brettgilio(~brettgili@154.3.237.18) (Quit: The Lounge - https://thelounge.chat)
2024-07-26 06:41:03 +0200brettgilio(~brettgili@154.3.237.18)
2024-07-26 06:56:39 +0200euphores(~SASL_euph@user/euphores) (Quit: Leaving.)
2024-07-26 07:00:52 +0200CrunchyFlakes(~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-07-26 07:01:03 +0200Sgeo(~Sgeo@user/sgeo) (Ping timeout: 276 seconds)
2024-07-26 07:01:53 +0200euphores(~SASL_euph@user/euphores)
2024-07-26 07:01:55 +0200Square2(~Square@user/square) (Ping timeout: 264 seconds)
2024-07-26 07:03:17 +0200CrunchyFlakes(~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de)
2024-07-26 07:06:55 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com)
2024-07-26 07:18:03 +0200paddymahoney(~paddymaho@pool-99-250-30-88.cpe.net.cable.rogers.com)
2024-07-26 07:18:13 +0200paddymahoney(~paddymaho@pool-99-250-30-88.cpe.net.cable.rogers.com) (Client Quit)
2024-07-26 07:19:18 +0200Sgeo(~Sgeo@user/sgeo)
2024-07-26 07:22:19 +0200michalz(~michalz@185.246.207.197)
2024-07-26 07:24:29 +0200 <mauke> <starburst> i feel like iv read about readers several times b4 but.. its hard for me to hav a good mental image of them <- if you mean Control.Monad.Reader, that's just a (very thin) abstraction layer over functions
2024-07-26 07:24:50 +0200 <mauke> `Reader e a` is like `e -> a`
2024-07-26 07:30:29 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2024-07-26 07:38:17 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-07-26 07:48:38 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-07-26 08:08:00 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-07-26 08:15:28 +0200euleritian(~euleritia@77.22.252.56) (Ping timeout: 265 seconds)
2024-07-26 08:16:08 +0200euleritian(~euleritia@dynamic-176-006-132-141.176.6.pool.telefonica.de)
2024-07-26 08:24:16 +0200sord937(~sord937@gateway/tor-sasl/sord937)
2024-07-26 08:27:19 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
2024-07-26 08:30:20 +0200ft(~ft@p3e9bc4e7.dip0.t-ipconnect.de) (Quit: leaving)
2024-07-26 08:40:49 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-07-26 08:47:54 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
2024-07-26 08:50:54 +0200CiaoSen(~Jura@2a05:5800:2ef:3300:e6b9:7aff:fe80:3d03)
2024-07-26 08:51:40 +0200acidjnk(~acidjnk@p200300d6e72cfb67cc718b9c5fdaa04e.dip0.t-ipconnect.de)
2024-07-26 08:52:31 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2024-07-26 08:54:35 +0200m1dnight(~christoph@78-20-61-242.access.telenet.be) (Quit: WeeChat 4.3.5)
2024-07-26 08:55:17 +0200m1dnight(~christoph@78-20-61-242.access.telenet.be)
2024-07-26 09:15:38 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2024-07-26 09:22:20 +0200paddymahoney(~paddymaho@pool-99-250-30-88.cpe.net.cable.rogers.com)
2024-07-26 09:29:38 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-07-26 09:31:06 +0200econo_(uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity)
2024-07-26 09:44:49 +0200rvalue(~rvalue@user/rvalue) (Read error: Connection reset by peer)
2024-07-26 09:45:22 +0200rvalue(~rvalue@user/rvalue)
2024-07-26 09:47:06 +0200tinjamin(~tinjamin@banshee.h4x0r.space) (Quit: The Lounge - https://thelounge.chat)
2024-07-26 09:47:52 +0200euleritian(~euleritia@dynamic-176-006-132-141.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-07-26 09:48:07 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-07-26 09:48:09 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-07-26 09:48:11 +0200tinjamin(~tinjamin@banshee.h4x0r.space)
2024-07-26 09:55:42 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-07-26 10:05:49 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
2024-07-26 10:06:24 +0200euleritian(~euleritia@dynamic-176-006-132-141.176.6.pool.telefonica.de)
2024-07-26 10:19:02 +0200euleritian(~euleritia@dynamic-176-006-132-141.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-07-26 10:19:20 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-07-26 10:33:41 +0200zetef(~quassel@2a02:2f00:5202:1200:3fa2:e908:b522:fa2f)
2024-07-26 10:33:50 +0200zetef(~quassel@2a02:2f00:5202:1200:3fa2:e908:b522:fa2f) (Client Quit)
2024-07-26 10:35:37 +0200danse-nr3(~danse-nr3@user/danse-nr3)
2024-07-26 10:40:43 +0200cpressey(~weechat@176.254.71.203)
2024-07-26 10:49:32 +0200chele(~chele@user/chele)
2024-07-26 10:55:04 +0200misterfish(~misterfis@h239071.upc-h.chello.nl)
2024-07-26 10:57:46 +0200ddellacosta(~ddellacos@ool-44c73d29.dyn.optonline.net) (Ping timeout: 244 seconds)
2024-07-26 10:57:53 +0200ash3en(~Thunderbi@2a02:3100:7cbf:eb01:7d12:84f8:86d0:6566)
2024-07-26 10:57:56 +0200ash3en(~Thunderbi@2a02:3100:7cbf:eb01:7d12:84f8:86d0:6566) (Client Quit)
2024-07-26 10:58:04 +0200ddellacosta(~ddellacos@68.199.61.41)
2024-07-26 11:03:03 +0200cfricke(~cfricke@user/cfricke)
2024-07-26 11:09:20 +0200Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi)
2024-07-26 11:12:20 +0200__monty__(~toonn@user/toonn)
2024-07-26 11:28:05 +0200driib3(~driib@vmi931078.contaboserver.net) (Quit: The Lounge - https://thelounge.chat)
2024-07-26 11:28:42 +0200driib3(~driib@vmi931078.contaboserver.net)
2024-07-26 11:33:56 +0200jespada(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Ping timeout: 244 seconds)
2024-07-26 11:34:01 +0200jespada_(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net)
2024-07-26 11:45:35 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 255 seconds)
2024-07-26 11:46:14 +0200cfricke(~cfricke@user/cfricke) (Ping timeout: 245 seconds)
2024-07-26 11:46:36 +0200euleritian(~euleritia@dynamic-176-006-132-141.176.6.pool.telefonica.de)
2024-07-26 11:52:14 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-07-26 11:57:11 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-07-26 11:58:05 +0200omegatron(~some@user/omegatron)
2024-07-26 11:58:05 +0200jespada_(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Quit: My Mac has gone to sleep. ZZZzzz…)
2024-07-26 11:58:17 +0200CiaoSen(~Jura@2a05:5800:2ef:3300:e6b9:7aff:fe80:3d03) (Ping timeout: 265 seconds)
2024-07-26 11:59:06 +0200jespada(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net)
2024-07-26 12:02:41 +0200poscat(~poscat@user/poscat) (Ping timeout: 255 seconds)
2024-07-26 12:04:05 +0200xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 248 seconds)
2024-07-26 12:06:07 +0200Midjak(~MarciZ@82.66.147.146)
2024-07-26 12:06:35 +0200ash3en(~Thunderbi@2a02:3100:7cbf:eb01:7d12:84f8:86d0:6566)
2024-07-26 12:06:55 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.2.2)
2024-07-26 12:10:08 +0200cfricke(~cfricke@user/cfricke)
2024-07-26 12:14:10 +0200Inst(~Inst@user/Inst)
2024-07-26 12:15:00 +0200danse-nr3(~danse-nr3@user/danse-nr3) (Read error: Connection reset by peer)
2024-07-26 12:15:16 +0200danse-nr3(~danse-nr3@user/danse-nr3)
2024-07-26 12:19:55 +0200ash3en(~Thunderbi@2a02:3100:7cbf:eb01:7d12:84f8:86d0:6566) (Quit: ash3en)
2024-07-26 12:20:22 +0200ash3en(~Thunderbi@2a02:3100:7cbf:eb01:7d12:84f8:86d0:6566)
2024-07-26 12:21:09 +0200ash3en(~Thunderbi@2a02:3100:7cbf:eb01:7d12:84f8:86d0:6566) (Client Quit)
2024-07-26 12:23:03 +0200 <Inst> regarding the link to the old bodigrim post
2024-07-26 12:23:39 +0200 <Inst> i was implicitly complaining that it's dumb that GHC can't optimize a functional version of this to be competitive with the imperative version
2024-07-26 12:23:53 +0200 <Inst> every time you break out the ST / STUArray etc, it's an admission of defeat
2024-07-26 12:23:58 +0200 <danse-nr3> patches welcome?
2024-07-26 12:27:22 +0200tomku(~tomku@user/tomku) (Ping timeout: 252 seconds)
2024-07-26 12:27:36 +0200tomku(~tomku@user/tomku)
2024-07-26 12:27:40 +0200euleritian(~euleritia@dynamic-176-006-132-141.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-07-26 12:27:58 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-07-26 12:28:29 +0200APic(apic@apic.name)
2024-07-26 12:28:50 +0200poscat(~poscat@user/poscat)
2024-07-26 12:35:01 +0200misterfish(~misterfis@h239071.upc-h.chello.nl) (Ping timeout: 248 seconds)
2024-07-26 12:37:53 +0200CiaoSen(~Jura@2a05:5800:2ef:3300:e6b9:7aff:fe80:3d03)
2024-07-26 12:40:50 +0200ash3en(~Thunderbi@2a02:3100:7cbf:eb01:7d12:84f8:86d0:6566)
2024-07-26 12:46:17 +0200ash3en(~Thunderbi@2a02:3100:7cbf:eb01:7d12:84f8:86d0:6566) (Quit: ash3en)
2024-07-26 12:46:27 +0200danse-nr3(~danse-nr3@user/danse-nr3) (Quit: life calls)
2024-07-26 12:51:37 +0200Guest58(~Guest62@32.221.120.181) (Quit: Client closed)
2024-07-26 13:03:14 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-07-26 13:04:11 +0200misterfish(~misterfis@87.215.131.102)
2024-07-26 13:21:53 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 255 seconds)
2024-07-26 13:22:49 +0200euleritian(~euleritia@dynamic-176-006-132-141.176.6.pool.telefonica.de)
2024-07-26 13:28:39 +0200torkel(~sindu@83-243-191-191.fth.tafjordconnect.net)
2024-07-26 13:32:19 +0200jespada(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Quit: My Mac has gone to sleep. ZZZzzz…)
2024-07-26 13:33:15 +0200jespada(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net)
2024-07-26 13:35:58 +0200cfricke(~cfricke@user/cfricke) (Quit: WeeChat 4.2.2)
2024-07-26 13:38:39 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
2024-07-26 13:52:51 +0200jespada(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Read error: Connection reset by peer)
2024-07-26 13:52:57 +0200jespada_(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net)
2024-07-26 13:54:49 +0200drdo(~drdo@bl5-29-74.dsl.telepac.pt) (Ping timeout: 260 seconds)
2024-07-26 13:55:13 +0200drdo(~drdo@bl5-29-74.dsl.telepac.pt)
2024-07-26 14:02:15 +0200AlexNoo(~AlexNoo@94.233.241.102) (Read error: Connection reset by peer)
2024-07-26 14:02:35 +0200cpressey(~weechat@176.254.71.203) (Ping timeout: 260 seconds)
2024-07-26 14:08:29 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-07-26 14:18:46 +0200xff0x(~xff0x@2405:6580:b080:900:8b26:ef3c:7f31:7c41)
2024-07-26 14:31:40 +0200noctux(~noctux@user/noctux) (Remote host closed the connection)
2024-07-26 14:34:09 +0200noctux(~noctux@user/noctux)
2024-07-26 14:36:38 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2024-07-26 14:37:45 +0200chele(~chele@user/chele) (Remote host closed the connection)
2024-07-26 14:37:45 +0200omegatron(~some@user/omegatron) (Quit: Power is a curious thing. It can be contained, hidden, locked away, and yet it always breaks free.)
2024-07-26 14:39:53 +0200machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net)
2024-07-26 14:41:45 +0200td_(~td@i53870934.versanet.de) (Quit: waking up from the american dream ...)
2024-07-26 14:43:47 +0200__monty__(~toonn@user/toonn) (Ping timeout: 255 seconds)
2024-07-26 14:44:22 +0200td_(~td@i53870934.versanet.de)
2024-07-26 14:47:14 +0200danse-nr3(~danse-nr3@user/danse-nr3)
2024-07-26 14:53:23 +0200Guest69(~Guest69@remote.ols-na.com)
2024-07-26 14:53:31 +0200Guest69(~Guest69@remote.ols-na.com) ()
2024-07-26 14:59:18 +0200cpressey(~weechat@176.254.71.203)
2024-07-26 15:14:02 +0200AlexZenon(~alzenon@94.233.241.102) (Ping timeout: 265 seconds)
2024-07-26 15:15:06 +0200ystael(~ystael@user/ystael)
2024-07-26 15:18:47 +0200AlexZenon(~alzenon@94.233.241.102)
2024-07-26 15:26:59 +0200AlexZenon(~alzenon@94.233.241.102) (Ping timeout: 255 seconds)
2024-07-26 15:34:06 +0200AlexZenon(~alzenon@94.233.241.102)
2024-07-26 15:35:38 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-07-26 15:42:03 +0200jerg(~jerg@2001:a61:247a:4700::bb0)
2024-07-26 15:42:21 +0200euleritian(~euleritia@dynamic-176-006-132-141.176.6.pool.telefonica.de) (Ping timeout: 276 seconds)
2024-07-26 15:42:29 +0200euleritian(~euleritia@dynamic-176-006-141-019.176.6.pool.telefonica.de)
2024-07-26 15:57:23 +0200__monty__(~toonn@user/toonn)
2024-07-26 15:58:53 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.2.2)
2024-07-26 16:06:36 +0200Square2(~Square@user/square)
2024-07-26 16:11:18 +0200tram(~tram@2a02:587:b43:7300:a89e:683a:2da1:a2ed) ()
2024-07-26 16:16:23 +0200ddellacosta(~ddellacos@68.199.61.41) (Ping timeout: 265 seconds)
2024-07-26 16:19:25 +0200euleritian(~euleritia@dynamic-176-006-141-019.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-07-26 16:19:43 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-07-26 16:20:59 +0200Vajb(~Vajb@85-76-106-240-nat.elisa-mobile.fi)
2024-07-26 16:22:21 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-07-26 16:22:28 +0200euleritian(~euleritia@dynamic-176-006-141-019.176.6.pool.telefonica.de)
2024-07-26 16:22:49 +0200euleritian(~euleritia@dynamic-176-006-141-019.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-07-26 16:23:06 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-07-26 16:24:39 +0200CrunchyFlakes(~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-07-26 16:25:44 +0200AlexNoo(~AlexNoo@94.233.241.102)
2024-07-26 16:26:46 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-07-26 16:27:01 +0200CrunchyFlakes(~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de)
2024-07-26 16:34:35 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-07-26 16:35:22 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-07-26 16:41:53 +0200Sgeo(~Sgeo@user/sgeo)
2024-07-26 16:42:54 +0200cfricke(~cfricke@user/cfricke)
2024-07-26 16:51:59 +0200CiaoSen(~Jura@2a05:5800:2ef:3300:e6b9:7aff:fe80:3d03) (Ping timeout: 272 seconds)
2024-07-26 16:58:29 +0200misterfish(~misterfis@87.215.131.102) (Ping timeout: 248 seconds)
2024-07-26 16:59:57 +0200xdminsy(~xdminsy@117.147.70.227) (Remote host closed the connection)
2024-07-26 17:00:27 +0200xdminsy(~xdminsy@117.147.70.227)
2024-07-26 17:04:55 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 264 seconds)
2024-07-26 17:05:37 +0200euleritian(~euleritia@dynamic-176-006-141-019.176.6.pool.telefonica.de)
2024-07-26 17:07:00 +0200euleritian(~euleritia@dynamic-176-006-141-019.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-07-26 17:07:18 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-07-26 17:08:16 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-07-26 17:09:07 +0200xdminsy(~xdminsy@117.147.70.227) (Quit: Konversation terminated!)
2024-07-26 17:12:42 +0200LawrenceBerkheim(~LBerkheim@user/LawrenceBerkheim)
2024-07-26 17:12:56 +0200 <LawrenceBerkheim> Hello, is anybody here??
2024-07-26 17:13:34 +0200 <LawrenceBerkheim> Fuck my colourscheme is a disaster for irc, my bad
2024-07-26 17:13:52 +0200danse-nr3(~danse-nr3@user/danse-nr3) (Quit: on the move)
2024-07-26 17:14:18 +0200LawrenceBerkheim(~LBerkheim@user/LawrenceBerkheim) (Client Quit)
2024-07-26 17:14:45 +0200 <kaol> This is #haskell, what's your Haskell emergency?
2024-07-26 17:16:47 +0200LawrenceBerkheim(~LBerkheim@user/LawrenceBerkheim)
2024-07-26 17:16:54 +0200 <LawrenceBerkheim> Hello?
2024-07-26 17:17:01 +0200 <LawrenceBerkheim> Fuck me
2024-07-26 17:17:03 +0200LawrenceBerkheim(~LBerkheim@user/LawrenceBerkheim) (Client Quit)
2024-07-26 17:25:58 +0200Lawrence1erkheim(~LBerkheim@user/LawrenceBerkheim)
2024-07-26 17:26:00 +0200 <Lawrence1erkheim> Finally fixed my trash
2024-07-26 17:26:09 +0200 <kaol> This is #haskell, what's your Haskell emergency?
2024-07-26 17:26:21 +0200 <Lawrence1erkheim> Okay, I've been learning haskell for a while, and I'm getting the hang of it, but I'm very confused about one bit
2024-07-26 17:26:25 +0200 <EvanR> Sir this is a haskell
2024-07-26 17:26:32 +0200 <Lawrence1erkheim> I'm looking at a codebase that's not mine
2024-07-26 17:26:41 +0200 <Lawrence1erkheim> And I see a bunch of data's defined
2024-07-26 17:26:59 +0200 <Lawrence1erkheim> And I see there are two types of them
2024-07-26 17:27:18 +0200 <Lawrence1erkheim> One is like `data Value = Something`
2024-07-26 17:27:29 +0200 <Lawrence1erkheim> another is like `data Value = Value Something`
2024-07-26 17:27:40 +0200 <Lawrence1erkheim> i.e. the token after `data` repeats
2024-07-26 17:27:41 +0200 <EvanR> that's the same kind of thing, a data type definition
2024-07-26 17:27:44 +0200 <Lawrence1erkheim> What's the deal? What do I google?
2024-07-26 17:27:59 +0200 <kaol> type variables
2024-07-26 17:28:00 +0200 <EvanR> in the second example, the two Value are different things
2024-07-26 17:28:09 +0200 <EvanR> the first Value is the type name
2024-07-26 17:28:15 +0200 <EvanR> the second Value, confusingly, is the constructor name
2024-07-26 17:28:39 +0200 <EvanR> they inhabit different namespaces
2024-07-26 17:28:54 +0200 <EvanR> so it's possible to make the match, but it's annoying
2024-07-26 17:28:54 +0200kupi(uid212005@id-212005.hampstead.irccloud.com)
2024-07-26 17:29:00 +0200 <EvanR> s/the/them/
2024-07-26 17:29:40 +0200 <Lawrence1erkheim> Hmm ok
2024-07-26 17:30:06 +0200 <EvanR> look at section 2.2 https://www.haskell.org/tutorial/goodies.html
2024-07-26 17:31:05 +0200 <EvanR> (there are no type variables in your question though, whose names are in all lowercase)
2024-07-26 17:31:41 +0200 <EvanR> case matters
2024-07-26 17:32:47 +0200 <kaol> Applying one at least. I don't think you can really explain what's going on without talking about them.
2024-07-26 17:33:08 +0200 <Lawrence1erkheim> Yea in the example I'm looking at right now it's IntegerValue, StringValue, etc., separated with `|`'s. I made the connection that it means that the thing can be either one of those.
2024-07-26 17:33:25 +0200 <Lawrence1erkheim> Regardless
2024-07-26 17:33:26 +0200 <kaol> That's sum types and that's correct.
2024-07-26 17:33:46 +0200 <Lawrence1erkheim> I'll do some reading and probably come back with more questions because I should probably try understanding them instead of monkey-coding
2024-07-26 17:33:53 +0200 <EvanR> good idea
2024-07-26 17:34:07 +0200 <kaol> I'd suggest reading about Maybe.
2024-07-26 17:34:36 +0200 <EvanR> section 2.2 and the section after it does get into all that
2024-07-26 17:34:41 +0200 <Lawrence1erkheim> Yea it's also bumming around in the code. I kind of understand it, but not confident about it (couldn't utilise it myself from scratch)
2024-07-26 17:34:53 +0200 <Lawrence1erkheim> Talking about the `Maybe` ^^^
2024-07-26 17:35:00 +0200 <kaol> It's (almost) the simplest case where you ever encounter a construct like Value Something.
2024-07-26 17:35:27 +0200 <Lawrence1erkheim> Oh shit is `Something` an actual keyword? I used it as a placeholder for a type lol
2024-07-26 17:35:30 +0200 <Lawrence1erkheim> My bad
2024-07-26 17:35:32 +0200 <EvanR> no
2024-07-26 17:36:29 +0200 <EvanR> data Point = Pt Int Int, here there is 1 way to construct a Point, using the Pt constructor. And it requires 2 Ints to do it
2024-07-26 17:36:33 +0200 <kaol> It's completely fine as an example placeholder, as long as it's upper case. Lower case would mean something else.
2024-07-26 17:36:49 +0200 <EvanR> so when you say data Value = MkValue Something, Something is referring to some type named Something
2024-07-26 17:37:37 +0200 <EvanR> data Value = IntValue Int | StringValue String is similar but now there's 2 constructors
2024-07-26 17:37:56 +0200 <EvanR> Int and String are types defined somewhere
2024-07-26 17:38:02 +0200 <EvanR> serving as the "payload"
2024-07-26 17:38:53 +0200 <Lawrence1erkheim> And what are `IntValue`/`StringValue` in those cases?
2024-07-26 17:39:14 +0200 <EvanR> constructor names
2024-07-26 17:39:32 +0200 <Lawrence1erkheim> Do they have to be defined elsewhere?
2024-07-26 17:39:37 +0200 <EvanR> that is the definition
2024-07-26 17:39:42 +0200 <Lawrence1erkheim> Ah
2024-07-26 17:40:00 +0200 <EvanR> it produces functions you can use the construct Values... and they have a type... StringValue :: String -> Value
2024-07-26 17:40:04 +0200 <EvanR> can use to*
2024-07-26 17:40:43 +0200 <kaol> And you can use them for pattern matching as well (like "foo (StringValue x) = x").
2024-07-26 17:41:17 +0200 <EvanR> case v of { IntValue i -> <code>; StringValue str -> <code> }
2024-07-26 17:42:11 +0200 <EvanR> lets you discover the constructor used and unpack the Value
2024-07-26 17:45:48 +0200 <Lawrence1erkheim> Okay so let's say I have two ,,variables'' or however I call them, one of them is ThingA = IntegerType | StringType, another is ThingB = IntegerType int | StringType String. ThingA denotes the types, and ThingB denotes the instances of types?
2024-07-26 17:45:59 +0200 <EvanR> two data types?
2024-07-26 17:46:00 +0200 <Lawrence1erkheim> IntegerType Int*
2024-07-26 17:46:15 +0200 <Lawrence1erkheim> Yea let's say
2024-07-26 17:46:27 +0200 <Lawrence1erkheim> In practice I have to check if ThingB is of instance ThingA
2024-07-26 17:46:35 +0200 <EvanR> no
2024-07-26 17:46:44 +0200 <EvanR> first of all, did you mean to leave out the data keyword
2024-07-26 17:46:59 +0200 <EvanR> which is needed to define data types
2024-07-26 17:47:01 +0200 <Lawrence1erkheim> My bad, the keyword is supposed to be there
2024-07-26 17:47:11 +0200 <EvanR> ok then you're not "assigning" variables or anything
2024-07-26 17:47:31 +0200 <EvanR> which are lower case, btw
2024-07-26 17:47:33 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-07-26 17:48:11 +0200 <EvanR> ThingA and ThingB, assuming you put them in different modules because of name collisions, are two independent types with no relation
2024-07-26 17:48:15 +0200 <EvanR> there's no subtype relationship
2024-07-26 17:49:42 +0200 <Lawrence1erkheim> Wait is `IntegerType` builtin or am I defining a thing that is `IntegerType`?
2024-07-26 17:49:49 +0200 <EvanR> you're defining that
2024-07-26 17:49:53 +0200 <Lawrence1erkheim> Just like in those examples `data Colour = Red | Green`
2024-07-26 17:49:53 +0200 <EvanR> (two different ways)
2024-07-26 17:50:03 +0200 <EvanR> yeah
2024-07-26 17:50:07 +0200 <Lawrence1erkheim> Oh
2024-07-26 17:50:23 +0200 <EvanR> Red :: Colour
2024-07-26 17:50:26 +0200 <EvanR> Green :: Colour
2024-07-26 17:50:36 +0200 <Lawrence1erkheim> Ok I'm looking at the instantiations it makes more sense
2024-07-26 17:50:36 +0200 <EvanR> IntegerType :: Int -> ThingB
2024-07-26 17:51:04 +0200 <EvanR> using the word Type in the constructor may be confusing, because constructors create values not types
2024-07-26 17:51:22 +0200 <EvanR> Red and Green are values, Colour is a type
2024-07-26 17:51:27 +0200gorignak(~gorignak@user/gorignak)
2024-07-26 17:51:32 +0200 <Lawrence1erkheim> Oh my fucking god I went blind to words. ThingA was IntegerType, etc., while ThingB was IntegerValue, etc.
2024-07-26 17:51:35 +0200 <Lawrence1erkheim> I am going to die
2024-07-26 17:51:57 +0200 <EvanR> and so using Value in the constructor name is redundant xD
2024-07-26 17:51:59 +0200gorignak(~gorignak@user/gorignak) (Client Quit)
2024-07-26 17:52:21 +0200 <EvanR> e.g. RedValue, GreenValue, it is redundant
2024-07-26 17:52:30 +0200 <Lawrence1erkheim> And IntegerValue is an actual thing (?) (e.g. here https://hackage.haskell.org/package/present-4.1.0/docs/Present.html)
2024-07-26 17:52:46 +0200 <EvanR> some library defined it, haven't heard of that one
2024-07-26 17:52:59 +0200 <kaol> RedWrittenInLatinCharacters
2024-07-26 17:53:02 +0200 <EvanR> many things in haskell are defined somewhere, e.g. type String = [Char]
2024-07-26 17:53:23 +0200 <EvanR> data Bool = False | True
2024-07-26 17:54:51 +0200 <Lawrence1erkheim> Wait so I have instances of ThingA, which is StringType|IntegerType, and then I have a bunch of ThingB, which is StringValue String|IntegerValue Integer. What would be the haskell-esque way to check that the instances match?
2024-07-26 17:55:13 +0200 <Lawrence1erkheim> Do I need to define a map that's like ,,StringType and StringValue are cool", etc?
2024-07-26 17:55:23 +0200danse-nr3(~danse-nr3@user/danse-nr3)
2024-07-26 17:55:31 +0200 <EvanR> here is a more popular library with a 'Value' type defined similarly https://hackage.haskell.org/package/aeson-2.2.3.0/docs/src/Data.Aeson.Types.Internal.html#Value
2024-07-26 17:55:38 +0200 <EvanR> it's modelling a JSON value
2024-07-26 17:56:18 +0200 <EvanR> Lawrence1erkheim, I guess you could write a function with type ThingA -> ThingB -> Bool ?
2024-07-26 17:56:38 +0200 <Lawrence1erkheim> Based
2024-07-26 17:56:38 +0200 <EvanR> but more likely how and where you match depends on what you really want to do
2024-07-26 17:56:41 +0200 <Lawrence1erkheim> I'll try that
2024-07-26 17:57:13 +0200 <Lawrence1erkheim> Last time I didn't understand those signatures with arrows so I'm glad I got this far
2024-07-26 17:57:16 +0200 <Lawrence1erkheim> Thanks guys
2024-07-26 17:57:16 +0200 <Lawrence1erkheim> I may be back
2024-07-26 17:58:08 +0200 <EvanR> Bool tests appear a lot less in haskell because pattern matching, usually
2024-07-26 17:58:17 +0200 <EvanR> than in many other languages
2024-07-26 17:59:04 +0200 <Lawrence1erkheim> I've noticed. When I had to pull out my first bool I wondered if I'm doing something wrong since I didn't need them up until that point.
2024-07-26 17:59:27 +0200 <EvanR> yeah it's definitely a red flag of sorts
2024-07-26 17:59:48 +0200 <EvanR> but some utilities take a Bool so you need them there
2024-07-26 17:59:51 +0200 <EvanR> :t filter
2024-07-26 17:59:52 +0200 <lambdabot> (a -> Bool) -> [a] -> [a]
2024-07-26 18:01:22 +0200 <kaol> And that's something you'll encounter much later but a lot of constructions that'd take conditionals in some other language are just done with monads.
2024-07-26 18:02:38 +0200JuanDaugherty(~juan@user/JuanDaugherty)
2024-07-26 18:02:42 +0200 <EvanR> :t mapMaybe
2024-07-26 18:02:43 +0200 <lambdabot> (a -> Maybe b) -> [a] -> [b]
2024-07-26 18:03:05 +0200 <EvanR> (another way to filter but not really monad related)
2024-07-26 18:04:21 +0200 <Lawrence1erkheim> it worked!
2024-07-26 18:04:27 +0200 <Lawrence1erkheim> Thanks guys
2024-07-26 18:04:45 +0200 <Lawrence1erkheim> well fuck the working
2024-07-26 18:04:49 +0200 <Lawrence1erkheim> I get it now (hopefully)
2024-07-26 18:07:34 +0200 <ncf> very monad-related in fact
2024-07-26 18:07:46 +0200 <ncf> Maybe is a submonad of []
2024-07-26 18:08:00 +0200 <ncf> this is just bind restricted to that submonad in the first argument
2024-07-26 18:08:35 +0200 <ncf> (alternatively, [] is a right Maybe-module)
2024-07-26 18:09:00 +0200JuanDaugherty(~juan@user/JuanDaugherty) ()
2024-07-26 18:10:06 +0200 <EvanR> so you want to filter a list, let me first introduce you to some category theory xD
2024-07-26 18:11:48 +0200 <kaol> https://aphyr.com/posts/342-typing-the-technical-interview "Haskell is a dynamically-typed, interpreted language."
2024-07-26 18:20:24 +0200econo_(uid147250@id-147250.tinside.irccloud.com)
2024-07-26 18:29:21 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-07-26 18:34:52 +0200danse-nr3(~danse-nr3@user/danse-nr3) (Read error: Connection reset by peer)
2024-07-26 18:35:00 +0200danse-nr3(~danse-nr3@user/danse-nr3)
2024-07-26 18:36:07 +0200cpressey(~weechat@176.254.71.203) (Ping timeout: 264 seconds)
2024-07-26 18:44:14 +0200ridcully(~ridcully@p508ac2b4.dip0.t-ipconnect.de) (Quit: WeeChat 4.3.4)
2024-07-26 18:44:31 +0200ridcully(~ridcully@p508ac2b4.dip0.t-ipconnect.de)
2024-07-26 18:48:59 +0200billchenchina-(~billchenc@118.38.173.226)
2024-07-26 18:49:35 +0200stefior(~Stefior@c-71-57-237-142.hsd1.pa.comcast.net)
2024-07-26 18:50:32 +0200 <stefior> hello
2024-07-26 18:51:33 +0200micro(~micro@user/micro) (Ping timeout: 248 seconds)
2024-07-26 18:51:55 +0200 <danse-nr3> \o stefior
2024-07-26 18:52:03 +0200micro(~micro@user/micro)
2024-07-26 18:52:18 +0200 <stefior> Hi danse-nr3, this is my first time using irc
2024-07-26 18:52:34 +0200 <danse-nr3> and you came straight to #haskell
2024-07-26 18:52:46 +0200 <stefior> I looked up good channels
2024-07-26 18:53:31 +0200 <EvanR> good. Now install GHC
2024-07-26 18:53:42 +0200 <EvanR> suit up, lock and load
2024-07-26 18:54:17 +0200 <stefior> I have it installed. I haven't ever tried haskell yet though since I figured I'm not a good enough developer yet for functional stuff
2024-07-26 18:54:38 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-07-26 18:56:19 +0200ft(~ft@p3e9bc4e7.dip0.t-ipconnect.de)
2024-07-26 18:58:51 +0200 <stefior> irc is a lot more like discord than I thought
2024-07-26 18:59:24 +0200danse-nr3(~danse-nr3@user/danse-nr3) (Quit: life calls)
2024-07-26 19:02:18 +0200 <EvanR> discord was the winning competitor from an era that was trying to make a modernized (and for profit) version of IRC
2024-07-26 19:02:59 +0200 <EvanR> they took some design aspects and left many others behind
2024-07-26 19:03:28 +0200 <stefior> That makes sense
2024-07-26 19:05:08 +0200 <stefior> I like how this is though too. I think the only thing I'd really miss is images
2024-07-26 19:06:02 +0200 <dolio> Given the occasional spambots, it's probably good there's no automatic images.
2024-07-26 19:09:43 +0200cfricke(~cfricke@user/cfricke) (Quit: WeeChat 4.2.2)
2024-07-26 19:11:29 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-07-26 19:18:10 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com)
2024-07-26 19:18:14 +0200skyesoss(~Thunderbi@128.135.204.35)
2024-07-26 19:18:47 +0200 <mauke> I bet some clients render URL previews and images
2024-07-26 19:20:19 +0200 <monochrom> If you use such a client in an office with other people, you expose yourself to the risk and legal liabilities of displaying NFSW content.
2024-07-26 19:20:45 +0200 <monochrom> I can't understand why so many people desire it, as if bad actors did not exist on Earth.
2024-07-26 19:20:57 +0200 <stefior> I'm on weechat. I'm still trying to figure out how to make my name yellow, but I'd be fine with going to the URL instead for images, just something to get used to
2024-07-26 19:21:34 +0200 <mauke> https://c.tenor.com/1iSARWJr-TEAAAAC/tenor.gif
2024-07-26 19:21:34 +0200 <stefior> I only really use discord to text my wife anyway, but your point about the nsfw content makes sense
2024-07-26 19:22:07 +0200 <stefior> haha @mauke
2024-07-26 19:22:15 +0200 <Rembane> stefior: /me bla perhaps?
2024-07-26 19:22:21 +0200stefiorbla
2024-07-26 19:22:24 +0200 <Rembane> mauke: Megasus!
2024-07-26 19:22:32 +0200 <mauke> stefior: how does weechat render your name by default?
2024-07-26 19:22:35 +0200 <stefior> white
2024-07-26 19:23:17 +0200 <stefior> I'm looking at fset for all the weechat.color stuff now, but I also found colorize_nicks.py
2024-07-26 19:26:17 +0200 <mauke> 08,02stefior
2024-07-26 19:26:25 +0200 <mauke> ok, that kind of worked on my end
2024-07-26 19:26:34 +0200 <stefior> That is yellow with light blue background for me
2024-07-26 19:26:36 +0200 <stefior> stefior
2024-07-26 19:26:53 +0200 <stefior> The colorize_nicks.py isn't working, maybe I did the wrong command or need to restart
2024-07-26 19:27:17 +0200 <stefior> I meant making it yellow on the left side though, not in messages, just because I'm used to it being yellow in discord
2024-07-26 19:27:25 +0200 <mauke> from the name I'm guessing it's supposed to assign a different color to each user?
2024-07-26 19:29:25 +0200 <stefior> I think it is supposed to colorize people's names when in messages actually, like when I said "@mauke" earlier it shows "mouke" in green, just like on the left side. Or is that default behavior?
2024-07-26 19:29:31 +0200 <Lawrence1erkheim> Mauke it's blue for me too
2024-07-26 19:29:34 +0200destituion(~destituio@83-243-191-191.fth.tafjordconnect.net) (Ping timeout: 245 seconds)
2024-07-26 19:29:44 +0200 <Lawrence1erkheim> and I'm on irssi
2024-07-26 19:30:00 +0200 <Lawrence1erkheim> how did you do that
2024-07-26 19:30:50 +0200 <mauke> IRC colors
2024-07-26 19:31:08 +0200 <mauke> #haskell doesn't filter formatting codes from messages
2024-07-26 19:31:14 +0200 <mauke> and most clients render them
2024-07-26 19:31:20 +0200torkel(~sindu@83-243-191-191.fth.tafjordconnect.net) (Ping timeout: 264 seconds)
2024-07-26 19:31:53 +0200 <mauke> https://modern.ircdocs.horse/formatting.html#forms-of-color-codes
2024-07-26 19:33:00 +0200 <Lawrence1erkheim> I'm not sure my client will be happy with those
2024-07-26 19:33:12 +0200 <Lawrence1erkheim> How the fuck do I input a hex character
2024-07-26 19:33:35 +0200 <stefior> 0x04 Test
2024-07-26 19:33:45 +0200 <stefior> \0x04 test
2024-07-26 19:33:49 +0200 <Lawrence1erkheim> there we go
2024-07-26 19:33:54 +0200 <Lawrence1erkheim> the triforce of irc
2024-07-26 19:34:21 +0200 <Lawrence1erkheim> asd
2024-07-26 19:34:22 +0200 <Lawrence1erkheim> Oh shit
2024-07-26 19:34:30 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds)
2024-07-26 19:34:49 +0200 <stefior> ^test^
2024-07-26 19:35:13 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-07-26 19:35:17 +0200 <stefior> ^Itest^I
2024-07-26 19:35:22 +0200 <Lawrence1erkheim> Well, irssi is doing great
2024-07-26 19:35:26 +0200 <mauke> you can literally type Ctrl-C into irssi
2024-07-26 19:36:04 +0200 <Lawrence1erkheim> stefior you have to put in the raw hex characters, which usually isn't easily doable with keyboard. I'm doing my shenanigans with the help of my client, it has special keybinds to put the settings in.
2024-07-26 19:36:08 +0200 <mauke> remember, kids: Ctrl-A is '\1', Ctrl-B is '\2', Ctrl-C is '\3', etc
2024-07-26 19:36:17 +0200 <Lawrence1erkheim> mauke Ctrl-C kills my terminal :(
2024-07-26 19:36:30 +0200 <mauke> then your terminal is very broken
2024-07-26 19:36:36 +0200 <Lawrence1erkheim> Wait a minute
2024-07-26 19:36:50 +0200 <stefior> ah, I see
2024-07-26 19:37:12 +0200LawrenceBerkheim(~LBerkheim@user/LawrenceBerkheim)
2024-07-26 19:37:24 +0200 <LawrenceBerkheim> I fucked around, and Ctrl-Z actually killed irssi
2024-07-26 19:37:32 +0200 <mauke> no, just paused it
2024-07-26 19:37:34 +0200 <mauke> type 'fg'
2024-07-26 19:37:43 +0200 <LawrenceBerkheim> 3 Green?
2024-07-26 19:37:49 +0200 <LawrenceBerkheim> fg
2024-07-26 19:37:51 +0200 <LawrenceBerkheim> Fuck
2024-07-26 19:37:54 +0200 <LawrenceBerkheim> I'm such a zoomer
2024-07-26 19:38:15 +0200 <mauke> fg is a unix command :-)
2024-07-26 19:38:16 +0200 <dolio> Yeah, your other nick is still here.
2024-07-26 19:38:27 +0200 <glguy> until it pings out
2024-07-26 19:38:32 +0200 <mauke> it will eventually get kicked when it fails to respond to PINGs
2024-07-26 19:38:33 +0200 <LawrenceBerkheim> Ughghgh
2024-07-26 19:38:42 +0200 <LawrenceBerkheim> Goddamnit
2024-07-26 19:38:46 +0200 <glguy> chil
2024-07-26 19:38:47 +0200 <glguy> l
2024-07-26 19:38:48 +0200 <LawrenceBerkheim> Well now I learned
2024-07-26 19:39:19 +0200 <mauke> if this is the same shell session, you can probably /quit your current instance and then type 'fg' to get the old one back
2024-07-26 19:39:26 +0200 <int-e> . o O ( nothing that a reinstall from scratch won't fix )
2024-07-26 19:39:30 +0200int-eruns
2024-07-26 19:39:43 +0200torkel(~sindu@83-243-191-191.fth.tafjordconnect.net)
2024-07-26 19:40:48 +0200Lawrence1erkheim(~LBerkheim@user/LawrenceBerkheim) (Ping timeout: 245 seconds)
2024-07-26 19:41:30 +0200micro(~micro@user/micro) (Ping timeout: 252 seconds)
2024-07-26 19:42:21 +0200micro(~micro@user/micro)
2024-07-26 19:46:33 +0200 <stefior> test
2024-07-26 19:46:54 +0200 <stefior> italic
2024-07-26 19:47:03 +0200 <stefior> reverse
2024-07-26 19:47:10 +0200 <LawrenceBerkheim> You're doing it!
2024-07-26 19:47:10 +0200 <stefior> bold
2024-07-26 19:47:37 +0200 <LawrenceBerkheim> pretty bold of you
2024-07-26 19:47:43 +0200 <LawrenceBerkheim> XD
2024-07-26 19:48:11 +0200 <stefior> 08:)
2024-07-26 19:48:41 +0200tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net)
2024-07-26 19:49:03 +0200 <stefior> still don't know how to make my name yellow though
2024-07-26 19:49:14 +0200 <LawrenceBerkheim> What client are you using?
2024-07-26 19:49:19 +0200 <stefior> weechat
2024-07-26 19:49:23 +0200 <LawrenceBerkheim> Unfortunate
2024-07-26 19:49:35 +0200 <LawrenceBerkheim> Gonna have to find it yourself
2024-07-26 19:50:02 +0200 <stefior> I could switch to irssi if it's better. This is my first day using irc so I have no preference
2024-07-26 19:51:41 +0200 <LawrenceBerkheim> Depends on you
2024-07-26 19:51:59 +0200 <LawrenceBerkheim> I find it hard to believe that weechat doesn't do the shit irssi does
2024-07-26 19:52:12 +0200 <stefior> huh, it's possible to use discord and slack from within weechat
2024-07-26 19:52:20 +0200 <LawrenceBerkheim> I use it since I'm being pretentious without a desktop environment, so it fits my stuff better
2024-07-26 19:52:51 +0200 <stefior> what do you mean by "without a desktop environment"?
2024-07-26 19:53:04 +0200 <LawrenceBerkheim> Oh shit it's that time of the day
2024-07-26 19:53:11 +0200 <LawrenceBerkheim> COUGH
2024-07-26 19:53:19 +0200 <LawrenceBerkheim> i use arch btw
2024-07-26 19:53:26 +0200 <stefior> XD
2024-07-26 19:53:59 +0200 <stefior> I'm on ubuntu in wsl right now, so I'm not a cool kid
2024-07-26 19:54:02 +0200 <LawrenceBerkheim> https://i.redd.it/y583j1mzw1g91.jpg
2024-07-26 19:54:03 +0200 <LawrenceBerkheim> this is me
2024-07-26 19:54:04 +0200 <glguy> don't forget this is #haskell
2024-07-26 19:54:22 +0200 <LawrenceBerkheim> True
2024-07-26 19:54:25 +0200 <stefior> haha
2024-07-26 19:54:39 +0200 <Rembane> #haskell-offtopic is an amazing channel for these topics.
2024-07-26 19:55:35 +0200 <LawrenceBerkheim> Let me try
2024-07-26 19:56:27 +0200 <stefior> how do I see all the haskell channels? I thought there was just one. I looked it up now and found this: https://www.haskell.org/irc/ but are they connected like how they are on discord?
2024-07-26 19:56:54 +0200 <Rembane> stefior: /join #haskell-offtopic
2024-07-26 19:57:01 +0200sord937(~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
2024-07-26 19:57:46 +0200 <stefior> thanks rembane
2024-07-26 19:58:17 +0200stefior(~Stefior@c-71-57-237-142.hsd1.pa.comcast.net) (Quit: WeeChat 3.5)
2024-07-26 19:58:54 +0200stefior(~Stefior@c-71-57-237-142.hsd1.pa.comcast.net)
2024-07-26 19:59:17 +0200misterfish(~misterfis@84.53.85.146)
2024-07-26 19:59:23 +0200 <Rembane> stefior: np!
2024-07-26 20:00:08 +0200torkel(~sindu@83-243-191-191.fth.tafjordconnect.net) (Ping timeout: 255 seconds)
2024-07-26 20:03:35 +0200torkel(~sindu@83-243-191-191.fth.tafjordconnect.net)
2024-07-26 20:05:40 +0200 <EvanR> stefior, yeah even on discord I disable image previews
2024-07-26 20:06:16 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-07-26 20:23:06 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-07-26 20:35:30 +0200 <Inst> btw
2024-07-26 20:35:50 +0200 <Inst> existential types allow you to stuff arbitrary functions and data into a sum type, right?
2024-07-26 20:36:00 +0200 <Inst> well, obv they do, but do they allow you to use them?
2024-07-26 20:36:13 +0200 <dolio> Use them how?
2024-07-26 20:36:38 +0200 <Inst> basically Haskell can be forced to be dynamic if people are going to complain about strict static typing all the time, just rip off JSON from Aeson or EDN
2024-07-26 20:36:48 +0200 <Inst> but both formats don't support functions in objects
2024-07-26 20:37:01 +0200 <EvanR> you can put functions in a record without existential types
2024-07-26 20:37:21 +0200 <EvanR> or sum type
2024-07-26 20:37:52 +0200 <Inst> no, but I mean putting an arbitrary function of arbitrary type
2024-07-26 20:38:20 +0200 <EvanR> which means what, Unknown1 -> Unknown2
2024-07-26 20:38:50 +0200 <EvanR> data Cool a b = K1 (a -> b) | K2 (a -> b)
2024-07-26 20:39:04 +0200 <Inst> but hide the a -> b
2024-07-26 20:39:17 +0200 <dolio> Have you seen Data.Dynamic?
2024-07-26 20:40:10 +0200 <Inst> essentially it comes down to wanting [Dynamic]okay, dynamic can do this
2024-07-26 20:40:29 +0200 <EvanR> which doesn't rely on existentials
2024-07-26 20:40:30 +0200 <Inst> I have, just thought there was a limitation that blocked fromDyn from being able to encode functions
2024-07-26 20:40:42 +0200 <EvanR> > typeOf ord
2024-07-26 20:40:43 +0200 <lambdabot> Char -> Int
2024-07-26 20:40:44 +0200 <Inst> so you can have a keymap of string keys + dynamic
2024-07-26 20:40:50 +0200 <Inst> then you can go pretend this is JS
2024-07-26 20:41:00 +0200torkel(~sindu@83-243-191-191.fth.tafjordconnect.net) (Ping timeout: 252 seconds)
2024-07-26 20:41:16 +0200 <Inst> it was regarding some guy, probably trolling (hi bolivood), doing standard "i came in from a dynamic language" haskell complaints
2024-07-26 20:41:46 +0200 <EvanR> haskell can be ridiculously dynamic, making it just as bad as js
2024-07-26 20:41:50 +0200 <EvanR> more so
2024-07-26 20:42:22 +0200 <EvanR> that it can't be dynamic isn't a viable argument, that you would want it to be is the issue
2024-07-26 20:42:42 +0200 <Inst> yup
2024-07-26 20:43:01 +0200 <Inst> i'm sort of comfortable with default Haskell style and don't really have complaints
2024-07-26 20:43:12 +0200 <Inst> and there's apparently a ton of people who go "throw the rules out the window if you're doing rapid prototyping"
2024-07-26 20:43:48 +0200 <EvanR> there's an option for that, -fdefer-type-errors
2024-07-26 20:44:09 +0200 <EvanR> I don't know how rapid it will make your prototyping though
2024-07-26 20:49:37 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2024-07-26 20:49:50 +0200 <Inst> thanks, was just wondering about this
2024-07-26 20:51:28 +0200 <dolio> I'm not really convinced that what such people say makes any actual sense.
2024-07-26 20:52:46 +0200 <mauke> @let a === b = cast a == Just b
2024-07-26 20:52:47 +0200 <lambdabot> Defined.
2024-07-26 20:52:55 +0200 <Inst> okay, this is weird
2024-07-26 20:53:09 +0200 <mauke> > 'f' === length "three"
2024-07-26 20:53:11 +0200 <lambdabot> error:
2024-07-26 20:53:11 +0200 <lambdabot> Ambiguous occurrence ‘===’
2024-07-26 20:53:11 +0200 <lambdabot> It could refer to
2024-07-26 20:53:13 +0200 <mauke> aww
2024-07-26 20:53:15 +0200 <mauke> @undefine
2024-07-26 20:53:15 +0200 <lambdabot> Undefined.
2024-07-26 20:53:16 +0200 <Inst> @let u = toDyn (+)
2024-07-26 20:53:17 +0200 <lambdabot> Defined.
2024-07-26 20:53:20 +0200 <Inst> @u
2024-07-26 20:53:20 +0200 <lambdabot> Maybe you meant: undefine undo unlambda unmtl unpf unpl unpointless unshift-topic uptime url users v @ ? .
2024-07-26 20:53:33 +0200 <Inst> @let u = toDyn (+) in (fromDyn u) 1 2
2024-07-26 20:53:33 +0200 <lambdabot> Parse failed: Parse error: in
2024-07-26 20:53:34 +0200 <EvanR> :t u
2024-07-26 20:53:36 +0200 <lambdabot> error:
2024-07-26 20:53:36 +0200 <lambdabot> Ambiguous occurrence ‘u’
2024-07-26 20:53:36 +0200 <lambdabot> It could refer to
2024-07-26 20:53:46 +0200 <EvanR> gone
2024-07-26 20:53:54 +0200 <Inst> @(fromDyn u) 1 2
2024-07-26 20:53:54 +0200 <lambdabot> Unknown command, try @list
2024-07-26 20:54:13 +0200vgtw(~vgtw@user/vgtw) (Ping timeout: 248 seconds)
2024-07-26 20:54:15 +0200 <Inst> @let v = toDyn (+); u = fromDyn v; u 1 2
2024-07-26 20:54:16 +0200 <lambdabot> Parse failed: TemplateHaskell language extension is not enabled. Please add ...
2024-07-26 20:54:32 +0200vgtw(~vgtw@user/vgtw)
2024-07-26 20:54:35 +0200 <Inst> well on ghci it seems as though fromDyn toDyn is mangling the function
2024-07-26 20:54:52 +0200 <EvanR> > typeOf (+)
2024-07-26 20:54:54 +0200 <lambdabot> Integer -> Integer -> Integer
2024-07-26 20:54:55 +0200 <mauke> @undefine
2024-07-26 20:54:55 +0200 <lambdabot> Undefined.
2024-07-26 20:55:01 +0200 <Inst> @undefine
2024-07-26 20:55:01 +0200 <lambdabot> Undefined.
2024-07-26 20:55:06 +0200torkel(~sindu@83-243-191-191.fth.tafjordconnect.net)
2024-07-26 20:55:08 +0200 <mauke> > let u = toDyn (+) in fromDyn u
2024-07-26 20:55:09 +0200 <lambdabot> error:
2024-07-26 20:55:10 +0200 <lambdabot> • No instance for (Typeable a0)
2024-07-26 20:55:10 +0200 <lambdabot> arising from a use of ‘show_M27679112337342994988’
2024-07-26 20:55:22 +0200 <mauke> > let u = toDyn (+) in fromDyn u 1 2
2024-07-26 20:55:22 +0200 <EvanR> you have to pick the Num
2024-07-26 20:55:23 +0200 <lambdabot> error:
2024-07-26 20:55:24 +0200 <lambdabot> • Could not deduce (Typeable t0)
2024-07-26 20:55:24 +0200 <lambdabot> from the context: (Typeable t, Typeable t1, Num t1, Num (t1 -> t))
2024-07-26 20:56:17 +0200Guest24(~Guest24@2601:98a:87f:dc80::a16f)
2024-07-26 20:56:31 +0200 <Inst> https://paste.tomsmeding.com/tZlAmv8u
2024-07-26 20:56:34 +0200 <Inst> is there something I'm missing here?
2024-07-26 20:56:35 +0200Guest24(~Guest24@2601:98a:87f:dc80::a16f) (Client Quit)
2024-07-26 20:56:42 +0200rvalue-(~rvalue@user/rvalue)
2024-07-26 20:56:45 +0200 <mauke> > let u = toDyn (+) in fromDyn u (error "oops" :: Integer -> Integer -> Integer) 1 2
2024-07-26 20:56:46 +0200 <lambdabot> 3
2024-07-26 20:57:02 +0200 <Inst> ah
2024-07-26 20:57:41 +0200rvalue(~rvalue@user/rvalue) (Ping timeout: 265 seconds)
2024-07-26 20:58:10 +0200 <Inst> oh, i'm misunderstanding fromDyn
2024-07-26 20:58:21 +0200euphores(~SASL_euph@user/euphores) (Quit: Leaving.)
2024-07-26 20:59:57 +0200CrunchyFlakes(~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-07-26 21:00:20 +0200 <mauke> > let u = toDyn '+' in fromDyn u (error "oops" :: Integer -> Integer -> Integer) 1 2
2024-07-26 21:00:22 +0200 <lambdabot> *Exception: oops
2024-07-26 21:00:41 +0200 <Inst> ya i set it up as fromDyn (undefined :: Integer -> Integer -> Integer) 1 2
2024-07-26 21:02:21 +0200CrunchyFlakes(~CrunchyFl@ip92348280.dynamic.kabel-deutschland.de)
2024-07-26 21:03:50 +0200 <mauke> > let f = toDyn ord; x = toDyn 'A' in (f, x, dynApp f x)
2024-07-26 21:03:52 +0200 <lambdabot> (<<Char -> Int>>,<<Char>>,<<Int>>)
2024-07-26 21:04:24 +0200 <mauke> > let f = toDyn ord; x = toDyn 'A' in (f, x, fromDynamic (dynApp f x) :: Maybe Int)
2024-07-26 21:04:26 +0200 <lambdabot> (<<Char -> Int>>,<<Char>>,Just 65)
2024-07-26 21:04:31 +0200rvalue-rvalue
2024-07-26 21:04:48 +0200euphores(~SASL_euph@user/euphores)
2024-07-26 21:04:51 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-07-26 21:05:25 +0200 <mauke> > toDyn (toDyn :: () -> Dynamic)
2024-07-26 21:05:27 +0200 <lambdabot> <<() -> Dynamic>>
2024-07-26 21:05:31 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-07-26 21:06:08 +0200 <LawrenceBerkheim> Holy sht just figured out what guards are
2024-07-26 21:06:10 +0200 <LawrenceBerkheim> a bit too late
2024-07-26 21:06:12 +0200 <LawrenceBerkheim> fucking hell
2024-07-26 21:06:14 +0200 <LawrenceBerkheim> my brain owie
2024-07-26 21:06:40 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds)
2024-07-26 21:07:36 +0200 <mauke> simple guards or fancy guards?
2024-07-26 21:07:36 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com)
2024-07-26 21:08:22 +0200 <LawrenceBerkheim> `|`
2024-07-26 21:08:32 +0200 <LawrenceBerkheim> I tied comparing Integers and stuff did not work
2024-07-26 21:08:37 +0200 <LawrenceBerkheim> Got desperate and asked chatgpt
2024-07-26 21:08:38 +0200 <jle`> nice
2024-07-26 21:08:40 +0200 <LawrenceBerkheim> It said ,,guards''
2024-07-26 21:08:44 +0200 <LawrenceBerkheim> I still don't know what's happening
2024-07-26 21:08:46 +0200 <LawrenceBerkheim> but at least it works
2024-07-26 21:08:48 +0200 <LawrenceBerkheim> now reading up
2024-07-26 21:08:59 +0200 <Inst> guards are funny because you can stuff an entire function into guards
2024-07-26 21:09:11 +0200 <LawrenceBerkheim> During compiling it bitched that the variable was unused and that it was shadowed
2024-07-26 21:09:14 +0200 <LawrenceBerkheim> I didn't see how
2024-07-26 21:09:26 +0200 <jle`> ideally guards are taught at the same time defining functions are taught
2024-07-26 21:09:27 +0200 <LawrenceBerkheim> I remember guards from using TLA
2024-07-26 21:09:37 +0200 <LawrenceBerkheim> Not sure if similar
2024-07-26 21:09:44 +0200 <EvanR> > compare 4 9
2024-07-26 21:09:46 +0200 <lambdabot> LT
2024-07-26 21:09:48 +0200 <EvanR> > 4 < 9
2024-07-26 21:09:49 +0200 <lambdabot> True
2024-07-26 21:09:54 +0200 <EvanR> comparing integers
2024-07-26 21:09:55 +0200 <mauke> yeah, but what's after the `|`?
2024-07-26 21:10:23 +0200euleritian(~euleritia@dynamic-176-006-133-059.176.6.pool.telefonica.de)
2024-07-26 21:10:38 +0200 <Inst> are guards fully equivalent to a combination of case, if then else, and let?
2024-07-26 21:11:06 +0200 <EvanR> mainly if then else
2024-07-26 21:11:14 +0200 <EvanR> which is sugar for case analysis
2024-07-26 21:11:41 +0200 <Inst> i mean pattern guards
2024-07-26 21:11:53 +0200 <mauke> yeah, it all desugars eventually
2024-07-26 21:11:53 +0200 <jle`> it's kind of not a direct translation because of fallback behavior
2024-07-26 21:11:58 +0200 <mauke> just the details are very hairy
2024-07-26 21:13:30 +0200 <Inst> hmmm, wait, what happens if let in guards has a partial pattern match? let's find out
2024-07-26 21:14:27 +0200 <mauke> oh, I think I've come up with a new way of defining (&&) without pattern matching
2024-07-26 21:14:55 +0200 <mauke> (&&) x y | x = y | True = False
2024-07-26 21:15:00 +0200 <Inst> okay so the let binding is lazy
2024-07-26 21:15:51 +0200 <Inst> okay, so let can throw a non-exhaustive pattern match error
2024-07-26 21:16:27 +0200 <Inst> and won't fall through if you add bang patterns
2024-07-26 21:16:38 +0200 <mauke> > case Nothing of ~(Just x) -> x
2024-07-26 21:16:39 +0200 <jle`> mauke: that's a neat little definition
2024-07-26 21:16:39 +0200 <lambdabot> *Exception: <interactive>:(3,1)-(4,22): Non-exhaustive patterns in Just x
2024-07-26 21:19:02 +0200 <jle`> does it work if you inline the &&, it's a nice little puzzle/golfy brain teaser kind of thing
2024-07-26 21:19:06 +0200LawrenceBerkheim(~LBerkheim@user/LawrenceBerkheim) (Quit: Lost terminal)
2024-07-26 21:19:12 +0200 <jle`> x && y | x = y | True = False
2024-07-26 21:19:16 +0200 <jle`> hehe
2024-07-26 21:19:54 +0200 <EvanR> o_O
2024-07-26 21:20:07 +0200 <jle`> > let x ?? y | x = y | True = False in liftA2 (??) [False, True] [False, True]
2024-07-26 21:20:08 +0200euleritian(~euleritia@dynamic-176-006-133-059.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-07-26 21:20:09 +0200 <lambdabot> [False,False,False,True]
2024-07-26 21:20:26 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-07-26 21:20:41 +0200 <EvanR> I'm going to use this as an introduce to haskell for noobs
2024-07-26 21:20:47 +0200 <EvanR> introduction
2024-07-26 21:20:58 +0200 <EvanR> look how simple haskell is xD
2024-07-26 21:21:04 +0200 <jle`> this is probably damaging to most brains to see, i would not show newcomers this ._.
2024-07-26 21:21:10 +0200 <EvanR> lol
2024-07-26 21:21:15 +0200 <jle`> ah i didn't see your last message haha
2024-07-26 21:22:01 +0200 <jle`> :t let x??y|x=y|True=False in (??)
2024-07-26 21:22:02 +0200 <lambdabot> Bool -> Bool -> Bool
2024-07-26 21:23:15 +0200 <EvanR> :t let x??y|x=y|y=x|False=True|True=False
2024-07-26 21:23:16 +0200 <lambdabot> <no location info>: error:
2024-07-26 21:23:16 +0200 <lambdabot> not an expression: ‘let x??y|x=y|y=x|False=True|True=False’
2024-07-26 21:23:32 +0200 <EvanR> :t let x??y|x=y|y=x|False=True|True=False in (??)
2024-07-26 21:23:33 +0200 <lambdabot> Bool -> Bool -> Bool
2024-07-26 21:24:04 +0200 <EvanR> now it's more symmetric
2024-07-26 21:25:11 +0200 <jle`> it's art
2024-07-26 21:25:38 +0200 <mauke> this sort of thing is exactly how perl got its reputation
2024-07-26 21:25:43 +0200 <mauke> don't do art, kids
2024-07-26 21:26:39 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 245 seconds)
2024-07-26 21:27:52 +0200 <ncf> x ?? y | x = y | y = x | not x = x | not y = y
2024-07-26 21:31:08 +0200 <Inst> x ?? y | x = y | y = x | unsafeCoerce "profanity" = undefined
2024-07-26 21:33:37 +0200 <Inst> so wait, should unsafeCoerce of any non-empty list result in True when the target type is Bool?
2024-07-26 21:35:15 +0200 <mauke> define "should"
2024-07-26 21:35:27 +0200 <mauke> you're squarely in UB land here
2024-07-26 21:35:34 +0200 <Inst> it sort of says so in the name
2024-07-26 21:37:17 +0200 <EvanR> unsafeShouldWork
2024-07-26 21:42:14 +0200kupi(uid212005@id-212005.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2024-07-26 21:44:32 +0200 <Inst> hmmm
2024-07-26 21:44:46 +0200 <Inst> also, has anyone tried to do an O'Neill style Sieve of Atkin?
2024-07-26 21:44:53 +0200 <Inst> Not sure if it can be done
2024-07-26 21:47:10 +0200infinity0(~infinity0@pwned.gg) (Remote host closed the connection)
2024-07-26 21:48:36 +0200gmg(~user@user/gehmehgeh)
2024-07-26 21:49:08 +0200prolic_(~sasa@181.122.138.24)
2024-07-26 21:49:18 +0200jinsun(~jinsun@user/jinsun)
2024-07-26 21:49:43 +0200 <prolic_> hey folks, I just published the next qt5 demo in haskell: https://github.com/prolic/hsqml-demo-manic
2024-07-26 21:49:56 +0200 <jle`> nice
2024-07-26 21:52:31 +0200gmg(~user@user/gehmehgeh) (Client Quit)
2024-07-26 21:54:27 +0200infinity0(~infinity0@pwned.gg)
2024-07-26 21:55:06 +0200stefior(~Stefior@c-71-57-237-142.hsd1.pa.comcast.net) (Quit: WeeChat 3.5)
2024-07-26 21:57:39 +0200gmg(~user@user/gehmehgeh)
2024-07-26 22:08:17 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-07-26 22:14:10 +0200 <Hecate> prolic_: incredible
2024-07-26 22:14:53 +0200 <prolic_> thanks
2024-07-26 22:17:28 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-07-26 22:18:00 +0200cpressey(~weechat@176.254.71.203)
2024-07-26 22:21:23 +0200waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
2024-07-26 22:22:22 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Quit: Leaving)
2024-07-26 22:22:28 +0200cpressey(~weechat@176.254.71.203) (Ping timeout: 252 seconds)
2024-07-26 22:29:23 +0200CiaoSen(~Jura@2a05:5800:2ef:3300:e6b9:7aff:fe80:3d03)
2024-07-26 22:34:36 +0200foul_owl(~kerry@185.216.231.179) (Ping timeout: 272 seconds)
2024-07-26 22:46:21 +0200 <Hecate> prolic_: I got a compilation error of hsqml on GHC 9.6.6, where can I open a ticket? It would seem your fork has issues disabled
2024-07-26 22:46:52 +0200foul_owl(~kerry@174-21-147-232.tukw.qwest.net)
2024-07-26 22:47:53 +0200billchenchina-(~billchenc@118.38.173.226) (Ping timeout: 265 seconds)
2024-07-26 22:48:51 +0200slack1256(~slack1256@2803:c600:5111:80cb:d321:865d:b7ff:34ea)
2024-07-26 22:49:29 +0200 <slack1256> 1/2 Hey guys, quick TH question. How do I quote this name on TH?
2024-07-26 22:49:37 +0200 <slack1256> 2/2 deriveFromJSON (aesonPrefix snakeCase) (''IMAPAccountRequest ''Identity)
2024-07-26 22:50:05 +0200 <slack1256> Obviously ''IMAPAccountRequest ''Identity does not work. It is a HKD
2024-07-26 22:57:16 +0200VedantT(~VedantT@2603:6000:b500:29a9:ac9a:7661:5229:f762)
2024-07-26 22:59:52 +0200jespada_(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Ping timeout: 252 seconds)
2024-07-26 23:01:24 +0200kimiamania(~65804703@user/kimiamania) (Quit: PegeLinux)
2024-07-26 23:01:45 +0200kimiamania(~65804703@user/kimiamania)
2024-07-26 23:01:54 +0200jespada(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net)
2024-07-26 23:08:09 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-07-26 23:19:42 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-07-26 23:30:02 +0200 <prolic_> Hecate: https://github.com/prolic/HsQML/issues
2024-07-26 23:30:56 +0200 <prolic_> Hecate: I am using GHC 9.4.8 without issues
2024-07-26 23:31:42 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-07-26 23:32:07 +0200oo_miguel(~Thunderbi@78.10.207.46) (Ping timeout: 252 seconds)
2024-07-26 23:32:30 +0200skyesoss(~Thunderbi@128.135.204.35) (Ping timeout: 252 seconds)
2024-07-26 23:33:28 +0200skyesoss(~Thunderbi@128.135.204.35)
2024-07-26 23:36:28 +0200michalz(~michalz@185.246.207.197) (Quit: ZNC 1.9.0 - https://znc.in)
2024-07-26 23:44:36 +0200VedantT(~VedantT@2603:6000:b500:29a9:ac9a:7661:5229:f762) (Quit: Client closed)
2024-07-26 23:50:05 +0200 <Hecate> prolic_: <3
2024-07-26 23:52:12 +0200pavonia(~user@user/siracusa)
2024-07-26 23:56:49 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 252 seconds)