Home liberachat/#haskell: Logs Calendar

Logs on 2024-04-07 (liberachat/#haskell)

00:00:02 mhatta joins (~mhatta@www21123ui.sakura.ne.jp)
00:08:16 × peterbecich quits (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 268 seconds)
00:48:28 peterbecich joins (~Thunderbi@047-229-123-186.res.spectrum.com)
00:58:31 tri joins (~tri@ool-18bc2e74.dyn.optonline.net)
00:59:16 × waleee quits (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 260 seconds)
01:02:41 × tri quits (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 252 seconds)
01:03:43 × Raito_Bezarius quits (~Raito@wireguard/tunneler/raito-bezarius) (Ping timeout: 260 seconds)
01:09:21 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
01:12:20 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Client Quit)
01:16:45 saftl`` joins (~user@p200300f91740f5006069ab261fee2afc.dip0.t-ipconnect.de)
01:18:11 Raito_Bezarius joins (~Raito@wireguard/tunneler/raito-bezarius)
01:18:18 × saftl quits (~user@p200300f9173af1001d6b7e3ec038aab9.dip0.t-ipconnect.de) (Ping timeout: 255 seconds)
01:21:45 × saftl`` quits (~user@p200300f91740f5006069ab261fee2afc.dip0.t-ipconnect.de) (Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.1))
01:25:08 × Tuplanolla quits (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
01:35:29 sadie_ joins (~sadie@c-76-155-235-153.hsd1.co.comcast.net)
01:40:48 × Raito_Bezarius quits (~Raito@wireguard/tunneler/raito-bezarius) (Ping timeout: 255 seconds)
01:51:05 poscat0x04 joins (~poscat@user/poscat)
01:52:11 × poscat quits (~poscat@user/poscat) (Ping timeout: 252 seconds)
01:55:25 Raito_Bezarius joins (~Raito@wireguard/tunneler/raito-bezarius)
01:56:59 × otto_s quits (~user@p4ff27a75.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
01:58:08 otto_s joins (~user@p4ff27276.dip0.t-ipconnect.de)
02:05:03 × op_4 quits (~tslil@user/op-4/x-9116473) (Remote host closed the connection)
02:05:32 op_4 joins (~tslil@user/op-4/x-9116473)
02:11:38 tri joins (~tri@ool-18bc2e74.dyn.optonline.net)
02:16:13 × tri quits (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 268 seconds)
02:16:58 tri joins (~tri@ool-18bc2e74.dyn.optonline.net)
02:27:25 × masterbuilder quits (~quassel@user/masterbuilder) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
02:29:10 × zetef quits (~quassel@5.2.182.99) (Ping timeout: 268 seconds)
02:30:41 × peterbecich quits (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 272 seconds)
02:32:17 tri_ joins (~tri@ool-18bc2e74.dyn.optonline.net)
02:32:17 × tri quits (~tri@ool-18bc2e74.dyn.optonline.net) (Read error: Connection reset by peer)
02:33:14 × mei quits (~mei@user/mei) (Remote host closed the connection)
02:35:40 mei joins (~mei@user/mei)
02:42:43 × terrorjack quits (~terrorjac@2a01:4f8:c17:87f8::) (Quit: The Lounge - https://thelounge.chat)
02:46:07 terrorjack joins (~terrorjac@2a01:4f8:c17:87f8::)
02:55:00 igemnace joins (~ian@user/igemnace)
02:56:01 × td_ quits (~td@i53870929.versanet.de) (Ping timeout: 272 seconds)
02:56:35 xdminsy joins (~xdminsy@117.147.70.203)
02:57:11 td_ joins (~td@i53870921.versanet.de)
03:06:56 × tri_ quits (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection)
03:07:28 tri joins (~tri@ool-18bc2e74.dyn.optonline.net)
03:22:22 × igemnace quits (~ian@user/igemnace) (Quit: WeeChat 4.2.1)
03:22:25 × tri quits (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection)
03:22:37 tri joins (~tri@ool-18bc2e74.dyn.optonline.net)
03:24:23 aforemny joins (~aforemny@2001:9e8:6cf1:9700:d84c:da2d:5fb6:63cf)
03:25:48 × aforemny_ quits (~aforemny@2001:9e8:6ccc:cd00:83d5:fd83:d24c:2c05) (Ping timeout: 260 seconds)
03:47:08 lisbeths joins (uid135845@id-135845.lymington.irccloud.com)
04:09:55 travgm joins (~travgm@fsf/member/travgm)
04:25:17 × byte quits (~byte@149.28.222.189) (Ping timeout: 240 seconds)
04:25:36 byte joins (~byte@149.28.222.189)
04:25:41 × snek quits (sid280155@id-280155.lymington.irccloud.com) (Ping timeout: 240 seconds)
04:25:41 × tritlo_ quits (sid58727@id-58727.hampstead.irccloud.com) (Ping timeout: 240 seconds)
04:25:41 × diagprov quits (sid348783@user/diagprov) (Ping timeout: 240 seconds)
04:25:52 tritlo_ joins (sid58727@id-58727.hampstead.irccloud.com)
04:26:05 × scav quits (sid309693@user/scav) (Ping timeout: 240 seconds)
04:26:05 × integral quits (sid296274@user/integral) (Ping timeout: 240 seconds)
04:26:43 scav joins (sid309693@user/scav)
04:27:33 integral joins (sid296274@user/integral)
04:28:19 snek joins (sid280155@id-280155.lymington.irccloud.com)
04:28:22 diagprov joins (sid348783@user/diagprov)
04:30:29 × mei quits (~mei@user/mei) (Remote host closed the connection)
04:32:55 mei joins (~mei@user/mei)
04:52:06 × n8n quits (~n8n@user/n8n) (Quit: WeeChat 4.2.1)
05:09:30 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 268 seconds)
05:11:09 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
05:30:14 takuan joins (~takuan@178-116-218-225.access.telenet.be)
05:43:34 qqq joins (~qqq@92.43.167.61)
05:59:01 _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
05:59:24 ec__ joins (~ec@gateway/tor-sasl/ec)
06:00:05 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 240 seconds)
06:01:06 × ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 260 seconds)
06:01:29 × gentauro quits (~gentauro@user/gentauro) (Read error: Connection reset by peer)
06:02:27 × tri quits (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection)
06:07:26 gentauro joins (~gentauro@user/gentauro)
06:27:24 euphores joins (~SASL_euph@user/euphores)
06:34:35 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
06:35:12 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
06:39:59 ubert1 joins (~Thunderbi@p200300ecdf39571b9c90c5889e4dd262.dip0.t-ipconnect.de)
06:40:52 × ubert quits (~Thunderbi@p200300ecdf395731c4a2a707ba473843.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
06:40:52 ubert1 is now known as ubert
06:46:40 × lisbeths quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
06:47:06 × tzh quits (~tzh@c-73-164-206-160.hsd1.or.comcast.net) (Quit: zzz)
06:54:16 × bliminse quits (~bliminse@user/bliminse) (Quit: leaving)
06:54:27 vnogueira_ joins (~vnogueira@user/vnogueira)
06:55:42 × ec__ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 260 seconds)
06:57:14 bliminse joins (~bliminse@user/bliminse)
06:57:34 × vnogueira quits (~vnogueira@user/vnogueira) (Ping timeout: 260 seconds)
07:00:07 × tt12310 quits (~tt1231@2603-6010-8700-4a81-219f-50d3-618a-a6ee.res6.spectrum.com) (Quit: The Lounge - https://thelounge.chat)
07:00:21 × jle` quits (~jle`@2603-8001-3b02-84d4-fc90-a9ba-a756-93bd.res6.spectrum.com) (Quit: WeeChat 4.2.1)
07:02:39 tt12310 joins (~tt1231@2603-6010-8700-4a81-219f-50d3-618a-a6ee.res6.spectrum.com)
07:10:56 × nek0 quits (~nek0@user/nek0) (Quit: The Lounge - https://thelounge.chat)
07:13:12 michalz joins (~michalz@185.246.207.222)
07:13:40 yeitrafferin joins (~user@2a04:4540:7210:ce00:a5f0:fa46:a764:974e)
07:22:25 Square2 joins (~Square@user/square)
07:25:32 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
07:35:22 acidjnk_new joins (~acidjnk@p5dd87bdf.dip0.t-ipconnect.de)
07:38:31 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds)
07:39:48 euleritian joins (~euleritia@dynamic-176-006-184-177.176.6.pool.telefonica.de)
07:41:43 × philopsos quits (~caecilius@user/philopsos) (Ping timeout: 255 seconds)
07:44:05 jle` joins (~jle`@2603-8001-3b02-84d4-6afd-70f5-ecb9-5dde.res6.spectrum.com)
07:47:10 fireking04 joins (~fireking0@112.206.74.47)
07:48:46 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
07:51:52 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
07:53:39 nek0 joins (~nek0@2a01:4f8:222:2b41::12)
07:53:39 × nek0 quits (~nek0@2a01:4f8:222:2b41::12) (Changing host)
07:53:39 nek0 joins (~nek0@user/nek0)
08:06:11 × jorj quits (~jorj@user/jorj) (Quit: jorj)
08:17:01 simendsjo joins (~user@84.209.170.3)
08:18:36 zetef joins (~quassel@5.2.182.99)
08:29:49 × sadie_ quits (~sadie@c-76-155-235-153.hsd1.co.comcast.net) (Remote host closed the connection)
08:32:07 × arthurvl quits (~arthurvl@2a02-a469-f5e2-1-83d2-ca43-57a2-dc81.fixed6.kpn.net) (Quit: ein reboot macht gut)
08:34:15 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
08:42:15 × Cale quits (~cale@2607:fea8:995f:f126:15c3:35a5:81ac:187c) (Ping timeout: 256 seconds)
08:43:48 × euleritian quits (~euleritia@dynamic-176-006-184-177.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
08:44:07 euleritian joins (~euleritia@77.22.252.56)
08:51:03 tititest joins (~tititest@ip-037-201-154-121.um10.pools.vodafone-ip.de)
08:51:44 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
08:53:23 oo_miguel joins (~Thunderbi@78-11-181-16.static.ip.netia.com.pl)
08:54:04 Cale joins (~cale@2607:fea8:995f:f126:15c3:35a5:81ac:187c)
08:54:33 × fireking04 quits (~fireking0@112.206.74.47) (Quit: Leaving)
08:56:06 × euleritian quits (~euleritia@77.22.252.56) (Read error: Connection reset by peer)
08:57:17 <mesaoptimizer> What is the next book you'd recommend after Graham Hutton's textbook?
08:59:58 <mesaoptimizer> I don't have a concrete goal right now -- I'm mostly exploring Haskell and its concepts and find it fun. I also find myself not really using Haskell to write any useful programs, although I do intend to experiment with using a static-site-generator like hakyll soon
09:00:55 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
09:02:02 <tomsmeding> use it :p
09:02:34 <tomsmeding> a good way to better understand the ideas is to use them yourself to build programs
09:02:48 <tomsmeding> the programs don't need to be useful per se ;)
09:02:59 × Square2 quits (~Square@user/square) (Ping timeout: 264 seconds)
09:03:41 × simendsjo quits (~user@84.209.170.3) (Ping timeout: 240 seconds)
09:05:11 <tomsmeding> depending on what you're interested in, ideas could be: a small calculator (which you can extend to a small programming language -- this one allows sticking in a whole bunch of fancy haskell if you want to), Project Euler like things, Advent of Code like things (can get a bit messy, because the problems sometimes are)
09:05:39 int-e is looking up guides on leaving a cult (sorry, maybe a bit too dark for Sunday)
09:06:07 <int-e> But there are books on this. :-P
09:06:54 <tomsmeding> mesaoptimizer: unless you think you like wrangling with effective separation of IO and non-IO code, I don't recommend IO-heavy programs like web scrapers, games, TODO apps, etc. (the standard list of "small things to build" for imperative languages)
09:07:36 <tomsmeding> there are certainly books on this but I posit that you should do _something_ with what you read if you want to truly understand what you've just read :)
09:09:17 <mesaoptimizer> tomsmeding: that's useful. I guess I might take a look at hasktorch and mess around with it. For context, jax (the python deep learning library) is what got me enthusiastic about Haskell.
09:09:53 gmg joins (~user@user/gehmehgeh)
09:10:31 <tomsmeding> that's a big library :)
09:12:19 <tomsmeding> ah there is a tutorial
09:12:24 CiaoSen joins (~Jura@2a05:5800:298:af00:e6b9:7aff:fe80:3d03)
09:16:59 × CiaoSen quits (~Jura@2a05:5800:298:af00:e6b9:7aff:fe80:3d03) (Ping timeout: 260 seconds)
09:24:02 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
09:32:31 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
09:33:27 arthurvl joins (~arthurvl@2a02-a469-f5e2-1-83d2-ca43-57a2-dc81.fixed6.kpn.net)
09:33:44 sawilagar joins (~sawilagar@user/sawilagar)
09:35:51 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
09:37:16 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds)
09:38:06 euleritian joins (~euleritia@dynamic-176-006-184-177.176.6.pool.telefonica.de)
09:39:41 Luj joins (~Luj@2a01:e0a:5f9:9681:e6d6:c9c5:5502:ad12)
09:40:56 × euleritian quits (~euleritia@dynamic-176-006-184-177.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
09:41:13 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
09:48:55 Square2 joins (~Square@user/square)
09:57:18 × coldtom quits (~coldtom@coldrick.cc) (Quit: Ping timeout (120 seconds))
09:57:33 coldtom joins (~coldtom@coldrick.cc)
09:58:29 × Square2 quits (~Square@user/square) (Ping timeout: 240 seconds)
09:59:36 × econo_ quits (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity)
10:11:42 × yeitrafferin quits (~user@2a04:4540:7210:ce00:a5f0:fa46:a764:974e) (Quit: Leaving)
10:11:49 noumenon joins (~noumenon@113.51-175-156.customer.lyse.net)
10:15:19 sanpo joins (~sanpo@user/sanpo)
10:17:27 <Inst> ugh, given a random generator
10:18:29 <Inst> how do you, in pointfree or semi point free style, convert it to a list of items generated from the generator?
10:22:25 <ncf> what's a random generator
10:22:58 <Rembane> Inst: Do you have an example with the points?
10:24:22 <Inst> import Control.Arrow ((***), first, second)
10:24:22 <Inst>
10:24:22 <Inst> genRange :: IO [Int]
10:24:22 <Inst> genRange = do
10:24:22 <Inst> initial <- first pure . uniformR (1,20) <$> newStdGen
10:24:24 <Inst>
10:24:26 <Inst> pure . take 30 . fst $ iterate (uniformR (1,20) =<< )) initial
10:24:29 <Inst> ugh, should have pastebinned it, too large
10:24:57 <Inst> i'd rather do it without arrows if possible
10:27:58 <Rembane> You can use first and second from BiFunctor instead.
10:31:53 <Rembane> Inst: I think basing your code in the example here should make it a bit more straightforward: https://hackage.haskell.org/package/random-1.2.1.2/docs/System-Random.html#g:2
10:32:27 <zfnmxt> I've always wondered why it's `Bifunctor` and not `BiFunctor`. I make that capitalization mistake every time I import it.
10:32:34 <ncf> this is just replicateM 30 in a state monad
10:32:47 <Rembane> zfnmxt: Then we're at least two. :)
10:32:50 <ncf> zfnmxt: because it's bifunctor and not biFunctor?
10:33:10 <ncf> do you write BiCycle
10:33:49 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
10:34:19 <zfnmxt> ncf: You have a point there. And I might write "BiCycle" if the thing I usually have is a Cycle and a BiCycle is somehow a derivative of it where the Bi prefix makes sense.
10:34:40 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 260 seconds)
10:35:26 <zfnmxt> For bifunctor I see the "bi" as a prefix modifier and so in my brain it makes sense to distinguish it from "functor" by capitalizing the "F". But your argument makes sense too.
10:36:45 Lord_of_Life_ is now known as Lord_of_Life
10:39:02 <Inst> oh doip :(
10:39:07 <Inst> the unfoldr solution is best
10:42:02 <Inst> grrr, ugh
10:42:14 <Inst> i feel like it's cheating to just get out to unfoldr
10:43:01 <Rembane> Inst: How does it feel like cheating?
10:45:58 <Inst> i'm just copy pasting from the manual
10:46:07 <Inst> genRange :: IO [Int]
10:46:07 <Inst> genRange = do initial <- uniformR (1,20 :: Int) <$> newStdGen
10:46:07 <Inst> pure . fmap fst . take 30 $ iterate ( uniformR (1,20 :: Int) . snd ) initial
10:46:59 × xdminsy quits (~xdminsy@117.147.70.203) (Read error: Connection reset by peer)
10:47:10 <Inst> there, this verrsion has no dependencies other than System.Random
10:48:00 Tuplanolla joins (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi)
10:48:02 <ncf> why is that a goal
10:49:43 xdminsy joins (~xdminsy@117.147.70.203)
10:50:02 <Inst> quick and dirty test-writing... which should be handled by Quickcheck, tbh
10:52:06 <Inst> genRange = fmap fst . iterate ( uniformR (1,20 :: Int) . snd ). uniformR (1,20 :: Int) <$> newStdGen
10:52:15 <Inst> this works, but i want to get the doubled uniformR out :(
10:52:57 <Inst> which, incidentally, is the entire point of unfoldr :(
10:56:11 <ncf> i would really just move to a stateful monad and use replicateM
10:56:44 <ncf> see the second code snippet in that page
10:57:24 <ncf> or you know, use randomRs
10:57:29 <ncf> https://hackage.haskell.org/package/random-1.2.1.2/docs/System-Random.html#v:randomRs
11:00:50 × mrmr155334 quits (~mrmr@user/mrmr) (Quit: Bye, See ya later!)
11:10:29 <Inst> randomRs is depreciated
11:11:52 <ncf> is it?
11:14:58 <tomsmeding> > Random [ed. the class] exists primarily for backwards compatibility with version 1.1 of this library.
11:16:10 <tomsmeding> a bit strange that they didn't provide a full set of replacement functions using Uniform (although the missing ones are easily written)
11:16:19 mrmr155334 joins (~mrmr@user/mrmr)
11:19:08 × son0p quits (~ff@191.104.17.254) (Quit: Leaving)
11:20:22 × xff0x quits (~xff0x@2405:6580:b080:900:2bd3:fa41:7b29:56d9) (Ping timeout: 246 seconds)
11:20:29 <Inst> no one parallelized quickcheck yet?
11:20:36 <Inst> I'm testing my mergesort and I think it's space leaking :(
11:20:45 <tomsmeding> check out hedgehog
11:21:16 xff0x joins (~xff0x@2405:6580:b080:900:a090:2214:6013:5d1f)
11:21:58 <ski> genRange = take 30 . unfoldr (Just . uniformR (1,20)) <$> newStdGen
11:22:48 billchenchina- joins (~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe)
11:22:52 <mesaoptimizer> "I don’t feel the weight of the world. Because it does not weigh on me." https://www.greaterwrong.com/posts/ur9TCRnHJighHmLCW/on-caring#comment-ZsMLu8JqAiTrATCaL
11:23:15 yeitrafferin joins (~user@2a04:4540:7210:ce00:a5f0:fa46:a764:974e)
11:23:28 <mesaoptimizer> oh jeez, wrong channel sorry guys
11:23:36 <Inst> which is the right channel? :)
11:24:04 <Inst> Oh, it's just a lesswrong mirror, not a splinter
11:24:25 <mesaoptimizer> yeah, an alternative front-end
11:27:21 <Inst> btw anyone have any idea why it spaceleaks?
11:27:29 <Inst> of course this isn't as efficient as Data.List.sort
11:27:31 <Inst> https://paste.tomsmeding.com/kCrIz5tQ
11:27:41 <ski> Inst : `unfoldr' like above ?
11:28:12 <tomsmeding> Inst: can you substantiate "space leak"?
11:28:27 <Inst> well, i have no idea why it's so unperformant
11:28:30 <ski> strictness annotations on base cases of `merge' are redundant
11:28:50 <Inst> and they don't really work for list because you just get exposure (usually) of the constructor
11:29:00 <Inst> thank you for recommending hedgehog
11:29:07 × travgm quits (~travgm@fsf/member/travgm) (Remote host closed the connection)
11:29:19 <Inst> i'm getting into testing more professionally, since I'm trying to pick up Julia and make friends with Julia, and you know what their language is notorious for
11:29:20 <tomsmeding> Inst: why is 'merge' calling mergesort on its arguments at each step of the 'merge' recursion
11:30:13 <tomsmeding> tip: use view patterns less :p
11:30:47 <Inst> because i wanted comedy mutual recursion
11:31:04 <Inst> i've been trolling them by pretending that their terse function notation foo(x,y) indicates pure
11:31:19 <Inst> then i wrote out everything as a single expression using let
11:31:39 <Inst> and screwed over their syntax to force a Haskell-like evaluation, which was, of course, utterly unreadable
11:31:43 <Inst> they didn't bite :(
11:31:46 <Inst> wanna see?
11:32:49 <tomsmeding> Inst: https://paste.tomsmeding.com/DeYSb30M
11:32:53 <ski> Inst : you're repeatedly sorting the tails in `merge', uselessly
11:33:08 <Inst> ah, thanks
11:33:22 <tomsmeding> (that's what I was trying to say as well, but less explicitly so that you could figure it out yourself :p)
11:33:30 <ski> (sorting them when they're already sorted, apart from the initial recursive `mergesort' calls, from `merge')
11:33:36 <Inst> ummm, i did that, with single recursion
11:34:43 <tomsmeding> the more interesting question is, what was the complexity of the original algorithm
11:34:54 <Inst> probably O(n^2)?
11:34:58 <tomsmeding> far more I think
11:36:09 <Inst> wait, are there any real ways to get O(k^n)?
11:36:10 × xdminsy quits (~xdminsy@117.147.70.203) (Ping timeout: 255 seconds)
11:36:59 xdminsy joins (~xdminsy@117.147.70.203)
11:37:23 <Inst> whoops, i mean O(n^n)
11:37:29 <tomsmeding> think about that one yourself for a while :)
11:39:14 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 268 seconds)
11:42:39 × xff0x quits (~xff0x@2405:6580:b080:900:a090:2214:6013:5d1f) (Quit: xff0x)
11:42:51 euleritian joins (~euleritia@dynamic-176-006-184-177.176.6.pool.telefonica.de)
11:43:40 × euleritian quits (~euleritia@dynamic-176-006-184-177.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
11:43:57 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
11:44:50 <darkling> A clue for that: you may be interested in Stirling's approximation.
11:45:43 xff0x joins (~xff0x@2405:6580:b080:900:bb82:210b:4257:7a0f)
11:48:53 × xdminsy quits (~xdminsy@117.147.70.203) (Ping timeout: 240 seconds)
11:48:57 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
11:49:16 xdminsy joins (~xdminsy@117.147.70.203)
11:50:47 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
12:05:47 <Inst> yeah, i looked it up, DFS is O(n^n)
12:06:13 <Inst> btw, quick question, this wouldn't turn on multicore on ghci, right?
12:06:15 <Inst> ghci -package hedgehog -threaded +RTS -N
12:06:32 <tomsmeding> have you tried?
12:06:58 <tomsmeding> I can't figure the math out for the complexity of Inst's original code, and I can't figure out a fit of the timing data either :p
12:07:37 <tomsmeding> oh I can
12:10:47 <tomsmeding> the fit is not perfect but I'll accept it as decent
12:10:58 <tomsmeding> a * n^2 + b * exp(sqrt(n))
12:17:23 <tomsmeding> https://tomsmeding.com/vang/5TxoyR/inst-plot.png
12:17:25 <tomsmeding> without the n^2 term
12:18:40 son0p joins (~ff@191.104.17.254)
12:20:29 × ubert quits (~Thunderbi@p200300ecdf39571b9c90c5889e4dd262.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
12:22:28 × acidjnk_new quits (~acidjnk@p5dd87bdf.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
12:24:07 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 272 seconds)
12:25:09 euleritian joins (~euleritia@dynamic-176-006-184-177.176.6.pool.telefonica.de)
12:40:33 × euleritian quits (~euleritia@dynamic-176-006-184-177.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
12:42:31 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
13:12:18 dbaoty joins (~dbaoty@tptn-04-0838.dsl.iowatelecom.net)
13:17:14 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
13:21:37 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 256 seconds)
13:21:58 euleritian joins (~euleritia@dynamic-176-006-184-177.176.6.pool.telefonica.de)
13:29:39 todi joins (~todi@p57803331.dip0.t-ipconnect.de)
13:39:08 × euleritian quits (~euleritia@dynamic-176-006-184-177.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
13:39:25 euleritian joins (~euleritia@77.22.252.56)
13:40:09 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
13:45:15 × eugenrh_ quits (~eugenrh@2a01:4f9:c011:265::1) (Changing host)
13:45:15 eugenrh_ joins (~eugenrh@user/eugenrh)
13:45:30 × eugenrh_ quits (~eugenrh@user/eugenrh) (Quit: WeeChat 3.7.1)
13:49:38 waleee joins (~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
13:50:45 eugenrh joins (~eugenrh@user/eugenrh)
13:54:22 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
14:05:33 × zetef quits (~quassel@5.2.182.99) (Remote host closed the connection)
14:17:07 × michalz quits (~michalz@185.246.207.222) (Ping timeout: 246 seconds)
14:17:48 ec_ joins (~ec@gateway/tor-sasl/ec)
14:22:10 __monty__ joins (~toonn@user/toonn)
14:25:28 <Inst> thanks :)
14:25:46 <Inst> i wonder if i should just memorize the Data.List.sort instead
14:26:04 <Inst> since that is a canonically good mergesort, no? Btu I'd assume it's limited to laziness
14:35:19 <ski> "limited to laziness" meaning ?
14:38:30 × jrm quits (~jrm@user/jrm) (Quit: ciao)
14:39:59 jrm joins (~jrm@user/jrm)
14:43:16 target_i joins (~target_i@user/target-i/x-6023099)
14:52:55 r5c4571lh01987 joins (~rscastilh@179.221.142.8)
14:54:54 michalz joins (~michalz@185.246.207.221)
15:01:01 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
15:14:20 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
15:16:18 × ddellacosta quits (~ddellacos@ool-44c73d29.dyn.optonline.net) (Ping timeout: 252 seconds)
15:19:53 × noumenon quits (~noumenon@113.51-175-156.customer.lyse.net) (Quit: Leaving)
15:21:14 poxel joins (~lennart@user/poxel)
15:24:06 × tititest quits (~tititest@ip-037-201-154-121.um10.pools.vodafone-ip.de) (Quit: Leaving.)
15:28:27 × paddymahoney quits (~paddymaho@99.250.26.190) (Ping timeout: 260 seconds)
15:30:35 × michalz quits (~michalz@185.246.207.221) (Ping timeout: 264 seconds)
15:31:16 ania123 joins (~ania123@94-43-231-47.dsl.utg.ge)
15:32:05 michalz joins (~michalz@185.246.207.201)
15:33:08 × ania123 quits (~ania123@94-43-231-47.dsl.utg.ge) (Client Quit)
15:36:24 paddymahoney joins (~paddymaho@99.250.26.190)
15:37:14 acidjnk_new joins (~acidjnk@p200300d6e714dc26d1056ca2ae8c08a8.dip0.t-ipconnect.de)
15:43:12 × euleritian quits (~euleritia@77.22.252.56) (Ping timeout: 255 seconds)
15:44:34 euleritian joins (~euleritia@dynamic-176-006-184-177.176.6.pool.telefonica.de)
15:48:48 × Raito_Bezarius quits (~Raito@wireguard/tunneler/raito-bezarius) (Read error: Connection reset by peer)
15:49:42 Raito_Bezarius joins (~Raito@wireguard/tunneler/raito-bezarius)
15:50:27 × Raito_Bezarius quits (~Raito@wireguard/tunneler/raito-bezarius) (Max SendQ exceeded)
15:51:17 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
15:51:27 Raito_Bezarius joins (~Raito@wireguard/tunneler/raito-bezarius)
15:55:21 × euleritian quits (~euleritia@dynamic-176-006-184-177.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
15:55:45 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
15:58:48 philopsos joins (~caecilius@user/philopsos)
16:03:28 machinedgod joins (~machinedg@d173-183-246-216.abhsia.telus.net)
16:04:17 tzh joins (~tzh@c-73-164-206-160.hsd1.or.comcast.net)
16:04:42 × todi quits (~todi@p57803331.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
16:09:08 ania123 joins (~ania123@94-43-231-47.dsl.utg.ge)
16:10:29 × machinedgod quits (~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 256 seconds)
16:28:07 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
16:29:13 × son0p quits (~ff@191.104.17.254) (Quit: Leaving)
16:33:35 <Inst> ski: that is to say, the good performance of Haskell mergesort assumes laziness
16:36:10 × qqq quits (~qqq@92.43.167.61) (Remote host closed the connection)
16:37:43 zetef joins (~quassel@5.2.182.99)
16:41:48 rvalue- joins (~rvalue@user/rvalue)
16:42:55 × rvalue quits (~rvalue@user/rvalue) (Ping timeout: 256 seconds)
16:45:52 rvalue- is now known as rvalue
16:49:52 <tomsmeding> I don't think it does
16:50:23 <tomsmeding> it's written in such a way that it can produce elements before the whole list has been sorted using laziness
16:50:31 <tomsmeding> but in a strict language the algorithm would work fine
16:56:26 son0p joins (~ff@191.104.17.254)
16:57:57 todi joins (~todi@p57803331.dip0.t-ipconnect.de)
16:59:04 × ania123 quits (~ania123@94-43-231-47.dsl.utg.ge) (Quit: Client closed)
16:59:34 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 260 seconds)
16:59:59 chexum joins (~quassel@gateway/tor-sasl/chexum)
17:02:22 × zetef quits (~quassel@5.2.182.99) (Remote host closed the connection)
17:04:01 hocrdoac^ joins (~cd@c-98-242-74-66.hsd1.ga.comcast.net)
17:08:04 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
17:11:07 × esph quits (~weechat@user/esph) (Ping timeout: 260 seconds)
17:22:46 tititest joins (~tititest@ip-037-201-154-121.um10.pools.vodafone-ip.de)
17:22:56 Square2 joins (~Square@user/square)
17:23:28 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
17:27:25 qqq joins (~qqq@92.43.167.61)
17:30:17 × Rembane quits (~Rembane@li346-36.members.linode.com) (Changing host)
17:30:17 Rembane joins (~Rembane@user/Rembane)
17:30:25 × billchenchina- quits (~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe) (Quit: Leaving)
17:32:21 sadie-sorceress joins (~sadie-sor@c-76-155-235-153.hsd1.co.comcast.net)
17:33:34 <dolio> Have you heard of Timsort? That is a bottom-up merge sort.
17:33:43 peterbecich joins (~Thunderbi@047-229-123-186.res.spectrum.com)
17:34:18 <dolio> Fancier than the one on on lists in GHC, but similar in strategy.
17:34:30 <dolio> It was originally written for Python.
17:35:53 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
17:37:37 × sanpo quits (~sanpo@user/sanpo) (Quit: Client closed)
17:39:14 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 260 seconds)
17:39:42 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
17:41:30 × sadie-sorceress quits (~sadie-sor@c-76-155-235-153.hsd1.co.comcast.net) (Quit: Client closed)
17:41:58 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
17:42:36 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
17:43:06 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
17:47:59 × euphores quits (~SASL_euph@user/euphores) (Quit: Leaving.)
17:53:59 esph joins (~weechat@user/esph)
18:00:31 × r5c4571lh01987 quits (~rscastilh@179.221.142.8) (Remote host closed the connection)
18:02:23 × peterbecich quits (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 264 seconds)
18:05:19 euphores joins (~SASL_euph@user/euphores)
18:08:45 r5c4571lh01987 joins (~rscastilh@179.221.142.8)
18:11:25 × yeitrafferin quits (~user@2a04:4540:7210:ce00:a5f0:fa46:a764:974e) (Quit: Leaving)
18:11:26 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
18:17:44 machinedgod joins (~machinedg@d173-183-246-216.abhsia.telus.net)
18:19:09 × xdminsy quits (~xdminsy@117.147.70.203) (Ping timeout: 268 seconds)
18:20:31 xdminsy joins (~xdminsy@117.147.70.203)
18:21:21 <c_wraith> the only real performance issue from Data.List.sort is that it... works on lists. but doing so does allow it to be lazy - generating a prefix of length k is O(n * log k)
18:22:18 akegalj joins (~akegalj@141-136-147-171.dsl.iskon.hr)
18:24:17 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
18:24:26 <sm> Inst: I hear you about typeclasses. If you haven't already, spending a bit of time with typeclassopedia is a good way to make friends with them
18:24:34 <int-e> O(n + k log n)
18:29:59 <Inst> I'm familiar with the standard typeclasses, slightly less familiar with Foldable / Traversable
18:30:52 × dtman34 quits (~dtman34@c-75-72-163-222.hsd1.mn.comcast.net) (Ping timeout: 268 seconds)
18:32:12 × xdminsy quits (~xdminsy@117.147.70.203) (Ping timeout: 256 seconds)
18:33:07 xdminsy joins (~xdminsy@117.147.70.203)
18:33:32 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
18:35:58 <Inst> mildly curious: did anyone try to solve namespacing in Haskell via list / vector abuse?
18:36:16 peterbecich joins (~Thunderbi@047-229-123-186.res.spectrum.com)
18:38:23 × xdminsy quits (~xdminsy@117.147.70.203) (Ping timeout: 264 seconds)
18:38:42 xdminsy joins (~xdminsy@117.147.70.203)
18:38:47 <int-e> please speak plainly
18:39:22 <Inst> stuff lambdas into vectors
18:40:08 <Inst> all of them have to be the same type, but it works fine for procedures which can all have a bind type of ()
18:40:23 <Inst> then the name of the vector is a namespace, of sorts
18:41:10 <Inst> you can pass data between them by having them share a TVar
18:42:49 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
18:43:58 <Inst> sorry, i'll probably stop annoying you folks for a while, I need to get my github working again
18:47:15 × xdminsy quits (~xdminsy@117.147.70.203) (Ping timeout: 255 seconds)
18:53:29 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
19:03:16 × hocrdoac^ quits (~cd@c-98-242-74-66.hsd1.ga.comcast.net) (Remote host closed the connection)
19:05:20 <monochrom> We already know stuffing lambdas into a record. Then they don't even have to be the same type.
19:07:11 <monochrom> BTW this is when one line of sample code (so a formula) is worth a thousand pictures, despite what all you detractors said yesterday.
19:07:54 <monochrom> "solve namespacing in Haskell via list / vector abuse" may look like only 8 words, but since no one understands it, it may as well be a million words.
19:08:11 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 272 seconds)
19:09:06 Sgeo joins (~Sgeo@user/sgeo)
19:09:19 <Inst> foo@[name1, name2, name3] = [fun1, fun2, fun3]
19:09:33 <Inst> module MyModule (foo) where...
19:09:53 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
19:10:27 <Inst> could set up some newtypes with custom getters and setters
19:11:06 × bionade24 quits (~quassel@2a03:4000:33:45b::1) (Quit: Apocalypse Incoming!)
19:11:12 <Inst> typeclass overloaded accessor dot, instances, etc. But it's essentially objects if it's mutable.
19:11:54 bionade24 joins (~quassel@2a03:4000:33:45b::1)
19:12:00 <Inst> I just realized that any language with first-class functions, a sufficiently flexible type system to allow heterogenous lists / arrays, and mutation is an OOP language
19:12:07 <Inst> but I guess you folks knew that decades ago
19:12:23 <ski> object-orientation does not require mutability
19:12:24 <Inst> but take out the mutation, you still have namespacing
19:12:39 <Inst> what's an example of an OOP language without mutation?
19:12:57 <ski> Ocaml has OO support for immutable objects
19:13:21 <Inst> but OO is about encapsulating and managing state
19:13:27 <c_wraith> I don't see how that idea is functionally different from adding a prefix to a bunch of names.
19:13:48 <ski> (you can easily compute a clone of the current object, with some (immutable) fields swapped out with other values, and return that from a method)
19:13:52 <c_wraith> so it's just more typing and language features to avoid choosing unique names
19:14:08 <Inst> ski: you mean with shadowing?
19:14:12 <ski> no
19:14:27 <ski> similar to `foo {x = ...}' in Haskell
19:14:38 <ski> (but for objects)
19:14:48 <Inst> essentially method chaining?
19:14:59 <ski> "but OO is about encapsulating and managing state" -- "instance state" does not need to be mutable
19:15:16 <ski> no, copy-with-update
19:15:19 <c_wraith> Inst: look at the String class in just about any language. for performance and reasoning, they tend to be immutable. so you've already seen OO with immutable data.
19:15:33 <Inst> you need to have a semi-permanent reference, though
19:16:38 <ski> and i'd replace "heterogenous lists / arrays" with "records"
19:16:58 <Inst> IIRC a big feature of OOP is extensible records, though
19:17:15 <Inst> it's really painful to handle without arbitrarily-sized lists / dictionaries
19:17:50 <ski> O'Haskell / Timber had extensible records
19:17:51 aforemny_ joins (~aforemny@i59F516C7.versanet.de)
19:18:06 × aforemny quits (~aforemny@2001:9e8:6cf1:9700:d84c:da2d:5fb6:63cf) (Ping timeout: 256 seconds)
19:18:06 <ski> (and subtyping in general)
19:18:58 <ski> afaiac, mutability is orthogonal to OO
19:22:21 <Inst> tbh, one question, what is the limit of FP, as in, what can't first-class functions do? About the only limitation I think of Haskell is the inability to parse the innards of function and variable definitions
19:22:51 <Inst> oh yeah, the dependent types waiting game
19:23:20 <monochrom> parse? unparse?
19:23:56 <Inst> iirc template haskell has a missing feature to expand the AST of a function / variable definition
19:24:07 × peterbecich quits (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds)
19:24:24 <Inst> i'm also wondering if it's possible, with functions only, to implement yet another type system below the Haskell type system
19:24:38 <monochrom> below? above?
19:25:27 <Inst> i mean that, your code wouldn't compile if it doesn't type-check within your custom type system that's not integrated into GHC, but implemented only with Haskell functions
19:27:42 <Inst> might still be doable by converting every function and value into a tuple
19:28:04 ski glances around nervously
19:29:38 <c_wraith> I guess there's some theoretical sense in which every function is a list of tuples, but in general I'd recommend using functions for functions
19:30:07 siw5ohs0 joins (~aiw5ohs0@user/aiw5ohs0)
19:30:54 siw5ohs0 parts (~aiw5ohs0@user/aiw5ohs0) ()
19:31:32 <monochrom> Every function f can be converted to a tuple (f, ()). This goes for values, too. >:)
19:31:59 <Inst> i'm sort of surprised no one has tried to build, as a joke, a TypeT monad transformer
19:39:21 <ncf> a what
19:40:09 <Inst> a monad transformer that puts code underneath it into a secondary type system
19:40:24 <Inst> iirc Haskell already has unergonomic simulated dependent types
19:40:46 <ski> no
19:43:59 <dolio> Not every function is a list of tuples.
19:44:09 <dolio> Unless you're in classical fantasy land.
19:44:44 <dolio> Even then you have to stretch the meaning of 'list' a lot.
19:49:07 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
19:51:17 __monty__ joins (~toonn@user/toonn)
19:55:51 <monochrom> But that's what I did. I stretched "list" all the way to arbitrary functors to understand the Löb combinator, representable functors, and the Yoneda lemma. :)
20:01:05 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
20:04:22 × tititest quits (~tititest@ip-037-201-154-121.um10.pools.vodafone-ip.de) (Quit: Leaving.)
20:16:35 × r5c4571lh01987 quits (~rscastilh@179.221.142.8) (Remote host closed the connection)
20:17:13 × _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection)
20:19:54 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
20:41:59 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
20:42:17 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
20:47:52 peterbecich joins (~Thunderbi@047-229-123-186.res.spectrum.com)
20:53:56 dbaoty1 joins (~dbaoty@tptn-04-0838.dsl.iowatelecom.net)
20:54:50 werneta joins (~werneta@071-083-160-242.res.spectrum.com)
20:55:47 × dbaoty quits (~dbaoty@tptn-04-0838.dsl.iowatelecom.net) (Ping timeout: 264 seconds)
20:58:24 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
20:59:17 dbaoty joins (~dbaoty@tptn-04-0838.dsl.iowatelecom.net)
21:00:17 __monty__ joins (~toonn@user/toonn)
21:01:21 × dbaoty1 quits (~dbaoty@tptn-04-0838.dsl.iowatelecom.net) (Ping timeout: 255 seconds)
21:14:23 × qqq quits (~qqq@92.43.167.61) (Ping timeout: 264 seconds)
21:16:46 sanpo joins (~sanpo@user/sanpo)
21:20:42 × Square2 quits (~Square@user/square) (Ping timeout: 255 seconds)
21:22:04 qqq joins (~qqq@92.43.167.61)
21:22:49 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
21:25:36 × __monty__ quits (~toonn@user/toonn) (Ping timeout: 256 seconds)
21:26:49 noumenon joins (~noumenon@113.51-175-156.customer.lyse.net)
21:27:15 __monty__ joins (~toonn@user/toonn)
21:29:44 × noumenon quits (~noumenon@113.51-175-156.customer.lyse.net) (Client Quit)
21:31:49 × michalz quits (~michalz@185.246.207.201) (Quit: ZNC 1.8.2 - https://znc.in)
21:35:33 × peterbecich quits (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 255 seconds)
21:38:17 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
21:41:22 × dispater quits (~dispater@mail.brprice.uk) (Quit: ZNC 1.8.2 - https://znc.in)
21:41:22 × orcus quits (~orcus@mail.brprice.uk) (Quit: ZNC 1.8.2 - https://znc.in)
21:42:43 × Nixkernal quits (~Nixkernal@240.17.194.178.dynamic.wline.res.cust.swisscom.ch) (Ping timeout: 272 seconds)
21:43:07 dispater joins (~dispater@mail.brprice.uk)
21:43:38 orcus joins (~orcus@mail.brprice.uk)
21:47:11 × Inst quits (~Inst@user/Inst) (Remote host closed the connection)
21:54:06 × target_i quits (~target_i@user/target-i/x-6023099) (Quit: leaving)
21:57:27 dcoutts joins (~duncan@cpc69399-oxfd27-2-0-cust684.4-3.cable.virginm.net)
21:58:07 peterbecich joins (~Thunderbi@047-229-123-186.res.spectrum.com)
22:00:03 Inst joins (~Inst@user/Inst)
22:00:18 × Inst quits (~Inst@user/Inst) (Remote host closed the connection)
22:07:57 × akegalj quits (~akegalj@141-136-147-171.dsl.iskon.hr) (Quit: leaving)
22:09:51 dcoutts_ joins (~duncan@cpc69400-oxfd27-2-0-cust750.4-3.cable.virginm.net)
22:10:28 × dcoutts quits (~duncan@cpc69399-oxfd27-2-0-cust684.4-3.cable.virginm.net) (Ping timeout: 260 seconds)
22:12:00 dcoutts__ joins (~duncan@cpc69400-oxfd27-2-0-cust750.4-3.cable.virginm.net)
22:14:31 × dcoutts_ quits (~duncan@cpc69400-oxfd27-2-0-cust750.4-3.cable.virginm.net) (Ping timeout: 246 seconds)
22:18:42 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
22:18:59 euleritian joins (~euleritia@77.22.252.56)
22:19:07 × peterbecich quits (~Thunderbi@047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds)
22:32:09 shoggouth joins (uid607148@user/shoggouth)
22:35:28 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
22:40:40 × gmg quits (~user@user/gehmehgeh) (Quit: Leaving)
22:43:47 × poxel quits (~lennart@user/poxel) (Quit: WeeChat 4.2.1)
22:48:59 × sudden quits (~cat@user/sudden) (Ping timeout: 260 seconds)
22:49:14 × paddymahoney quits (~paddymaho@99.250.26.190) (Remote host closed the connection)
23:05:16 sudden joins (~cat@user/sudden)
23:14:13 × acidjnk_new quits (~acidjnk@p200300d6e714dc26d1056ca2ae8c08a8.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
23:20:25 peterbecich joins (~Thunderbi@047-229-123-186.res.spectrum.com)
23:23:34 × sawilagar quits (~sawilagar@user/sawilagar) (Ping timeout: 255 seconds)
23:35:39 <c_wraith> are there any pure-haskell syntax highlight projects other than skylighting?
23:36:36 × dispater quits (~dispater@mail.brprice.uk) (Quit: ZNC 1.8.2 - https://znc.in)
23:36:37 × orcus quits (~orcus@mail.brprice.uk) (Quit: ZNC 1.8.2 - https://znc.in)
23:38:20 dispater joins (~dispater@mail.brprice.uk)
23:38:51 orcus joins (~orcus@mail.brprice.uk)
23:39:16 <c_wraith> I guess there's highlighter2. Which still builds, despite the date on it.
23:40:06 × finsternis quits (~X@23.226.237.192) (Read error: Connection reset by peer)
23:45:16 ftweedal joins (~ftweedal@159.196.12.92)
23:54:23 × mesaoptimizer quits (~mesaoptim@user/PapuaHardyNet) (Ping timeout: 252 seconds)
23:59:34 × forell quits (~forell@user/forell) (Quit: ZNC - https://znc.in)

All times are in UTC on 2024-04-07.