Home liberachat/#haskell: Logs Calendar

Logs on 2023-12-19 (liberachat/#haskell)

00:02:54 × sawilagar quits (~sawilagar@user/sawilagar) (Ping timeout: 256 seconds)
00:03:17 × nate4 quits (~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
00:03:17 × mrmr15533 quits (~mrmr@user/mrmr) (Ping timeout: 240 seconds)
00:04:28 peterbecich joins (~Thunderbi@047-229-123-186.res.spectrum.com)
00:09:13 barak joins (~barak@2a0d:6fc2:68c1:2600:e14a:d7fd:220f:efcc)
00:11:17 × coot quits (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
00:13:04 × Tuplanolla quits (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Ping timeout: 255 seconds)
00:16:27 × xdminsy quits (~xdminsy@117.147.70.130) (Quit: Konversation terminated!)
00:16:47 xdminsy joins (~xdminsy@117.147.70.130)
00:16:50 × ph88 quits (~ph88@2a02:8109:9e26:c800:9fc3:bef1:2212:70b2) (Remote host closed the connection)
00:21:22 × jargon quits (~jargon@15.sub-174-205-161.myvzw.com) (Read error: Connection reset by peer)
00:22:47 × araujo quits (~araujo@45.146.54.162) (Ping timeout: 264 seconds)
00:24:14 × szkl quits (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
00:27:48 notzmv joins (~zmv@user/notzmv)
00:32:25 × barak quits (~barak@2a0d:6fc2:68c1:2600:e14a:d7fd:220f:efcc) (Ping timeout: 255 seconds)
00:38:41 jargon joins (~jargon@15.sub-174-205-161.myvzw.com)
01:06:09 Square joins (~Square@user/square)
01:09:58 eggplant_ joins (~Eggplanta@2600:1700:38c5:d800:54de:61e3:a269:e175)
01:11:56 Sciencentistguy4 joins (~sciencent@hacksoc/ordinary-member)
01:13:14 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:b8f4:6692:c948:4fa) (Ping timeout: 268 seconds)
01:13:51 × Sciencentistguy quits (~sciencent@hacksoc/ordinary-member) (Ping timeout: 268 seconds)
01:13:52 Sciencentistguy4 is now known as Sciencentistguy
01:14:24 motherfsck joins (~motherfsc@user/motherfsck)
01:15:09 lisbeths_ joins (uid135845@id-135845.lymington.irccloud.com)
01:17:29 <lisbeths_> Hey please show your support for the #lambdacalculus channel if you like lambda calculus
01:17:38 <lisbeths_> we are the official home of the knights of the lambda calculus
01:17:47 <lisbeths_> trying to grow our channel to a stable size
01:18:14 <juri_> sorry, i only hang with the knights of the eastern calculus.
01:18:30 <lisbeths_> drats
01:18:45 <lisbeths_> maybe I could convince you with our fancy lambda bot
01:21:27 asdfhjk1 joins (~asdfhjk1@2605:59c8:514c:8110::389)
01:24:44 × bratwurst quits (~blaadsfa@S0106400fc136fc6e.lb.shawcable.net) (Remote host closed the connection)
01:25:08 bratwurst joins (~blaadsfa@2604:3d09:2083:a200:216:3eff:fe5a:a1f8)
01:33:20 mrmr15533 joins (~mrmr@user/mrmr)
01:50:50 × Igloo quits (~ian@matrix.chaos.earth.li) (Quit: BIAB)
01:53:52 Igloo joins (~ian@matrix.chaos.earth.li)
01:55:19 ryanbooker joins (uid4340@id-4340.hampstead.irccloud.com)
01:57:41 arahael_ joins (~arahael@1.145.4.184)
01:57:50 pavonia joins (~user@user/siracusa)
01:59:13 × _xor quits (~xor@72.49.195.41) (Read error: Connection reset by peer)
02:01:04 × peterbecich quits (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 255 seconds)
02:02:15 × bratwurst quits (~blaadsfa@2604:3d09:2083:a200:216:3eff:fe5a:a1f8) (Remote host closed the connection)
02:02:37 bratwurst joins (~blaadsfa@2604:3d09:2083:a200:216:3eff:fe5a:a1f8)
02:06:24 _xor joins (~xor@72.49.195.41)
02:08:19 defkev joins (~defkev@2a09:bac5:2a23:1b4b::2b8:2f)
02:16:08 × bratwurst quits (~blaadsfa@2604:3d09:2083:a200:216:3eff:fe5a:a1f8) (Ping timeout: 268 seconds)
02:22:19 peterbecich joins (~Thunderbi@047-229-123-186.res.spectrum.com)
02:23:40 <probie> The knights of the lambda calculus?
02:42:39 × xff0x quits (~xff0x@ai085147.d.east.v6connect.net) (Ping timeout: 256 seconds)
02:46:37 × Katarushisu1 quits (~Katarushi@cpc147790-finc20-2-0-cust502.4-2.cable.virginm.net) (Ping timeout: 276 seconds)
02:47:01 Katarushisu1 joins (~Katarushi@cpc147790-finc20-2-0-cust502.4-2.cable.virginm.net)
02:51:13 Katarushisu19 joins (~Katarushi@cpc147790-finc20-2-0-cust502.4-2.cable.virginm.net)
02:51:28 × Katarushisu1 quits (~Katarushi@cpc147790-finc20-2-0-cust502.4-2.cable.virginm.net) (Ping timeout: 255 seconds)
02:51:29 Katarushisu19 is now known as Katarushisu1
03:00:44 × defkev quits (~defkev@2a09:bac5:2a23:1b4b::2b8:2f) (Remote host closed the connection)
03:01:05 defkev joins (~defkev@2a09:bac5:2a23:1b4b::2b8:2f)
03:01:53 Inst_ joins (~Inst@120.244.192.109)
03:04:30 × Inst quits (~Inst@120.244.192.109) (Ping timeout: 260 seconds)
03:05:03 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
03:05:03 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
03:11:33 rosco joins (~rosco@175.136.152.56)
03:15:27 nate4 joins (~nate@c-98-45-158-125.hsd1.ca.comcast.net)
03:17:26 × edr quits (~edr@user/edr) (Quit: Leaving)
03:23:40 × defkev quits (~defkev@2a09:bac5:2a23:1b4b::2b8:2f) (Ping timeout: 276 seconds)
03:25:21 defkev joins (~defkev@2a09:bac1:1e20:11e0::2b8:5b)
03:27:08 talismanick joins (~user@2601:204:ef00:bb0::f34e)
03:30:05 × td_ quits (~td@i53870935.versanet.de) (Ping timeout: 252 seconds)
03:31:22 xff0x joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
03:31:27 × eggplant_ quits (~Eggplanta@2600:1700:38c5:d800:54de:61e3:a269:e175) (Remote host closed the connection)
03:31:36 td_ joins (~td@i5387091E.versanet.de)
03:31:42 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:54de:61e3:a269:e175)
03:34:04 × arahael_ quits (~arahael@1.145.4.184) (Ping timeout: 276 seconds)
03:37:06 × peterbecich quits (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 256 seconds)
03:43:50 × waleee quits (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 252 seconds)
03:52:52 × thegeekinside quits (~thegeekin@189.141.65.247) (Ping timeout: 246 seconds)
03:55:39 × ddellacosta quits (~ddellacos@ool-44c73d16.dyn.optonline.net) (Quit: WeeChat 4.1.1)
03:55:48 ddellacosta joins (~ddellacos@ool-44c73d16.dyn.optonline.net)
03:56:56 × ddellacosta quits (~ddellacos@ool-44c73d16.dyn.optonline.net) (Client Quit)
03:57:06 ddellacosta joins (~ddellacos@ool-44c73d16.dyn.optonline.net)
04:03:31 × defkev quits (~defkev@2a09:bac1:1e20:11e0::2b8:5b) (Remote host closed the connection)
04:03:53 defkev joins (~defkev@2a09:bac1:1e20:11e0::2b8:5b)
04:05:00 × ryanbooker quits (uid4340@id-4340.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
04:12:23 × defkev quits (~defkev@2a09:bac1:1e20:11e0::2b8:5b) (Ping timeout: 268 seconds)
04:14:09 defkev joins (~defkev@2a09:bac1:1e00:11e0::1d8:176)
04:19:03 × nate4 quits (~nate@c-98-45-158-125.hsd1.ca.comcast.net) (Ping timeout: 252 seconds)
04:28:44 peterbecich joins (~Thunderbi@047-229-123-186.res.spectrum.com)
04:31:13 aforemny_ joins (~aforemny@2001:9e8:6cd5:e600:ef6a:bb8a:a5f5:c14b)
04:31:36 <haskellbridge> 05<i​rregularsphere> category what again
04:31:48 × aforemny quits (~aforemny@2001:9e8:6cef:2b00:2a8:87dd:98aa:917b) (Ping timeout: 268 seconds)
04:34:05 <haskellbridge> 05<i​rregularsphere> lmao
04:35:44 <haskellbridge> 05<i​rregularsphere> after reading a bit I'd conclude that monads are just wrappers of maps a -> a (a is a category, therefore a type)
04:35:58 <haskellbridge> 05<i​rregularsphere> IO got some special treatment
04:37:26 × asdfhjk1 quits (~asdfhjk1@2605:59c8:514c:8110::389) (Ping timeout: 245 seconds)
04:40:30 thegeekinside joins (~thegeekin@189.141.65.247)
04:48:53 asivitz joins (uid178348@id-178348.tinside.irccloud.com)
05:02:37 × defkev quits (~defkev@2a09:bac1:1e00:11e0::1d8:176) (Ping timeout: 256 seconds)
05:16:37 × rvalue quits (~rvalue@user/rvalue) (Quit: ZNC - https://znc.in)
05:16:51 rvalue joins (~rvalue@user/rvalue)
05:18:01 <ski> irregularsphere : fwiw, the concept "monad" can be thought of as a particular abstract data type (akin to "priority queue", or "graph"), and then individual monads would be particular implementations of this abstract data type. (often people use analogies like "monads are collection types", which aren't entirely misplaced)
05:19:36 <ski> main practical difference is that, for an implementation of a priority queue, most of the useful operations are in the abstract priority queue interface (available for any priority queue), rather than particular operations specific to the implementation you're using. for monads, it tends to be the other way around. the monadic operations, per se, tell you very little about what a particular monad actually
05:19:43 <ski> does, or is good for. it's the operations specific to the monad in question, not the generic monad operations (for the most part, with some exceptions), that gives a monad most of its practical utility
05:21:14 <ski> .. but it should also be said that, due to monads being rather different in some ways that things you've likely encountered before, what tends to help the most with understanding them is not trying to understand the abstract concept to begin with, but rather trying to look at particular monads, seeing how they're actually used, what they allow you to do, what they're good for, that will allow you to form a
05:21:20 <ski> better understanding of monads in general
05:21:57 <ski> different monads are *quite* different. probably, only after seeing a whole bunch of different monads, seen how really *different* they can be, can you start to understand the general concept better
05:23:59 × thegeekinside quits (~thegeekin@189.141.65.247) (Ping timeout: 264 seconds)
05:24:23 <ski> (but if you must, one way of explaining what monads do would be to say that they capture "dynamic sequencing" (which needs explanation to understand). each monad "sequences" "effects". what "effect" and what "sequence" means, depend on the particular monad. e.g. for list/nondeterminism monad, "sequence" means "loop nesting", while for failure/`Maybe' monad it means "short-circuiting", and for
05:24:29 <ski> environment/`Reader' monad it means "downward propagation of config")
05:25:04 <ski> (oh .. also probably avoid most monad tutorials out there)
05:26:00 <dolio> Yeah, priority queue is probably still too concrete to be a good analogy.
05:26:31 ski nods
05:26:33 <dolio> It's more like group. If all you know is that you have a group, you don't really know that much.
05:30:28 <ski> yea .. only that a lot of programmers don't really have much familiarity with abstract algebra, either. at best, perhaps some with linear algebra, but more about practical mechanics of (coordinate) vectors and matrices, rather than the more abstract view of arbitrary vector spaces (and linear maps between them)
05:30:56 <dolio> Yeah.
05:32:27 trev joins (~trev@user/trev)
05:34:30 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
05:34:33 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:54de:61e3:a269:e175) (Remote host closed the connection)
05:34:35 <ski> one way to think about monads is that they encode, and allow you to abbreviate, abstract away, certain particular kinds of boilerplate code (state-passing, short-circuiting with `if' or `case', continuation-passing, ..)
05:34:37 <dolio> I'm not sure what a common programmer interface of similar generality would be.
05:34:53 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
05:35:36 <ski> which is part of the reason why people at first tend to have trouble getting to grips with it, trying to find analogous things in their previous experience, i think
05:35:52 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
05:40:14 × johnw quits (~johnw@69.62.242.138) (Quit: ZNC - http://znc.in)
05:50:04 × Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
05:50:21 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
05:50:31 euleritian joins (~euleritia@dynamic-046-114-205-137.46.114.pool.telefonica.de)
05:51:31 <haskellbridge> 05<i​rregularsphere> isn't that basically the category of monads?
05:51:56 idris_67 joins (~lukas@2804:14c:5b61:8498:63e6:c416:4ee2:5e02)
05:52:11 <haskellbridge> 05<i​rregularsphere> sorry I don't know that much category theory right now, I'm just a math nerd in this state
05:53:41 <haskellbridge> 05<i​rregularsphere> that's close to my understanding of monads
05:55:43 <idris_67> monads is just endofunctors on the category of unreal numbers with 3 differente images, dones't come to my mind the explanition of images rigth now, but if you study the symbols you will get there
05:56:07 <haskellbridge> 05<i​rregularsphere> is this proof by intimidation
05:56:14 <haskellbridge> 05<i​rregularsphere> xD
05:56:17 <idris_67> nop
05:56:22 <idris_67> just math
05:57:42 <haskellbridge> 05<i​rregularsphere> also no I don't think it's appropriate to call fields of math "unreal numbers"
05:58:34 <idris_67> is number theory
05:58:40 <idris_67> It's
05:58:53 <haskellbridge> 05<i​rregularsphere> I've heard that category theory generalizes all of math
05:59:00 <ski> irregularsphere : are you familiar with any other categories ?
05:59:16 × euleritian quits (~euleritia@dynamic-046-114-205-137.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
05:59:29 <haskellbridge> 05<i​rregularsphere> I'm not at all familiar with math actually
05:59:32 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
05:59:39 ski nods
05:59:43 <idris_67> all of them. but monads is really interesting.
05:59:56 <idris_67> functor, bi-functor and monads
06:00:00 <ski> if you're primarily interested in the programming side of it, then i'd suggest ignoring the category theory, for now
06:00:18 <idris_67> with that you can imaginate the hole thing
06:00:25 <ski> (except as directly relevant to programming. and even then, don't start with the category theory)
06:00:35 <haskellbridge> 05<i​rregularsphere> got up to national-competition level but even that doesn't account for university maths
06:00:39 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:54de:61e3:a269:e175)
06:01:07 <haskellbridge> 05<i​rregularsphere> all that for nothing
06:01:11 <ski> fwiw, stuff like trigonometry, calculus, won't really be much relevant at all
06:01:52 <haskellbridge> 05<i​rregularsphere> I know. It's an abstract hell.
06:02:21 <haskellbridge> 05<i​rregularsphere> anyways i'll try to pick up the both sides of things
06:02:25 <ski> (also, i don't think it really helps to throw around math terminology that doesn't even mean anything. at least try to be accurate, if you're going into the math)
06:03:16 <haskellbridge> 05<i​rregularsphere> weren't you also talking about practical side
06:03:19 <idris_67> morphisms. (meme of history channel "give me chills")
06:03:32 <haskellbridge> 05<i​rregularsphere> all the things I said were derived from the definition of a monad
06:03:46 <ski> irregularsphere : *basic* equation solving and function manipulation (replacing equals for equals, expanding and contracting function definitions, matching patterns), and basic logic, will be helpful for functional programming
06:03:47 <haskellbridge> 05<i​rregularsphere> well not derived but it's close
06:04:11 <haskellbridge> 05<i​rregularsphere> figured
06:04:13 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 276 seconds)
06:04:20 <ski> irregularsphere : yes, i was trying to approach it from the practical side, above
06:05:15 <ski> (i was more commenting on how i believe saying "category of unreal numbers with 3 differente images" isn't really helpful, imho)
06:05:16 <haskellbridge> 05<i​rregularsphere> I saw
06:05:27 euleritian joins (~euleritia@dynamic-046-114-205-137.46.114.pool.telefonica.de)
06:05:50 <idris_67> if you know what they are and what they can be, you i'll know every transformation and how to deal with them
06:06:20 <ski> from a learning standpoint, you probably should not try to approach monads in Haskell, until you're already familiar with pattern-matching, polymorphism, parameterized data types, higher-order functions, type classes
06:06:54 <haskellbridge> 05<i​rregularsphere> actually I'm not only approaching monads
06:07:31 <ski> (learning how to *use* the `IO' monad, for basic Input/Output stuff using `do'-notation, can be done, before you really understand monads)
06:07:41 <ski> yes ?
06:08:12 michalz joins (~michalz@185.246.204.126)
06:08:19 <haskellbridge> 05<i​rregularsphere> I'm a middleschooler (grades 7-9) and I have a significant amount of free time right now
06:08:19 <haskellbridge> 05<i​rregularsphere> just trying to read and understand as much as I possibly can
06:08:52 <ski> (some people would say just `IO', rather than "`IO' monad", since it being a monad is only a small part (although important) of its functionality)
06:09:10 <ski> how much of basic Haskell would you say you're familiar with ?
06:09:45 <haskellbridge> 05<i​rregularsphere> actually few
06:09:46 <haskellbridge> 05<i​rregularsphere> I just got into the language
06:09:46 <ski> (also, what other programming languages do you have any familiarity with ?)
06:09:51 ski nods
06:10:23 × michalz quits (~michalz@185.246.204.126) (Client Quit)
06:10:59 <ski> i'd say, don't bother too much about the monads, for the time being. because it's an exotic concept, not as commonly used in other languages (though it is being used some), it's what people often hear about being special about Haskell. but there's a lot of other interesting things in Haskell as well
06:11:08 <haskellbridge> 05<i​rregularsphere> also as I said I'm a math nerd so I favour the theoretical side of things, learning to use specific instances of concepts won't cut it for me
06:11:20 <haskellbridge> 05<i​rregularsphere> I'm going for all the exotic concepts
06:12:06 <ski> yea .. in that case, i'd say that you can try to look into the category theory stuff .. but later. for people not really interested in math, i wouldn't really suggest looking into the category theory stuff much at all
06:12:20 <haskellbridge> 05<i​rregularsphere> fair
06:12:56 <ski> "learning to use specific instances of concepts won't cut it for me" -- even in math, learning tends to go from specific and concrete, to more abstract and general
06:13:13 michalz joins (~michalz@185.246.204.121)
06:13:40 <haskellbridge> 05<i​rregularsphere> fair
06:13:47 <ski> if you've already seen enough examples, you can jump more quickly into the abstract stuff. but seeing as how monads aren't really that much like other stuff in programming, chances are you haven't seen enough examples yet, to be able to usefully do that
06:13:59 <haskellbridge> 05<i​rregularsphere> yup
06:14:05 <haskellbridge> 05<i​rregularsphere> I'll go back to all of this later
06:14:13 <haskellbridge> 05<i​rregularsphere> I should pick up abstract algebra
06:14:22 <ski> it can be fun, for sure
06:15:03 <ski> (having fun is the other thing i would recommend, when learning Haskell. having fun tends to help a lot with learning)
06:15:32 <haskellbridge> 05<i​rregularsphere> "having fun" is highly subjective
06:15:46 <ski> yes
06:16:14 <ski> you need to figure out what picques your interest
06:17:00 <haskellbridge> 05<i​rregularsphere> ~~hey at least i know what a functor is now~~
06:17:19 <ski> what would you say it is, in your words ?
06:17:50 ski carefully sips cuppa tea
06:17:57 <haskellbridge> 05<i​rregularsphere> a map from a category to another
06:18:15 <ski> sure
06:18:21 <ski> (but what does that mean, really ?)
06:18:24 <haskellbridge> 05<i​rregularsphere> more concretely an arrow in the category of categories
06:18:31 <ski> yes
06:18:47 <ski> know any other examples of categories ?
06:18:58 <haskellbridge> 05<i​rregularsphere> in this case it maps objects and arrows from one category to another
06:19:11 <haskellbridge> 05<i​rregularsphere> category of functors exist
06:19:25 <ski> kinda like graph homomorphisms (if you've looked any at graph theory)
06:19:51 <ski> anything more concrete than that example ?
06:20:43 <haskellbridge> 05<i​rregularsphere> once you said "kinda like" enough times you'll discover what an isomorphism is
06:21:00 <ski> meaning "same shape"
06:21:10 <haskellbridge> 05<i​rregularsphere> everything is equally concrete
06:21:18 <haskellbridge> 12<C​elestial> I don't know why it alwasw have to be that complicated, I just think of it as `mappable` :P
06:21:19 <haskellbridge> 12<C​elestial> The most abstract notion possible
06:21:51 <haskellbridge> 05<i​rregularsphere> mappable sounds like a property of the object being worked on, not the map itself
06:21:55 <ski> in group theory, two groups, each having a set of elements, and a "multiplication table" for them, are isomorphic, if you can get one table from the other, by renaming the elements, and reordering rows, and reordering columns, in the table
06:21:58 <haskellbridge> 05<i​rregularsphere> mappable sounds like a property of the object being worked on, not concerning the map itself
06:22:27 <ski> Celestial : that's not a bad intuition
06:22:50 <monochrom> I grant you that the formal definition is pretty abstract. But it is by far not the most abstract notion possible. And abstract does not imply complicated either. The formal definition of functor is pretty straightforward.
06:23:09 <haskellbridge> 05<i​rregularsphere> in group theory fair
06:23:28 <haskellbridge> 05<i​rregularsphere> wait
06:23:35 <haskellbridge> 05<i​rregularsphere> what;s even a multiplication table
06:23:52 <haskellbridge> 05<i​rregularsphere> is that a function X² -> X for groups X
06:23:56 <ski> irregularsphere : well, what would "the object being worked on" be, in that case ?
06:24:00 chomwitt joins (~chomwitt@2a02:587:7a09:c300:1ac0:4dff:fedb:a3f1)
06:24:06 <ski> irregularsphere : yes
06:25:34 <ski> (often abstract things are pretty simple. that's often part of the problem, when trying to understand them. they're *too* simple, too little to grasp, latch onto, that reminds oneself of things one already knows about. and even if one may be able to grasp it, it may still be a mystery how this is related to more specific and concrete things)
06:26:10 <haskellbridge> 05<i​rregularsphere> as an example with Endo (monoid of endomorphisms) and-
06:26:11 <haskellbridge> 05<i​rregularsphere> I'll get back to this later
06:26:32 <haskellbridge> 05<i​rregularsphere> yeah I've found very little examples I've ever read to even appreciate category theory to be honest
06:26:43 <haskellbridge> 05<i​rregularsphere> I'm going to leave this for later
06:27:35 <ski> trouble with math books about category theory, is that you often need examples to understand their examples. the concrete examples in category theory being abstract concepts of other math fields
06:28:13 <haskellbridge> 05<i​rregularsphere> yes because category theory is basically a foundation/unifier for all of mathematics
06:28:25 <haskellbridge> 05<i​rregularsphere> all fields get their own set of categories afaik
06:28:53 <ski> so, they tend to reference a whole bunch of other math fields, where it can feel like you need to know them all, in order to be able to grasp category theory. while it certainly helps to know more about different math fields here, one usually doesn't have to understand all those concrete fields, to understand, at least to some extent, the abstract concept in category theory
06:29:28 <haskellbridge> 05<i​rregularsphere> fits with what category theory is supposed to be for
06:29:38 <ski> the book "Conceptual mathematics: a first introduction to categories", by Lawvere & Schanuel is pretty nice, easy going with what it assumes you know about other math fields, though
06:30:12 <ski> "all fields get their own set of categories afaik" -- perhaps not all, but a whole lot, anyway
06:30:39 <ski> "basically a foundation/unifier for all of mathematics" -- it's often more like a common language
06:31:08 <ski> set theory can be seen as a way to try to unify math fields "from below", by telling how you can implement them, in terms of sets
06:31:45 <ski> while category theory is more unifying "from above"", focusing on specifications/characterizations, what the essential properties are, rather than on implementations/representations
06:32:21 <ski> category theory is also more "relational". things are not described, in terms of what they are, but how they relate to "other things of the same kind"
06:33:00 <idris_67> up^
06:37:42 <ski> (and yea, `Endo' (monoid of endomorphisms), and `Iso' (group of isomorphisms) are important in abstract algebra (especially actions, representation theory))
06:39:52 johnw joins (~johnw@69.62.242.138)
06:44:00 × idris_67 quits (~lukas@2804:14c:5b61:8498:63e6:c416:4ee2:5e02) (Quit: Leaving.)
06:52:40 × peterbecich quits (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 255 seconds)
06:58:56 alp_ joins (~alp@2001:861:e3d6:8f80:219:ffcc:ddb2:fd7)
07:02:56 igemnace joins (~ian@user/igemnace)
07:04:18 acidjnk joins (~acidjnk@p200300d6e72b9327e868e6102608b4a6.dip0.t-ipconnect.de)
07:05:55 idris_67 joins (~lukas@2804:14c:5b61:8498:63e6:c416:4ee2:5e02)
07:08:02 peterbecich joins (~Thunderbi@047-229-123-186.res.spectrum.com)
07:09:55 × euleritian quits (~euleritia@dynamic-046-114-205-137.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
07:10:12 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
07:14:07 × idris_67 quits (~lukas@2804:14c:5b61:8498:63e6:c416:4ee2:5e02) (Quit: Leaving.)
07:14:12 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
07:16:29 × peterbecich quits (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 240 seconds)
07:21:23 jmdaemon joins (~jmdaemon@user/jmdaemon)
07:29:38 sord937 joins (~sord937@gateway/tor-sasl/sord937)
07:32:40 misterfish joins (~misterfis@84.53.85.146)
07:33:49 × shapr quits (~user@2600:1700:c640:3100:2fb2:5291:c8c7:a8e0) (Ping timeout: 260 seconds)
07:41:22 not_reserved joins (~not_reser@154.16.157.95)
07:54:47 × lisbeths_ quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
07:55:19 Square2 joins (~Square4@user/square)
07:55:44 × misterfish quits (~misterfis@84.53.85.146) (Ping timeout: 252 seconds)
07:57:22 misterfish joins (~misterfis@84.53.85.146)
07:58:29 × Square quits (~Square@user/square) (Ping timeout: 252 seconds)
08:00:46 × sympulse quits (~sympulse@176.254.244.83) (Ping timeout: 245 seconds)
08:17:03 fendor joins (~fendor@2a02:8388:1605:d100:267b:1353:13d7:4f0c)
08:20:40 lisbeths_ joins (uid135845@id-135845.lymington.irccloud.com)
08:23:46 × ft quits (~ft@p4fc2ae2b.dip0.t-ipconnect.de) (Quit: leaving)
08:25:20 CiaoSen joins (~Jura@2a05:5800:286:3700:ca4b:d6ff:fec1:99da)
08:28:34 coot joins (~coot@89-69-206-216.dynamic.chello.pl)
08:31:41 × steew quits (~steew@user/steew) (Remote host closed the connection)
08:33:32 × tessier quits (~treed@ec2-184-72-149-67.compute-1.amazonaws.com) (Ping timeout: 268 seconds)
08:34:03 waldo joins (~waldo@user/waldo)
08:36:12 sympulse joins (~sympulse@176.254.244.83)
08:38:28 × econo_ quits (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity)
08:38:57 lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
08:40:28 tessier joins (~treed@ec2-184-72-149-67.compute-1.amazonaws.com)
08:42:18 nyr joins (~nyr@user/nyr)
08:44:46 × sympulse quits (~sympulse@176.254.244.83) (Ping timeout: 256 seconds)
08:46:03 cfricke joins (~cfricke@user/cfricke)
08:48:04 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
08:50:21 × waldo quits (~waldo@user/waldo) (Ping timeout: 245 seconds)
08:52:38 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
08:56:58 waldo joins (~waldo@user/waldo)
09:01:34 × waldo quits (~waldo@user/waldo) (Ping timeout: 246 seconds)
09:03:03 waldo joins (~waldo@user/waldo)
09:04:38 × talismanick quits (~user@2601:204:ef00:bb0::f34e) (Ping timeout: 256 seconds)
09:05:37 Inrayzex joins (~Inrayzex@176.254.244.83)
09:07:25 talismanick joins (~user@2601:204:ef00:bb0::f34e)
09:07:35 × nyr quits (~nyr@user/nyr) (Quit: WeeChat 4.1.2)
09:10:16 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer)
09:14:23 × xdminsy quits (~xdminsy@117.147.70.130) (Ping timeout: 264 seconds)
09:15:16 <petrichor> ok, so i've reached the usual point with advent of code where i usually give up on haskell and switch to python
09:15:22 <petrichor> and i would like to not do that this year
09:15:30 xdminsy joins (~xdminsy@117.147.70.130)
09:16:19 <petrichor> it's where you start having to track your position on a 2d map, and sometimes update the map
09:17:09 <petrichor> i can conceptualise how to do that in an imperative language fairly easily, but i don't really grok what tools i have in my haskell toolbox to deal with this
09:18:20 <petrichor> is this where it starts making sense to put my functions in the Reader or State monads?
09:19:08 <probie> Do you really have to update the map?
09:20:42 <[exa]> petrichor: `State (Map ...) ()` and done
09:20:43 <Vq> petrichor: which day is it?
09:21:05 <petrichor> oh yeah, it's day 10
09:22:13 <petrichor> nothing in day 10 that suggests the map needs updating, but sometimes later problems do need (or are easier with) modifying a map in-place
09:23:37 zetef joins (~quassel@95.77.17.251)
09:25:32 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
09:27:51 <Vq> petrichor: I solved that with an accumulating parameter, but yeah, it could make sense to use a State monad for it.
09:28:09 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds)
09:28:41 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
09:28:47 <[exa]> petrichor: btw if you want to go to C++-level stateful code, it's super nice to combine State + lensy operators
09:28:50 × zetef quits (~quassel@95.77.17.251) (Remote host closed the connection)
09:28:57 <[exa]> you can do literally stuff like `player.position.x += 5` etc
09:29:29 barak joins (~barak@2a0d:6fc2:68c1:2600:e14a:d7fd:220f:efcc)
09:29:31 zetef joins (~quassel@95.77.17.251)
09:31:19 danse-nr3 joins (~danse@151.57.200.71)
09:32:45 <petrichor> Vq: yeah, certainly for earlier days it's more about exercising the pure functional part of my brain
09:33:10 <petrichor> getting my head around "how do i approach this *type* of problem in a functional way"
09:35:26 × tzh quits (~tzh@c-71-193-181-0.hsd1.or.comcast.net) (Quit: zzz)
09:35:35 × barak quits (~barak@2a0d:6fc2:68c1:2600:e14a:d7fd:220f:efcc) (Remote host closed the connection)
09:37:12 × zetef quits (~quassel@95.77.17.251) (Remote host closed the connection)
09:37:23 <Vq> petrichor: If you feel comfortable with the accumulating parameter pattern, by all means do it with State, I think it can be a good excercise.
09:37:58 zetef joins (~quassel@95.77.17.251)
09:44:29 <dminuoso_> petrichor: Admittedly, mutation is more difficult to pull off in Haskell. As a compromise you can also use Reader with STRef/IORef, which is a good approximation of imperative languages.
09:45:30 <dminuoso_> State while seeming functional has a bunch of non-obvious issues.
09:46:13 <dminuoso_> But the lack of a first-class mechanism to access or change nested things is really frustrating.
09:48:29 × waldo quits (~waldo@user/waldo) (Ping timeout: 252 seconds)
09:49:07 gehmehgeh joins (~user@user/gehmehgeh)
09:51:37 Tuplanolla joins (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi)
09:53:10 <[exa]> dminuoso_: but imagine all the other frustration that it rids us of. :D
09:55:23 waldo joins (~waldo@user/waldo)
09:55:46 ubert joins (~Thunderbi@2a02:8109:ab8a:5a00:620d:13c9:8b8c:a23f)
09:56:42 <dminuoso_> [exa]: Oh, you mean like database interaction, web servers, cross compilation, webasm targeting, realtime computing, first class support for interfaces/protocols? Yes, lots of frustration it rids us of!
09:56:47 <dminuoso_> :-)
09:56:54 <petrichor> >_<
09:57:28 <petrichor> tbf, programming is much easier if you don't need any of those... ;P
09:57:48 <dminuoso_> The last one makes programming much easier in general.
09:59:29 <sprout> you don't really need anything for AoC in haskell than vanilla functional programming, only a map is nice since lists has O(n) operations
09:59:57 <sprout> if you want to make stuff really fast, then it's different
09:59:59 × waldo quits (~waldo@user/waldo) (Ping timeout: 264 seconds)
10:01:52 × dcoutts quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 256 seconds)
10:02:23 waldo joins (~waldo@user/waldo)
10:02:40 <petrichor> dminuoso_: but if your tasks are simple enough that you don't need them, then they're much easier to solve ;)
10:03:39 <dminuoso_> petrichor: I tend to think differently. Haskell is my primary choice when my problems become too complex, that simple a simple "Open, use, crash, fix" loop style of programmig isnt enough.
10:03:50 <dminuoso_> When you need higher guarantees about code correctness.
10:06:34 <petrichor> dminuoso_: oh yeah, i 100% agree
10:06:36 × xff0x quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 245 seconds)
10:07:25 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
10:07:26 <petrichor> the other way of phrasing it is that if your problem is simple enough not to need any of those things you mentioned, it's probably not that interesting anyway
10:10:20 × waldo quits (~waldo@user/waldo) (Quit: waldo)
10:11:42 waldo joins (~waldo@user/waldo)
10:13:29 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:54de:61e3:a269:e175) (Remote host closed the connection)
10:17:04 × zetef quits (~quassel@95.77.17.251) (Ping timeout: 276 seconds)
10:22:41 × waldo quits (~waldo@user/waldo) (Ping timeout: 268 seconds)
10:23:41 × anon1123 quits (~anon1123@2a02:ab88:282:b00:da3a:ddff:fe3a:947c) (Ping timeout: 245 seconds)
10:24:21 dcoutts joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
10:24:23 <sprout> nah, there are lots of interesting toy problems
10:24:29 anon1123 joins (~anon1123@catv-176-63-0-119.catv.fixed.vodafone.hu)
10:28:38 waldo joins (~waldo@user/waldo)
10:32:55 × waldo quits (~waldo@user/waldo) (Ping timeout: 246 seconds)
10:35:34 waldo joins (~waldo@user/waldo)
10:36:36 × xdminsy quits (~xdminsy@117.147.70.130) (Ping timeout: 245 seconds)
10:48:10 __monty__ joins (~toonn@user/toonn)
10:48:16 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 245 seconds)
10:49:42 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:54de:61e3:a269:e175)
10:54:19 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:54de:61e3:a269:e175) (Ping timeout: 260 seconds)
10:57:24 × talismanick quits (~user@2601:204:ef00:bb0::f34e) (Read error: Connection reset by peer)
10:57:39 talismanick joins (~user@2601:204:ef00:bb0::f34e)
10:58:05 chele joins (~chele@user/chele)
10:59:06 barak joins (~barak@2a0d:6fc2:68c1:2600:e14a:d7fd:220f:efcc)
11:00:42 × not_reserved quits (~not_reser@154.16.157.95) (Quit: Client closed)
11:04:40 × CiaoSen quits (~Jura@2a05:5800:286:3700:ca4b:d6ff:fec1:99da) (Ping timeout: 255 seconds)
11:06:45 not_reserved joins (~not_reser@154.16.157.95)
11:09:03 xff0x joins (~xff0x@2405:6580:b080:900:94a4:4776:17d9:b560)
11:15:41 rachelambda joins (~rachelamb@cust-95-80-25-71.csbnet.se)
11:18:53 lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
11:18:58 alp__ joins (~alp@2001:861:e3d6:8f80:9308:1729:af56:70eb)
11:20:05 × alp_ quits (~alp@2001:861:e3d6:8f80:219:ffcc:ddb2:fd7) (Ping timeout: 240 seconds)
11:24:33 × alp__ quits (~alp@2001:861:e3d6:8f80:9308:1729:af56:70eb) (Ping timeout: 256 seconds)
11:25:10 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 256 seconds)
11:25:17 zetef joins (~quassel@95.77.17.251)
11:25:58 euleritian joins (~euleritia@dynamic-046-114-202-221.46.114.pool.telefonica.de)
11:27:55 × waldo quits (~waldo@user/waldo) (Ping timeout: 276 seconds)
11:29:28 × stef204 quits (~stef204@user/stef204) (Quit: WeeChat 4.1.2)
11:29:39 alp_ joins (~alp@2001:861:e3d6:8f80:3ed6:2324:fefd:ff58)
11:33:36 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 268 seconds)
11:33:40 × euleritian quits (~euleritia@dynamic-046-114-202-221.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
11:33:59 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
11:34:02 waldo joins (~waldo@user/waldo)
11:35:01 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
11:36:31 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
11:38:21 × alp_ quits (~alp@2001:861:e3d6:8f80:3ed6:2324:fefd:ff58) (Ping timeout: 260 seconds)
11:38:27 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:54de:61e3:a269:e175)
11:39:34 × barak quits (~barak@2a0d:6fc2:68c1:2600:e14a:d7fd:220f:efcc) (Remote host closed the connection)
11:41:34 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 276 seconds)
11:42:11 euleritian joins (~euleritia@dynamic-046-114-178-206.46.114.pool.telefonica.de)
11:42:54 alexherbo2 joins (~alexherbo@2a02-8440-3140-8db4-0481-ed33-aa27-b66e.rev.sfr.net)
11:43:08 × chiselfuse quits (~chiselfus@user/chiselfuse) (Remote host closed the connection)
11:43:50 chiselfuse joins (~chiselfus@user/chiselfuse)
11:44:33 × euleritian quits (~euleritia@dynamic-046-114-178-206.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
11:44:58 alp_ joins (~alp@2001:861:e3d6:8f80:e7a:15ff:fefc:533c)
11:46:01 euleritian joins (~euleritia@dynamic-046-114-178-206.46.114.pool.telefonica.de)
11:51:09 × alp_ quits (~alp@2001:861:e3d6:8f80:e7a:15ff:fefc:533c) (Remote host closed the connection)
11:51:26 alp_ joins (~alp@2001:861:e3d6:8f80:fa7b:a3fc:911d:d8fb)
11:52:46 lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
11:53:22 takuan joins (~takuan@178-116-218-225.access.telenet.be)
11:55:33 araujo joins (~araujo@45.146.54.76)
11:56:15 × euleritian quits (~euleritia@dynamic-046-114-178-206.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
11:56:32 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
11:58:25 × chiselfuse quits (~chiselfus@user/chiselfuse) (Remote host closed the connection)
11:58:58 chiselfuse joins (~chiselfus@user/chiselfuse)
12:04:18 × danse-nr3 quits (~danse@151.57.200.71) (Read error: Connection reset by peer)
12:04:35 danse-nr3 joins (~danse@151.57.168.119)
12:04:58 × alp_ quits (~alp@2001:861:e3d6:8f80:fa7b:a3fc:911d:d8fb) (Ping timeout: 246 seconds)
12:08:29 × xff0x quits (~xff0x@2405:6580:b080:900:94a4:4776:17d9:b560) (Ping timeout: 240 seconds)
12:10:18 × misterfish quits (~misterfis@84.53.85.146) (Ping timeout: 268 seconds)
12:10:23 × danse-nr3 quits (~danse@151.57.168.119) (Ping timeout: 255 seconds)
12:10:25 xff0x joins (~xff0x@2405:6580:b080:900:94a4:4776:17d9:b560)
12:10:28 alp_ joins (~alp@2001:861:e3d6:8f80:3dab:d6e0:7a86:adbd)
12:10:30 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds)
12:11:06 euleritian joins (~euleritia@dynamic-046-114-178-206.46.114.pool.telefonica.de)
12:11:52 × euleritian quits (~euleritia@dynamic-046-114-178-206.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
12:12:10 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
12:13:41 × zetef quits (~quassel@95.77.17.251) (Ping timeout: 268 seconds)
12:16:49 × waldo quits (~waldo@user/waldo) (Ping timeout: 256 seconds)
12:17:33 bryanv joins (~quassel@2603:c028:4503:7500:45b7:933:ab17:bc10)
12:17:54 waldo joins (~waldo@user/waldo)
12:19:14 × bryanv_ quits (~quassel@2603:c028:4503:7500:45b7:933:ab17:bc10) (Ping timeout: 268 seconds)
12:22:24 × waldo quits (~waldo@user/waldo) (Ping timeout: 256 seconds)
12:40:31 × mikess quits (~sam@user/mikess) (Ping timeout: 268 seconds)
12:55:11 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds)
12:55:15 CiaoSen joins (~Jura@2a05:5800:286:3700:ca4b:d6ff:fec1:99da)
12:55:32 × igemnace quits (~ian@user/igemnace) (Read error: Connection reset by peer)
12:56:09 euleritian joins (~euleritia@dynamic-176-003-130-045.176.3.pool.telefonica.de)
12:59:54 wib_jonas joins (~wib_jonas@business-37-191-60-209.business.broadband.hu)
13:01:08 × gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving)
13:09:01 × euleritian quits (~euleritia@dynamic-176-003-130-045.176.3.pool.telefonica.de) (Read error: Connection reset by peer)
13:09:24 euleritian joins (~euleritia@dynamic-176-003-130-045.176.3.pool.telefonica.de)
13:11:54 × euleritian quits (~euleritia@dynamic-176-003-130-045.176.3.pool.telefonica.de) (Read error: Connection reset by peer)
13:12:12 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
13:12:49 igemnace joins (~ian@user/igemnace)
13:19:58 sawilagar joins (~sawilagar@user/sawilagar)
13:20:24 waldo joins (~waldo@user/waldo)
13:29:12 <iphy> (\tus -> traverseAst collectEnums tus >> traverseAst linter tus) -- is there a better way to write this?
13:33:59 × jargon quits (~jargon@15.sub-174-205-161.myvzw.com) (Ping timeout: 252 seconds)
13:34:25 × not_reserved quits (~not_reser@154.16.157.95) (Quit: Client closed)
13:34:41 jargon joins (~jargon@15.sub-174-205-161.myvzw.com)
13:42:35 × Square2 quits (~Square4@user/square) (Ping timeout: 264 seconds)
13:44:46 × xff0x quits (~xff0x@2405:6580:b080:900:94a4:4776:17d9:b560) (Quit: xff0x)
13:50:53 xff0x joins (~xff0x@2405:6580:b080:900:e762:3794:c658:ff64)
13:52:35 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 256 seconds)
13:55:51 euleritian joins (~euleritia@dynamic-176-003-130-045.176.3.pool.telefonica.de)
14:00:46 × waldo quits (~waldo@user/waldo) (Ping timeout: 245 seconds)
14:03:56 <mauke> @pl (\tus -> traverseAst collectEnums tus >> traverseAst linter tus)
14:03:57 <lambdabot> ap ((>>) . traverseAst collectEnums) (traverseAst linter)
14:04:01 <mauke> ew
14:04:06 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 245 seconds)
14:04:09 thegeekinside joins (~thegeekin@189.141.65.247)
14:08:04 waldo joins (~waldo@user/waldo)
14:08:42 × thegeekinside quits (~thegeekin@189.141.65.247) (Ping timeout: 268 seconds)
14:12:04 <iphy> yeah, not better
14:12:10 <iphy> @type 3
14:12:11 <lambdabot> Num p => p
14:12:32 <iphy> @type (\f g x -> f x >> g x)
14:12:34 <lambdabot> Monad m => (t -> m a) -> (t -> m b) -> t -> m b
14:12:38 szkl joins (uid110435@id-110435.uxbridge.irccloud.com)
14:12:48 <iphy> I tried this in hoogle, but nothing exists, and I only do it once so I don't want to write it myself
14:13:16 <iphy> `m a` can be `m ()`, but then it still doesn't exist
14:17:11 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
14:18:02 edr joins (~edr@user/edr)
14:18:03 × euleritian quits (~euleritia@dynamic-176-003-130-045.176.3.pool.telefonica.de) (Read error: Connection reset by peer)
14:18:20 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
14:24:54 not_reserved joins (~not_reser@154.16.157.95)
14:24:56 thegeekinside joins (~thegeekin@189.141.65.247)
14:26:40 × waldo quits (~waldo@user/waldo) (Ping timeout: 276 seconds)
14:28:14 machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net)
14:29:12 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
14:31:42 <ski> liftA2 (>>) (traverseAst collectEnums) (traverseAst linter)
14:31:51 waldo joins (~waldo@user/waldo)
14:31:59 <ski> (>>) <$> traverseAst collectEnums <*> traverseAst linter
14:32:04 <ski> iphy ^
14:32:19 <iphy> oh nice
14:32:31 <iphy> well, not super nice, but slightly nice
14:32:45 <ski> .. would it be possible to merge the `traverseAst's ?
14:33:04 × wib_jonas quits (~wib_jonas@business-37-191-60-209.business.broadband.hu) (Quit: Client closed)
14:33:04 <ski> traverseAst (\tu -> collectEnums tu >> linter tu)
14:33:20 <ski> traverseAst (liftA2 (>>) collectEnums linter)
14:33:32 <ski> traverseAst ((>>) <$> collectEnums <*> linter)
14:34:22 <ski> iphy : note that this will interleave the `collectEnums tu' and `linter tu' invocations, rather than doing all the former before all the latter
14:34:47 <iphy> right, they do need to be sequenced
14:35:02 <ski> i see
14:35:10 shapr joins (~user@2600:1700:c640:3100:65bb:6b6f:aa53:d788)
14:35:14 <iphy> I need to know all the enums before running the enum linter
14:36:17 ski nods
14:37:54 × rosco quits (~rosco@175.136.152.56) (Quit: Lost terminal)
14:39:30 <Inst_> welp, i think my personal crisis is over, sorry aboutall of that
14:40:47 Inst_ is now known as Inst
14:41:09 <ski> (liftA2 . liftA2) (>>) ($ collectEnums) ($ linter) traverseAst
14:41:35 × jargon quits (~jargon@15.sub-174-205-161.myvzw.com) (Read error: Connection reset by peer)
14:42:04 × alexherbo2 quits (~alexherbo@2a02-8440-3140-8db4-0481-ed33-aa27-b66e.rev.sfr.net) (Remote host closed the connection)
14:42:12 <ski> iphy : ^ .. doesn't look that much better, tbh .. and wouldn't work, if `collectEnum's and `linter' have different types, anyway
14:42:24 alexherbo2 joins (~alexherbo@2a02-8440-3140-8db4-0481-ed33-aa27-b66e.rev.sfr.net)
14:42:34 ski glances over at Inst
14:43:10 × cfricke quits (~cfricke@user/cfricke) (Ping timeout: 246 seconds)
14:43:39 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
14:44:10 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Client Quit)
14:45:04 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
14:47:27 emad joins (~emad@156.214.22.91)
14:48:19 <fendor> Any easy way to shuffle a list? random API is a bit lacking to do something quick and dirty
14:48:36 <exarkun> There's a `random-shuffle` package
14:48:38 wib_jonas joins (~wib_jonas@business-37-191-60-209.business.broadband.hu)
14:49:25 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 276 seconds)
14:49:45 × emad quits (~emad@156.214.22.91) (Client Quit)
14:50:20 euleritian joins (~euleritia@dynamic-176-003-130-045.176.3.pool.telefonica.de)
14:53:05 × duncan quits (~duncan@user/duncan) (Ping timeout: 256 seconds)
14:53:25 <fendor> perfect, thanks!
14:57:37 × CiaoSen quits (~Jura@2a05:5800:286:3700:ca4b:d6ff:fec1:99da) (Ping timeout: 256 seconds)
14:58:09 × alexherbo2 quits (~alexherbo@2a02-8440-3140-8db4-0481-ed33-aa27-b66e.rev.sfr.net) (Remote host closed the connection)
14:58:29 alexherbo2 joins (~alexherbo@158.151.22.93.rev.sfr.net)
14:58:48 × jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 256 seconds)
15:11:26 × alexherbo2 quits (~alexherbo@158.151.22.93.rev.sfr.net) (Ping timeout: 250 seconds)
15:12:26 zetef joins (~quassel@95.77.17.251)
15:12:28 alexherbo2 joins (~alexherbo@2a02-8440-3140-87d3-7cee-7fa9-e3ba-5d39.rev.sfr.net)
15:12:55 × euleritian quits (~euleritia@dynamic-176-003-130-045.176.3.pool.telefonica.de) (Ping timeout: 256 seconds)
15:13:59 × sand-witch quits (~m-mzmz6l@vmi833741.contaboserver.net) (Remote host closed the connection)
15:14:40 × wib_jonas quits (~wib_jonas@business-37-191-60-209.business.broadband.hu) (Quit: Client closed)
15:14:59 sand-witch joins (~m-mzmz6l@vmi833741.contaboserver.net)
15:15:04 wib_jonas joins (~wib_jonas@business-37-191-60-209.business.broadband.hu)
15:17:51 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer)
15:18:36 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.1.1)
15:18:52 potato44 joins (uid421314@id-421314.lymington.irccloud.com)
15:30:02 waleee joins (~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
15:31:53 <rovaughn> irregularsphere: I do recommend at least taking a look through Introducing String Diagrams (Ralf Hinze and Dan Marsden). I developed my intuition of Haskell monads from using the language, and had an abstract understanding of monads etc. from MacLane et al., but the string diagrams made the full definition a lot more intuitive for me.
15:33:10 <rovaughn> It made the ol' memetic "monads are monoids in the category of endofunctors" almost obvious
15:34:11 × waldo quits (~waldo@user/waldo) (Ping timeout: 264 seconds)
15:34:39 × alexherbo2 quits (~alexherbo@2a02-8440-3140-87d3-7cee-7fa9-e3ba-5d39.rev.sfr.net) (Remote host closed the connection)
15:34:56 <rovaughn> irregularsphere: Anyway I recommend that book not just for monads but as a good extra view on a bunch of abstract algebra stuff in general. Like for a lot of people, getting a grasp on adjunctions and being able to use monoidal categories in general more easily was illuminating
15:34:59 alexherbo2 joins (~alexherbo@2a02-8440-3140-87d3-7cee-7fa9-e3ba-5d39.rev.sfr.net)
15:37:03 <rovaughn> I think the monoidal endofunctor view of monads helps get away from focusing on monads just as "containers" or "sequences" though it helps show why they are good for those. And it can lead you to ask what a symmetric monoid equivalent would be and so forth.
15:37:37 × not_reserved quits (~not_reser@154.16.157.95) (Quit: Client closed)
15:40:25 <rovaughn> dminuoso_: Very true, the other thing is the type system feedback loop is generally faster than the open/use/crash/fix feedback loop anyway. Though after using proof assistants and Idris more I'm feeling more deprived than I expected at times, I need to see where Haskell's dependent-typing stuff is at lately.
15:44:47 × lisbeths_ quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
15:45:55 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
15:47:03 × dolio quits (~dolio@130.44.134.54) (Quit: ZNC 1.8.2 - https://znc.in)
15:50:08 danse-nr3 joins (~danse@151.57.168.119)
15:53:59 × thegeekinside quits (~thegeekin@189.141.65.247) (Ping timeout: 264 seconds)
15:54:19 × Philonous quits (~Philonous@user/philonous) (Remote host closed the connection)
15:54:44 Philonous joins (~Philonous@user/philonous)
15:55:50 × zetef quits (~quassel@95.77.17.251) (Ping timeout: 255 seconds)
15:57:44 euleritian joins (~euleritia@dynamic-046-114-174-115.46.114.pool.telefonica.de)
15:58:38 × euleritian quits (~euleritia@dynamic-046-114-174-115.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
16:04:05 × alexherbo2 quits (~alexherbo@2a02-8440-3140-87d3-7cee-7fa9-e3ba-5d39.rev.sfr.net) (Remote host closed the connection)
16:04:20 × danse-nr3 quits (~danse@151.57.168.119) (Read error: Connection reset by peer)
16:04:33 danse-nr3 joins (~danse@151.43.221.130)
16:05:16 waldo joins (~waldo@user/waldo)
16:06:24 × img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
16:08:31 alexherbo2 joins (~alexherbo@188.149.22.93.rev.sfr.net)
16:09:18 img joins (~img@user/img)
16:10:59 euleritian joins (~euleritia@dynamic-046-114-174-115.46.114.pool.telefonica.de)
16:12:58 × alexherbo2 quits (~alexherbo@188.149.22.93.rev.sfr.net) (Ping timeout: 250 seconds)
16:13:30 <Inst> what would you recommend as the best standalone postgresql lib for Haskell?
16:13:54 rosco joins (~rosco@42.153.128.254)
16:14:43 <danse-nr3> this dev.to/zelenya/series/24889 is a nice overview, pick what suits you
16:15:23 × euleritian quits (~euleritia@dynamic-046-114-174-115.46.114.pool.telefonica.de) (Ping timeout: 260 seconds)
16:15:52 <Inst> thanks <3
16:15:58 <danse-nr3> v
16:17:13 euleritian joins (~euleritia@dynamic-046-114-109-032.46.114.pool.telefonica.de)
16:18:08 × Flow quits (~none@gentoo/developer/flow) (Ping timeout: 256 seconds)
16:20:25 Flow joins (~none@gentoo/developer/flow)
16:20:40 thegeekinside joins (~thegeekin@189.141.65.247)
16:27:11 notzmv joins (~zmv@user/notzmv)
16:27:21 × rosco quits (~rosco@42.153.128.254) (Quit: Gotta go.)
16:31:36 econo_ joins (uid147250@id-147250.tinside.irccloud.com)
16:33:33 <Inst> And by the way, I'm stuck with Servant if I don't want to go with Yesod or IHP, right?
16:34:36 <danse-nr3> there is also scotty and the other simpler frameworks
16:35:38 × euleritian quits (~euleritia@dynamic-046-114-109-032.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
16:35:43 <Inst> does Servant have a Holy Trinity (HTML / JS / CSS) library?
16:36:54 <danse-nr3> luckily not
16:37:05 <Inst> why not?
16:37:06 <danse-nr3> that does not make much sense in 2023
16:37:15 <Inst> i mean we have GHCJS
16:37:19 <Inst> so no real need for JS in the worst case
16:37:39 <danse-nr3> it just does not make sense to tie solutions for those areas together
16:46:47 idris_67 joins (~lukas@179.152.173.192)
16:49:33 idris_67 parts (~lukas@179.152.173.192) ()
16:49:58 euleritian joins (~euleritia@dynamic-046-114-109-032.46.114.pool.telefonica.de)
16:51:58 × danse-nr3 quits (~danse@151.43.221.130) (Read error: Connection reset by peer)
16:53:08 not_reserved joins (~not_reser@154.16.157.95)
16:53:47 × waldo quits (~waldo@user/waldo) (Ping timeout: 256 seconds)
16:54:04 Guest9387 joins (~Guest9387@27.131.138.148)
16:54:21 <Guest9387> Hi, i have lost all my saved money to FTX jews around 20000 dollars.
16:54:21 × L29Ah quits (~L29Ah@wikipedia/L29Ah) (Read error: Connection reset by peer)
16:54:22 <Guest9387> Please help me live. Please help me.
16:54:22 <Guest9387> BTC :   bc1q9vfmfwj6av9pxj50r6xyl652mwhqvw5ds86nw2
16:54:37 × Guest9387 quits (~Guest9387@27.131.138.148) (Client Quit)
16:54:41 ChanServ sets mode +o geekosaur
16:54:47 geekosaur sets mode -o geekosaur
16:54:51 <geekosaur> already gone
16:55:59 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:54de:61e3:a269:e175) (Remote host closed the connection)
16:56:06 × alp_ quits (~alp@2001:861:e3d6:8f80:3dab:d6e0:7a86:adbd) (Ping timeout: 256 seconds)
16:56:14 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:54de:61e3:a269:e175)
17:02:22 alexherbo2 joins (~alexherbo@2a02-8440-3240-f362-b4d9-87a3-66d4-13e7.rev.sfr.net)
17:05:16 waldo joins (~waldo@user/waldo)
17:05:57 × not_reserved quits (~not_reser@154.16.157.95) (Quit: Client closed)
17:06:35 rosco joins (~rosco@42.153.128.254)
17:07:07 × ubert quits (~Thunderbi@2a02:8109:ab8a:5a00:620d:13c9:8b8c:a23f) (Remote host closed the connection)
17:07:07 × euleritian quits (~euleritia@dynamic-046-114-109-032.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
17:07:23 euleritian joins (~euleritia@dynamic-046-114-109-032.46.114.pool.telefonica.de)
17:09:59 × wib_jonas quits (~wib_jonas@business-37-191-60-209.business.broadband.hu) (Quit: Client closed)
17:10:50 × Flow quits (~none@gentoo/developer/flow) (Ping timeout: 256 seconds)
17:12:20 × alexherbo2 quits (~alexherbo@2a02-8440-3240-f362-b4d9-87a3-66d4-13e7.rev.sfr.net) (Ping timeout: 250 seconds)
17:14:11 Flow joins (~none@gentoo/developer/flow)
17:17:23 × machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 264 seconds)
17:20:46 × Flow quits (~none@gentoo/developer/flow) (Ping timeout: 245 seconds)
17:21:08 danse-nr3 joins (~danse@151.43.158.99)
17:21:49 alp_ joins (~alp@2001:861:e3d6:8f80:d76e:b1cb:1732:3e17)
17:24:35 Joao003 joins (~Joao003@190.108.99.222)
17:24:35 Joao003_ joins (~Joao003@190.108.99.222)
17:24:37 Joao003__ joins (~Joao003@190.108.99.222)
17:25:11 × rosco quits (~rosco@42.153.128.254) (Quit: Gotta go.)
17:25:12 × Joao003_ quits (~Joao003@190.108.99.222) (Client Quit)
17:25:16 × Joao003__ quits (~Joao003@190.108.99.222) (Client Quit)
17:26:23 alexherbo2 joins (~alexherbo@248.14.23.93.rev.sfr.net)
17:29:09 × euleritian quits (~euleritia@dynamic-046-114-109-032.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
17:29:26 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
17:30:50 misterfish joins (~misterfis@84.53.85.146)
17:31:48 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:54de:61e3:a269:e175) (Remote host closed the connection)
17:33:34 × chele quits (~chele@user/chele) (Remote host closed the connection)
17:34:40 L29Ah joins (~L29Ah@wikipedia/L29Ah)
17:36:32 <tomsmeding> Inst: I've been productive enough with snap, the playground runs on it
17:36:56 <tomsmeding> it's a bit less "does the whole world for you" than some of the frameworks you mention, but I personally like that
17:38:02 <Inst> also thanks for being enthusiastic with the request
17:38:16 <Inst> I'm liamzy
17:38:38 <tomsmeding> I remembered from an earlier issue :)
17:39:06 <tomsmeding> I'm not sure I'd like a very large collection of sample programs for the playground, but suggestions for improvements are always welcome
17:40:06 not_reserved joins (~not_reser@154.16.157.95)
17:41:39 <Inst> a small collection, at least, curated by you
17:42:21 aruns joins (~aruns@user/aruns)
17:43:28 Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542)
17:44:39 <danse-nr3> tomsmeding is already doing a lot for the haskell community, not sure they want more workload
17:45:07 bratwurst joins (~blaadsfa@2604:3d09:2083:a200:216:3eff:fe5a:a1f8)
17:45:59 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:54de:61e3:a269:e175)
17:47:04 <tomsmeding> replacing some template snippets for the playground is not a lot of effort :)
17:47:53 <danse-nr3> cool then...
17:48:04 <tomsmeding> but thanks :)
17:48:34 <danse-nr3> v
18:02:41 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:54de:61e3:a269:e175) (Remote host closed the connection)
18:10:36 qqq joins (~qqq@92.43.167.61)
18:11:36 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:54de:61e3:a269:e175)
18:12:29 × waldo quits (~waldo@user/waldo) (Ping timeout: 240 seconds)
18:13:27 × bratwurst quits (~blaadsfa@2604:3d09:2083:a200:216:3eff:fe5a:a1f8) (Ping timeout: 260 seconds)
18:15:05 tzh joins (~tzh@c-71-193-181-0.hsd1.or.comcast.net)
18:15:09 × alexherbo2 quits (~alexherbo@248.14.23.93.rev.sfr.net) (Remote host closed the connection)
18:15:29 alexherbo2 joins (~alexherbo@2a02-8440-3240-03d6-5800-5c3b-95ce-6fd6.rev.sfr.net)
18:37:40 × coot quits (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
18:38:06 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
18:46:19 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:54de:61e3:a269:e175) (Remote host closed the connection)
18:48:07 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:54de:61e3:a269:e175)
18:49:04 peterbecich joins (~Thunderbi@047-229-123-186.res.spectrum.com)
18:49:17 mikess joins (~sam@user/mikess)
18:50:50 waldo joins (~waldo@user/waldo)
18:59:11 × waldo quits (~waldo@user/waldo) (Ping timeout: 260 seconds)
19:02:00 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:54de:61e3:a269:e175) (Remote host closed the connection)
19:05:59 × danse-nr3 quits (~danse@151.43.158.99) (Ping timeout: 264 seconds)
19:08:52 × misterfish quits (~misterfis@84.53.85.146) (Ping timeout: 255 seconds)
19:09:27 × peterbecich quits (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds)
19:13:00 waldo joins (~waldo@user/waldo)
19:20:12 × Joao003 quits (~Joao003@190.108.99.222) (Read error: Connection reset by peer)
19:20:28 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer)
19:20:36 Joao003 joins (~Joao003@190.108.99.222)
19:20:43 × araujo quits (~araujo@45.146.54.76) (Remote host closed the connection)
19:21:03 araujo joins (~araujo@45.146.54.76)
19:21:36 × shapr quits (~user@2600:1700:c640:3100:65bb:6b6f:aa53:d788) (Remote host closed the connection)
19:21:43 × aristid quits (sid1599@id-1599.uxbridge.irccloud.com) (Read error: Connection reset by peer)
19:21:44 × S11001001 quits (sid42510@id-42510.ilkley.irccloud.com) (Read error: Connection reset by peer)
19:21:49 shapr joins (~user@2600:1700:c640:3100:b78a:b9c3:6d36:29ef)
19:21:51 aristid joins (sid1599@id-1599.uxbridge.irccloud.com)
19:21:52 S11001001 joins (sid42510@id-42510.ilkley.irccloud.com)
19:22:01 × delyan_ quits (sid523379@id-523379.hampstead.irccloud.com) (Ping timeout: 245 seconds)
19:22:07 × jmct quits (sid160793@id-160793.tinside.irccloud.com) (Read error: Connection reset by peer)
19:22:13 × dsal quits (sid13060@id-13060.lymington.irccloud.com) (Read error: Connection reset by peer)
19:22:14 jmct joins (sid160793@id-160793.tinside.irccloud.com)
19:22:22 dsal joins (sid13060@id-13060.lymington.irccloud.com)
19:22:23 × caasih quits (sid13241@id-13241.ilkley.irccloud.com) (Read error: Connection reset by peer)
19:22:26 × dmj` quits (sid72307@id-72307.hampstead.irccloud.com) (Ping timeout: 245 seconds)
19:22:26 × mjs2600_ quits (~mjs2600@c-174-169-225-239.hsd1.vt.comcast.net) (Quit: ZNC 1.8.2 - https://znc.in)
19:22:30 × mosul quits (mosul@user/mosul) (Quit: ZNC 1.8.2+deb2+b1 - https://znc.in)
19:22:30 × JSharp quits (sid4580@id-4580.lymington.irccloud.com) (Read error: Connection reset by peer)
19:22:30 × remmie quits (ianremsen@tilde.team) (Quit: ZNC 1.8.1 - https://znc.in)
19:22:30 × nitrix quits (~nitrix@user/nitrix) (Remote host closed the connection)
19:22:32 × hovsater quits (sid499516@id-499516.lymington.irccloud.com) (Read error: Connection reset by peer)
19:22:32 caasih joins (sid13241@id-13241.ilkley.irccloud.com)
19:22:34 × sa quits (sid1055@id-1055.tinside.irccloud.com) (Read error: Connection reset by peer)
19:22:41 hovsater joins (sid499516@id-499516.lymington.irccloud.com)
19:22:42 mjs2600 joins (~mjs2600@c-174-169-225-239.hsd1.vt.comcast.net)
19:22:47 JSharp joins (sid4580@id-4580.lymington.irccloud.com)
19:22:49 nitrix joins (~nitrix@user/nitrix)
19:22:51 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 245 seconds)
19:22:52 × carbolymer quits (~carbolyme@dropacid.net) (Remote host closed the connection)
19:22:54 delyan_ joins (sid523379@id-523379.hampstead.irccloud.com)
19:22:58 × dibblego quits (~dibblego@haskell/developer/dibblego) (Read error: Connection reset by peer)
19:22:58 sa joins (sid1055@id-1055.tinside.irccloud.com)
19:23:00 dmj` joins (sid72307@id-72307.hampstead.irccloud.com)
19:23:18 dibblego joins (~dibblego@122-199-1-93.ip4.superloop.au)
19:23:18 × dibblego quits (~dibblego@122-199-1-93.ip4.superloop.au) (Changing host)
19:23:18 dibblego joins (~dibblego@haskell/developer/dibblego)
19:24:01 carbolymer joins (~carbolyme@dropacid.net)
19:24:06 × sweater1 quits (~sweater@206.81.18.26) (Ping timeout: 245 seconds)
19:24:31 × jjhoo quits (~jahakala@user/jjhoo) (Ping timeout: 245 seconds)
19:24:31 × drlkf quits (~drlkf@192.184.163.34.bc.googleusercontent.com) (Ping timeout: 245 seconds)
19:24:31 × disconnect3d quits (~disconnec@user/disconnect3d) (Ping timeout: 245 seconds)
19:24:31 × ario quits (~ario@159.65.220.102) (Ping timeout: 245 seconds)
19:24:55 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
19:24:58 sweater1 joins (~sweater@206.81.18.26)
19:25:13 jjhoo joins (jahakala@user/jjhoo)
19:25:19 disconnect3d joins (~disconnec@user/disconnect3d)
19:25:31 ario joins (~ario@159.65.220.102)
19:25:47 drlkf joins (~drlkf@192.184.163.34.bc.googleusercontent.com)
19:25:50 kh0d joins (~kh0d@178.220.151.79)
19:25:50 sprout_ joins (~quassel@2a02-a448-3a80-0-d05a-f4f5-b486-49a2.fixed6.kpn.net)
19:28:51 remmie joins (ianremsen@tilde.team)
19:29:07 × sprout quits (~quassel@2a02-a448-3a80-0-f5da-af75-343e-2df2.fixed6.kpn.net) (Ping timeout: 255 seconds)
19:34:04 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:54de:61e3:a269:e175)
19:37:42 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
19:40:17 peterbecich joins (~Thunderbi@047-229-123-186.res.spectrum.com)
19:42:07 ft joins (~ft@p4fc2ae2b.dip0.t-ipconnect.de)
19:42:34 × kh0d quits (~kh0d@178.220.151.79) (Ping timeout: 276 seconds)
19:42:49 mosul joins (mosul@user/mosul)
19:47:46 notzmv joins (~zmv@user/notzmv)
19:49:22 × peterbecich quits (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 255 seconds)
19:49:42 × off^ quits (~cd@c-98-242-74-66.hsd1.ga.comcast.net) (Remote host closed the connection)
19:49:43 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
19:49:52 euleritian joins (~euleritia@77.22.252.56)
19:50:11 × dsrt^ quits (~cd@c-98-242-74-66.hsd1.ga.comcast.net) (Remote host closed the connection)
19:52:08 Flow joins (~none@gentoo/developer/flow)
19:52:30 esnos joins (~esnos@194.29.137.22)
19:54:18 × esnos quits (~esnos@194.29.137.22) (Client Quit)
20:02:39 × trev quits (~trev@user/trev) (Quit: trev)
20:04:49 × Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
20:05:04 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
20:05:08 Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542)
20:08:46 × araujo quits (~araujo@45.146.54.76) (Ping timeout: 256 seconds)
20:22:40 × Flow quits (~none@gentoo/developer/flow) (Ping timeout: 246 seconds)
20:23:03 xdminsy joins (~xdminsy@117.147.70.130)
20:27:51 × arkoinad quits (~abhinav@c-67-169-139-16.hsd1.ca.comcast.net) (Ping timeout: 260 seconds)
20:31:33 kh0d joins (~kh0d@178.220.151.79)
20:31:52 × mjs2600 quits (~mjs2600@c-174-169-225-239.hsd1.vt.comcast.net) (Quit: ZNC 1.8.2 - https://znc.in)
20:32:08 mjs2600 joins (~mjs2600@c-174-169-225-239.hsd1.vt.comcast.net)
20:34:34 × euleritian quits (~euleritia@77.22.252.56) (Ping timeout: 246 seconds)
20:34:57 euleritian joins (~euleritia@dynamic-046-114-202-151.46.114.pool.telefonica.de)
20:35:13 peterbecich joins (~Thunderbi@047-229-123-186.res.spectrum.com)
20:38:50 Flow joins (~none@gentoo/developer/flow)
20:39:22 misterfish joins (~misterfis@84.53.85.146)
20:42:02 × peterbecich quits (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds)
20:42:35 × qqq quits (~qqq@92.43.167.61) (Ping timeout: 264 seconds)
20:45:33 × alp_ quits (~alp@2001:861:e3d6:8f80:d76e:b1cb:1732:3e17) (Ping timeout: 256 seconds)
20:52:21 alp_ joins (~alp@2001:861:e3d6:8f80:6596:3e1d:603:ae0a)
20:52:36 × igemnace quits (~ian@user/igemnace) (Read error: Connection reset by peer)
21:04:31 bratwurst joins (~blaadsfa@2604:3d09:2083:a200:216:3eff:fe5a:a1f8)
21:10:28 igemnace joins (~ian@user/igemnace)
21:11:38 × infinity0 quits (~infinity0@pwned.gg) (Remote host closed the connection)
21:13:46 infinity0 joins (~infinity0@pwned.gg)
21:17:51 × bratwurst quits (~blaadsfa@2604:3d09:2083:a200:216:3eff:fe5a:a1f8) (Ping timeout: 245 seconds)
21:18:35 × waldo quits (~waldo@user/waldo) (Ping timeout: 264 seconds)
21:20:55 × pastly quits (~pastly@gateway/tor-sasl/pastly) (Ping timeout: 240 seconds)
21:22:25 pastly joins (~pastly@gateway/tor-sasl/pastly)
21:24:17 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:54de:61e3:a269:e175) (Remote host closed the connection)
21:24:46 dom0 joins (~u0_a202@31.4.180.52)
21:26:28 waldo joins (~waldo@user/waldo)
21:28:06 peterbecich joins (~Thunderbi@047-229-123-186.res.spectrum.com)
21:28:16 todi joins (~todi@p4fd1a1df.dip0.t-ipconnect.de)
21:29:10 × todi1 quits (~todi@p5dca55c4.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
21:30:03 × dom0 quits (~u0_a202@31.4.180.52) (Quit: WeeChat 4.0.5)
21:32:05 × misterfish quits (~misterfis@84.53.85.146) (Ping timeout: 268 seconds)
21:35:34 × thegeekinside quits (~thegeekin@189.141.65.247) (Ping timeout: 255 seconds)
21:36:36 × peterbecich quits (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 245 seconds)
21:44:11 × johnw quits (~johnw@69.62.242.138) (Quit: ZNC - http://znc.in)
21:46:52 machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net)
21:48:06 coot joins (~coot@89-69-206-216.dynamic.chello.pl)
21:52:40 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
21:57:08 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:54de:61e3:a269:e175)
21:57:21 thegeekinside joins (~thegeekin@189.141.65.247)
22:01:36 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:54de:61e3:a269:e175) (Ping timeout: 245 seconds)
22:01:40 × Inst quits (~Inst@120.244.192.109) (Ping timeout: 276 seconds)
22:11:07 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
22:12:32 × kh0d quits (~kh0d@178.220.151.79) (Remote host closed the connection)
22:12:41 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
22:14:37 × fendor quits (~fendor@2a02:8388:1605:d100:267b:1353:13d7:4f0c) (Remote host closed the connection)
22:15:39 × sawilagar quits (~sawilagar@user/sawilagar) (Ping timeout: 260 seconds)
22:16:21 misterfish joins (~misterfis@84.53.85.146)
22:17:10 zetef joins (~quassel@5.2.182.98)
22:20:31 × inedia quits (~irc@23.153.248.82) (Ping timeout: 276 seconds)
22:24:44 × waldo quits (~waldo@user/waldo) (Ping timeout: 252 seconds)
22:24:56 × misterfish quits (~misterfis@84.53.85.146) (Ping timeout: 245 seconds)
22:27:06 bratwurst joins (~blaadsfa@2604:3d09:2083:a200:216:3eff:fe5a:a1f8)
22:30:35 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
22:33:58 × aruns quits (~aruns@user/aruns) (Ping timeout: 260 seconds)
22:35:21 jargon joins (~jargon@15.sub-174-205-161.myvzw.com)
22:37:20 peterbecich joins (~Thunderbi@047-229-123-186.res.spectrum.com)
22:39:27 × bratwurst quits (~blaadsfa@2604:3d09:2083:a200:216:3eff:fe5a:a1f8) (Ping timeout: 260 seconds)
22:41:51 × peterbecich quits (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 256 seconds)
22:42:13 bratwurst joins (~blaadsfa@2604:3d09:2083:a200:216:3eff:fe5a:a1f8)
22:43:17 × alp_ quits (~alp@2001:861:e3d6:8f80:6596:3e1d:603:ae0a) (Ping timeout: 240 seconds)
22:54:06 × bratwurst quits (~blaadsfa@2604:3d09:2083:a200:216:3eff:fe5a:a1f8) (Ping timeout: 245 seconds)
22:55:09 × michalz quits (~michalz@185.246.204.121) (Quit: ZNC 1.8.2 - https://znc.in)
22:55:33 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:54de:61e3:a269:e175)
22:58:20 bratwurst joins (~blaadsfa@2604:3d09:2083:a200:216:3eff:fe5a:a1f8)
22:58:46 × foul_owl quits (~kerry@157.97.134.168) (Ping timeout: 256 seconds)
23:05:55 × coot quits (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
23:06:39 Inst joins (~Inst@2409:8900:fd3:152c:ae55:9a94:2cc8:a0af)
23:10:34 × acidjnk quits (~acidjnk@p200300d6e72b9327e868e6102608b4a6.dip0.t-ipconnect.de) (Ping timeout: 276 seconds)
23:12:45 foul_owl joins (~kerry@185.219.141.163)
23:14:31 × bratwurst quits (~blaadsfa@2604:3d09:2083:a200:216:3eff:fe5a:a1f8) (Quit: Leaving)
23:18:19 johnw joins (~johnw@69.62.242.138)
23:20:17 × shapr quits (~user@2600:1700:c640:3100:b78a:b9c3:6d36:29ef) (Remote host closed the connection)
23:20:32 shapr joins (~user@2600:1700:c640:3100:5c7:6566:83f3:f96)
23:23:14 × not_reserved quits (~not_reser@154.16.157.95) (Quit: Client closed)
23:23:56 × zetef quits (~quassel@5.2.182.98) (Remote host closed the connection)
23:23:59 × thegeekinside quits (~thegeekin@189.141.65.247) (Ping timeout: 264 seconds)
23:37:45 × alexherbo2 quits (~alexherbo@2a02-8440-3240-03d6-5800-5c3b-95ce-6fd6.rev.sfr.net) (Remote host closed the connection)
23:38:58 Sgeo joins (~Sgeo@user/sgeo)
23:50:21 koolazer joins (~koo@user/koolazer)
23:52:41 × chomwitt quits (~chomwitt@2a02:587:7a09:c300:1ac0:4dff:fedb:a3f1) (Ping timeout: 256 seconds)

All times are in UTC on 2023-12-19.