Home liberachat/#haskell: Logs Calendar

Logs on 2022-04-12 (liberachat/#haskell)

00:01:53 × Guest27 quits (~Guest27@2601:281:d47f:1590:768c:7129:aa80:96d9) (Quit: Client closed)
00:04:43 × anomal quits (~anomal@87.227.196.109) (Remote host closed the connection)
00:04:55 merijn joins (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
00:07:40 × werneta quits (~werneta@137.79.198.1) (Remote host closed the connection)
00:11:31 chenqisu1 joins (~chenqisu1@183.217.201.251)
00:12:00 × raehik1 quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds)
00:20:08 × xff0x quits (~xff0x@i121-117-52-147.s41.a013.ap.plala.or.jp) (Ping timeout: 248 seconds)
00:20:26 <Cale> Henson: I take it you're already familiar with Monad?
00:20:36 <Henson> Cale: yes
00:21:02 <abastro[m]> Typelevel extensions are surely discouraged
00:21:06 seydar joins (~seydar@154-27-113-252.starry-inc.net)
00:21:18 <Cale> Henson: The one thing about Monad which is a bit of a downside is that whenever you have an expression x >>= f, the f is a function, and functions in Haskell are effectively black boxes
00:21:50 <Henson> Cale: right
00:22:01 <Cale> There's nothing the program can do short of running x first and providing its result to f to get a final result when it comes to understanding what it is that f does.
00:22:25 <Cale> With Arrow, the arguments to the main means of composition are all of a type that you have control over
00:23:27 <Cale> So in principle, you can capture more information about the structure of a computation and do things to optimise its behaviour. Other than that, it's basically just another sort of structural pattern that combinator libraries might fit into. Not very popular at this point though, but I think with some tweaks it could do better.
00:25:04 <Cale> It presently kind of undermines this inspectability a little as well, in the end, because while it's true that the basic means of composition have this property of taking arguments of a type that the user has control over, it provides an escape hatch way to turn arbitrary Haskell functions into values of your Arrow type:
00:25:06 <Cale> :t arr
00:25:07 <lambdabot> Arrow a => (b -> c) -> a b c
00:26:21 <Cale> and that basically embeds black boxes into the middle of your computation -- not necessarily a big problem, but there are various basic things which are missing from the abstraction that end up using arr to do them, like swap :: a (b,c) (c,b) and assocL :: a (b,(c,d)) ((b,c),d)
00:26:27 × seydar quits (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 246 seconds)
00:27:04 <jackdk> I would love to see arrow rebuilt on top of category/profunctor/product-profunctors, but it'll never happen
00:27:13 <Cale> yes
00:27:23 <Cale> I don't think it's unreasonable that it might happen...
00:27:42 <Henson> Cale: I'm tempted to ask more questions, but I gotta run in just a minute
00:27:47 <Cale> I think we'd do it at Obsidian if it turns out that certain libraries get sufficiently done to warrant it...
00:28:15 <Cale> I think it would be nice for our routes library as it stands even...
00:28:33 <jackdk> You lot keep my dreams alive. I hope to see the commutative-semigroups refactor progress, too
00:29:51 <abastro[m]> Does it need to be stronger than simple Category?
00:30:43 <Cale> It's a bunch of extra stuff
00:30:53 <Cale> (really you want a symmetric monoidal category)
00:30:56 <abastro[m]> Interesting
00:31:07 <abastro[m]> Oh
00:31:24 <abastro[m]> `arr`, the culprit. Meh
00:31:44 <Cale> arr is kind of the culprit, but it's more the reason that a bunch of important primitives got missed
00:31:55 <Cale> and arr on its own isn't really a problem, moreso that important stuff is missing
00:32:03 <Cale> But arr should be in its own class
00:32:06 <abastro[m]> Hm, yeah
00:32:23 seydar joins (~seydar@154-27-113-252.starry-inc.net)
00:32:28 <abastro[m]> I mean, you said how things which deserve to be in class are implemented by arr
00:32:34 <abastro[m]> And that would be bad
00:32:35 <Cale> yeah
00:32:54 × seydar quits (~seydar@154-27-113-252.starry-inc.net) (Read error: Connection reset by peer)
00:33:20 <Cale> At one point, Ryan and I were working on an FRP system for a game we were working on (it never got released, but maybe we'll return to it someday)
00:33:32 × machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 250 seconds)
00:33:34 Henson is now known as HensonAway
00:34:01 <Cale> It used Arrows, and fixing the Arrow class so that it was more like the definition of a symmetric monoidal category made our game run 6 times faster almost immediately.
00:34:37 <Cale> This because we lost less information about where values were going and had less tupling and untupling (i.e. allocation and dereferencing) to do
00:39:14 × merijn quits (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 272 seconds)
00:39:43 <abastro[m]> Oh
00:39:53 <abastro[m]> Btw, what would be the way to improve usability of arrows?
00:39:56 <Cale> (the edges of the computation graph ultimately became IORefs, but there were various circumstances where we would actually have to let it construct tuples)
00:40:57 <Cale> Well, these days, I would rebuild the arrow proc/do-notation syntax so that it uses this stuff: https://hackage.haskell.org/package/categories-1.0.7
00:41:56 <Cale> But less drastically, you could break up Arrow a little bit and make it look more like the definition of a symmetric monoidal category, specifically by adding the isomorphisms that reassociate the tuples, add/remove identities i.e. () and swap tuples around
00:42:05 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Remote host closed the connection)
00:42:19 <abastro[m]> But proc-do is quite unergonomic
00:42:30 <Cale> So then when proc/do needs to rearrange the results of computations so as to be able to apply an arrow to a previously-obtained result, it basically won't have to use arr
00:42:32 seydar joins (~seydar@154-27-113-252.starry-inc.net)
00:42:51 <Cale> Well, that's true, but it's a lot more ergonomic than using these combinators directly :D
00:43:24 <Cale> I guess an even more extreme approach is doing Conal's constrained categories stuff to reinterpret most/all of Haskell in terms of categorical operations
00:44:49 <abastro[m]> proc-do notation require exactly 1 input per statement, right?
00:44:51 <Cale> and then you can write stuff that looks like Haskell expressions and turn it into compositions of categorical operations -- which in principle also basically supplants linear and affine types in the style of LinearHaskell, because you can refuse to constrain the type of category for your expression by the classes that let you duplicate or delete information
00:45:15 <Cale> Yeah, though that can be a pattern match
00:46:08 <dons> mornining all.
00:46:36 × [_] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 240 seconds)
00:46:38 <Cale> oh, the input
00:46:45 <Cale> the input can be an arbitrary expression as well
00:46:55 <Cale> Morning dons :)
00:46:57 <Axman6> o/
00:47:05 × seydar quits (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 256 seconds)
00:47:32 <Cale> abastro[m]: Of course, if you use that ability (and it's not something easy like a tuple), then you're basically forced to use arr
00:48:47 × img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
00:49:01 wmacmil joins (~wmacmil@2600:1700:cd90:8f10:f523:1d17:345c:e650)
00:49:27 <abastro[m]> Could you give an example?
00:50:29 <Cale> Like, you can write x <- f -< y + z
00:50:37 img joins (~img@user/img)
00:50:46 <abastro[m]> Yep, I mean
00:50:54 [_] joins (~itchyjunk@user/itchyjunk/x-7353470)
00:51:21 <Cale> (and that'll be translated into something which uses arr (+))
00:51:22 <abastro[m]> You cannot do like
00:51:22 <abastro[m]> `x <- f`
00:51:22 <abastro[m]> Or
00:51:22 <abastro[m]> `x <- f <- y z`
00:51:36 <Cale> You can of course do x <- f -< (y,z)
00:51:38 xff0x joins (~xff0x@125x102x200x106.ap125.ftth.ucom.ne.jp)
00:51:50 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
00:53:10 seydar joins (~seydar@154-27-113-252.starry-inc.net)
00:54:21 <abastro[m]> Yep but that requires constructing tuple
00:56:24 <wmacmil> is this an error anyone is familiar with : cabal: repl failed for exe:data-processing-hs from data-processing-hs-0.1.0.0.
00:56:32 <Cale> Oh, true and fair. I forgot that one of the basic additional things that we did was allow replacing the product on objects, and we actually did use that to make stuff like this avoid the tupling...
00:56:58 <wmacmil> i was just running 'cabal repl' from the root directory a month ago and now i'm getting this error message
00:57:09 wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com)
00:57:09 × wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
00:57:09 wroathe joins (~wroathe@user/wroathe)
00:57:22 × lbseale quits (~ep1ctetus@user/ep1ctetus) (Read error: Connection reset by peer)
00:57:26 <Cale> abastro[m]: Actually, I think you can avoid it anyway, if the evaluator for the arrow is fancy enough to build a graph of the computation it's about to run
00:57:29 × alp_ quits (~alp@user/alp) (Ping timeout: 248 seconds)
00:57:42 <wmacmil> and it also says "cabal-3.6.2.0: can't find source for Data in app,
00:57:42 <wmacmil> "
00:57:49 <Cale> But yeah, it's a lot of work to make good use of Arrow in general
00:57:51 × seydar quits (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 256 seconds)
00:58:24 <Cale> and the best applications I've seen have been things that are, if not FRP systems, fairly close in nature to that
00:59:47 <wmacmil> that also comes up when i just run build
01:00:06 × vicfred quits (~vicfred@user/vicfred) (Quit: Leaving)
01:01:10 <abastro[m]> wmacmil: Sounds quite strange
01:02:32 <Axman6> wmacmil: without knowing anything about your project, it's very hard to know what could be going wrong
01:02:53 seydar joins (~seydar@154-27-113-252.starry-inc.net)
01:03:04 <abastro[m]> Perhaps you could try uninstalling cabal and reinstalling it.
01:03:41 <abastro[m]> Cale: So how do you usually supply tuple, and somehow pattern match with proc-do w/o arr?
01:04:20 vysn joins (~vysn@user/vysn)
01:04:54 mikoto-chan joins (~mikoto-ch@213.177.151.239)
01:05:09 <wmacmil> i think i had uncommented the -- other-modules: Data in my cabal actually, but am not sure if i did because i haven't touched the project in a month
01:05:16 <wmacmil> either way, it worked when i commented that out
01:05:16 yauhsien joins (~yauhsien@61-231-57-22.dynamic-ip.hinet.net)
01:05:26 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
01:05:31 abastro joins (~abab9579@143.248.229.139)
01:05:35 <mikoto-chan> what is the category theory room's name?
01:05:40 <mikoto-chan> sorry for asking here
01:06:00 × geranim0 quits (~geranim0@modemcable242.171-178-173.mc.videotron.ca) (Remote host closed the connection)
01:07:07 × seydar quits (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 240 seconds)
01:11:28 <abastro> Perhaps ppl here do not know of that
01:13:21 seydar joins (~seydar@154-27-113-252.starry-inc.net)
01:18:15 × seydar quits (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 256 seconds)
01:18:27 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 240 seconds)
01:18:32 × evanextreme quits (~evan@2604:4080:1000:8bf0:c7a1:5d95:53a6:334d) (Remote host closed the connection)
01:19:23 geekosaur joins (~geekosaur@xmonad/geekosaur)
01:20:07 × neurocyte8614492 quits (~neurocyte@user/neurocyte) (Ping timeout: 240 seconds)
01:21:09 <abastro> I wish arrow notation is a bit more ergonomic as well, so it could more easily be used
01:21:15 <abastro> Perhaps new language could do the job better?
01:22:09 [_] is now known as [itchyjunk]
01:23:22 × img quits (~img@user/img) (Ping timeout: 250 seconds)
01:27:51 seydar joins (~seydar@154-27-113-252.starry-inc.net)
01:29:53 lavaman joins (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
01:30:35 tommd joins (~tommd@97-120-41-123.ptld.qwest.net)
01:32:28 × seydar quits (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 250 seconds)
01:34:42 × tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Ping timeout: 246 seconds)
01:34:52 andrey_ joins (~andrey@p200300dbcf112f00ea6a6fd122b4be68.dip0.t-ipconnect.de)
01:35:12 wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com)
01:35:12 × wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
01:35:12 wroathe joins (~wroathe@user/wroathe)
01:37:14 × andrey quits (~andrey@p200300dbcf10d4000da31d4cf19671e4.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
01:37:38 tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
01:42:42 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
01:46:33 × cosimone quits (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Remote host closed the connection)
01:48:38 <Axman6> mikoto-chan: I don't know of any specific channels, but you might find answers in #haskell-in-depth
01:49:22 <Axman6> and/or #haskell-offtopic
01:51:51 cosimone joins (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20)
01:54:34 <sclv> mikoto-chan: unsurprisingly it is #category-theory
01:54:41 <sclv> erm #categorytheory
01:54:43 <sclv> no hyphen
01:55:34 × cosimone quits (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Remote host closed the connection)
02:00:31 cosimone joins (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20)
02:01:44 mud joins (~mud@user/kadoban)
02:04:58 × yauhsien quits (~yauhsien@61-231-57-22.dynamic-ip.hinet.net) (Ping timeout: 250 seconds)
02:06:16 × lavaman quits (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Ping timeout: 250 seconds)
02:06:45 deadmarshal_ joins (~deadmarsh@95.38.112.20)
02:08:07 axeman joins (~quassel@2a02:8109:a380:78:1051:99b3:bcd5:d181)
02:08:16 seydar joins (~seydar@154-27-113-252.starry-inc.net)
02:18:02 × justache quits (~justache@user/justache) (Remote host closed the connection)
02:18:06 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5)
02:18:59 justache joins (~justache@user/justache)
02:23:50 × zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!)
02:24:28 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 250 seconds)
02:31:27 × sander quits (~sander@user/sander) (Quit: So long! :))
02:36:09 merijn joins (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
02:40:47 sander joins (~sander@user/sander)
02:45:15 yauhsien joins (~yauhsien@61-231-57-22.dynamic-ip.hinet.net)
02:47:15 wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com)
02:47:16 × wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
02:47:16 wroathe joins (~wroathe@user/wroathe)
02:51:20 × tommd quits (~tommd@97-120-41-123.ptld.qwest.net) (Ping timeout: 250 seconds)
02:52:12 × yauhsien quits (~yauhsien@61-231-57-22.dynamic-ip.hinet.net) (Remote host closed the connection)
02:53:20 yauhsien joins (~yauhsien@61-231-57-22.dynamic-ip.hinet.net)
02:58:00 × yauhsien quits (~yauhsien@61-231-57-22.dynamic-ip.hinet.net) (Ping timeout: 246 seconds)
03:00:40 tommd joins (~tommd@97-120-41-123.ptld.qwest.net)
03:00:45 awpr joins (uid446117@id-446117.lymington.irccloud.com)
03:01:47 × slac36439 quits (~slack1256@186.11.47.244) (Ping timeout: 240 seconds)
03:03:39 × deadmarshal_ quits (~deadmarsh@95.38.112.20) (Ping timeout: 256 seconds)
03:09:19 × merijn quits (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
03:11:21 × axeman quits (~quassel@2a02:8109:a380:78:1051:99b3:bcd5:d181) (Ping timeout: 248 seconds)
03:13:08 InstX1 joins (~Liam@2601:6c4:4080:3f80:2c03:bab3:ea6:cda)
03:15:10 × Inst quits (~Liam@2601:6c4:4080:3f80:cc5c:b097:5fb3:1fb3) (Ping timeout: 250 seconds)
03:15:30 × russruss quits (~russruss@my.russellmcc.com) (Ping timeout: 246 seconds)
03:15:47 × mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 240 seconds)
03:16:36 z0k joins (~z0k@39.40.69.197)
03:17:11 chenqisu12 joins (~chenqisu1@183.217.202.1)
03:18:09 mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475)
03:19:20 × chenqisu1 quits (~chenqisu1@183.217.201.251) (Ping timeout: 248 seconds)
03:26:24 vicfred joins (~vicfred@user/vicfred)
03:28:38 frost joins (~frost@user/frost)
03:30:12 john__ joins (~chenqisu1@183.217.201.54)
03:32:40 × chenqisu12 quits (~chenqisu1@183.217.202.1) (Ping timeout: 248 seconds)
03:34:40 × inversed_ quits (~inversed@94.13.111.159) (Ping timeout: 272 seconds)
03:37:16 × mikoto-chan quits (~mikoto-ch@213.177.151.239) (Ping timeout: 250 seconds)
03:37:49 × Flow quits (~none@gentoo/developer/flow) (Ping timeout: 240 seconds)
03:39:21 × seydar quits (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 256 seconds)
03:41:38 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 272 seconds)
03:41:49 inversed_ joins (~inversed@94.13.111.159)
03:42:01 slack1256 joins (~slack1256@191.125.99.201)
03:44:33 seydar joins (~seydar@154-27-113-252.starry-inc.net)
03:48:58 × seydar quits (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 250 seconds)
03:49:17 chenqisu12 joins (~chenqisu1@183.217.200.38)
03:50:57 deadmarshal_ joins (~deadmarsh@95.38.112.20)
03:51:52 × john__ quits (~chenqisu1@183.217.201.54) (Ping timeout: 248 seconds)
03:54:01 × bontaq quits (~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 248 seconds)
03:54:36 × tommd quits (~tommd@97-120-41-123.ptld.qwest.net) (Ping timeout: 250 seconds)
03:56:03 cdman joins (~dcm@user/dmc/x-4369397)
04:04:09 lavaman joins (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
04:08:02 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 250 seconds)
04:08:21 × xkuru quits (~xkuru@user/xkuru) (Read error: Connection reset by peer)
04:12:27 × z0k quits (~z0k@39.40.69.197) (Ping timeout: 240 seconds)
04:13:35 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
04:16:04 bilegeek joins (~bilegeek@2600:1008:b018:1362:c691:f6b9:4d9f:bb48)
04:17:28 × shriekingnoise quits (~shrieking@201.231.16.156) (Quit: Quit)
04:19:26 shriekingnoise joins (~shrieking@201.231.16.156)
04:19:35 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds)
04:19:52 bahamas joins (~lucian@84.232.140.158)
04:20:18 seydar joins (~seydar@154-27-113-252.starry-inc.net)
04:22:18 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
04:22:59 wmacmil_ joins (~wmacmil@108-194-162-159.lightspeed.renonv.sbcglobal.net)
04:23:42 × bilegeek quits (~bilegeek@2600:1008:b018:1362:c691:f6b9:4d9f:bb48) (Quit: Leaving)
04:24:56 × seydar quits (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 248 seconds)
04:25:24 × wmacmil quits (~wmacmil@2600:1700:cd90:8f10:f523:1d17:345c:e650) (Ping timeout: 240 seconds)
04:34:58 yauhsien joins (~yauhsien@61-231-57-22.dynamic-ip.hinet.net)
04:35:04 z0k joins (~z0k@39.40.60.29)
04:38:36 × hamishmack_ quits (sid389057@id-389057.hampstead.irccloud.com) (Ping timeout: 240 seconds)
04:40:37 seydar joins (~seydar@154-27-113-252.starry-inc.net)
04:41:27 × _0x47_ quits (sid508683@id-508683.tinside.irccloud.com) (Ping timeout: 256 seconds)
04:41:35 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
04:41:39 × jackdk quits (sid373013@cssa/jackdk) (Ping timeout: 250 seconds)
04:41:48 × Adeon quits (sid418992@id-418992.lymington.irccloud.com) (Ping timeout: 240 seconds)
04:41:54 hamishmack_ joins (sid389057@id-389057.hampstead.irccloud.com)
04:42:01 × ephemient quits (uid407513@id-407513.lymington.irccloud.com) (Ping timeout: 245 seconds)
04:42:36 × kristjansson quits (sid126207@id-126207.tinside.irccloud.com) (Ping timeout: 240 seconds)
04:42:39 × Unicorn_Princess quits (~Unicorn_P@93-103-228-248.dynamic.t-2.net) (Remote host closed the connection)
04:43:09 × PotatoGim quits (sid99505@id-99505.lymington.irccloud.com) (Ping timeout: 256 seconds)
04:43:13 kristjansson joins (sid126207@id-126207.tinside.irccloud.com)
04:43:16 jackdk joins (sid373013@cssa/jackdk)
04:43:24 × scav quits (sid309693@user/scav) (Ping timeout: 240 seconds)
04:43:36 × lavaman quits (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Ping timeout: 248 seconds)
04:43:43 × elvishjerricco quits (sid237756@id-237756.helmsley.irccloud.com) (Ping timeout: 256 seconds)
04:44:29 elvishjerricco joins (sid237756@id-237756.helmsley.irccloud.com)
04:44:40 PotatoGim joins (sid99505@id-99505.lymington.irccloud.com)
04:44:59 Adeon joins (sid418992@id-418992.lymington.irccloud.com)
04:45:05 _0x47_ joins (sid508683@id-508683.tinside.irccloud.com)
04:45:06 scav joins (sid309693@user/scav)
04:45:17 ephemient joins (uid407513@id-407513.lymington.irccloud.com)
04:46:16 × seydar quits (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 248 seconds)
04:46:47 × abastro quits (~abab9579@143.248.229.139) (Ping timeout: 256 seconds)
04:51:09 seydar joins (~seydar@154-27-113-252.starry-inc.net)
04:55:20 × bahamas quits (~lucian@84.232.140.158) (Ping timeout: 248 seconds)
04:55:51 × seydar quits (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 256 seconds)
05:00:02 × slack1256 quits (~slack1256@191.125.99.201) (Ping timeout: 250 seconds)
05:05:28 seydar joins (~seydar@154-27-113-252.starry-inc.net)
05:06:02 merijn joins (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
05:09:52 Macbethwin joins (~chargen@D964062A.static.ziggozakelijk.nl)
05:10:01 × seydar quits (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 256 seconds)
05:11:03 coot joins (~coot@213.134.190.95)
05:14:43 pavonia joins (~user@user/siracusa)
05:15:37 seydar joins (~seydar@154-27-113-252.starry-inc.net)
05:20:13 × seydar quits (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 256 seconds)
05:22:31 bahamas joins (~lucian@84.232.140.158)
05:23:24 abastro joins (~abab9579@143.248.229.139)
05:23:34 odnes joins (~odnes@5-203-221-3.pat.nym.cosmote.net)
05:25:12 × z0k quits (~z0k@39.40.60.29) (Ping timeout: 248 seconds)
05:25:25 × yauhsien quits (~yauhsien@61-231-57-22.dynamic-ip.hinet.net) (Remote host closed the connection)
05:25:47 seydar joins (~seydar@154-27-113-252.starry-inc.net)
05:25:57 yauhsien joins (~yauhsien@61-231-57-22.dynamic-ip.hinet.net)
05:26:47 × bahamas quits (~lucian@84.232.140.158) (Ping timeout: 240 seconds)
05:27:01 mbuf joins (~Shakthi@122.174.160.5)
05:27:17 z0k joins (~z0k@39.40.123.226)
05:30:25 × seydar quits (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 256 seconds)
05:32:10 benin joins (~benin@183.82.204.110)
05:33:46 lispy joins (~lispy@82.212.119.74)
05:35:39 × yauhsien quits (~yauhsien@61-231-57-22.dynamic-ip.hinet.net) (Remote host closed the connection)
05:36:16 yauhsien joins (~yauhsien@61-231-57-22.dynamic-ip.hinet.net)
05:37:48 × Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
05:38:54 Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
05:39:47 × merijn quits (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
05:40:37 × ishaan quits (~ishaan@122.161.52.79) (Ping timeout: 256 seconds)
05:41:07 × yauhsien quits (~yauhsien@61-231-57-22.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
05:41:28 ishaan joins (~ishaan@122.161.52.79)
05:42:45 × abastro quits (~abab9579@143.248.229.139) (Remote host closed the connection)
05:43:01 abastro joins (~abab9579@143.248.229.139)
05:47:21 benin7 joins (benin@gateway/vpn/protonvpn/benin)
05:48:26 robosexual joins (~robosexua@77.223.90.202)
05:48:27 × benin quits (~benin@183.82.204.110) (Ping timeout: 240 seconds)
05:48:35 × robosexual quits (~robosexua@77.223.90.202) (Client Quit)
05:48:54 robosexual joins (~spaceoyst@77.223.90.202)
05:49:24 × Batzy quits (~quassel@user/batzy) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
05:49:58 × robosexual quits (~spaceoyst@77.223.90.202) (Client Quit)
05:50:03 benin joins (benin@gateway/vpn/protonvpn/benin)
05:50:27 Batzy joins (~quassel@user/batzy)
05:51:06 robosexual joins (~robosexua@77.223.90.202)
05:51:47 × benin7 quits (benin@gateway/vpn/protonvpn/benin) (Ping timeout: 240 seconds)
05:52:54 × robosexual quits (~robosexua@77.223.90.202) (Client Quit)
05:53:05 robosexual joins (~robosexua@77.223.90.202)
05:58:22 benin2 joins (~benin@183.82.204.110)
06:00:07 × benin quits (benin@gateway/vpn/protonvpn/benin) (Ping timeout: 240 seconds)
06:00:07 benin2 is now known as benin
06:00:21 dschrempf joins (~dominik@92-249-159-213.pool.digikabel.hu)
06:07:26 gehmehgeh joins (~user@user/gehmehgeh)
06:07:27 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 240 seconds)
06:08:31 × robosexual quits (~robosexua@77.223.90.202) (Quit: WeeChat 3.4)
06:08:41 robosexual joins (~robosexua@77.223.90.202)
06:12:36 yauhsien joins (~yauhsien@61-231-57-22.dynamic-ip.hinet.net)
06:16:42 × zaquest quits (~notzaques@5.130.79.72) (Remote host closed the connection)
06:20:27 × dschrempf quits (~dominik@92-249-159-213.pool.digikabel.hu) (Ping timeout: 240 seconds)
06:24:37 zaquest joins (~notzaques@5.130.79.72)
06:26:36 × waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 240 seconds)
06:30:27 × z0k quits (~z0k@39.40.123.226) (Ping timeout: 240 seconds)
06:31:15 mattil joins (~mattil@helsinki.portalify.com)
06:31:31 z0k joins (~z0k@39.40.123.226)
06:36:47 × Macbethwin quits (~chargen@D964062A.static.ziggozakelijk.nl) (Ping timeout: 240 seconds)
06:38:20 × joo-_ quits (~joo-_@fsf/member/joo--) (Quit: Lost terminal)
06:39:45 × robosexual quits (~robosexua@77.223.90.202) (Quit: WeeChat 3.4)
06:39:53 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
06:40:39 robosexual joins (~robosexua@77.223.90.202)
06:40:56 × ishaan quits (~ishaan@122.161.52.79) (Ping timeout: 248 seconds)
06:41:07 lavaman joins (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
06:41:43 ishaan joins (~ishaan@122.161.52.79)
06:44:09 acidjnk joins (~acidjnk@p200300d0c7049f336039e1baac7dfab4.dip0.t-ipconnect.de)
06:44:40 × jonathanx_ quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 272 seconds)
06:53:00 × teehemkay quits (sid14792@id-14792.lymington.irccloud.com) (Ping timeout: 240 seconds)
06:53:17 × JSharp quits (sid4580@id-4580.lymington.irccloud.com) (Ping timeout: 260 seconds)
06:53:35 alp_ joins (~alp@user/alp)
06:54:12 × sunarch quits (sid526836@user/sunarch) (Ping timeout: 240 seconds)
06:55:51 sunarch joins (sid526836@user/sunarch)
06:56:10 teehemkay joins (sid14792@id-14792.lymington.irccloud.com)
06:57:24 JSharp joins (sid4580@id-4580.lymington.irccloud.com)
06:57:41 dschrempf joins (~dominik@92-249-159-213.pool.digikabel.hu)
06:59:01 cfricke joins (~cfricke@user/cfricke)
06:59:54 × robosexual quits (~robosexua@77.223.90.202) (Quit: WeeChat 3.4)
07:00:02 robosexual joins (~robosexua@77.223.90.202)
07:01:13 merijn joins (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
07:06:35 × gehmehgeh quits (~user@user/gehmehgeh) (Ping timeout: 240 seconds)
07:09:02 gehmehgeh joins (~user@user/gehmehgeh)
07:09:08 lortabac joins (~lortabac@2a01:e0a:541:b8f0:6aaf:d90d:7db8:1a48)
07:11:28 InstX1_ joins (~Liam@2601:6c4:4080:3f80:1d4a:af44:f702:f9c0)
07:11:44 × shriekingnoise quits (~shrieking@201.231.16.156) (Quit: Quit)
07:13:06 MajorBiscuit joins (~MajorBisc@83.22.32.182.ipv4.supernova.orange.pl)
07:13:56 × InstX1 quits (~Liam@2601:6c4:4080:3f80:2c03:bab3:ea6:cda) (Ping timeout: 250 seconds)
07:14:37 Major_Biscuit joins (~MajorBisc@c-001-009-035.client.tudelft.eduvpn.nl)
07:15:48 zeenk joins (~zeenk@2a02:2f04:a313:d600:8d26:ec9f:3ff6:fc94)
07:15:48 × benin quits (~benin@183.82.204.110) (Remote host closed the connection)
07:15:59 × vysn quits (~vysn@user/vysn) (Quit: WeeChat 3.4)
07:16:52 × robosexual quits (~robosexua@77.223.90.202) (Quit: WeeChat 3.4)
07:17:00 robosexual joins (~robosexua@77.223.90.202)
07:18:05 × MajorBiscuit quits (~MajorBisc@83.22.32.182.ipv4.supernova.orange.pl) (Ping timeout: 256 seconds)
07:18:08 chele joins (~chele@user/chele)
07:18:34 dhouthoo joins (~dhouthoo@178-117-36-167.access.telenet.be)
07:23:15 michalz joins (~michalz@185.246.204.107)
07:23:54 × lavaman quits (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Ping timeout: 250 seconds)
07:24:33 × robosexual quits (~robosexua@77.223.90.202) (Quit: WeeChat 3.4)
07:24:43 robosexual joins (~robosexua@77.223.90.202)
07:25:25 anomal joins (~anomal@87.227.196.109)
07:25:30 dextaa joins (~dextaa@user/dextaa)
07:26:10 kenran joins (~kenran@200116b82b941e00eb843d1befbc82ec.dip.versatel-1u1.de)
07:26:56 seydar joins (~seydar@154-27-113-252.starry-inc.net)
07:29:10 × dextaa quits (~dextaa@user/dextaa) (Remote host closed the connection)
07:29:28 × wmacmil_ quits (~wmacmil@108-194-162-159.lightspeed.renonv.sbcglobal.net) (Ping timeout: 248 seconds)
07:30:02 dextaa joins (~dextaa@user/dextaa)
07:31:27 × seydar quits (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 240 seconds)
07:32:23 × robosexual quits (~robosexua@77.223.90.202) (Quit: WeeChat 3.4)
07:32:32 robosexual joins (~robosexua@77.223.90.202)
07:32:40 × dschrempf quits (~dominik@92-249-159-213.pool.digikabel.hu) (Ping timeout: 248 seconds)
07:33:58 × dextaa quits (~dextaa@user/dextaa) (Remote host closed the connection)
07:34:49 dextaa joins (~dextaa@user/dextaa)
07:39:02 bahamas joins (~lucian@84.232.140.158)
07:42:08 × robosexual quits (~robosexua@77.223.90.202) (Quit: WeeChat 3.4)
07:43:57 × bahamas quits (~lucian@84.232.140.158) (Ping timeout: 246 seconds)
07:48:54 machinedgod joins (~machinedg@24.105.81.50)
07:49:46 CiaoSen joins (~Jura@p200300c9572d40002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
07:52:12 × Akiva quits (~Akiva@user/Akiva) (Ping timeout: 240 seconds)
07:55:17 Midjak joins (~Midjak@82.66.147.146)
07:56:03 wmacmil joins (~wmacmil@2600:1700:cd90:8f10:f523:1d17:345c:e650)
07:56:36 mc47 joins (~mc47@xmonad/TheMC47)
07:57:10 vysn joins (~vysn@user/vysn)
07:59:31 dyeplexer joins (~dyeplexer@user/dyeplexer)
08:05:10 dschrempf joins (~dominik@92-249-159-213.pool.digikabel.hu)
08:06:02 × tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
08:08:39 razetime joins (~quassel@117.254.34.230)
08:09:23 × mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection)
08:14:38 <razetime> is there a way to change operator precedence in Haskell?
08:16:07 <merijn> razetime: Of ones you define? Or of existing ones?
08:16:14 <razetime> of existing ones.
08:16:20 <merijn> No
08:16:41 <[exa]> can't you hide them from imports and re-declare?
08:16:51 <[exa]> (not that it would be a lot of fun to do though)
08:16:59 <merijn> [exa]: That's not changing precedence, that's defining something new with a different precedence
08:17:08 <merijn> Also, dear god, don't
08:17:22 <[exa]> yeah that's true ^
08:17:25 <merijn> I will find you and haunt you forever
08:17:54 <razetime> hm alright
08:18:02 <neverwas> lol
08:19:57 × MasseR46 quits (~MasseR@51.15.143.128) (Quit: Ping timeout (120 seconds))
08:20:04 notzmv joins (~zmv@user/notzmv)
08:20:12 <razetime> i will find a good hiding spot and attempt this forbidden ritual
08:20:13 MasseR46 joins (~MasseR@51.15.143.128)
08:20:40 × mattil quits (~mattil@helsinki.portalify.com) (Ping timeout: 248 seconds)
08:20:40 × little_mac quits (~little_ma@2601:410:4300:3ce0::fa0b) (Quit: Leaving)
08:20:48 <merijn> That's basically "how can I *subtly* change the meaning of widely understood/used operators, effectively turning all seemingly innocent code into booby-trapped territory to scare and confuse any reader"
08:21:36 ccntrq joins (~Thunderbi@2a01:e34:eccb:b060:63fb:4f44:a784:526)
08:22:10 <razetime> i just want to try a plain right to left haskell
08:22:31 <razetime> i'm not writing anything important, just an experiment
08:22:42 <merijn> I don't know what that means and I'm not sure I want to know >.>
08:23:21 × TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Ping timeout: 248 seconds)
08:23:32 <[exa]> razetime: I assume that's about the order of arguments of (.) ?
08:24:00 <razetime> no, not really
08:24:33 <[exa]> or more like support for rtl writing systems?
08:25:37 TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker)
08:25:58 <razetime> an APLish evaluation order
08:26:37 × dschrempf quits (~dominik@92-249-159-213.pool.digikabel.hu) (Quit: WeeChat 3.4.1)
08:26:38 × bw quits (sid2730@user/betawaffle) (Ping timeout: 272 seconds)
08:27:52 <merijn> razetime: Just to be clear: You're aware that precedence and evaluation order are fundamentally *un*related, yeah?
08:28:04 bw joins (sid2730@user/betawaffle)
08:28:35 <razetime> yes I just don't know the right words, so this is a bit confusing
08:28:38 <merijn> and changing precedence of operators will have 0 effect on evaluation order
08:29:40 <razetime> i think i need both
08:31:48 × newhoggy quits (sid198874@id-198874.helmsley.irccloud.com) (Ping timeout: 240 seconds)
08:32:42 × wyrd quits (~wyrd@gateway/tor-sasl/wyrd) (Remote host closed the connection)
08:32:59 wyrd joins (~wyrd@gateway/tor-sasl/wyrd)
08:33:00 × bw quits (sid2730@user/betawaffle) (Max SendQ exceeded)
08:33:03 <siers> how do profunctors generalize functions? the actual instance of a "Profunctor a b" can accept more and return more?
08:33:05 × coot quits (~coot@213.134.190.95) (Quit: coot)
08:33:38 × obviyus quits (sid415299@user/obviyus) (Ping timeout: 252 seconds)
08:33:56 bw joins (sid2730@user/betawaffle)
08:34:26 × gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving)
08:34:42 × aria quits (sid380617@lymington.irccloud.com) (Ping timeout: 246 seconds)
08:35:09 newhoggy joins (sid198874@id-198874.helmsley.irccloud.com)
08:35:27 obviyus joins (sid415299@user/obviyus)
08:35:46 × systemfault quits (sid267009@id-267009.uxbridge.irccloud.com) (Ping timeout: 245 seconds)
08:36:57 <merijn> siers: What makes you say the *generalise* functions?
08:37:30 <merijn> That feels like saying "Functor generalises Maybe" or "Functor generalises lists"?
08:37:35 systemfault joins (sid267009@id-267009.uxbridge.irccloud.com)
08:37:47 <siers> fair!
08:37:51 aria joins (sid380617@id-380617.lymington.irccloud.com)
08:38:00 <siers> I guess that's because I cannot imagine a whole lot other than functions that are profunctors
08:38:47 × redb quits (~nmh@136.49.49.211) (Ping timeout: 240 seconds)
08:38:59 <siers> well, I can, but they're function-ish
08:39:08 <siers> in the end there's a function somewhere
08:39:25 <merijn> My personal intuition for profunctors are something "pipe-ish"
08:39:32 <abastro> arrow-ish
08:39:36 <abastro> Imho
08:40:49 mikoto-chan joins (~mikoto-ch@213.177.151.239)
08:41:09 akegalj joins (~akegalj@78-3-32-236.adsl.net.t-com.hr)
08:41:22 redb joins (~nmh@136.49.49.211)
08:42:45 haskellberryfinn joins (~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
08:42:52 <haskellberryfinn> https://pastebin.com/9rySbF9F
08:43:02 <haskellberryfinn> could anyone take a look at this type family issue?
08:45:03 <merijn> haskellberryfinn: On line 24 you're adding the result of indexl to an Int
08:45:20 <merijn> haskellberryfinn: Which is a type error, because you can't know that the result type of indexl is Int
08:45:51 <haskellberryfinn> thankyou merijn . how to make this work?
08:45:57 <merijn> Simple counterexample: [Char] is ListLike, but 'Elem [Char]' is Char, not Int
08:46:09 <merijn> Eh, the short answer is: You can't
08:46:31 <haskellberryfinn> Seems to me that I need to make use of the associated type family somewhere
08:46:37 <merijn> The longer answer is: It depends on what you're trying to do, because I have no clue
08:47:08 <merijn> haskellberryfinn: Your code assumes that the element type is Int but your type signature doesn't require that at all
08:47:29 <merijn> I guess you could do "(ListLike l, Elem l ~ Int) => ..."
08:47:37 <haskellberryfinn> I want to apply the cutrod function a certain ListLike types whose inner types are Int
08:48:02 × pranshukhandal quits (pranshukha@envs.net) (Quit: the lounge - https://webirc.envs.net)
08:48:16 <merijn> My personal hot-take is: This ListLike class is a terrible idea and you shouldn't use it
08:48:23 <haskellberryfinn> merijn: It works!
08:48:30 pranshukhandal joins (pranshukha@envs.net)
08:48:36 sus joins (zero@user/zeromomentum)
08:48:50 <haskellberryfinn> merijn: I have to define cutrod for list and vector
08:48:59 <haskellberryfinn> that's why i thought of making this class
08:49:31 <merijn> In fact, you could simply change cutrod to: 'cutrod :: (f a -> Int) -> f a -> Int -> Int' and get 100% of the flexibility with zero percent of the problems
08:50:00 <merijn> And then use "cutrod (!!)" to use lists and "cutrod (V.!)" to use vectors
08:50:28 <abastro> Why Listlike type
08:50:43 <abastro> Oh that one was resolved I guess
08:50:49 <haskellberryfinn> how to tell if f a is a list or a vector?
08:51:03 <haskellberryfinn> pattern matching?
08:51:04 <merijn> haskellberryfinn: https://paste.tomsmeding.com/vjpSi8Z2
08:51:14 <merijn> haskellberryfinn: that's inferred from the first argument
08:51:21 <siers> merijn, what's some example of something pipeish?
08:51:27 <merijn> ah, wait, slight typo
08:51:36 <merijn> I guess it should be (f a -> Int -> Int)
08:51:39 <merijn> for the first argument
08:52:15 <merijn> haskellberryfinn: If you call "cutprod (!!)" then since "(!!) :: [a] -> Int -> a" it will infer 'f = []' and 'a = Int'
08:52:18 <haskellberryfinn> nice... this is a much simpler solution
08:52:42 <merijn> If you call "cutprod (V.!)" then since "V.! :: Vector a -> Int -> a" it infers 'f = Vector' and 'a = Int'
08:53:45 <abastro> Can anyone help coming up with better solution for this kind of counting? It *should* involve a monoid, at least: https://paste.tomsmeding.com/Nhg5haqd
08:54:57 <merijn> haskellberryfinn: It's always good to remember that typeclasses can't really do anything more that "just passing in the relevant functions" can't also do. Typeclasses are really just a way to automatically pass some functions in, but 90% of the time just manually passing those functions gets you more flexibility for less effort :)
08:55:37 <haskellberryfinn> they should put that in the typeclasses wiki:)
08:56:18 <haskellberryfinn> eye opener
08:57:08 jonathanx joins (~jonathan@dyn-4-sc.cdg.chalmers.se)
08:58:55 ubert joins (~Thunderbi@p200300ecdf1588e2dc67a3f08aaa94d0.dip0.t-ipconnect.de)
08:59:23 × alp_ quits (~alp@user/alp) (Remote host closed the connection)
08:59:25 alp__ joins (~alp@user/alp)
08:59:56 <abastro> Perhaps my question is too out of context?
09:00:30 <abastro> I could add for which algorithm puzzle it is for
09:01:29 <[exa]> abastro: yeah the goals there are not really obvious
09:02:19 jonathanx_ joins (~jonathan@dyn-5-sc.cdg.chalmers.se)
09:04:56 × jonathanx quits (~jonathan@dyn-4-sc.cdg.chalmers.se) (Ping timeout: 248 seconds)
09:07:27 × CiaoSen quits (~Jura@p200300c9572d40002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
09:07:34 <abastro> It's to solve this one: https://leetcode.com/problems/longest-substring-of-one-repeating-character/
09:08:21 <abastro> Thought clearly it would be easy (it is just a coding puzzle, you know) but it seems like constructing proper monoid is quite bothersome
09:08:55 <abastro> Basically the goal is counting longest substring consists of one repeating character
09:09:11 <abastro> But the string can be locally modified one by one.
09:09:21 <abastro> Any ideas on cleaner monoid?
09:09:39 robosexual joins (~robosexua@77.223.90.202)
09:10:14 × robosexual quits (~robosexua@77.223.90.202) (Client Quit)
09:10:23 robosexual joins (~robosexua@77.223.90.202)
09:12:08 <[exa]> any reason to make it so generic? (for the task, the characters can be assumed as anything finite that has Eq, so easily an Int)
09:13:39 <[exa]> anyway, what time complexity do they expect? for big data you will need something skiplist-ish or tree-ish
09:14:30 × yauhsien quits (~yauhsien@61-231-57-22.dynamic-ip.hinet.net) (Remote host closed the connection)
09:14:30 bahamas joins (~lucian@86.120.77.115)
09:14:50 × abastro quits (~abab9579@143.248.229.139) (Ping timeout: 250 seconds)
09:14:54 <bahamas> what do you find to be common sources of confusion, especially for beginners?
09:16:17 yauhsien joins (~yauhsien@61-231-57-22.dynamic-ip.hinet.net)
09:18:53 sloorush joins (~sloorush@136.233.9.99)
09:19:00 × robosexual quits (~robosexua@77.223.90.202) (Quit: WeeChat 3.4)
09:19:08 robosexual joins (~robosexua@77.223.90.202)
09:20:14 <merijn> bahamas: Number one source of confusion is "wanting to skip the fundamentals to get to the interesting bits". Specifically the "I wanna figure out what Monads *really* are!" line of thinking, but not wanting to invest the time to get comfortable with types/typeclasses first, which then leads to lots of magical thinking
09:21:06 lavaman joins (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
09:21:27 <merijn> bahamas: Another slightly more advanced problem I often see is "overeagerness", which usually manifests as "I just understood typeclasses, I'm gonna make *everything* a typeclass!", "I just learned type level stuff like GADTs/type families, I'm gonna statically check *everything* in the typesystem"
09:21:28 × yauhsien quits (~yauhsien@61-231-57-22.dynamic-ip.hinet.net) (Ping timeout: 248 seconds)
09:21:44 × robosexual quits (~robosexua@77.223.90.202) (Client Quit)
09:21:47 <merijn> And "IO == bad" is a common source of problems
09:21:52 robosexual joins (~robosexua@77.223.90.202)
09:22:22 × robosexual quits (~robosexua@77.223.90.202) (Client Quit)
09:22:37 robosexual joins (~robosexua@77.223.90.202)
09:23:11 <[exa]> bahamas: listing a few: the fact that Nothing isn't like java null, equality vs monadic bindings, "monads are impure right?", and various problems with too much recursion and laziness at one place that require some time to wrap the head around (e.g. the zipWith fibonaccis)
09:23:34 × synthmeat quits (~synthmeat@user/synthmeat) (Quit: WeeChat 3.0)
09:23:47 synthmeat joins (~synthmeat@user/synthmeat)
09:23:54 × cosimone quits (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Remote host closed the connection)
09:24:23 <maerwald[m]> Or the fact that most tutorials on laziness are trash
09:24:47 <merijn> maerwald[m]: The only one I know is the one by Apfelmus and monochrom both of which I consider quite good?
09:24:51 × robosexual quits (~robosexua@77.223.90.202) (Client Quit)
09:24:58 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
09:25:01 robosexual joins (~robosexua@77.223.90.202)
09:25:05 <maerwald[m]> merijn: yes, those two are the only ones
09:25:37 <merijn> maerwald[m]: "those are the only ones" as in the only tutorials or the only good ones?
09:25:46 <maerwald[m]> Yeah
09:26:08 <merijn> brb, learning Lojban >.>
09:26:23 <maerwald[m]> The rest shows you [0..]
09:26:24 × synthmeat quits (~synthmeat@user/synthmeat) (Remote host closed the connection)
09:26:42 synthmeat joins (~synthmeat@user/synthmeat)
09:28:33 mason0 joins (~bc8147f2@cerf.good1.com)
09:30:29 <bahamas> [exa]: can you clarify equality vs monadic bindings?
09:31:33 × robosexual quits (~robosexua@77.223.90.202) (Quit: WeeChat 3.4)
09:31:41 robosexual joins (~robosexua@77.223.90.202)
09:31:48 × synthmeat quits (~synthmeat@user/synthmeat) (Quit: WeeChat 3.0)
09:31:51 <[exa]> bahamas: basically mixing stuff which needs to be bind with >>= and which can't be, e.g. trying `let myString = readLine` or `x <- 1+2+3` and hoping it will work
09:32:14 synthmeat joins (~synthmeat@user/synthmeat)
09:32:19 <[exa]> the latter often "kinda works" with lists, which makes debugging super hard (the type error will not be comprehensible to newbies at all)
09:32:57 × robosexual quits (~robosexua@77.223.90.202) (Client Quit)
09:34:16 <bahamas> [exa]: ah, you mean mixing stuff that belongs in a do block with stuff that doesn't
09:34:42 <[exa]> yes
09:37:07 × xff0x quits (~xff0x@125x102x200x106.ap125.ftth.ucom.ne.jp) (Ping timeout: 240 seconds)
09:38:30 × haskellberryfinn quits (~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Quit: WeeChat 3.3)
09:38:36 robosexual joins (~robosexua@77.223.90.202)
09:39:11 yauhsien joins (~yauhsien@61-231-57-22.dynamic-ip.hinet.net)
09:39:44 × dextaa quits (~dextaa@user/dextaa) (Remote host closed the connection)
09:43:20 × bahamas quits (~lucian@86.120.77.115) (Ping timeout: 248 seconds)
09:44:22 × anomal quits (~anomal@87.227.196.109) (Remote host closed the connection)
09:44:58 × ubert quits (~Thunderbi@p200300ecdf1588e2dc67a3f08aaa94d0.dip0.t-ipconnect.de) (Quit: ubert)
09:44:59 anomal joins (~anomal@87.227.196.109)
09:45:12 ubert joins (~Thunderbi@p200300ecdf1588e22aca51cd048e2ffe.dip0.t-ipconnect.de)
09:47:24 × InstX1_ quits (~Liam@2601:6c4:4080:3f80:1d4a:af44:f702:f9c0) (Ping timeout: 240 seconds)
09:53:25 <abastro[m]> [exa]: regarding https://leetcode.com/problems/longest-substring-of-one-repeating-character/
09:53:47 <abastro[m]> I need O(log n) time for each update.
09:54:42 <abastro[m]> [exa]: Well also I don't see how specializing the type into `Int` helps with the problem
09:54:44 cosimone joins (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20)
09:55:14 <merijn> abastro[m]: Your problem is that you're using list
09:55:28 <abastro[m]> I am not using a list though.
09:56:02 <merijn> abastro[m]: Your using foldMap on a String
09:56:08 <merijn> And String is just a list
09:56:15 jakalx joins (~jakalx@base.jakalx.net)
09:56:23 <merijn> You're always gonna get O(n) performance using list as input
09:56:34 <merijn> Because you're gonna traverse the list sequentially
09:56:40 × z0k quits (~z0k@39.40.123.226) (Ping timeout: 248 seconds)
09:56:43 <abastro[m]> Oh, you mean the code?
09:56:43 <abastro[m]> That was to display how it works
09:57:22 <abastro[m]> To solve the actual problem, I am going to use a specific data structure called Segment Tree
09:57:28 <anomal> Booleans shouldn't be values, but branches
09:57:34 <anomal> Do you agree
09:57:50 <abastro[m]> Wat
09:57:55 <razetime> is haskell allowed on leetcode?
09:58:11 <abastro[m]> No, haskell is not allowed on the platform
09:58:25 <abastro[m]> Ofc, why thet would allow a research language /s
09:58:41 <merijn> abastro[m]: I'm not sure what you mean by O(log n) time for update, I guess?
09:58:55 <abastro[m]> I am just toying with it, trying to come up with haskell solution.
09:59:25 <abastro[m]> Let me explain
09:59:26 <merijn> Although at first glance the naive linear O(n) is always gonna win for this problem anyway
09:59:27 × lavaman quits (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Ping timeout: 240 seconds)
09:59:40 abastro joins (~abab9579@143.248.229.139)
09:59:59 <abastro> Basically the goal is counting longest substring consists of one repeating character
10:00:16 <abastro> So, we have this string `str`
10:00:22 <abastro> We will change the string n times
10:00:35 <abastro> For each step, single character of the string will change
10:01:15 <abastro> The task is to print "length of longest substring of repeated character" for each step.
10:02:04 <abastro> The goal is to attain `O(n * log (length str))`
10:02:25 × razetime quits (~quassel@117.254.34.230) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
10:02:40 razetime joins (~quassel@117.254.34.230)
10:02:43 <abastro> merijn, [exa]: Would you like more details?
10:03:08 × jespada quits (~jespada@2a0c:5c84:1:4000::8dad) (Remote host closed the connection)
10:03:09 <merijn> I looked at the leetcode site and have decided this problem is merely annoying and not actually all the interesting >.>
10:03:38 <abastro> Annoying?
10:04:15 × Chai-T-Rex quits (~ChaiTRex@user/chaitrex) (Quit: Chai-T-Rex)
10:04:20 <merijn> abastro: The problem is very artificial (i.e. doesn't really resemble anything reasonable) and is formulated in such a way to make solving maximally frustrating
10:04:31 <abastro> (Well I think at least many typical hirers would like this kind of questions)
10:04:50 ChaiTRex joins (~ChaiTRex@user/chaitrex)
10:04:58 <abastro> Well yeah, majority of competitive programming puzzles are artificial
10:05:34 <merijn> artificial in the sense of "does not look like a problem actually occuring in realistic code"
10:05:46 <abastro> Still, it seems like such solving skills are quite useful for getting hired
10:06:00 <merijn> as opposed to the Advent of Code puzzles which are still artificial in the sense of "invented for a puzzle" but almost always remind me of *actual* problems
10:06:01 <anomal> I take it booleans are pretty incontroversial
10:06:24 <abastro> AoC puzzles are of very rare bunch
10:06:48 <abastro> That said, I don't think anyone in my region would ever consider AoC when hiring
10:07:16 <abastro> Would rather hand out sth like this leetcode problem whenever hiring
10:07:34 seydar joins (~seydar@154-27-113-252.starry-inc.net)
10:07:41 <merijn> If anyone gave me this problem in an interview I'd just laugh and say "no thanks" :p
10:07:55 <abastro> Well, not in interview I guess
10:08:11 <abastro> Rather, in coding test before an actual interview
10:08:37 jespada joins (~jespada@2a0c:5c84:1:3000::3b58)
10:08:39 <merijn> Same response, tbh
10:09:27 <abastro> Oh. How would you become hired.. oh. I guess companies in your region just knows betteer
10:10:02 <anomal> merijn: at the same time we have to pass pointless hurdles at all stages of life
10:10:05 <merijn> The fact that a large number of programmers consider this reasonable is just baffling to me
10:10:15 <anomal> merijn: all education is just pointless stuff and tests
10:10:31 <abastro> Yep, tho it is similar for most things
10:10:46 <abastro> Lots of things in our world are baffling
10:11:50 <abastro> Another useless problem: https://leetcode.com/problems/largest-rectangle-in-histogram/. Apparently 9578 ppl thought it was a great problem!
10:12:06 <abastro> (Or perhaps my reality check is skewed and it is actually a good problem)
10:12:38 <merijn> That one is a lot more interesting, tbh
10:13:04 <abastro> Hm, I see
10:13:31 <abastro> Perhaps that problem in specific was the bad one, I guess
10:13:39 <abastro> I need to fix my reality check now
10:14:21 <merijn> abastro: The issue is that it tempts you to figure out some "smart" solution, in reality, writing a stupid linear solution and rerunning it after every update is almost certainly gonna be way faster
10:15:06 <abastro> Oh, I don't think linear solution is faster though.
10:15:34 × seydar quits (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 272 seconds)
10:16:01 <abastro> This thing called Segmented Tree is just a binary tree with tags on each branch.
10:16:27 <abastro> Which allows easy recalculation of the statistics over the entire tree, when things locally change
10:19:43 <abastro> Actually yeah, it is a modification of "Segment Tree" data structure
10:19:59 <abastro> Actual segment tree is for storing interval where query time takes O(log n)
10:20:12 <abastro> Anyway, it allows you to explore such novel data structures.
10:20:47 <abastro> So, merijn, for which specific reason do you think this solution would be slower than stupid linear solution?
10:21:20 <abastro> (Perhaps relevant: https://stackoverflow.com/questions/17466218/what-are-the-differences-between-segment-trees-interval-trees-binary-indexed-t )
10:26:40 <anomal> Does functional programming arise from lambda calculus, the other way around, or they're unrelated/
10:27:44 × epolanski quits (uid312403@id-312403.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
10:28:40 <abastro> <del>Problem: what is functional programming</del>
10:28:40 <abastro> \
10:29:05 z0k joins (~z0k@39.40.7.24)
10:29:47 × robosexual quits (~robosexua@77.223.90.202) (Quit: WeeChat 3.4)
10:30:04 robosexual joins (~spaceoyst@77.223.90.202)
10:30:50 <anomal> Why does haskell have a boolean value types
10:31:21 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
10:31:41 <anomal> No CPU does
10:34:48 <pavonia> A CPU doesn't even know what a type is
10:35:21 <abastro> I'd like to say, Haskell has boolean type because it can
10:35:38 <abastro> IIRC `data Bool = False | True` and voila
10:35:39 <Hecate> C23 will have true and false as keywords, more proof that C is bloated
10:35:48 <Hecate> abastro: because it must
10:36:07 <Hecate> there is no alternative universe in which Haskell doesn't have that
10:36:08 <Hecate> :P
10:37:58 <abastro> Are you sure?
10:39:55 jpds1 joins (~jpds@gateway/tor-sasl/jpds)
10:40:55 × jpds quits (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 240 seconds)
10:41:59 seydar joins (~seydar@154-27-113-252.starry-inc.net)
10:42:07 <abastro> :P
10:42:08 × jpds1 quits (~jpds@gateway/tor-sasl/jpds) (Client Quit)
10:42:46 xff0x joins (~xff0x@i121-117-52-147.s41.a013.ap.plala.or.jp)
10:44:19 <anomal> pavonia: they know what a type is. it knows what a uint64 is
10:44:46 <abastro> Eh, how does CPU know what uint64 is
10:44:54 jpds joins (~jpds@gateway/tor-sasl/jpds)
10:44:58 <anomal> abastro: the problem is it encourages using Bool where better enums/unions would fit.
10:45:17 <abastro> Uhm, which encourages Bool?
10:45:23 <anomal> absence: registers have a type, operations expect certain types
10:46:41 <tdammers> hot take: Bool *is* an enum
10:47:14 × seydar quits (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 272 seconds)
10:47:22 <tdammers> but in all seriousness, the fallacy here is to equate "hardware data type" with "Haskell type"
10:47:28 <tdammers> the two are almost completely unrelated
10:47:43 <mason0> or the idea to limit haskell types to only those supported by hardware
10:48:26 <anomal> tdammers: it is an enum
10:48:35 <tdammers> and, point in case, even C89's data types don't all correspond to hardware data types
10:48:44 <anomal> tdammers: it's just a very unfortunate enum everyone tries to cram into their data structures
10:48:47 <abastro> Bool is an enum, yes
10:49:13 <tdammers> now, there *is* an actual problem with Bool, called "boolean blindness", but it has absolutely nothing to do with hardware
10:49:42 <anomal> I don't want to just match hardware, I'm more pointing out it's a red flag that no hardware needs bool types (or equivalent ints)
10:49:44 <abastro> Wait, did someone said that boolean is bad because it is not in Hardware?
10:50:01 <anomal> abastro: yes I did.
10:50:04 <anomal> absence: have at it
10:50:06 <abastro> Oh.
10:50:34 <anomal> abastro: I didn't say exactly it's bad BECAUSE it's not in hardware. More like... why do we even have it
10:50:36 <tdammers> anomal: are you kidding? almost all digital computing hardware uses bools. On the x86 platform, CPU 'flags' are absolutely essential, and they are literally booleans.
10:50:40 Nahra joins (~user@static.161.95.99.88.clients.your-server.de)
10:50:52 <abastro> Wait, right
10:51:00 <tdammers> You could even argue that boolean is the *only* data type you get to have in hardware
10:51:07 <abastro> Those are booleans for all intents and purposes
10:51:14 <siers> merijn, isn't the intuition "pipeish" very close to "function-like" though?
10:51:17 <anomal> tdammers: having two states in a bit is not "boolean". People often confuse binary and boolean
10:51:25 <abastro> Boolean, in other words, Bits 8)
10:51:26 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
10:51:29 <anomal> tdammers: boolean is binary with specific semantics
10:51:41 <tdammers> anomal: maybe, but hardware data types don't have semantics
10:51:53 <anomal> Well, they do...
10:51:55 <tdammers> (or, more precisely, they don't have "meaning")
10:51:59 <anomal> Hm
10:52:10 <anomal> I guess the IEEE spec on floats is not semantics of a float :P
10:52:18 <tdammers> but anyway, the entire point is that "boolean", as a concept, *does* make sense
10:52:25 <Hecate> I'd like to remind the audience that no language programs the CPU
10:52:28 <anomal> as a concept, yes,
10:52:32 <anomal> As a value no
10:52:34 <Hecate> they program the C virtual machine
10:52:43 <Hecate> also: C has a runtime
10:52:51 × deadmarshal_ quits (~deadmarsh@95.38.112.20) (Ping timeout: 256 seconds)
10:52:52 <anomal> As a concept it's cleanly realized as a branch
10:52:55 <anomal> Church booleans
10:52:57 lavaman joins (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
10:53:29 <tdammers> boolean values make sense too
10:53:36 geekosaur joins (~geekosaur@xmonad/geekosaur)
10:53:39 <Hecate> (erm, C *abstract* machine, my bad)
10:53:50 <tdammers> it's just that boolean values as a concept are overused
10:54:17 <tdammers> pure abstract truthiness is not something you need often; there's usually more meaning attached to it
10:54:52 <tdammers> but sometimes, you do need first-class pure abstract truthiness values, e.g. when passing a predicate to a filter function
10:55:08 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
10:56:00 <abastro> C has a runtime :D
10:56:10 <abastro> And many ppl gloss over that detail :(
10:56:23 <Hecate> yup'
10:56:26 <Hecate> crt0
10:57:00 <tdammers> abastro: it's even worse than that. the C abstract machine typically runs on top of a virtual CPU implemented in microcode on a real CPU
10:57:10 <Hecate> yup'
10:57:15 <Hecate> modern CPUs are beasts
10:57:28 <Hecate> but they have to implement this interface that must never change
10:58:05 <anomal> I'd like to hear when is a boolean better than an enum
10:58:28 <anomal> You can extend the enum with as many values you need, specific to the domain, and they communicate what the state is
10:58:31 <tdammers> anomal: Bool *is* an enum; it is better than any other enum when it is used to express "pure abstract truthiness"
10:58:36 <anomal> A boolean just says "ye" "no"
10:58:41 × kaph quits (~kaph@dynamic-adsl-78-12-162-98.clienti.tiscali.it) (Read error: Connection reset by peer)
10:58:44 × cosimone quits (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Remote host closed the connection)
10:59:00 <anomal> tdammers: pure abstract truthiness doesn't make sense, that'd the point.
10:59:02 <Hecate> anomal: your question makes no sense
10:59:06 <abastro> Oh, more layers XD
10:59:09 <anomal> tdammers: can I have you one truth
10:59:16 <anomal> tdammers: give*
10:59:21 <tdammers> anomal: but it does, when you're writing abstract code.
10:59:25 <anomal> Hm no
10:59:27 <abastro> Hm yea, somehow even Hardware got some consideration for C impls
10:59:34 <tdammers> anomal: classic example: `filter :: (a -> Bool) -> [a] -> [a]`
10:59:45 <tdammers> what else can you put there other than Bool?
10:59:48 <anomal> tdammers: classic example of boolean blindness
11:00:05 <tdammers> filter :: (a -> Maybe a) -> [a] -> [a] then?
11:00:07 <abastro> ?????
11:00:07 <anomal> tdammers: https://runtimeverification.com/blog/code-smell-boolean-blindness/
11:00:14 <siers> tdammers, you could put anything two-valued there, no? (what are you guys arguing about, again?)
11:00:20 <mason0> filter predicate function is not related to boolean blindness
11:00:31 <abastro> `(a -> MyBool) -> [a] -> [a]` Apparently
11:00:32 <siers> I've read the last 10 minutes of the convo and I have no idea
11:00:40 <abastro> Tbh me too
11:01:05 <anomal> I linked to an article discussing the exact Haskell filter function
11:01:19 <Hecate> this conversation is obviously going nowhere
11:01:21 <Hecate> I'm out!
11:01:22 <siers> anomal, is that your own post?
11:01:24 <Hecate> see ya, suckers
11:01:30 <tdammers> tee hee
11:01:35 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
11:01:37 <anomal> siers: no
11:02:27 <siers> post's contribution: expressive renaming
11:02:34 seydar joins (~seydar@154-27-113-252.starry-inc.net)
11:02:35 <anomal> Well
11:02:55 <anomal> In a sort function where we have three states what do we use
11:02:59 <anomal> 1.5 booleans :P?
11:03:15 cosimone joins (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20)
11:03:16 <tdammers> anyway, I do acknowledge boolean blindness as a potential smell, but I don't think `filter` is part of the problem
11:04:04 <anomal> There's this principle I have "if someone says we'll only have one of those, he'll eventually be wrong". This is about singletons
11:04:07 × z0k quits (~z0k@39.40.7.24) (Ping timeout: 240 seconds)
11:04:14 <anomal> For booleans there's a similar principle
11:04:29 <anomal> If someone says we need just two states so a boolean would do, it'll eventually be wrong
11:04:45 <anomal> Plus
11:04:53 <anomal> Matching a predicate may be true/false
11:04:56 <tdammers> Tes, but in the case of filter, there really are only two possibilities - predicate holds, or doesn't hold. That's exactly what Bool expresses.
11:05:06 <anomal> But keeping or discarding a value from a collection is not true/false
11:05:20 × cosimone quits (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Remote host closed the connection)
11:05:48 <tdammers> Correct; but that's not what "filter" says. It's not "keep the ones to keep and discard the ones to discard", it's "keep the ones for which the predicate holds, discard the ones for which it doesn't"
11:05:59 <anomal> Oh well
11:06:12 <abastro> Yep, exactly
11:06:18 z0k joins (~z0k@39.40.132.11)
11:06:25 <anomal> There's another way to do this
11:06:28 <siers> I hear it as "filter me those" where those is the adjective good/bad as determined by the predicate
11:06:29 <abastro> Also, the opposite operation need not exist even
11:06:34 timCF joins (~timCF@200-149-20-81.sta.estpak.ee)
11:06:43 <anomal> You can return a container of the item, or an empty container.
11:06:44 <abastro> filter' p = filter (not . p)
11:06:45 <anomal> Flat map it
11:06:52 <anomal> Now you can do many more things
11:06:57 × seydar quits (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 246 seconds)
11:07:04 <abastro> So.. only one version is needed, and you specify which version you decide to keep
11:07:15 <abastro> Also `filter` is common practice
11:07:16 <anomal> For example you can insert two items for one item
11:07:36 × acidjnk quits (~acidjnk@p200300d0c7049f336039e1baac7dfab4.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
11:07:52 <abastro> How is flatmap relevant?
11:08:05 <anomal> Well I just mentioned how
11:08:11 <anomal> It can filter but much more flexibly
11:08:19 <timCF> Hello! Is there any way to use/automate cabal.project as source of overlays for stack.yaml? I'm forced to use stack in yesod project (because yesod-bin tool requires it) but I don't want to duplicate the data from cabal.project in stack.yaml
11:08:22 × merijn quits (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 250 seconds)
11:08:33 jgeerds joins (~jgeerds@d5364b87.access.ecotel.net)
11:08:48 <anomal> Instead of mapping x to x or nothing, you can map x to x, to nothing, to y, or to a, b, c, d, e,f :P
11:08:49 <tdammers> I mean sure, there are thousands of ways you can do it
11:09:05 <tdammers> you can also have your predicate return a list, and use >>=
11:09:14 <anomal> Right
11:09:23 <abastro> timCF: Overlay for cabal.project?
11:09:31 <abastro> Do you mean *.cabal file?
11:09:48 <tdammers> but that's missing the point - the point being, we aren't just programming computers, we're also (or even primarily) expressing intent to a human reader
11:09:50 cosimone joins (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20)
11:10:15 merijn joins (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
11:10:37 <siers> and that human reader most often is you, the writer himself :D
11:10:48 <tdammers> I like to think of my future self as someone else
11:11:35 <timCF> abastro: I mean, I'm using a lot of "source-repository-package" in my cabal.project. But once I've added yesod to my project, I'm forced to create stack.yaml and basically duplicate this data. And I'm thinking how to avoid that
11:11:45 <siers> tdammers, when my colleagues say some of my work is good and they thank me, I say I did it for myself
11:11:56 <abastro> Hmm, I personally don't know.
11:12:00 <siers> half joke, half not
11:12:27 <abastro> I think there were haskell tooling IRC
11:12:31 <siers> tdammers, we're programming ourselves and the output of this programming is the syntax/program
11:12:46 <siers> that's how I look at my girlfriend who's learning to code
11:12:51 <tdammers> meh, no need to get all philosophical about it
11:13:00 <siers> haha, I believe I didn't start it
11:13:10 <siers> https://runtimeverification.com/blog/code-smell-boolean-blindness/
11:14:00 <Nahra> Hello. Which to make 'host <- fmap systemName getSystemID' remove FQDN?
11:15:02 <abastro> When I realize I am truly not my past self: see https://github.com/Abastro/Columnise/blob/main/src/Data/Impl/Named.hs
11:15:19 × akegalj quits (~akegalj@78-3-32-236.adsl.net.t-com.hr) (Quit: leaving)
11:15:25 <abastro> Idk how I expected even myself to understand the code
11:15:38 <Nahra> Or perhaps is there another way to get only short hostname?
11:15:42 ub joins (~Thunderbi@p200300ecdf1588e205edf63e67564e92.dip0.t-ipconnect.de)
11:16:15 <geekosaur> that's up to the system
11:16:16 × kenran quits (~kenran@200116b82b941e00eb843d1befbc82ec.dip.versatel-1u1.de) (Quit: WeeChat info:version)
11:16:22 <mikoto-chan> sclv: the /go fuwafuwa.#flexcake.moe
11:16:29 <mikoto-chan> oops
11:16:38 <mikoto-chan> I wanted to say the hyphen confused me
11:16:46 <geekosaur> host <- fmap (takeWhile (/= '.') . systemName) getSystemID
11:16:46 <mikoto-chan> and go to a room ...
11:19:04 seydar joins (~seydar@154-27-113-252.starry-inc.net)
11:19:10 × robosexual quits (~spaceoyst@77.223.90.202) (Quit: Konversation terminated!)
11:19:22 <abastro> I wonder `takeWhile` here would be a safe approach
11:19:26 × lispy quits (~lispy@82.212.119.74) (Ping timeout: 250 seconds)
11:19:44 <Nahra> geekosaur: Thanks!
11:21:32 robosexual joins (~robosexua@77.223.90.202)
11:22:33 raehik1 joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
11:23:54 axeman joins (~quassel@2a02:8109:a380:78:16ca:21f1:a997:8861)
11:25:14 × seydar quits (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 272 seconds)
11:26:12 × merijn quits (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 246 seconds)
11:27:15 × abastro quits (~abab9579@143.248.229.139) (Ping timeout: 246 seconds)
11:27:16 jakalx joins (~jakalx@base.jakalx.net)
11:27:31 merijn joins (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
11:28:32 × shachaf quits (~shachaf@user/shachaf) (Ping timeout: 252 seconds)
11:29:36 seydar joins (~seydar@154-27-113-252.starry-inc.net)
11:29:57 shachaf joins (~shachaf@user/shachaf)
11:30:55 × yauhsien quits (~yauhsien@61-231-57-22.dynamic-ip.hinet.net) (Remote host closed the connection)
11:31:30 yauhsien joins (~yauhsien@61-231-57-22.dynamic-ip.hinet.net)
11:34:07 × vysn quits (~vysn@user/vysn) (Ping timeout: 240 seconds)
11:34:16 × seydar quits (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 248 seconds)
11:36:24 × merijn quits (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 248 seconds)
11:36:30 × lavaman quits (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection)
11:36:46 lavaman joins (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
11:36:54 × lavaman quits (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection)
11:37:07 lavaman joins (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
11:37:15 × lavaman quits (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection)
11:37:30 lavaman joins (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
11:37:37 × lavaman quits (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection)
11:37:52 lavaman joins (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
11:37:59 × lavaman quits (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection)
11:38:13 lavaman joins (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
11:38:21 × lavaman quits (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection)
11:38:34 lavaman joins (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
11:38:42 × lavaman quits (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection)
11:38:45 × z0k quits (~z0k@39.40.132.11) (Ping timeout: 256 seconds)
11:38:46 × zeenk quits (~zeenk@2a02:2f04:a313:d600:8d26:ec9f:3ff6:fc94) (Quit: Konversation terminated!)
11:38:48 merijn joins (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
11:38:56 lavaman joins (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
11:39:04 × lavaman quits (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection)
11:39:19 lavaman joins (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
11:39:25 × lavaman quits (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection)
11:39:40 lavaman joins (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
11:39:47 × lavaman quits (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection)
11:39:57 zeenk joins (~zeenk@2a02:2f04:a313:d600:8d26:ec9f:3ff6:fc94)
11:40:05 lavaman joins (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
11:40:10 seydar joins (~seydar@154-27-113-252.starry-inc.net)
11:40:13 × lavaman quits (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection)
11:40:26 lavaman joins (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
11:40:34 × lavaman quits (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection)
11:40:48 lavaman joins (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
11:40:56 × lavaman quits (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection)
11:41:04 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
11:41:05 kaph joins (~kaph@dynamic-adsl-78-12-162-98.clienti.tiscali.it)
11:41:11 lavaman joins (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
11:41:19 × lavaman quits (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection)
11:41:34 lavaman joins (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
11:41:41 × lavaman quits (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection)
11:41:57 lavaman joins (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
11:42:05 × lavaman quits (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection)
11:42:20 lavaman joins (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
11:42:28 × lavaman quits (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection)
11:42:45 lavaman joins (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
11:42:51 × lavaman quits (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection)
11:43:07 lavaman joins (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
11:43:12 × elkcl quits (~elkcl@broadband-37-110-156-162.ip.moscow.rt.ru) (Remote host closed the connection)
11:43:15 × lavaman quits (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection)
11:43:30 lavaman joins (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
11:43:34 elkcl joins (~elkcl@broadband-37-110-156-162.ip.moscow.rt.ru)
11:43:36 × lavaman quits (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection)
11:43:50 lavaman joins (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
11:43:58 × lavaman quits (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection)
11:44:12 lavaman joins (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
11:44:20 × lavaman quits (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection)
11:44:33 lavaman joins (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
11:44:41 × lavaman quits (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection)
11:44:42 × Batzy quits (~quassel@user/batzy) (Quit: No Ping reply in 180 seconds.)
11:44:45 × seydar quits (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 246 seconds)
11:44:57 lavaman joins (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
11:45:05 × lavaman quits (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection)
11:46:08 Batzy joins (~quassel@user/batzy)
11:46:47 × mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 240 seconds)
11:46:54 kenran joins (~kenran@200116b82b941e00eb843d1befbc82ec.dip.versatel-1u1.de)
11:47:54 lavaman joins (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
11:47:57 InstX1_ joins (~Liam@2601:6c4:4080:3f80:1d4a:af44:f702:f9c0)
11:48:04 coot joins (~coot@213.134.190.95)
11:48:56 × anomal quits (~anomal@87.227.196.109) (Remote host closed the connection)
11:48:57 mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475)
11:49:47 z0k joins (~z0k@39.40.132.11)
11:51:33 CiaoSen joins (~Jura@p200300c9572d40002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
11:52:30 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
11:53:29 zer0bitz joins (~zer0bitz@2001:2003:f444:8f00:d9de:fb6b:4dff:6b4)
11:55:21 anomal joins (~anomal@87.227.196.109)
11:58:27 × axeman quits (~quassel@2a02:8109:a380:78:16ca:21f1:a997:8861) (Ping timeout: 240 seconds)
12:00:57 × jgeerds quits (~jgeerds@d5364b87.access.ecotel.net) (Ping timeout: 248 seconds)
12:01:42 × timCF quits (~timCF@200-149-20-81.sta.estpak.ee) (Quit: leaving)
12:02:20 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
12:03:25 × yauhsien quits (~yauhsien@61-231-57-22.dynamic-ip.hinet.net) (Remote host closed the connection)
12:03:59 yauhsien joins (~yauhsien@61-231-57-22.dynamic-ip.hinet.net)
12:06:27 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
12:09:02 × yauhsien quits (~yauhsien@61-231-57-22.dynamic-ip.hinet.net) (Ping timeout: 250 seconds)
12:09:25 × chenqisu12 quits (~chenqisu1@183.217.200.38) (Quit: Leaving)
12:10:50 × mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 272 seconds)
12:11:53 abastro joins (~abab9579@192.249.26.12)
12:12:16 mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475)
12:12:29 × lavaman quits (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection)
12:13:38 lavaman joins (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
12:17:42 × robosexual quits (~robosexua@77.223.90.202) (Quit: WeeChat 3.4)
12:22:25 szkl joins (uid110435@id-110435.uxbridge.irccloud.com)
12:23:31 Frinasa[m] joins (~odirfjohr@2001:470:69fc:105::1:f483)
12:24:20 robosexual1 joins (~robosexua@77.223.90.202)
12:24:40 noiobeforebed joins (~noiobefor@2001:470:69fc:105::1:3c2d)
12:27:28 Pickchea joins (~private@user/pickchea)
12:29:09 × noiobeforebed quits (~noiobefor@2001:470:69fc:105::1:3c2d) (Client Quit)
12:29:23 noiobeforebed joins (~noiobefor@2001:470:69fc:105::1:3c2d)
12:29:42 dextaa joins (~dextaa@user/dextaa)
12:37:41 yauhsien joins (~yauhsien@61-231-57-22.dynamic-ip.hinet.net)
12:38:49 × yauhsien quits (~yauhsien@61-231-57-22.dynamic-ip.hinet.net) (Remote host closed the connection)
12:39:20 × Major_Biscuit quits (~MajorBisc@c-001-009-035.client.tudelft.eduvpn.nl) (Ping timeout: 248 seconds)
12:39:22 noiobeforebed parts (~noiobefor@2001:470:69fc:105::1:3c2d) ()
12:39:28 yauhsien joins (~yauhsien@61-231-57-22.dynamic-ip.hinet.net)
12:41:25 Major_Biscuit joins (~MajorBisc@83.22.32.182.ipv4.supernova.orange.pl)
12:41:29 noiobeforebed joins (~noiobefor@2001:470:69fc:105::1:3c2d)
12:43:41 acidjnk joins (~acidjnk@p200300d0c7049f336039e1baac7dfab4.dip0.t-ipconnect.de)
12:44:15 × mikoto-chan quits (~mikoto-ch@213.177.151.239) (Ping timeout: 246 seconds)
12:44:26 bahamas joins (~lucian@84.232.140.158)
12:44:34 × yauhsien quits (~yauhsien@61-231-57-22.dynamic-ip.hinet.net) (Ping timeout: 250 seconds)
12:46:24 mikoto-chan joins (~mikoto-ch@213.177.151.239)
12:46:47 × Major_Biscuit quits (~MajorBisc@83.22.32.182.ipv4.supernova.orange.pl) (Ping timeout: 240 seconds)
12:48:40 Major_Biscuit joins (~MajorBisc@c-001-009-035.client.tudelft.eduvpn.nl)
12:49:53 × noiobeforebed quits (~noiobefor@2001:470:69fc:105::1:3c2d) (Quit: issued !quit command)
12:50:01 × CiaoSen quits (~Jura@p200300c9572d40002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
12:54:47 noiobeforebed joins (~noiobefor@2001:470:69fc:105::1:3c2d)
12:55:52 seydar joins (~seydar@154-27-113-252.starry-inc.net)
13:01:39 dschrempf joins (~dominik@92-249-159-213.pool.digikabel.hu)
13:02:13 × frost quits (~frost@user/frost) (Quit: Client closed)
13:03:29 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
13:04:24 × bahamas quits (~lucian@84.232.140.158) (Ping timeout: 248 seconds)
13:04:28 × dhouthoo quits (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.5)
13:07:42 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 246 seconds)
13:10:48 × razetime quits (~quassel@117.254.34.230) (Ping timeout: 248 seconds)
13:11:20 razetime joins (~quassel@117.254.35.90)
13:11:40 × sloorush quits (~sloorush@136.233.9.99) (Ping timeout: 250 seconds)
13:12:17 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
13:12:44 × Pickchea quits (~private@user/pickchea) (Ping timeout: 250 seconds)
13:15:36 × acidjnk quits (~acidjnk@p200300d0c7049f336039e1baac7dfab4.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
13:19:54 × cosimone quits (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Read error: Connection reset by peer)
13:21:54 × dschrempf quits (~dominik@92-249-159-213.pool.digikabel.hu) (Quit: WeeChat 3.4.1)
13:21:59 yauhsien joins (~yauhsien@61-231-57-22.dynamic-ip.hinet.net)
13:25:57 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
13:26:12 × wmacmil quits (~wmacmil@2600:1700:cd90:8f10:f523:1d17:345c:e650) (Ping timeout: 240 seconds)
13:26:37 cosimone joins (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20)
13:27:06 <juri_> is there a way to easily use property tests for benchmarking?
13:27:48 × yauhsien quits (~yauhsien@61-231-57-22.dynamic-ip.hinet.net) (Quit: Leaving...)
13:28:00 <merijn> Depends, do you care about your benchmarks being meaningful? ;)
13:31:23 <juri_> That good, eh?
13:33:11 <merijn> I'm just increasingly convinced that *good* benchmarks are crazy hard and you almost certainly won't get that from property tests. You could probably throw some timers into a test framework and get some ballpark numbers, but you'd have to take those with a considerable grain of salt
13:34:56 <abastro> hm gtk declarative is a bit hard to apply into existing ui application..
13:35:07 <abastro> I guess I might not use it? hmm
13:35:19 wroathe joins (~wroathe@206-55-188-8.fttp.usinternet.com)
13:35:19 × wroathe quits (~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
13:35:19 wroathe joins (~wroathe@user/wroathe)
13:37:24 × Midjak quits (~Midjak@82.66.147.146) (Quit: This computer has gone to sleep)
13:37:42 zebrag joins (~chris@user/zebrag)
13:37:54 <juri_> merijn: I was hoping to have a test returning (something, expectation), so quickcheck could check the expectation, and I could get another function run over [something], to analyse.
13:39:54 <tdammers> what's the problem with using actual benchmarking frameworks?
13:40:02 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 250 seconds)
13:40:24 <juri_> I'd actually have to write another test?
13:41:38 <geekosaur> if you want a meaningful benchmark, you'll really need to do that and you'll have to be careful aboutit, as merijn said
13:41:48 <geekosaur> but in general, the more tests the better anyway :)
13:41:53 × kaph quits (~kaph@dynamic-adsl-78-12-162-98.clienti.tiscali.it) (Read error: Connection reset by peer)
13:44:01 Pickchea joins (~private@user/pickchea)
13:44:48 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
13:45:24 × abastro quits (~abab9579@192.249.26.12) (Remote host closed the connection)
13:45:29 jakalx joins (~jakalx@base.jakalx.net)
13:46:02 <juri_> tell that to my CPU. :)
13:48:39 Sgeo joins (~Sgeo@user/sgeo)
13:51:26 × cosimone quits (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Remote host closed the connection)
13:56:05 cosimone joins (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20)
13:57:01 × cosimone quits (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Remote host closed the connection)
13:59:06 × alp__ quits (~alp@user/alp) (Ping timeout: 250 seconds)
13:59:28 × ub quits (~Thunderbi@p200300ecdf1588e205edf63e67564e92.dip0.t-ipconnect.de) (Quit: ub)
13:59:36 mc47 joins (~mc47@xmonad/TheMC47)
14:00:29 deadmarshal_ joins (~deadmarsh@95.38.112.20)
14:00:53 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
14:01:52 × robosexual1 quits (~robosexua@77.223.90.202) (Quit: WeeChat 3.4)
14:02:01 robosexual1 joins (~robosexua@77.223.90.202)
14:02:53 yauhsien joins (~yauhsien@61-231-57-22.dynamic-ip.hinet.net)
14:04:16 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
14:04:47 × deadmarshal_ quits (~deadmarsh@95.38.112.20) (Ping timeout: 240 seconds)
14:05:15 × adanwan_ quits (~adanwan@gateway/tor-sasl/adanwan) (Ping timeout: 240 seconds)
14:05:31 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 256 seconds)
14:06:19 adanwan joins (~adanwan@gateway/tor-sasl/adanwan)
14:07:01 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
14:08:24 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 248 seconds)
14:13:42 × seydar quits (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 272 seconds)
14:14:04 × mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Read error: Connection reset by peer)
14:14:06 seydar joins (~seydar@154-27-113-252.starry-inc.net)
14:14:29 × mud quits (~mud@user/kadoban) (Quit: quit)
14:16:36 mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475)
14:19:24 slack1256 joins (~slack1256@186.11.42.180)
14:20:32 fockerized joins (~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
14:21:45 odnes_ joins (~odnes@5-203-221-3.pat.nym.cosmote.net)
14:22:20 × odnes quits (~odnes@5-203-221-3.pat.nym.cosmote.net) (Read error: Connection reset by peer)
14:23:22 × redb quits (~nmh@136.49.49.211) (Ping timeout: 250 seconds)
14:23:47 × Major_Biscuit quits (~MajorBisc@c-001-009-035.client.tudelft.eduvpn.nl) (Ping timeout: 240 seconds)
14:23:58 redb joins (~nmh@136.49.49.211)
14:29:52 × mikoto-chan quits (~mikoto-ch@213.177.151.239) (Ping timeout: 250 seconds)
14:37:04 slac92731 joins (~slack1256@191.126.99.201)
14:39:31 × slack1256 quits (~slack1256@186.11.42.180) (Ping timeout: 256 seconds)
14:40:08 dhouthoo joins (~dhouthoo@178-117-36-167.access.telenet.be)
14:45:29 notzmv joins (~zmv@user/notzmv)
14:48:43 × lavaman quits (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection)
14:48:59 lavaman joins (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
14:49:06 × lavaman quits (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection)
14:49:22 lavaman joins (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
14:49:27 Major_Biscuit joins (~MajorBisc@83.22.32.182.ipv4.supernova.orange.pl)
14:49:30 × lavaman quits (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection)
14:49:44 lavaman joins (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
14:49:51 × lavaman quits (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection)
14:50:06 lavaman joins (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
14:50:13 × lavaman quits (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Remote host closed the connection)
14:53:05 Akiva joins (~Akiva@user/Akiva)
14:54:07 × xaotuk quits (~sasha@2a06:5b00:15fe:9b00::1) (Ping timeout: 260 seconds)
14:57:13 fendor joins (~fendor@91.141.72.148.wireless.dyn.drei.com)
14:59:03 shriekingnoise joins (~shrieking@201.231.16.156)
15:01:00 odnes joins (~odnes@5-203-221-3.pat.nym.cosmote.net)
15:01:47 × odnes_ quits (~odnes@5-203-221-3.pat.nym.cosmote.net) (Read error: Connection reset by peer)
15:04:53 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
15:04:58 × Major_Biscuit quits (~MajorBisc@83.22.32.182.ipv4.supernova.orange.pl) (Ping timeout: 250 seconds)
15:05:06 alp__ joins (~alp@user/alp)
15:05:39 × kenran quits (~kenran@200116b82b941e00eb843d1befbc82ec.dip.versatel-1u1.de) (Quit: WeeChat info:version)
15:09:12 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 248 seconds)
15:10:04 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:6aaf:d90d:7db8:1a48) (Quit: WeeChat 2.8)
15:16:52 × jonathanx_ quits (~jonathan@dyn-5-sc.cdg.chalmers.se) (Remote host closed the connection)
15:17:47 jakalx parts (~jakalx@base.jakalx.net) ()
15:20:08 × razetime quits (~quassel@117.254.35.90) (Ping timeout: 250 seconds)
15:20:32 razetime joins (~quassel@117.254.34.157)
15:21:02 jakalx joins (~jakalx@base.jakalx.net)
15:23:50 <tomsmeding> generally, property tests are also random, so not particularly suited to a reproducible benchmark
15:24:44 <tomsmeding> (this effect is particularly strong if the generator of your input type can generate values of different sizes and the function to test is super-linear in the input size)
15:28:00 × rembo10 quits (~rembo10@main.remulis.com) (Quit: ZNC 1.8.2 - https://znc.in)
15:28:45 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
15:28:55 rembo10 joins (~rembo10@main.remulis.com)
15:33:17 lispy joins (~lispy@82.212.116.142)
15:34:08 × mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection)
15:37:07 mikoto-chan joins (~mikoto-ch@213.177.151.239)
15:37:18 × merijn quits (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 272 seconds)
15:40:15 × cdman quits (~dcm@user/dmc/x-4369397) (Quit: Leaving)
15:40:19 <abastro[m]> What is this claim of monad in JS:
15:40:19 <abastro[m]> https://www.freecodecamp.org/news/when-to-use-react-suspense-vs-react-hooks-f66ef94cb54f/
15:40:19 <abastro[m]> Seems abuse of concepts
15:45:31 × anomal quits (~anomal@87.227.196.109) (Remote host closed the connection)
15:47:24 <abastro[m]> I wonder why ppl are exporting concept of monad which works poorly outside of haskell-like type system
15:48:34 <geekosaur> the concept of monad exists everywhere. writing a generalized one is difficult outside of haskell, but specializations of the concept are still useful
15:49:21 <geekosaur> for example it provides a way to do callbacks while writing relatively straightforward "procedural" code (see pretty much any use of IO in Haskell)
15:49:39 <abastro[m]> I doubt its usefulness, even in haskell it sucks to use them
15:50:14 <geekosaur> how much work have you done with callback-based programming?
15:50:21 × cfricke quits (~cfricke@user/cfricke) (Ping timeout: 256 seconds)
15:50:49 <geekosaur> tl;dr: it sucks even more
15:52:10 goepsilongo joins (~chacho@2603-7000-ab00-62ed-0000-0000-0000-0bd0.res6.spectrum.com)
15:52:32 kenran joins (~kenran@200116b82b941e00eb843d1befbc82ec.dip.versatel-1u1.de)
15:53:54 × razetime quits (~quassel@117.254.34.157) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
15:54:01 razetime joins (~quassel@117.254.34.157)
15:54:24 <monochrom> Monads arise everywhere in nature, such as Haskell tutorials and Javascript tutorials >:)
15:54:45 lavaman joins (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
15:55:02 <monochrom> @quote monochrom fibonacci.*nature
15:55:02 <lambdabot> monochrom says: the fibonacci sequence is everywhere in nature, for example haskell tutorials and python tutorials
15:55:09 ec joins (~ec@gateway/tor-sasl/ec)
15:56:30 jonathanx joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
16:00:29 × mason0 quits (~bc8147f2@cerf.good1.com) (Quit: CGI:IRC (Session timeout))
16:01:15 × odnes quits (~odnes@5-203-221-3.pat.nym.cosmote.net) (Quit: Leaving)
16:02:35 × kenran quits (~kenran@200116b82b941e00eb843d1befbc82ec.dip.versatel-1u1.de) (Quit: WeeChat info:version)
16:03:52 kenran joins (~kenran@200116b82b941e00eb843d1befbc82ec.dip.versatel-1u1.de)
16:04:29 × kenran quits (~kenran@200116b82b941e00eb843d1befbc82ec.dip.versatel-1u1.de) (Client Quit)
16:06:15 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
16:06:44 lbseale joins (~ep1ctetus@user/ep1ctetus)
16:08:27 × seydar quits (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 240 seconds)
16:08:32 _ht joins (~quassel@231-169-21-31.ftth.glasoperator.nl)
16:09:00 merijn joins (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
16:13:33 × merijn quits (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 246 seconds)
16:14:32 seydar joins (~seydar@154-27-113-252.starry-inc.net)
16:17:07 tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
16:18:09 ec joins (~ec@gateway/tor-sasl/ec)
16:19:04 × seydar quits (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 250 seconds)
16:22:46 slack1256 joins (~slack1256@186.11.44.52)
16:23:16 × littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Remote host closed the connection)
16:24:36 × kritzefitz quits (~kritzefit@debian/kritzefitz) (Ping timeout: 240 seconds)
16:24:51 kritzefitz joins (~kritzefit@debian/kritzefitz)
16:25:15 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
16:25:26 × slac92731 quits (~slack1256@191.126.99.201) (Ping timeout: 272 seconds)
16:25:53 × szkl quits (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
16:26:24 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
16:26:37 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
16:28:32 littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo)
16:28:42 wmacmil joins (~wmacmil@2600:1700:cd90:8f10:f523:1d17:345c:e650)
16:28:43 × wmacmil quits (~wmacmil@2600:1700:cd90:8f10:f523:1d17:345c:e650) (Client Quit)
16:33:02 × vicfred quits (~vicfred@user/vicfred) (Quit: Leaving)
16:33:25 × lavaman quits (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Ping timeout: 256 seconds)
16:34:49 cosimone joins (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20)
16:35:27 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
16:35:46 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
16:37:10 × cosimone quits (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Remote host closed the connection)
16:38:03 joo-_ joins (~joo-_@80-62-116-147-mobile.dk.customer.tdc.net)
16:38:03 × joo-_ quits (~joo-_@80-62-116-147-mobile.dk.customer.tdc.net) (Changing host)
16:38:03 joo-_ joins (~joo-_@fsf/member/joo--)
16:44:48 axeman joins (~quassel@2a02:8109:a380:78:a77:f1:10ab:6048)
16:45:24 × coot quits (~coot@213.134.190.95) (Quit: coot)
16:45:45 × z0k quits (~z0k@39.40.132.11) (Ping timeout: 246 seconds)
16:46:47 × mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 240 seconds)
16:47:23 <dmj`> Tree is a monad, therefore Monads grow on trees
16:48:56 mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475)
16:53:06 sammelweis_ joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
16:53:14 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Read error: Connection reset by peer)
16:54:58 × Pickchea quits (~private@user/pickchea) (Quit: Leaving)
16:56:27 × chele quits (~chele@user/chele) (Remote host closed the connection)
16:57:14 averell joins (~averell@user/averell)
16:58:18 whatsupdoc joins (uid509081@id-509081.hampstead.irccloud.com)
16:58:51 coot joins (~coot@213.134.190.95)
17:00:34 lavaman joins (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
17:00:48 <monochrom> Every monad can be expressed as a free monad (so, tree) and then quotiented out by an interpreter (so, cut down). So, every monad is a harvested tree. >:)
17:03:14 seydar joins (~seydar@154-27-113-252.starry-inc.net)
17:04:00 × mbuf quits (~Shakthi@122.174.160.5) (Quit: Leaving)
17:04:12 × motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 240 seconds)
17:04:56 × ishaan quits (~ishaan@122.161.52.79) (Ping timeout: 248 seconds)
17:05:35 merijn joins (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
17:07:23 ec joins (~ec@gateway/tor-sasl/ec)
17:08:04 ElVinzFR joins (~Guest46@2a01cb0c09c6d5001c67be9a6b15034f.ipv6.abo.wanadoo.fr)
17:08:07 z0k joins (~z0k@39.40.122.185)
17:10:32 <ElVinzFR> In the definition of whileJust_, there is a recursive call. I read that there is no recursive tail optimization on monadic functions. Does this mean that the stack will grow ?
17:10:52 xkuru joins (~xkuru@user/xkuru)
17:11:11 <geekosaur> I guess that discussion the other day about TCO went completely over your head
17:11:12 <monochrom> Depends on the actual monad.
17:11:31 <monochrom> Which actual monad do you have in mind?
17:11:51 <dolio> I don't think every monad is the quotient of a free monad.
17:12:04 <monochrom> In IO, State, Maybe, Either, Except, or Reader, everything will be OK.
17:12:31 × coot quits (~coot@213.134.190.95) (Ping timeout: 256 seconds)
17:12:34 <monochrom> But why trust me? Do your own benchmark to see. Don't just speculate.
17:12:55 <ElVinzFR> I want to use IO monad to react to user input
17:13:39 × seydar quits (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 256 seconds)
17:13:47 <monochrom> Hell, why trust anything you read on the Internet at all?
17:14:03 × ec quits (~ec@gateway/tor-sasl/ec) (Quit: ec)
17:14:05 <ElVinzFR> Have to start with something.
17:14:14 <monochrom> How can you trust them, when one video says the earth is flat, and another says the earth is round.
17:14:42 <monochrom> Sure, start with benchmarking.
17:17:52 motherfsck joins (~motherfsc@user/motherfsck)
17:20:26 × axeman quits (~quassel@2a02:8109:a380:78:a77:f1:10ab:6048) (Quit: No Ping reply in 180 seconds.)
17:21:41 axeman joins (~quassel@2a02:8109:a380:78:2ba7:cbb3:509b:bd1d)
17:23:37 bahamas joins (~lucian@84.232.140.158)
17:26:18 stevenxl joins (~stevenxl@c-73-72-2-81.hsd1.il.comcast.net)
17:27:02 × ElVinzFR quits (~Guest46@2a01cb0c09c6d5001c67be9a6b15034f.ipv6.abo.wanadoo.fr) (Quit: Client closed)
17:29:10 seydar joins (~seydar@154-27-113-252.starry-inc.net)
17:31:04 × lavaman quits (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Ping timeout: 248 seconds)
17:31:28 slac53263 joins (~slack1256@191.126.99.201)
17:32:32 cosimone joins (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20)
17:33:42 × seydar quits (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 246 seconds)
17:33:50 × slack1256 quits (~slack1256@186.11.44.52) (Ping timeout: 272 seconds)
17:34:56 × cosimone quits (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Client Quit)
17:36:55 × razetime quits (~quassel@117.254.34.157) (Remote host closed the connection)
17:37:28 × merijn quits (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 248 seconds)
17:37:44 zmt00 joins (~zmt00@user/zmt00)
17:40:18 cosimone joins (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20)
17:40:36 × lispy quits (~lispy@82.212.116.142) (Quit: Client closed)
17:43:58 × cosimone quits (~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Client Quit)
17:44:23 × notzmv quits (~zmv@user/notzmv) (Read error: Connection reset by peer)
17:45:27 × axeman quits (~quassel@2a02:8109:a380:78:2ba7:cbb3:509b:bd1d) (Ping timeout: 240 seconds)
17:46:40 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
17:46:54 cosimone joins (~user@93-47-228-79.ip115.fastwebnet.it)
17:48:59 seydar joins (~seydar@154-27-113-252.starry-inc.net)
17:49:34 <dolio> You don't really even need to test.
17:49:55 <dolio> If your question is, "am I the first person to realize this obvious, massive flaw?" The answer is probably, "no."
17:50:04 <monochrom> Heh
17:50:27 × zmt00 quits (~zmt00@user/zmt00) (Ping timeout: 240 seconds)
17:51:03 × motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 256 seconds)
17:51:20 <monochrom> No no no, the real question is "but did anyone fix it?" Looking at most interpreters/compilers for python and javascript and maybe even java, the answer is also probably "no". >:)
17:51:28 zmt00 joins (~zmt00@user/zmt00)
17:51:58 <geekosaur> java didn't even support tco until recently
17:52:30 <geekosaur> and I continue to maintain that tco doesn't work the same way in a graph reduction language, and everything you think you know about it is wrong
17:52:45 <monochrom> The "real" world "industry" has all kinds of funny priorities. It is actually safe to be pessimistic.
17:52:47 × son0p quits (~ff@181.136.122.143) (Ping timeout: 240 seconds)
17:52:48 waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
17:53:39 × seydar quits (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 246 seconds)
17:53:53 × bahamas quits (~lucian@84.232.140.158) (Ping timeout: 256 seconds)
17:54:17 <dolio> Those all have alternate ways of looping that don't rely on TCO. The flaw would be that Haskell only has function calls that can't be used to loop indefinitely.
17:54:24 fendor_ joins (~fendor@91.141.45.157.wireless.dyn.drei.com)
17:55:25 <monochrom> OK yes.
17:56:21 <Las[m]> Would making GHC choose a random instance if there are duplicate instances break GHC in some way I'm not aware of?
17:56:53 <geekosaur> IncoherentInstances more or less does that
17:57:00 × fendor quits (~fendor@91.141.72.148.wireless.dyn.drei.com) (Ping timeout: 250 seconds)
17:57:04 <geekosaur> well,it'll still reject exact matches I think
17:57:14 <dolio> Actually, even incoherent instances doesn't do that. :)
17:57:26 × mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 250 seconds)
17:57:55 <monochrom> I think it doesn't break GHC, it just makes your code act funny. But I haven't tried.
17:57:55 <dolio> It does something kind of like that, though.
17:58:50 <geekosaur> looks like the asker re TCO went away
17:59:14 <monochrom> Well yeah millenial twitter attention span.
17:59:17 mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475)
17:59:25 <geekosaur> they still want a nice simple solution that fits their "it can only work this way that I think I know" mindset
17:59:41 jonathanx_ joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se)
17:59:49 <Las[m]> thanks, I'll try patching GHC and find out
18:00:12 <monochrom> Yikes haha
18:02:03 × jonathanx quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 246 seconds)
18:02:20 <tomsmeding> O.o
18:02:39 <tomsmeding> I mean, it's just haskell, but eh
18:03:53 motherfsck joins (~motherfsc@user/motherfsck)
18:03:59 × ix quits (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) (Ping timeout: 252 seconds)
18:04:39 × z0k quits (~z0k@39.40.122.185) (Ping timeout: 256 seconds)
18:05:17 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
18:05:21 z0k joins (~z0k@39.40.122.185)
18:05:34 akegalj joins (~akegalj@23-132.dsl.iskon.hr)
18:07:01 ix joins (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe)
18:08:36 axeman joins (~quassel@2a02:8109:a380:78:95ee:a2c4:4c41:7559)
18:08:48 seydar joins (~seydar@154-27-113-252.starry-inc.net)
18:11:43 jgeerds joins (~jgeerds@d5364b87.access.ecotel.net)
18:13:28 × seydar quits (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 250 seconds)
18:15:10 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
18:15:44 × dextaa quits (~dextaa@user/dextaa) (Read error: Connection reset by peer)
18:17:51 dextaa joins (~dextaa@user/dextaa)
18:17:57 econo joins (uid147250@user/econo)
18:18:08 kaph joins (~kaph@dynamic-adsl-78-12-162-98.clienti.tiscali.it)
18:19:29 coot joins (~coot@213.134.190.95)
18:20:32 jakalx joins (~jakalx@base.jakalx.net)
18:20:59 <Hecate> heyo
18:22:24 <tomsmeding> \o
18:29:42 × dyeplexer quits (~dyeplexer@user/dyeplexer) (Ping timeout: 246 seconds)
18:29:55 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
18:38:56 × yauhsien quits (~yauhsien@61-231-57-22.dynamic-ip.hinet.net) (Remote host closed the connection)
18:40:31 yauhsien joins (~yauhsien@61-231-57-22.dynamic-ip.hinet.net)
18:44:17 bahamas joins (~lucian@84.232.140.158)
18:44:27 × axeman quits (~quassel@2a02:8109:a380:78:95ee:a2c4:4c41:7559) (Ping timeout: 240 seconds)
18:44:40 × mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 248 seconds)
18:44:40 × mikoto-chan quits (~mikoto-ch@213.177.151.239) (Ping timeout: 250 seconds)
18:45:27 × yauhsien quits (~yauhsien@61-231-57-22.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
18:46:33 mikoto-chan joins (~mikoto-ch@213.177.151.239)
18:46:35 × kaph quits (~kaph@dynamic-adsl-78-12-162-98.clienti.tiscali.it) (Read error: Connection reset by peer)
18:46:37 mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475)
18:48:24 anomal joins (~anomal@87.227.196.109)
18:50:17 axeman joins (~quassel@2a02:8109:a380:78:c8da:9dc6:9792:51c3)
18:50:42 seydar joins (~seydar@154-27-113-252.starry-inc.net)
18:51:51 acidjnk joins (~acidjnk@p200300d0c7049f336039e1baac7dfab4.dip0.t-ipconnect.de)
18:53:38 yauhsien joins (~yauhsien@61-231-57-22.dynamic-ip.hinet.net)
18:56:01 ub joins (~Thunderbi@p200300ecdf1588e205edf63e67564e92.dip0.t-ipconnect.de)
18:57:22 × ub quits (~Thunderbi@p200300ecdf1588e205edf63e67564e92.dip0.t-ipconnect.de) (Client Quit)
18:59:14 kaph joins (~kaph@dynamic-adsl-78-12-162-98.clienti.tiscali.it)
19:01:24 × robosexual1 quits (~robosexua@77.223.90.202) (Quit: WeeChat 3.4)
19:03:41 mc47 joins (~mc47@xmonad/TheMC47)
19:05:35 × littlebobeep quits (~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
19:09:45 xaotuk joins (~sasha@cable-178-148-235-107.dynamic.sbb.rs)
19:12:58 ec joins (~ec@gateway/tor-sasl/ec)
19:13:24 szkl joins (uid110435@id-110435.uxbridge.irccloud.com)
19:17:59 × coot quits (~coot@213.134.190.95) (Quit: coot)
19:21:51 × mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 246 seconds)
19:24:08 mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475)
19:26:49 × ridcully quits (~ridcully@pd951f433.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
19:27:48 ridcully joins (~ridcully@pd951f433.dip0.t-ipconnect.de)
19:28:31 lavaman joins (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
19:28:51 lortabac joins (~lortabac@2a01:e0a:541:b8f0:af05:7994:32e5:1bd2)
19:30:26 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
19:33:04 × akegalj quits (~akegalj@23-132.dsl.iskon.hr) (Quit: leaving)
19:34:21 merijn joins (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
19:34:45 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
19:36:24 × bahamas quits (~lucian@84.232.140.158) (Ping timeout: 248 seconds)
19:37:23 × axeman quits (~quassel@2a02:8109:a380:78:c8da:9dc6:9792:51c3) (Quit: No Ping reply in 180 seconds.)
19:38:38 axeman joins (~quassel@2a02:8109:a380:78:b7c1:3e0f:fd2d:484)
19:38:52 × yauhsien quits (~yauhsien@61-231-57-22.dynamic-ip.hinet.net) (Remote host closed the connection)
19:39:24 yauhsien joins (~yauhsien@61-231-57-22.dynamic-ip.hinet.net)
19:42:42 × alp__ quits (~alp@user/alp) (Ping timeout: 260 seconds)
19:43:33 × anomal quits (~anomal@87.227.196.109) (Remote host closed the connection)
19:43:53 anomal joins (~anomal@87.227.196.109)
19:44:47 × yauhsien quits (~yauhsien@61-231-57-22.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
19:51:50 Midjak joins (~Midjak@82.66.147.146)
19:52:07 × axeman quits (~quassel@2a02:8109:a380:78:b7c1:3e0f:fd2d:484) (Ping timeout: 240 seconds)
19:54:03 × raym quits (~raym@user/raym) (Ping timeout: 246 seconds)
19:54:57 raym joins (~raym@user/raym)
19:55:38 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:af05:7994:32e5:1bd2) (Quit: WeeChat 2.8)
19:58:10 × _ht quits (~quassel@231-169-21-31.ftth.glasoperator.nl) (Remote host closed the connection)
20:00:02 epolanski joins (uid312403@id-312403.helmsley.irccloud.com)
20:03:06 son0p joins (~ff@181.136.122.143)
20:04:45 × anomal quits (~anomal@87.227.196.109) (Remote host closed the connection)
20:05:04 anomal joins (~anomal@87.227.196.109)
20:05:55 × lavaman quits (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Ping timeout: 256 seconds)
20:07:25 × dextaa quits (~dextaa@user/dextaa) (Remote host closed the connection)
20:07:58 <HensonAway> /quit
20:08:01 × HensonAway quits (~kvirc@107-179-133-201.cpe.teksavvy.com) (Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/)
20:08:24 × merijn quits (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 248 seconds)
20:11:32 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Quit: ChaiTRex)
20:12:01 ChaiTRex joins (~ChaiTRex@user/chaitrex)
20:15:42 <shapr> yay blog post on calling SMT solvers in Haskell https://shapr.github.io/posts/2022-04-11-smt-solvers-part-three.html
20:15:55 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Client Quit)
20:16:07 × mikoto-chan quits (~mikoto-ch@213.177.151.239) (Ping timeout: 256 seconds)
20:17:53 mikoto-chan joins (~mikoto-ch@213.177.151.239)
20:23:08 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
20:24:20 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 250 seconds)
20:24:45 × ccntrq quits (~Thunderbi@2a01:e34:eccb:b060:63fb:4f44:a784:526) (Remote host closed the connection)
20:25:54 Lord_of_Life_ is now known as Lord_of_Life
20:27:33 <dmj`> nice, sbv is cool. The z3 backend is nice too
20:27:39 × redb quits (~nmh@136.49.49.211) (Ping timeout: 246 seconds)
20:27:54 gehmehgeh joins (~user@user/gehmehgeh)
20:29:12 slack1256 joins (~slack1256@186.11.41.244)
20:31:25 × slac53263 quits (~slack1256@191.126.99.201) (Ping timeout: 256 seconds)
20:34:44 alp__ joins (~alp@user/alp)
20:36:33 littlebobeep joins (~alMalsamo@gateway/tor-sasl/almalsamo)
20:42:47 × seydar quits (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 240 seconds)
20:42:52 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Read error: Connection reset by peer)
20:45:25 × Midjak quits (~Midjak@82.66.147.146) (Quit: This computer has gone to sleep)
20:48:55 seydar joins (~seydar@154-27-113-252.starry-inc.net)
20:48:56 Midjak joins (~Midjak@82.66.147.146)
20:48:59 redb joins (~nmh@136.49.49.211)
20:49:24 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
20:51:04 × raehik1 quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 248 seconds)
20:51:09 × ubert quits (~Thunderbi@p200300ecdf1588e22aca51cd048e2ffe.dip0.t-ipconnect.de) (Remote host closed the connection)
20:52:25 sloorush joins (~sloorush@2401:4900:4dd6:a45b:a43f:2865:3883:396a)
20:53:33 × seydar quits (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 246 seconds)
20:54:14 × z0k quits (~z0k@39.40.122.185) (Ping timeout: 250 seconds)
20:54:34 ChaiTRex joins (~ChaiTRex@user/chaitrex)
20:59:31 seydar joins (~seydar@154-27-113-252.starry-inc.net)
21:00:12 Pickchea joins (~private@user/pickchea)
21:02:44 justsomeguy joins (~justsomeg@user/justsomeguy)
21:04:12 notzmv joins (~zmv@user/notzmv)
21:04:17 × seydar quits (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 256 seconds)
21:05:11 × fendor_ quits (~fendor@91.141.45.157.wireless.dyn.drei.com) (Remote host closed the connection)
21:09:15 seydar joins (~seydar@154-27-113-252.starry-inc.net)
21:09:18 × anomal quits (~anomal@87.227.196.109) (Remote host closed the connection)
21:09:37 anomal joins (~anomal@87.227.196.109)
21:14:00 × seydar quits (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 248 seconds)
21:14:44 acidjnk_new joins (~acidjnk@p200300d0c722df6551746e639bede6b3.dip0.t-ipconnect.de)
21:17:47 × acidjnk quits (~acidjnk@p200300d0c7049f336039e1baac7dfab4.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
21:18:36 lavaman joins (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
21:19:25 seydar joins (~seydar@154-27-113-252.starry-inc.net)
21:24:21 kenran joins (~kenran@200116b82b941e00e4d4a50fd3a17d60.dip.versatel-1u1.de)
21:24:22 × seydar quits (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 272 seconds)
21:27:29 × Midjak quits (~Midjak@82.66.147.146) (Quit: This computer has gone to sleep)
21:28:12 × machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 246 seconds)
21:29:57 seydar joins (~seydar@154-27-113-252.starry-inc.net)
21:31:49 × acidjnk_new quits (~acidjnk@p200300d0c722df6551746e639bede6b3.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
21:33:26 × geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
21:33:49 × erisco quits (~erisco@d24-57-249-233.home.cgocable.net) (Quit: ZNC 1.8.2+cygwin2 - https://znc.in)
21:34:37 erisco joins (~erisco@d24-57-249-233.home.cgocable.net)
21:34:48 × seydar quits (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 248 seconds)
21:35:06 seydar joins (~seydar@154-27-113-252.starry-inc.net)
21:35:16 geekosaur joins (~geekosaur@xmonad/geekosaur)
21:42:53 × kenran quits (~kenran@200116b82b941e00e4d4a50fd3a17d60.dip.versatel-1u1.de) (Quit: WeeChat info:version)
21:44:18 × sloorush quits (~sloorush@2401:4900:4dd6:a45b:a43f:2865:3883:396a) (Ping timeout: 250 seconds)
21:46:31 × mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection)
21:46:51 mc47 joins (~mc47@xmonad/TheMC47)
21:49:36 × justsomeguy quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.4)
21:49:50 Unicorn_Princess joins (~Unicorn_P@93-103-228-248.dynamic.t-2.net)
21:50:31 × mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection)
21:50:51 mc47 joins (~mc47@xmonad/TheMC47)
21:52:26 × mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection)
21:52:37 raehik1 joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
21:53:22 mc47 joins (~mc47@xmonad/TheMC47)
21:57:00 yauhsien joins (~yauhsien@61-231-36-20.dynamic-ip.hinet.net)
21:57:50 × dhouthoo quits (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.5)
21:58:34 × lavaman quits (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Ping timeout: 272 seconds)
22:01:31 × yauhsien quits (~yauhsien@61-231-36-20.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
22:03:50 sloorush joins (~sloorush@2401:4900:2346:16f0:2ddf:524c:16d9:9ed2)
22:03:52 × sloorush quits (~sloorush@2401:4900:2346:16f0:2ddf:524c:16d9:9ed2) (Client Quit)
22:04:54 × juri_ quits (~juri@178.63.35.222) (Ping timeout: 272 seconds)
22:05:02 merijn joins (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl)
22:07:15 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds)
22:09:48 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 240 seconds)
22:10:28 × goepsilongo quits (~chacho@2603-7000-ab00-62ed-0000-0000-0000-0bd0.res6.spectrum.com) (Quit: Konversation terminated!)
22:12:13 machinedgod joins (~machinedg@24.105.81.50)
22:19:10 × slack1256 quits (~slack1256@186.11.41.244) (Ping timeout: 250 seconds)
22:21:38 × sagax quits (~sagax_nb@user/sagax) (Quit: Konversation terminated!)
22:23:04 kimjetwav joins (~user@2607:fea8:2363:8f00:db41:6ba5:4d54:8708)
22:25:36 lavaman joins (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
22:26:12 × michalz quits (~michalz@185.246.204.107) (Remote host closed the connection)
22:31:02 juri_ joins (~juri@178.63.35.222)
22:33:06 eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
22:33:47 × xaotuk quits (~sasha@cable-178-148-235-107.dynamic.sbb.rs) (Quit: xaotuk)
22:37:22 × eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 250 seconds)
22:38:05 × whatsupdoc quits (uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
22:39:44 × merijn quits (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 272 seconds)
22:40:09 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
22:42:46 goepsilongo joins (~chacho@2603-7000-ab00-62ed-0000-0000-0000-0bd0.res6.spectrum.com)
22:44:51 × Pickchea quits (~private@user/pickchea) (Ping timeout: 246 seconds)
22:56:00 × lavaman quits (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net) (Ping timeout: 250 seconds)
23:00:15 mud joins (~mud@user/kadoban)
23:04:52 vicfred joins (~vicfred@user/vicfred)
23:05:52 × anomal quits (~anomal@87.227.196.109) (Remote host closed the connection)
23:06:59 lavaman joins (~lavaman@c-174-63-118-52.hsd1.ma.comcast.net)
23:08:40 × fjmorazan quits (~quassel@user/fjmorazan) (Quit: fjmorazan)
23:08:54 fjmorazan joins (~quassel@user/fjmorazan)
23:08:57 × seydar quits (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 256 seconds)
23:13:25 × fjmorazan quits (~quassel@user/fjmorazan) (Client Quit)
23:13:56 fjmorazan joins (~quassel@user/fjmorazan)
23:14:26 seydar joins (~seydar@154-27-113-252.starry-inc.net)
23:18:48 × seydar quits (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 246 seconds)
23:26:01 × Nahra quits (~user@static.161.95.99.88.clients.your-server.de) (Remote host closed the connection)
23:27:16 × epolanski quits (uid312403@id-312403.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
23:33:49 × greyrat_ quits (~greyrat@ip202.ip-51-178-215.eu) (Ping timeout: 240 seconds)
23:36:37 × kaph quits (~kaph@dynamic-adsl-78-12-162-98.clienti.tiscali.it) (Read error: Connection reset by peer)
23:39:01 seydar joins (~seydar@154-27-113-252.starry-inc.net)
23:39:19 × gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving)
23:41:10 × machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 272 seconds)
23:43:21 × alp__ quits (~alp@user/alp) (Ping timeout: 248 seconds)
23:43:27 × seydar quits (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 240 seconds)
23:45:58 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
23:45:58 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
23:45:59 finn_elija is now known as FinnElija
23:49:11 seydar joins (~seydar@154-27-113-252.starry-inc.net)
23:52:28 chenqisu1 joins (~chenqisu1@183.217.200.38)
23:53:38 × seydar quits (~seydar@154-27-113-252.starry-inc.net) (Ping timeout: 250 seconds)
23:54:42 <dons> morning all
23:55:07 <dons> nice one shapr
23:55:18 <shapr> yay!
23:57:41 × mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 256 seconds)
23:58:07 <geekosaur> o/
23:59:28 mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475)

All times are in UTC on 2022-04-12.