Home liberachat/#haskell: Logs Calendar

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

00:07:53 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
00:08:18 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
00:12:06 hgolden_ joins (~hgolden@204.152.216.106)
00:13:12 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
00:14:28 × hgolden quits (~hgolden@146.70.173.165) (Ping timeout: 252 seconds)
00:23:40 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
00:30:35 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
00:32:35 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 244 seconds)
00:40:07 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Remote host closed the connection)
00:41:02 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
00:41:42 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
00:46:39 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
00:53:55 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
00:54:47 LainExperiments joins (~LainExper@user/LainExperiments)
00:55:50 × Eoco quits (~ian@128.101.131.218) (Quit: WeeChat 4.4.2)
00:56:00 × troojg quits (~troojg@user/troojg) (Ping timeout: 260 seconds)
00:56:10 fired joins (~la@2806:2f0:4041:d208:3459:2c8c:e369:a455)
00:58:12 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
00:59:27 Eoco joins (~ian@128.101.131.218)
01:06:06 Guest74 joins (~textual@129.94.128.31)
01:06:46 × Guest74 quits (~textual@129.94.128.31) (Client Quit)
01:07:14 × poscat quits (~poscat@user/poscat) (Quit: Bye)
01:07:32 × sprotte24 quits (~sprotte24@p200300d16f282a00c16d448cb4b8f2b8.dip0.t-ipconnect.de) (Quit: Leaving)
01:09:17 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
01:10:11 poscat joins (~poscat@user/poscat)
01:10:58 machinedgod joins (~machinedg@d108-173-18-100.abhsia.telus.net)
01:14:16 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds)
01:16:34 fired parts (~la@2806:2f0:4041:d208:3459:2c8c:e369:a455) (Leaving)
01:24:39 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
01:29:14 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
01:32:05 × califax quits (~califax@user/califx) (Remote host closed the connection)
01:33:16 califax joins (~califax@user/califx)
01:42:57 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
01:47:33 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
01:52:06 × Square quits (~Square@user/square) (Ping timeout: 252 seconds)
01:58:21 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
02:03:42 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
02:10:45 × nadja quits (~dequbed@banana-new.kilobyte22.de) (Ping timeout: 265 seconds)
02:11:45 nadja joins (~dequbed@banana-new.kilobyte22.de)
02:13:53 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
02:14:25 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Remote host closed the connection)
02:18:17 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds)
02:24:26 × dyniec quits (~dyniec@dybiec.info) (Quit: WeeChat 4.2.2)
02:27:55 troojg joins (~troojg@user/troojg)
02:28:14 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
02:31:32 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
02:32:36 × hueso quits (~root@user/hueso) (Quit: hueso)
02:32:48 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 252 seconds)
02:36:22 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
02:46:13 hueso joins (~root@user/hueso)
02:46:57 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
02:47:23 Guest74 joins (~textual@129.94.128.31)
02:51:54 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
03:02:21 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
03:02:56 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
03:05:48 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
03:06:57 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
03:07:29 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 248 seconds)
03:08:29 × remexre quits (~remexre@user/remexre) (Remote host closed the connection)
03:10:21 × LainExperiments quits (~LainExper@user/LainExperiments) (Ping timeout: 256 seconds)
03:17:52 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
03:17:54 × troojg quits (~troojg@user/troojg) (Ping timeout: 252 seconds)
03:18:25 × Guest74 quits (~textual@129.94.128.31) (Quit: My MacBook has gone to sleep. ZZZzzz…)
03:19:00 Guest74 joins (~textual@129.94.128.31)
03:19:06 × gentauro quits (~gentauro@user/gentauro) (Ping timeout: 276 seconds)
03:22:07 motherfsck joins (~motherfsc@user/motherfsck)
03:22:12 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
03:25:15 gentauro joins (~gentauro@user/gentauro)
03:33:16 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
03:33:50 × hueso quits (~root@user/hueso) (Quit: hueso)
03:36:31 hueso joins (~root@user/hueso)
03:38:36 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
03:48:38 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
03:53:00 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
03:54:30 × td_ quits (~td@i5387092D.versanet.de) (Ping timeout: 272 seconds)
03:56:10 td_ joins (~td@i53870904.versanet.de)
04:04:00 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
04:05:57 × ZLima12 quits (~zlima12@user/meow/ZLima12) ()
04:07:09 × koz quits (~koz@121.99.240.58) (Ping timeout: 260 seconds)
04:07:20 × sroso quits (~sroso@user/SrOso) (Remote host closed the connection)
04:07:43 sroso joins (~sroso@user/SrOso)
04:08:49 koz joins (~koz@121.99.240.58)
04:10:37 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
04:13:33 ZLima12 joins (~zlima12@user/meow/ZLima12)
04:15:53 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
04:20:26 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 244 seconds)
04:22:03 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
04:22:27 notzmv joins (~daniel@user/notzmv)
04:26:59 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
04:30:30 × rekahsoft quits (~rekahsoft@bras-base-orllon1103w-grc-06-76-69-85-220.dsl.bell.ca) (Ping timeout: 252 seconds)
04:32:40 × motherfsck quits (~motherfsc@user/motherfsck) (Read error: Connection reset by peer)
04:37:24 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
04:42:02 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
04:48:38 motherfsck joins (~motherfsc@user/motherfsck)
04:52:47 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
04:59:22 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
05:00:17 × noctux quits (~noctux@user/noctux) (Ping timeout: 255 seconds)
05:00:32 noctux joins (~noctux@user/noctux)
05:01:16 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
05:04:58 remexre joins (~remexre@user/remexre)
05:04:59 × remexre quits (~remexre@user/remexre) (Remote host closed the connection)
05:05:41 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds)
05:06:50 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
05:10:55 × alp quits (~alp@2001:861:e3d6:8f80:dca:285c:1799:872d) (Ping timeout: 264 seconds)
05:11:29 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 260 seconds)
05:16:39 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
05:22:59 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
05:30:28 remexre joins (~remexre@user/remexre)
05:33:48 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
05:38:14 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
05:40:09 misterfish joins (~misterfis@84.53.85.146)
05:44:16 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
05:50:12 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
05:53:33 michalz joins (~michalz@185.246.207.221)
05:54:09 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
05:54:21 × machinedgod quits (~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 252 seconds)
05:54:33 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 245 seconds)
05:55:11 alp joins (~alp@2001:861:e3d6:8f80:9366:cd17:90db:83b9)
06:05:22 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
06:06:37 × misterfish quits (~misterfis@84.53.85.146) (Ping timeout: 265 seconds)
06:09:46 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
06:15:27 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
06:17:30 misterfish joins (~misterfis@84.53.85.146)
06:18:09 machinedgod joins (~machinedg@d108-173-18-100.abhsia.telus.net)
06:20:10 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds)
06:21:23 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
06:28:29 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
06:28:53 _xor joins (~xor@ip-66-42-132-175.dynamic.fuse.net)
06:28:58 takuan joins (~takuan@178-116-218-225.access.telenet.be)
06:30:04 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
06:30:04 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Read error: Connection reset by peer)
06:30:26 takuan joins (~takuan@178-116-218-225.access.telenet.be)
06:33:21 × dcoutts quits (~duncan@109.238.68.62) (Ping timeout: 248 seconds)
06:38:33 × weary-traveler quits (~user@user/user363627) (Remote host closed the connection)
06:39:22 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
06:40:30 × p3n_ quits (~p3n@217.198.124.246) (Quit: ZNC 1.8.2 - https://znc.in)
06:40:56 × ubert quits (~Thunderbi@178.115.51.39.wireless.dyn.drei.com) (Quit: ubert)
06:41:10 p3n joins (~p3n@217.198.124.246)
06:42:26 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 248 seconds)
06:43:09 euleritian joins (~euleritia@dynamic-176-006-138-231.176.6.pool.telefonica.de)
06:44:01 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
06:44:39 × machinedgod quits (~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 260 seconds)
06:47:43 dcoutts joins (~duncan@212.187.244.50)
06:49:19 × misterfish quits (~misterfis@84.53.85.146) (Ping timeout: 260 seconds)
06:50:31 lol_ is now known as jcarpenter2
06:50:38 × Guest74 quits (~textual@129.94.128.31) (Quit: My MacBook has gone to sleep. ZZZzzz…)
06:55:31 × monochrom quits (trebla@216.138.220.146) (Quit: ZNC 1.9.1+deb1 - https://znc.in)
07:00:18 mantraofpie_ joins (~mantraofp@user/mantraofpie)
07:01:14 × dcoutts quits (~duncan@212.187.244.50) (Ping timeout: 265 seconds)
07:01:31 × mantraofpie quits (~mantraofp@user/mantraofpie) (Ping timeout: 260 seconds)
07:03:01 acidjnk joins (~acidjnk@p200300d6e7283f93159bb6576a1c8c4b.dip0.t-ipconnect.de)
07:08:24 monochrom joins (trebla@216.138.220.146)
07:14:23 × hgolden_ quits (~hgolden@204.152.216.106) (Quit: Leaving)
07:14:42 hgolden joins (~hgolden@204.152.216.106)
07:18:15 CoolMa7 joins (~CoolMa7@ip5f5b8957.dynamic.kabel-deutschland.de)
07:19:03 × CoolMa7 quits (~CoolMa7@ip5f5b8957.dynamic.kabel-deutschland.de) (Client Quit)
07:19:07 Guest74 joins (~textual@129.94.128.31)
07:21:04 dcoutts joins (~duncan@185.201.60.16)
07:22:10 poscat0x04 joins (~poscat@user/poscat)
07:24:46 × poscat quits (~poscat@user/poscat) (Ping timeout: 272 seconds)
07:26:41 × poscat0x04 quits (~poscat@user/poscat) (Remote host closed the connection)
07:31:31 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
07:33:20 target_i joins (~target_i@user/target-i/x-6023099)
07:35:31 poscat joins (~poscat@user/poscat)
07:38:54 × L29Ah quits (~L29Ah@wikipedia/L29Ah) (Ping timeout: 260 seconds)
07:38:55 × euleritian quits (~euleritia@dynamic-176-006-138-231.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
07:39:13 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
07:39:59 L29Ah joins (~L29Ah@wikipedia/L29Ah)
07:43:10 × cyphase quits (~cyphase@user/cyphase) (Read error: Connection reset by peer)
07:44:34 cyphase joins (~cyphase@user/cyphase)
07:45:28 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds)
07:46:37 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
07:47:14 lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
07:52:45 × ft quits (~ft@p4fc2a216.dip0.t-ipconnect.de) (Quit: leaving)
07:53:23 misterfish joins (~misterfis@046044172198.static.ipv4.heldenvannu.net)
07:56:46 lxsameer joins (~lxsameer@Serene/lxsameer)
08:00:01 × caconym quits (~caconym@user/caconym) (Quit: bye)
08:00:40 caconym joins (~caconym@user/caconym)
08:06:35 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
08:07:21 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
08:10:07 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
08:10:11 × poscat quits (~poscat@user/poscat) (Read error: Connection reset by peer)
08:10:48 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
08:13:14 poscat joins (~poscat@user/poscat)
08:14:23 × dcoutts quits (~duncan@185.201.60.16) (Remote host closed the connection)
08:17:30 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
08:18:11 euleritian joins (~euleritia@77.22.252.56)
08:20:17 × troydm quits (~troydm@user/troydm) (Ping timeout: 252 seconds)
08:23:09 GdeVolpiano joins (~GdeVolpia@user/GdeVolpiano)
08:23:20 × GdeVolpi1 quits (~GdeVolpia@user/GdeVolpiano) (Read error: Connection reset by peer)
08:25:54 × Angelz quits (Angelz@2605:6400:30:fc15:d55b:fa6c:bd14:9973) (Ping timeout: 252 seconds)
08:30:26 × fr33domlover quits (~fr33domlo@towards.vision) (Quit: The Lounge - https://thelounge.chat)
08:31:23 merijn joins (~merijn@77.242.116.146)
08:32:46 × notzmv quits (~daniel@user/notzmv) (Ping timeout: 252 seconds)
08:33:25 troydm joins (~troydm@user/troydm)
08:34:25 fr33domlover joins (~fr33domlo@towards.vision)
08:38:33 comerijn joins (~merijn@77.242.116.146)
08:41:19 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 260 seconds)
08:44:41 × [_________] quits (~oos95GWG@user/oos95GWG) (Quit: [_________])
08:44:55 [_________] joins (~oos95GWG@user/oos95GWG)
08:57:12 × poscat quits (~poscat@user/poscat) (Quit: Bye)
08:58:12 machinedgod joins (~machinedg@d108-173-18-100.abhsia.telus.net)
09:00:00 poscat joins (~poscat@user/poscat)
09:01:39 × misterfish quits (~misterfis@046044172198.static.ipv4.heldenvannu.net) (Ping timeout: 276 seconds)
09:23:03 briandaed joins (~root@185.234.210.211)
09:25:01 sord937 joins (~sord937@gateway/tor-sasl/sord937)
09:25:38 × tzh quits (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
09:26:33 chele joins (~chele@user/chele)
09:30:44 misterfish joins (~misterfis@84.53.85.146)
09:34:44 × sroso quits (~sroso@user/SrOso) (Quit: Leaving :))
09:35:11 sroso joins (~sroso@user/SrOso)
09:45:25 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
09:48:03 <kqr> Is it possible to something like `import Foo.Bar hiding (module Foo.Bar.Lens)` or am I relegated to hiding each lens individually? (The reason is simply that the optic names happen to collide with other things.)
09:50:17 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
09:53:24 ubert joins (~Thunderbi@178.115.51.39.wireless.dyn.drei.com)
09:54:00 × rvalue quits (~rvalue@user/rvalue) (Read error: Connection reset by peer)
09:54:36 rvalue joins (~rvalue@user/rvalue)
09:58:53 simendsjo joins (~user@84.211.91.108)
10:07:49 <geekosaur> individually. source module information is lost on re-exports
10:16:37 <kqr> Thanks!
10:17:55 <geekosaur> (technically, the re-exports are symbols and there's no way to tag a symbol with its origin, its origin is always considered to be the object file it was found in)
10:18:14 × zaquest quits (~notzaques@5.130.79.72) (Remote host closed the connection)
10:20:54 ljdarj joins (~Thunderbi@user/ljdarj)
10:29:15 × comerijn quits (~merijn@77.242.116.146) (Ping timeout: 246 seconds)
10:31:04 <kqr> Maybe this is personal and you don't to not answer which is fine. Thing is I used to do a lot of Haskell almost 10 years ago, but then work and other things got in the way so I'm only recently getting started again. However, I do recognise yorour nickname as one of the people who were active also back then. How have you been able to keep it up? Are you using it for work, or is there something
10:31:06 <kqr> else?
10:31:39 <kqr> The reason I ask is I would also like to be as knowledgeable about the technical details! But I suspect that comes with a tonne of experience.
10:32:11 <geekosaur> Personal, but I've been active the whole time, yes. And went from contributor to primary maintainer of xmonad, among other things.
10:32:48 <geekosaur> But I've also been active in a lot of other areas since around 1983, which is why I know the technical details (they're actually derived from the way the system linker works, not Haskell as such)
10:33:40 × simendsjo quits (~user@84.211.91.108) (Remote host closed the connection)
10:33:44 <kqr> Aha! That's neat. And thanks for maintaining XMonad – it's the only window manager that can read my thoughts.
10:33:49 <geekosaur> …it could be imagined that thee extra information could be carried in a `.hi` file, but the Haskell Report doesn't currently allow that behavior, it went with what the linker allows. A GHC extension would be possible though
10:34:49 <geekosaur> It would, howevre, require a fair amount of thought and might impact backward compatibility to assign imported symbols their origin modules
10:35:22 merijn joins (~merijn@77.242.116.146)
10:37:51 <kqr> Oh, I see. So even if GHC has access to the module source code it compiles the module separately and then links to it? Hypothetically it could – when it has access to module source code – manage symbol visibility on its own and allow fancy stuff like hiding re-exported modules but that wouldn't work more generally?
10:39:05 <geekosaur> Profesionally I was a sysadmin, so programming was rather limited — so I did programming on my own time
10:39:28 Smiles joins (uid551636@id-551636.lymington.irccloud.com)
10:40:05 <geekosaur> it wouldn't even need the source code. When it compiles a module, it produces two outputs: an object file, and a Haskell Information file (the `.hi` file I mentioned). Source module information could be added to the `.hi` file.
10:40:39 <geekosaur> That way it wouldn't need the source of the original module to be available, all the information it would need would be part of the current module's metadata
10:42:19 notzmv joins (~daniel@user/notzmv)
10:42:45 <kqr> Does this mean that Haskell libraries can't be distributed only as object files, because there's necessary data in the .hi file as well?
10:42:54 <geekosaur> correct
10:44:25 <geekosaur> you also need the package information though, as a module isn't standalone, it's part of some package. So you also need (in ghc-land) the package.conf containing the module information (in particular, it lists all the modules contained in a package). Other compilers might do it in other ways
10:45:36 <geekosaur> ("ghc-pkg find-module" is a good way to find out where a module lives, if it's installed somewhere locally. I even point this at my cabal store's package database sometimes, although it produces a fair amount of noise because of multiple versions often being installed)
10:47:37 CiaoSen joins (~Jura@2a05:5800:48f:cf00:ca4b:d6ff:fec1:99da)
10:47:51 × benjaminl quits (~benjaminl@user/benjaminl) (Read error: Connection reset by peer)
10:48:07 benjaminl joins (~benjaminl@user/benjaminl)
10:48:18 <geekosaur> https://paste.tomsmeding.com/SNFxkUfR
10:49:21 <kqr> Oh, cool!
10:49:54 × byte quits (~byte@149.28.222.189) (Ping timeout: 252 seconds)
10:50:09 <geekosaur> (stack has its own store, but I don't know where it lives or whether it exposes its comtents in a way that's useful for ghc-pkg)
10:50:12 byte joins (~byte@149.28.222.189)
10:56:26 <haskellbridge> <hellwolf> (cabal too)
10:57:00 simendsjo joins (~user@84.211.91.108)
10:57:54 <haskellbridge> <hellwolf> cabal path --store-dir
10:57:54 <haskellbridge> /home/hellwolf/.cabal/store
10:58:11 <haskellbridge> <hellwolf> $ cabal path --store-dir
10:58:11 <haskellbridge> ... long message truncated: https://kf8nh.com/_heisenbridge/media/kf8nh.com/JfnUQUmRzQRcOcVQnNYlRAJz/dhYW9riD4K0 (12 lines)
10:58:42 <haskellbridge> <hellwolf> $ ls /home/hellwolf/.cabal/store/
10:58:42 <haskellbridge> ... long message truncated: https://kf8nh.com/_heisenbridge/media/kf8nh.com/qgfydUwscAnZxhKKJRHQhlNt/GLCihQesOfs (3 lines)
11:00:08 × simendsjo quits (~user@84.211.91.108) (Client Quit)
11:01:08 simendsjo joins (~user@84.211.91.108)
11:01:39 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Remote host closed the connection)
11:02:00 sord937 joins (~sord937@gateway/tor-sasl/sord937)
11:02:30 × son0p quits (~ff@181.237.206.243) (Remote host closed the connection)
11:03:26 <haskellbridge> <hellwolf> $ ghc-pkg --package-db ~/.cabal/store/ghc-9.10.1-inplace/package.db find-module PyF
11:03:26 <haskellbridge> ... long message truncated: https://kf8nh.com/_heisenbridge/media/kf8nh.com/SDjdizDNkfMgazEnPYKUejwp/A65pKeQJMgU (4 lines)
11:03:59 <haskellbridge> <hellwolf> $ ghc-pkg --package-db ~/.cabal/store/ghc-9.2.8/package.db find-module PyF
11:03:59 <haskellbridge> ... long message truncated: https://kf8nh.com/_heisenbridge/media/kf8nh.com/ckPCgVkFfJDDIrvAXoAEmDLx/R8K8k5XJMao (3 lines)
11:04:49 <haskellbridge> <hellwolf> I guess, you will have to use the matching/compatible versions of ghc to query the package.db.
11:07:42 × Guest74 quits (~textual@129.94.128.31) (Ping timeout: 272 seconds)
11:09:19 <haskellbridge> <hellwolf> I see that stack has this giant "~/.stack/pantry/" thing... not sure how to make it compatible with ghc-pkg :/
11:10:54 <haskellbridge> <hellwolf> But it probably is in the projects ".stack-work" folder. I don't use stack often, I can't check atm.
11:10:55 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 264 seconds)
11:16:08 <geekosaur> yeh, their pantry is sqlite, not the traditional package db format
11:17:04 <geekosaur> I don't have a .stack-work sitting around currently (I was hoping I had one in my xmonad user testing sandbox but it's currently empty)
11:24:04 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 260 seconds)
11:28:07 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (*.net *.split)
11:28:07 × mantraofpie_ quits (~mantraofp@user/mantraofpie) (*.net *.split)
11:28:07 × califax quits (~califax@user/califx) (*.net *.split)
11:28:07 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (*.net *.split)
11:28:07 × gmg quits (~user@user/gehmehgeh) (*.net *.split)
11:28:07 × stiell_ quits (~stiell@gateway/tor-sasl/stiell) (*.net *.split)
11:28:07 × chiselfuse quits (~chiselfus@user/chiselfuse) (*.net *.split)
11:28:07 × chexum quits (~quassel@gateway/tor-sasl/chexum) (*.net *.split)
11:28:33 × rvalue quits (~rvalue@user/rvalue) (Ping timeout: 276 seconds)
11:35:09 rvalue joins (~rvalue@user/rvalue)
11:35:25 chexum joins (~quassel@gateway/tor-sasl/chexum)
11:35:38 merijn joins (~merijn@77.242.116.146)
11:35:51 califax joins (~califax@user/califx)
11:36:11 chiselfuse joins (~chiselfus@user/chiselfuse)
11:37:35 stiell_ joins (~stiell@gateway/tor-sasl/stiell)
11:38:32 lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
11:38:40 gmg joins (~user@user/gehmehgeh)
11:41:21 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 246 seconds)
11:43:11 sord937 joins (~sord937@gateway/tor-sasl/sord937)
11:44:03 ChaiTRex joins (~ChaiTRex@user/chaitrex)
11:44:19 merijn joins (~merijn@77.242.116.146)
11:50:56 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
11:52:26 Digitteknohippie joins (~user@user/digit)
11:53:45 comerijn joins (~merijn@77.242.116.146)
11:54:09 × abrar quits (~abrar@pool-72-78-199-167.phlapa.fios.verizon.net) (Ping timeout: 265 seconds)
11:54:34 × Digit quits (~user@user/digit) (Ping timeout: 272 seconds)
11:55:09 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 252 seconds)
11:55:53 hgolden_ joins (~hgolden@146.70.173.37)
11:56:03 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 246 seconds)
11:58:25 Everything joins (~Everythin@178-133-220-38.mobile.vf-ua.net)
11:58:39 × hgolden quits (~hgolden@204.152.216.106) (Ping timeout: 260 seconds)
12:00:45 × euleritian quits (~euleritia@77.22.252.56) (Read error: Connection reset by peer)
12:02:00 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
12:02:48 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 272 seconds)
12:02:57 Digitteknohippie is now known as Digit
12:07:52 abrar joins (~abrar@pool-72-78-199-167.phlapa.fios.verizon.net)
12:08:33 ljdarj joins (~Thunderbi@user/ljdarj)
12:11:53 × ljdarj quits (~Thunderbi@user/ljdarj) (Client Quit)
12:12:10 ljdarj joins (~Thunderbi@user/ljdarj)
12:14:55 × sroso quits (~sroso@user/SrOso) (Quit: Leaving :))
12:14:58 Square joins (~Square@user/square)
12:16:51 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds)
12:19:46 ljdarj joins (~Thunderbi@user/ljdarj)
12:27:03 × abrar quits (~abrar@pool-72-78-199-167.phlapa.fios.verizon.net) (Ping timeout: 276 seconds)
12:29:27 abrar joins (~abrar@pool-72-78-199-167.phlapa.fios.verizon.net)
12:32:34 ash3en joins (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207)
12:40:59 n0den1te joins (~n0den1te@106.222.221.65)
12:42:49 × alp quits (~alp@2001:861:e3d6:8f80:9366:cd17:90db:83b9) (Ping timeout: 252 seconds)
12:43:51 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
12:44:42 × abrar quits (~abrar@pool-72-78-199-167.phlapa.fios.verizon.net) (Ping timeout: 244 seconds)
12:45:06 × n0den1te quits (~n0den1te@106.222.221.65) (Client Quit)
12:52:12 × GdeVolpiano quits (~GdeVolpia@user/GdeVolpiano) (Ping timeout: 272 seconds)
12:54:38 alp joins (~alp@2001:861:e3d6:8f80:832a:3135:d735:c3e4)
12:58:50 GdeVolpiano joins (~GdeVolpia@user/GdeVolpiano)
13:00:02 Square2 joins (~Square4@user/square)
13:02:29 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
13:03:23 ljdarj1 joins (~Thunderbi@user/ljdarj)
13:03:27 × Square quits (~Square@user/square) (Ping timeout: 276 seconds)
13:03:54 × Fijxu quits (~Fijxu@user/fijxu) (Quit: XD!!)
13:04:10 × Everything quits (~Everythin@178-133-220-38.mobile.vf-ua.net) (Quit: leaving)
13:05:22 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 244 seconds)
13:05:22 ljdarj1 is now known as ljdarj
13:05:41 Fijxu joins (~Fijxu@user/fijxu)
13:08:19 ljdarj1 joins (~Thunderbi@user/ljdarj)
13:08:27 × Smiles quits (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity)
13:10:47 Versality joins (~Versality@84.237.180.62)
13:11:54 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 252 seconds)
13:11:55 ljdarj1 is now known as ljdarj
13:20:54 × Versality quits (~Versality@84.237.180.62) (Remote host closed the connection)
13:24:15 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 276 seconds)
13:24:38 Versality joins (~Versality@user/Versality)
13:25:59 zetef joins (~quassel@5.14.131.67)
13:26:20 × zetef quits (~quassel@5.14.131.67) (Client Quit)
13:32:42 × Raito_Bezarius quits (~Raito@wireguard/tunneler/raito-bezarius) (Ping timeout: 252 seconds)
13:36:08 CoolMa7 joins (~CoolMa7@95.91.137.87)
13:36:15 Leonard26 joins (~Leonard26@49.236.10.26)
13:38:57 CoolMa7_ joins (~CoolMa7@128.90.141.9)
13:39:13 × Versality quits (~Versality@user/Versality) (Remote host closed the connection)
13:39:31 <Leonard26> Hello! =D
13:39:31 <Leonard26> I have a variable that expects a CULong type, but it goes in contrast with the function type definition padProbeCallback :: Gst.Pad -> Gst.PadProbeInfo -> IO Gst.PadProbeReturn
13:39:32 <Leonard26> If I change it to padProbeCallback :: Gst.Pad -> CULong -> IO Gst.PadProbeReturn it throws an error complaining about the type signature not being right. How can I solve this?
13:41:30 × CoolMa7 quits (~CoolMa7@95.91.137.87) (Ping timeout: 252 seconds)
13:45:43 dcoutts joins (~duncan@94.119.64.5)
13:45:53 × misterfish quits (~misterfis@84.53.85.146) (Ping timeout: 252 seconds)
13:50:23 × dcoutts quits (~duncan@94.119.64.5) (Ping timeout: 245 seconds)
13:51:36 × Leary quits (~Leary@user/Leary/x-0910699) (Remote host closed the connection)
13:54:17 Leary joins (~Leary@user/Leary/x-0910699)
13:58:37 × Leonard26 quits (~Leonard26@49.236.10.26) (Ping timeout: 256 seconds)
14:00:21 Versality joins (~Versality@user/Versality)
14:00:40 subhuman joins (~user@user/subhuman)
14:02:02 × CoolMa7_ quits (~CoolMa7@128.90.141.9) (Ping timeout: 252 seconds)
14:03:03 × CiaoSen quits (~Jura@2a05:5800:48f:cf00:ca4b:d6ff:fec1:99da) (Ping timeout: 252 seconds)
14:07:30 × ljdarj quits (~Thunderbi@user/ljdarj) (Quit: ljdarj)
14:07:49 ljdarj joins (~Thunderbi@user/ljdarj)
14:07:54 Raito_Bezarius joins (~Raito@wireguard/tunneler/raito-bezarius)
14:08:20 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
14:10:54 dyniec joins (~dyniec@dybiec.info)
14:14:54 KaitoDaumoto joins (~Unity3D@user/kaitodaumoto)
14:16:14 × notzmv quits (~daniel@user/notzmv) (Remote host closed the connection)
14:17:16 notzmv joins (~daniel@user/notzmv)
14:19:50 × Raito_Bezarius quits (~Raito@wireguard/tunneler/raito-bezarius) (Max SendQ exceeded)
14:24:09 × Megant quits (megant@user/megant) (Remote host closed the connection)
14:28:41 Raito_Bezarius joins (~Raito@wireguard/tunneler/raito-bezarius)
14:31:51 LainExperiments joins (~LainExper@user/LainExperiments)
14:35:29 × Raito_Bezarius quits (~Raito@wireguard/tunneler/raito-bezarius) (Max SendQ exceeded)
14:35:38 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.2.2)
14:36:40 siw5ohs0 joins (~aiw5ohs0@user/aiw5ohs0)
14:36:58 siw5ohs0 parts (~aiw5ohs0@user/aiw5ohs0) (Leaving)
14:39:58 × alp quits (~alp@2001:861:e3d6:8f80:832a:3135:d735:c3e4) (Changing host)
14:39:58 alp joins (~alp@user/alp)
14:45:37 Smiles joins (uid551636@id-551636.lymington.irccloud.com)
14:47:01 Raito_Bezarius joins (~Raito@wireguard/tunneler/raito-bezarius)
14:47:15 × Katarushisu3 quits (~Katarushi@finc-20-b2-v4wan-169598-cust1799.vm7.cable.virginm.net) (Quit: The Lounge - https://thelounge.chat)
14:49:21 × Raito_Bezarius quits (~Raito@wireguard/tunneler/raito-bezarius) (Max SendQ exceeded)
14:50:24 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
14:51:26 Katarushisu3 joins (~Katarushi@finc-20-b2-v4wan-169598-cust1799.vm7.cable.virginm.net)
14:53:50 × simendsjo quits (~user@84.211.91.108) (Ping timeout: 255 seconds)
15:01:54 × andreas303 quits (andreas303@is.drunk.and.ready-to.party) (Quit: fBNC - https://bnc4free.com)
15:02:20 weary-traveler joins (~user@user/user363627)
15:04:03 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
15:06:18 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
15:06:30 Raito_Bezarius joins (~Raito@wireguard/tunneler/raito-bezarius)
15:08:00 euleritian joins (~euleritia@dynamic-176-004-227-018.176.4.pool.telefonica.de)
15:09:00 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 272 seconds)
15:11:42 SlackCoder joins (~SlackCode@64-94-63-8.ip.weststar.net.ky)
15:12:28 Leonard26 joins (~Leonard26@49.236.10.26)
15:13:32 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
15:16:10 × AlexZenon quits (~alzenon@178.34.150.252) (Ping timeout: 265 seconds)
15:17:40 × ash3en quits (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Quit: ash3en)
15:19:12 simendsjo joins (~user@84.211.91.108)
15:20:25 <dminuoso> Leonard26: You sound a bit confused. What do you mean by `I have a variable that expects a CULong type` exctly?
15:21:30 <Leonard26> Nevermind, I figured it out
15:24:26 AlexZenon joins (~alzenon@178.34.150.252)
15:37:27 × Katarushisu3 quits (~Katarushi@finc-20-b2-v4wan-169598-cust1799.vm7.cable.virginm.net) (Quit: The Lounge - https://thelounge.chat)
15:37:44 Katarushisu3 joins (~Katarushi@finc-20-b2-v4wan-169598-cust1799.vm7.cable.virginm.net)
15:38:17 Katarushisu3 is now known as Katarushisu
15:38:28 × Katarushisu quits (~Katarushi@finc-20-b2-v4wan-169598-cust1799.vm7.cable.virginm.net) (Client Quit)
15:38:46 Katarushisu joins (~Katarushi@finc-20-b2-v4wan-169598-cust1799.vm7.cable.virginm.net)
15:41:09 × subhuman quits (~user@user/subhuman) (Remote host closed the connection)
15:41:49 andreas303 joins (andreas303@is.drunk.and.ready-to.party)
15:45:21 × stiell_ quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 260 seconds)
15:47:09 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 260 seconds)
15:54:19 <Leonard26> I have another issue. I am trying to recreate a C example code in Haskell, through the language bindings for Gstreamer but I'm stuck at trying to implement some functions outside of the main function. My issue being that the variables defined in main cannot be accessed by these outside functions, namely pad_probe_cb and event_probe_cb.
15:54:20 <Leonard26> This is the C code https://paste.tomsmeding.com/Zb7Y142y
15:54:20 <Leonard26> This is my Haskell code https://paste.tomsmeding.com/1od5ZKlb
15:54:21 <Leonard26> Outputting these compilation errors regarding variables not in scope https://paste.tomsmeding.com/CYxggYsh
15:55:28 <Leonard26> How can this be solved? =L
15:56:11 × Versality quits (~Versality@user/Versality) (Remote host closed the connection)
15:56:53 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
15:57:01 stiell_ joins (~stiell@gateway/tor-sasl/stiell)
16:00:30 Versality joins (~Versality@user/Versality)
16:01:12 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 252 seconds)
16:01:13 <mauke> Leonard26: pass them as arguments to the functions that need them?
16:03:04 <Leonard26> Yes, I've thought of that but if I try it tells me that the type signature of the callback is wrong, so I can't add any more arguments to these functions, padProbeCallback and eventProbeCallback =L
16:03:59 <mauke> do you know about partial application?
16:04:54 <Leonard26> Yes, I'm a bit rusty tho
16:05:19 <Leonard26> This is the output of adding the missing variables as arguments https://paste.tomsmeding.com/HcDTWCcg
16:05:57 <mauke> you need to supply the extra arguments at the point where you register the callback
16:06:06 × euleritian quits (~euleritia@dynamic-176-004-227-018.176.4.pool.telefonica.de) (Ping timeout: 276 seconds)
16:06:08 <mauke> > let addFakeCallback fn = [fn 1, fn 2]; cb x = 2*x in addFakeCallback cb
16:06:10 <lambdabot> [2,4]
16:06:12 abrar joins (~abrar@pool-72-78-199-167.phlapa.fios.verizon.net)
16:06:34 <mauke> > let addFakeCallback fn = [fn 1, fn 2]; cb extra x = extra*x in addFakeCallback cb
16:06:35 <lambdabot> [<Integer -> Integer>,<Integer -> Integer>]
16:06:38 <mauke> hah
16:06:42 <mauke> foiled by lambdabot
16:06:52 euleritian joins (~euleritia@dynamic-176-001-208-033.176.1.pool.telefonica.de)
16:07:14 <mauke> > let addFakeCallback :: (Int -> Int) -> [Int]; addFakeCallback fn = [fn 1, fn 2]; cb extra x = extra*x in addFakeCallback cb
16:07:15 <lambdabot> error:
16:07:15 <lambdabot> • Couldn't match type ‘Int -> Int’ with ‘Int’
16:07:15 <lambdabot> Expected type: Int -> Int
16:07:25 <mauke> ^ this is analogous with your error
16:07:40 <mauke> I'm trying to "register" a callback that takes too many arguments
16:07:54 <mauke> > let addFakeCallback :: (Int -> Int) -> [Int]; addFakeCallback fn = [fn 1, fn 2]; cb extra x = extra*x in addFakeCallback (cb 42)
16:07:56 <lambdabot> [42,84]
16:11:10 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
16:11:39 × euleritian quits (~euleritia@dynamic-176-001-208-033.176.1.pool.telefonica.de) (Ping timeout: 260 seconds)
16:21:08 × Square2 quits (~Square4@user/square) (Remote host closed the connection)
16:21:25 Square joins (~Square@user/square)
16:22:24 × alp quits (~alp@user/alp) (Ping timeout: 246 seconds)
16:26:29 <statusbot6> Status update: Wiki.haskell.org is down due to an unsuccessful system upgrade. We are working on restoring service. -- http://status.haskell.org/pages/incident/537c07b0cf1fad5830000093/6728f5b530789205372a3361
16:27:19 <haskellbridge> <hellwolf> I didn't know there was a status.haskell.org page, thanks
16:28:03 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
16:28:18 <haskellbridge> <hellwolf> Though the its history doesn't seem to show the hackage down times that I recently experienced.
16:28:39 ljdarj joins (~Thunderbi@user/ljdarj)
16:30:09 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
16:30:17 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
16:30:59 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
16:34:57 <geekosaur> no, it's manual and if nobody reported it nobody will update it
16:35:08 <geekosaur> there used to be a live auto-status page but it seems to be gone
16:35:38 rvalue- joins (~rvalue@user/rvalue)
16:35:56 <sclv> the only hackage downtime recently was an update on the 2nd and it does show that https://status.haskell.org/pages/maintenance/537c07b0cf1fad5830000093/67267208c5128b053d4b12c7
16:36:20 <sclv> also auto-status.haskell.org works again -- it needed some stuff reset
16:36:43 × euphores quits (~SASL_euph@user/euphores) (Quit: Leaving.)
16:36:44 × rvalue quits (~rvalue@user/rvalue) (Ping timeout: 260 seconds)
16:37:17 <geekosaur> yay
16:37:21 × ystael quits (~ystael@user/ystael) (Quit: Lost terminal)
16:37:25 <geekosaur> (I'm putting out fires elsewhere…)
16:39:23 <monochrom> But please don't pour water into computers!
16:39:55 ystael joins (~ystael@user/ystael)
16:40:11 monochrom organizes a water pistol party in the data centre!
16:41:06 <haskellbridge> <hellwolf> Pardon me, I just recall it was hoogle instead.
16:41:52 <monochrom> Yeah hoogle was down some weeks ago.
16:43:26 rvalue- is now known as rvalue
16:43:54 <dolio> It's apparently getting hit by a bunch of bot activity.
16:43:54 <geekosaur> I haven't heard any complaints in the past week, so I guess it's back now?
16:44:44 euphores joins (~SASL_euph@user/euphores)
16:46:32 <haskellbridge> <hellwolf> > It's apparently getting hit by a bunch of bot activity.
16:46:32 <haskellbridge> I think we can donate some money and setup a AWS WAF for it... shouldn't cost < $30 dollar
16:46:47 <haskellbridge> <hellwolf> or, we live with chances, which kinda worked too
16:48:54 spew joins (~spew@201.141.99.170)
16:52:39 × comerijn quits (~merijn@77.242.116.146) (Ping timeout: 260 seconds)
16:55:51 <sclv> what we need is a skilled admin to join us and help configure it to knock out the spam -- or maybe someone to work on making the code more efficient to handle load, or both :-)
16:56:34 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
17:00:54 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 246 seconds)
17:00:55 × LainExperiments quits (~LainExper@user/LainExperiments) (Quit: Client closed)
17:01:12 hiredman joins (~hiredman@frontier1.downey.family)
17:08:12 × machinedgod quits (~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 244 seconds)
17:14:31 Tuplanolla joins (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi)
17:17:29 × target_i quits (~target_i@user/target-i/x-6023099) (Quit: leaving)
17:18:25 × Leonard26 quits (~Leonard26@49.236.10.26) (Quit: Client closed)
17:30:45 LainExperiments joins (~LainExper@user/LainExperiments)
17:31:38 × Digit quits (~user@user/digit) (Ping timeout: 245 seconds)
17:31:39 Digitteknohippie joins (~user@user/digit)
17:44:28 alp joins (~alp@2001:861:e3d6:8f80:8ee1:f46d:3f90:227c)
17:53:45 <briandaed> sclv are these spam queries network(io) bound?
17:54:19 <sclv> i think its compute bound and suspect its just the hoogle code isn't super load efficient on some things
17:54:53 <briandaed> more core/threads would help?
17:55:13 × Digitteknohippie quits (~user@user/digit) (Ping timeout: 252 seconds)
17:57:23 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
17:57:29 tzh joins (~tzh@c-76-115-131-146.hsd1.or.comcast.net)
18:00:03 <tomsmeding> ultimately spam protection is just really quite hard without relying on internet backbone providers like cloudflare
18:00:26 <tomsmeding> IP rate limiting is pointless with IPv6
18:01:19 <tomsmeding> (and, what's more, it's also counterproductive with things like CGNAT, or big schools having a small number of external IPs)
18:01:57 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 248 seconds)
18:01:57 <tomsmeding> (if you know better: please let me know!)
18:04:26 <briandaed> not sure if we should classify it as a spam or rather (d)dos
18:04:35 <tomsmeding> is there a difference?
18:05:40 <briandaed> in my narrow mind spam is sending some useless messages (sometimes malicious), while ddos wants service to be down
18:05:42 <tomsmeding> (though if it's really a DOS then it would be worth checking if it comes from a small number of IPs)
18:05:50 <dolio> From what I heard, it doesn't sound like dos. It sounds like the internet is full of bots who will search for things like "password" on any web form hoping to get lucky.
18:06:05 <tomsmeding> and that happens enough times per second to bring the site to a crawl?
18:06:10 <tomsmeding> the playground doesn't get spam like that
18:06:18 <tomsmeding> (and it's been up and linked to for more than a year now)
18:06:47 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds)
18:06:54 <briandaed> I also don't suspect spam or malicious activities, rather some misconfigured tool, but I saw only limited sample on discourse
18:07:01 <tomsmeding> (link?)
18:07:07 <int-e> and everything that looks like it accepts parameters gets hammered with attempts to do SQL injection
18:07:20 <briandaed> https://discourse.haskell.org/t/hoogle-appears-to-be-down/10408/21
18:07:44 <int-e> (which /may/ be easy to filter before they burden the CPU unduly but it's still work)
18:08:12 <briandaed> yeah, moved from hoogle to fw/ids/ips whatever
18:08:17 <tomsmeding> that sample is indeed odd
18:10:02 × gvg quits (~dcd@user/gvg) (Ping timeout: 255 seconds)
18:10:09 <tomsmeding> sclv: do you have IPs in the hoogle log?
18:10:43 <tomsmeding> the packages in those requests really look quite random; the prefix is the same, and then the last 5 are completely arbitrary
18:10:48 × chele quits (~chele@user/chele) (Remote host closed the connection)
18:11:00 <sclv> nope, we need to change the nginx setup to capture the log -- just been a low priority with everything else
18:11:02 gvg joins (~dcd@user/gvg)
18:11:06 <tomsmeding> fair
18:11:19 <sclv> as is it basically just passes through everything to the hoogle binary, which doesn't have very good logging.
18:12:30 <briandaed> sclv any external monitoring, icinga/nagios? not sure what is hot now
18:12:32 <sclv> but yeah, anyone comfortable with nginx, systemd and willing to be comfortable with the hoogle codebase is encouraged to volunteer and you can get the auth to poke around on the system and take a look at it
18:13:02 <tomsmeding> (I would but I'm swamped already...)
18:13:29 <tomsmeding> (as is everyone else, it seems)
18:13:35 <briandaed> and one more thing is hardware spec a secret? ram, core count, etc.?
18:13:58 <tomsmeding> given that log I would (hugely extrapolate and) think that adding more cores will not help
18:15:25 <sclv> specs not a secret, just don' recall off hand -- box is also shared with some other haskell infra. nothing beefy or special.
18:15:57 <sclv> i do suspect the best fix is making hoogle not work too hard when requests are goofy
18:18:25 hgolden__ joins (~hgolden@204.152.216.122)
18:19:07 ash3en joins (~Thunderbi@146.70.124.222)
18:19:45 Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542)
18:20:38 × Nachtgespenst quits (~user@user/siracusa) (Quit: Bye!)
18:20:48 × hgolden_ quits (~hgolden@146.70.173.37) (Ping timeout: 245 seconds)
18:21:20 Digit joins (~user@user/digit)
18:21:32 <dolio> Is the amount of extra packages part of the problem?
18:23:24 <briandaed> https://github.com/ndmitchell/hoogle/blob/master/src/Query.hs line#3 looks interesting
18:23:28 × ash3en quits (~Thunderbi@146.70.124.222) (Ping timeout: 252 seconds)
18:23:34 ash3en1 joins (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207)
18:24:12 <sclv> briandaed: oh lmao!!!
18:24:33 <int-e> I have a hard time thinking of a legitimate reason for such requests. IDE integration might lead to long lists of packages... but they don't seem to connect and the varying suffix switching between different alternative preludes? Suspicious.
18:25:52 ash3en1 is now known as ash3en
18:26:13 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
18:26:50 rvalue- joins (~rvalue@user/rvalue)
18:27:34 × rvalue quits (~rvalue@user/rvalue) (Ping timeout: 265 seconds)
18:27:40 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
18:32:43 rvalue- is now known as rvalue
18:35:43 <tomsmeding> briandaed: lmao
18:37:01 <tomsmeding> int-e: not only alternative preludes, including completely random stuff like distribution-opensuse, hledger-web, cabal-install-solver, stack, copilot-language, audacity
18:37:32 <tomsmeding> depending on one of those things: fine; depending on all of them together: very suspect
18:37:57 ft joins (~ft@p4fc2a216.dip0.t-ipconnect.de)
18:38:32 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
18:39:45 misterfish joins (~misterfis@84.53.85.146)
18:41:19 L29Ah parts (~L29Ah@wikipedia/L29Ah) ()
18:42:09 wootehfoot joins (~wootehfoo@user/wootehfoot)
18:43:02 <int-e> tomsmeding: right. and it's also not simply a list of installed packages because then it should have things like hsemail (a dependency of the niche distribution-opensuse package).
18:43:02 × todi quits (~todi@p57803331.dip0.t-ipconnect.de) (Remote host closed the connection)
18:44:54 <int-e> (even if those made sense as installed packages you'd still have to think of a story for why some packages are fixed and others vary)
18:45:32 <int-e> The explanation that does rhyme is that this is a deliberate DoS.
18:48:42 <tomsmeding> indeed
18:48:51 × shryke_ quits (~shryke@91.103.43.254) (Quit: WeeChat 4.4.2)
18:49:14 <tomsmeding> in which case... what an immaturity to DoS something like hoogle, _why_
18:49:33 <tomsmeding> (and why not haskell.org?)
18:50:04 <tomsmeding> surely a DoS is to send some kind of message, but it's entirely unclear what the message is here
18:51:00 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
18:53:07 geekosaur glances at "all of them together" and suddenly wonders if there is some chance that acme-everything is involved
18:53:25 <geekosaur> (remembering the equivalent situation with node a few months back)
18:53:36 <haskellbridge> <sm> DoS don't need to follow any logic. They can be random, or sometimes unintended misconfigurations
18:53:58 <sclv> it does look for like `Monad` in each package, so there's the possibility its trying to crawl all of hackage to discover which modules define a Monad or something, and they're doing it in a just stupid dumb way
18:54:10 <haskellbridge> <sm> one just needs to be robust against them
18:54:31 <geekosaur> they couldn't just ask ChatGPT like everyone else does in 2024?
18:54:42 <sclv> like someone could just be doing something inefficient and not realizing the load they're causing
18:55:44 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 272 seconds)
18:56:30 <int-e> I would expect an LLM to invent package names rather than sticking to existing ones
18:57:38 <int-e> It's weird. But all it takes is one ill-motivated (and/or bored) person. :/
18:57:58 <sclv> ugh just checked and its still going
18:59:06 <sclv> i really do think its somebodys student project gone awry
18:59:27 <tomsmeding> but then it's been going for months!
19:00:47 <haskellbridge> <sm> can't you "just block them"
19:03:24 zetef joins (~quassel@86.124.127.67)
19:03:24 × zetef quits (~quassel@86.124.127.67) (Client Quit)
19:03:33 × simendsjo quits (~user@84.211.91.108) (Ping timeout: 276 seconds)
19:05:57 <sclv> looks like its a lot of different ips!
19:06:13 <tomsmeding> that's odd
19:06:34 <sclv> ooh its https://wordpress.org/support/topic/psa-bytedance-and-bytespider-bots-recommend-blocking/
19:06:35 <monochrom> Maybe ChatGPT is the one asking hoogle. >:)
19:06:36 tomsmeding . o O ( just block searching for "Monad" )
19:07:01 <monochrom> Hey that works too.
19:07:10 <tomsmeding> sclv: oh you have a user agent?
19:07:17 <tomsmeding> they are really _crawlers_?
19:07:45 × rvalue quits (~rvalue@user/rvalue) (Ping timeout: 252 seconds)
19:07:53 <sclv> whytf is the company that owns tik tok crawling hoogle something must be haywire
19:08:37 <tomsmeding> going by the thread you linked they seem to be crawling everything, and clumsily at that
19:13:40 × LainExperiments quits (~LainExper@user/LainExperiments) (Quit: Client closed)
19:14:06 <int-e> how does crawling end up with such package combinations?
19:14:13 LainExperiments joins (~LainExper@user/LainExperiments)
19:15:20 <tomsmeding> sclv: is every request different, or is there a set of package combinations that repeats?
19:15:40 <tomsmeding> (please prioritise blocking the user agent over checking this)
19:16:47 <haskellbridge> <sm> Possibly related: https://news.ycombinator.com/item?id=42009636 Nearly 90% of our AI crawler traffic is from ByteDance
19:17:17 <tomsmeding> but is it really _crawler_ traffic or are they training an AI with web access, and not caching any of the accesses it makes?
19:17:33 <tomsmeding> that would explain large volumes of weird requests
19:17:43 rvalue joins (~rvalue@user/rvalue)
19:23:03 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 276 seconds)
19:23:58 Angelz joins (Angelz@Angelz.oddprotocol.org)
19:26:15 <mauke> preflex: seen sm
19:26:15 <preflex> sm was last seen on #haskell 9 minutes and 29 seconds ago, saying: Possibly related: https://news.ycombinator.com/item?id=42009636 Nearly 90% of our AI crawler traffic is from ByteDance
19:27:08 <mauke> hell yeah. made haskellbridge transparent to the seen command and deployed the update, all without disconnecting the bot
19:27:36 <tomsmeding> flex
19:27:51 <tomsmeding> mauke: what's it written in
19:27:55 <monochrom> How did you manage that? I thought Haskell doesn't quite support hot-loading.
19:27:55 <mauke> haskell :-)
19:28:20 <mauke> no hot-loading. I built a new executable and copied it to the server
19:28:38 <mauke> but it re-execs itself on SIGUSR1
19:28:52 <monochrom> Wait, do you mean that every preflex command causes spawning a brand new preflex process?!
19:29:09 <tomsmeding> mauke: that's cute
19:29:17 <mauke> the way irssi and xmonad do it
19:29:19 <monochrom> OK I see, nevermind.
19:30:03 <monochrom> Wait, it re-execs without disconnecting. That's interesting.
19:30:19 <tomsmeding> mauke: how much state do you have to communicate to the new process to make it continue operations seemlessly?
19:30:22 <tomsmeding> *seamlessly
19:30:32 <tomsmeding> I guess the irc protocol is simple enough that there's very little state
19:30:46 <geekosaur> that's just passing the connection fd on the command line and fdToHandle in the new process, no?
19:32:17 <tomsmeding> presumably, yes
19:32:26 <monochrom> Is it like this? The re-exec contains arguments that say "don't make new connection, fd #42 is already the connected socket, just use that"?
19:33:20 sprotte24 joins (~sprotte24@p200300d16f3c620054c3529ac9abaeb8.dip0.t-ipconnect.de)
19:33:36 <monochrom> I need to turn that into homework or exam. >:)
19:34:09 <tomsmeding> monochrom: you're making life rather easier for students who lurk in this channel
19:34:32 <sclv> oh god looking at more logs its not just bytedance its all the fucking crawlers. chatgpt PetalBot amazonbot applebot, and they're all ignoring robots.txt
19:34:34 <sclv> ASDFASDF
19:34:56 <monochrom> Yeah right 2nd-year unix-and-C students decide to hang out in #haskell. Fat chance.
19:34:58 <tomsmeding> sclv: and they're all doing ridiculous infinite praameter combinations?
19:34:59 <mauke> monochrom: basically
19:35:01 <tomsmeding> monochrom: fair :D
19:35:21 <sclv> yes, all their crawls are equally ass and look the same. i wonder if there's some linkfarm that generated them and then they all follow it??
19:35:23 <monochrom> On top of gen Z (or whatever it is) hanging out in IRC at all.
19:35:24 hgolden_ joins (~hgolden@static-198-44-129-51.cust.tzulo.com)
19:35:42 <sclv> there's even a ew that have no bot signature at all that look the same
19:36:35 <mauke> tomsmeding: two filenames, two sockets, two pending message queues (input/output), and explicit state: a timestamp, the current nick, isupport settings, list of joined channels
19:36:39 <sclv> and on top of that we're getting queries that are from homegrown crawlers looking for like AWS_SECRET and the like to lool
19:36:47 <tomsmeding> looking at my logs I seem to currently have >=5 crawlers crawling ircbrowse: babbar.tech, facebook, amazonbot, opensiteexplorer.org, petalbot
19:37:20 <tomsmeding> but then that server also runs a matrix server and the matrix server is at least as active lol
19:37:22 <sclv> these assholes are killing the internet
19:37:53 <briandaed> https://blog.cloudflare.com/declaring-your-aindependence-block-ai-bots-scrapers-and-crawlers-with-a-single-click/ just another reason to hate 'ai'
19:37:53 × hgolden__ quits (~hgolden@204.152.216.122) (Ping timeout: 245 seconds)
19:37:56 <tomsmeding> to be fair ircbrowse has a robots.txt that explicitly allows the calendar pages (/day/*), and they seem to be crawling that tree
19:38:19 <tomsmeding> mauke: that's quite a bit!
19:38:24 <geekosaur> interestingly, I periodically check the logs of my matrix server and the only noise I see is the usual kiddies scanning for vulns
19:38:32 <geekosaur> (sorry, no wordpress here 😛 )
19:38:44 <tomsmeding> mauke: how do you communicate it, some serialised data structure on the command line or something fancier?
19:39:36 <mauke> a lot of show
19:39:39 <mauke> and command line arguments
19:39:39 <tomsmeding> briandaed: that's hilarious
19:39:45 <tomsmeding> mauke: ah :)
19:40:16 <mauke> you wouldn't believe what the storage backend looks like :-)
19:40:19 <int-e> briandaed: what if I want to be independent of cloudflare
19:40:39 <tomsmeding> then you put a regex in your reverse proxy on the user agent
19:40:48 cuteguest joins (~cuteguest@67-134-33-194.dia.static.qwest.net)
19:41:26 <mauke> the whole thing is built on a simple key/value store, both of which are strings
19:41:44 <mauke> all stored data is serialized using 'show'
19:42:00 <monochrom> NoSQL + NoBinary >:)
19:42:05 <cuteguest> someone here recommended thinking with types.. its soo cool and blowing my mind.. im at open products and open sums and i feel like its going to take me a lot of practice to really get whats going on
19:42:06 <briandaed> int-e: then you must be better than 'them'
19:42:09 <int-e> TBH I'm somewhat surprised that they use an identifiable user agent (Bytespider / Bytedance) instead of masquerading as a standard web browser.
19:42:10 <mauke> it's actually sqlite
19:42:21 <monochrom> NoSQL + NoBinary + NoStructure >:) >:)
19:42:30 <int-e> If you're being scummy (ignore robots.txt) why not go the extra mile?
19:42:44 <tomsmeding> why is spam email so easy to spot
19:42:58 <tomsmeding> both are useful, neither make any sense
19:43:00 <mauke> but the karma plugin stores counts as full Integers and the seen plugin uses timestamps with picosecond precision, so there's that
19:43:02 <int-e> tomsmeding: because 90% of it is not targeted at you
19:43:06 <int-e> or 99%
19:43:34 <tomsmeding> mauke: I see you're waiting for the person with >2^64 karma
19:44:23 <monochrom> cuteguest: open products and open sums are equivalent to OO so one can argue that every 1st-year student understands it. >:)
19:44:46 <mauke> sadly, even C doesn't come close :-)
19:45:10 <cuteguest> oh no.. mayb i should jus give up all this computer stuff..
19:46:04 <mauke> monochrom: isn't that a bit like saying you can catch a ball thrown to you, so you must be able to do calculus?
19:46:48 <cuteguest> :3c
19:46:50 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 265 seconds)
19:47:34 <monochrom> mauke: It is also like saying "ChatGPT happens to answer my question correctly, so it must understand the topic!"
19:48:01 <monochrom> The truth is I was sarcastic about humans "understanding" anything at all.
19:48:39 <int-e> monochrom: and people use LLMs for advice in areas that they don't understand
19:49:12 <int-e> "ChatGPT knows more about the law than I do, I use it for all my legal advice."
19:49:14 × bairyn quits (~bairyn@50.250.232.19) (Ping timeout: 260 seconds)
19:49:19 <int-e> whatcouldpossiblygowrong
19:50:48 bairyn joins (~bairyn@50.250.232.19)
19:51:36 euleritian joins (~euleritia@dynamic-176-006-134-113.176.6.pool.telefonica.de)
19:51:44 machinedgod joins (~machinedg@d108-173-18-100.abhsia.telus.net)
19:53:03 <Rembane> They had it coming! They had it coming! They only had themselves to blame!
19:53:19 × weary-traveler quits (~user@user/user363627) (Remote host closed the connection)
19:54:35 <cuteguest> i <3 you internet ppl
19:55:15 <cuteguest> i think i will b back here at some point with a new name.. i think it would b fun to talk about more haskell
19:55:25 <[exa]> evening everyone
19:55:41 <cuteguest> evening gm gn bye bye
19:55:50 <[exa]> \o
19:56:04 <cuteguest> o/
19:56:09 <tomsmeding> [exa]: sclv is finding out what's behind hoogle's slowness
19:56:17 × cuteguest quits (~cuteguest@67-134-33-194.dia.static.qwest.net) (Quit: Client closed)
19:56:19 <tomsmeding> answer: apparently AI trainer crawlers going absolutely haywire
19:56:20 <[exa]> tomsmeding: oh great
19:56:24 <tomsmeding> it's insane
19:56:33 <[exa]> lol
19:56:39 <tomsmeding> https://discourse.haskell.org/t/hoogle-appears-to-be-down/10408/21
19:56:49 × alphazone quits (~alphazone@2.219.56.221) (Ping timeout: 260 seconds)
19:56:52 <[exa]> AI certainly thinks "I'll finally get the monads it if I read it once more"
19:57:01 × SlackCoder quits (~SlackCode@64-94-63-8.ip.weststar.net.ky) (Quit: Leaving)
19:57:12 <sclv> alright i turned on cloudflare protection for hoogle (luckly its already our dns provider) and turned on some of those super bot fight mode features briandaed linked me to -- thanks!
19:57:13 <tomsmeding> https://ircbrowse.tomsmeding.com/day/lchaskell/2024/11/04?id=1395457#trid1395457
19:57:14 <geekosaur> so is that better or worse than bad monad tutorials?
19:57:19 <sclv> didn't kill all the bad traffic but drastically reduced it
19:57:21 <geekosaur> (or an AI overreaction to same?)
19:57:42 <monochrom> That's what's wrong with soft AI (i.e., the school of AI that says AI means doing what humans do).
19:57:42 <tomsmeding> sclv: hoogle is fast again!
19:57:50 <tomsmeding> hooray!
19:57:55 <[exa]> sclv: <3 thanks!
19:58:23 <briandaed> cool, just remember to remove -O0 from Query.hs xD
19:59:10 <[exa]> sclv: just curious, how much volume/time was it, roughly?
19:59:16 <monochrom> Haha "super bot fight mode". Cf https://store.steampowered.com/app/898750/Super_Robot_Wars_30/
19:59:44 <sclv> idk if i can estimate from the logs -- between all the bots were getting like 10 rq/sec ?
20:00:04 × caconym quits (~caconym@user/caconym) (Quit: bye)
20:00:39 caconym joins (~caconym@user/caconym)
20:01:41 <haskellbridge> <hellwolf> Do you use "AI" in your Haskell programming workflow, and which editor would you use for that?
20:01:41 <haskellbridge> I am still not convinced I would need it for my stuff, but I am open to listening to people's experience, especially when it comes to programming in Haskell...
20:02:08 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
20:02:54 <geekosaur> I don't use AI for anything, especially when the fine print says they'll start charging me at some point (looking at you, Gemini) because becoming dependent on it is Bad Idea
20:03:40 alphazone joins (~alphazone@2.219.56.221)
20:03:41 <monochrom> If you watched the Dune Part II movie, you'll understand this: Control of AI is control of power.
20:03:55 <haskellbridge> <hellwolf> I still remember the days when Linus said you should stick to printf debugging, because otherwise you grow dependent on debuggers.
20:04:07 <briandaed> hellwolf: no, I assume it "bad" on many levels, I was made to use/evaluate it, but selecting 'best' option and 'tune' it, makes no sense to me, also being trained on GPLed code also stinks
20:04:55 <haskellbridge> <hellwolf> This guy from HVM, every day shilling about using AI for his stuff. He seems a smart guy, and I am wondering what am I missing here. I don't want to be stuck with confirmation bias, neither...
20:04:58 <[exa]> sclv: btw what's the search backend for hoogle? I somehow thought it's deferring to something like elasticsearch or maybe sphinx as notmuch does, but the search storage looks completely custom, is that right?
20:05:10 × euleritian quits (~euleritia@dynamic-176-006-134-113.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
20:05:29 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
20:05:55 <monochrom> You should stick to debuggers, because otherwise you grow dependent on printf debugging (which describes me). >:)
20:06:19 <[exa]> oh yeah imagine when they monetize printf!
20:06:23 <haskellbridge> <hellwolf> does haskell even have a debugger :D
20:06:36 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 252 seconds)
20:06:59 <haskellbridge> <hellwolf> GHC is the best debugger, debug your type errors
20:07:05 <geekosaur> ghci, supposedly
20:07:11 <haskellbridge> <hellwolf> bingo
20:07:30 <haskellbridge> <hellwolf> actually, no, I haven't ever used it for debugging...
20:07:34 <geekosaur> there are some gdb scripts floating around byut they assume you uunderstand STG internals
20:08:54 <monochrom> LLMs are well-trained on mainstream languages, but Haskell is not a mainstream language. Once again, networking effects win.
20:09:19 califax_ joins (~califax@user/califx)
20:09:43 × califax quits (~califax@user/califx) (Remote host closed the connection)
20:10:02 <int-e> https://github.com/ndmitchell/hoogle/blob/master/src/Output/Names.hs#L46 . o O ( beautiful )
20:10:30 <mauke> ... hat? buddha?
20:10:39 califax_ is now known as califax
20:10:54 <geekosaur> I like the comments nearby as well
20:11:08 <geekosaur> (wait, buffer too small? are you using the right language?)
20:12:18 <int-e> [exa]: it's all written in Haskell... if my code-browsing skills don't deceive me, https://github.com/ndmitchell/hoogle/blob/master/src/Output/Types.hs does the type matching
20:12:34 <monochrom> hat and buddha may have bitrotted.
20:14:19 <geekosaur> it's haskell but some of what that linked function is doing makes me think ndm was writing C in Haskell shudder
20:14:30 <[exa]> int-e: ah thanks a lot, I was clicking through to this but not nearly as fast
20:14:40 × Smiles quits (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity)
20:15:10 <[exa]> anyway yeah this would make I guess a nice zurihac topic, hoogle with a slightly more modern data retrieval
20:17:37 alphazone_ joins (~alphazone@2.219.56.221)
20:19:33 <monochrom> It calls a C function text_search. It has to do the FFI necessary evil of malloc-marshall-call_c-free. I would say it looks like C++ RAII. >:) But it's just the usual FFI glue code.
20:20:09 × alphazone quits (~alphazone@2.219.56.221) (Ping timeout: 260 seconds)
20:20:10 <int-e> So you're saying it's idiomatic Haskell.
20:21:16 <geekosaur> I don't think doing `malloc` undjer `unsafePerformIO` is ever idiomatic. Or safe,
20:21:22 <monochrom> It depends on whether/how-much usage of FFI is idiomatic Haskell.
20:21:54 <monochrom> Not even unsafePerformIO (bracket malloc action free)?
20:21:54 <int-e> sorry I didn't add ";-)"
20:22:02 <monochrom> haha
20:22:16 weary-traveler joins (~user@user/user363627)
20:22:56 <geekosaur> iirc `bracket` and `unsafePerformIO` is a really dangerouss combination
20:23:34 <briandaed> shouldn't it be marked as NOINLINE, same as c_text_search?
20:24:59 <int-e> Isn't it (barely) fine if you don't use STM? In contrast to unsafeDupablePerformIO which may fail to exectue the cleanup if the GC manages to d-duplicates the computation. (And with STMs computations can also stop without a trace when a transaction is retried.)
20:25:22 <int-e> "it" being `bracket` under unsafePerformIO & friends
20:26:18 <geekosaur> STM rejects being run under unsafePerformIO anyway
20:26:24 <int-e> And when it's malloc the worst you get is a memory leak. Which is, of course, problematic for servers.
20:26:25 <geekosaur> or at least `atomically` does
20:26:36 <int-e> geekosaur: this is about unsafePerformIO under STM
20:26:42 <geekosaur> the worsyt you get is the process freezing because it blocked
20:27:43 <Rembane> I wonder why the C-code was needed.
20:27:44 <int-e> AFAIK if you have STM -> unsafePerfromIO -> bracket, the cleanup branch of bracket may never run if the outer transaction is retried, leaking resources. It may be worse and mess with the exception mask.
20:27:56 <int-e> Rembane: for better performance I'd guess
20:28:15 <int-e> this is searching for a needle in megabytes of data
20:28:28 <int-e> (I think)
20:28:38 <Rembane> int-e: Yeah, since I'm not a C-programmer it doesn't seem like it's worth it. But I don't really know.
20:29:26 <geekosaur> (IIRC malloc gives you pinned memory, which therefore doesn't live in the heap, which therefore means it comes from C's malloc, which means your thread is blocked in FFI and if another thread causes a GC the RTS will block trying to synchronize with your thread while it's in the FFI call)
20:29:31 <int-e> Haskell, or rather GHC, isn't great at compiling tight inner loops.
20:30:14 <int-e> geekosaur: That depends on whether you make an unsafe or a safe foreign call.
20:30:23 <tomsmeding> the C code doesn't look particularly vectorisable, though
20:30:39 <haskellbridge> <hellwolf> > Haskell, or rather GHC, isn't great at compiling tight inner loops.
20:30:39 <haskellbridge> Any short example of it?
20:30:45 <int-e> It has little to do with where malloc-ed memory resides. The fact that it's pinned makes it safe to use in safe foreign calls.
20:31:28 <tomsmeding> hellwolf: GHC will not generate SIMD instructions, and a C compiler will, if your code is amenable to it
20:31:39 <tomsmeding> that is good for 2x-4x improvement in some cases
20:32:12 <tomsmeding> (but as I said, this code doesn't look like the kind of code that would really benefit from that)
20:32:48 <tomsmeding> (assuming that the strstr() call is replaced with some other FFI call; perhaps eliminating the overhead of many FFI calls for the strstr()s already justifies putting the whole loop in C)
20:32:52 <int-e> bytestring/vector jump through a lot of hoops to hopefully avoid allocations in inner loops
20:32:52 <tomsmeding> ( https://github.com/ndmitchell/hoogle/blob/master/cbits/text_search.c )
20:33:18 <tomsmeding> (strstr() is typically a thing that you do want to do with SIMD instructions)
20:33:21 <int-e> It's much easier to ensure the absence of such allocations by using C.
20:35:07 <Inst> ...
20:35:28 <Inst> 2 minutes, good enough, do people still use servant, or is it sort of obsolete in web framework land?
20:35:47 <geekosaur> why do you think it's obsolete?
20:36:00 <geekosaur> it wasn't updated 5 minutes ago?
20:36:04 × ash3en quits (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Quit: ash3en)
20:36:30 <Inst> https://www.servant.dev
20:36:32 <Inst> last blog entry 2018
20:37:19 <Inst> afaik, like, scotty and spock were standard for a long time, then hecate recommends twain, which as far as i understand is standard for "simple" webservers
20:38:28 <tomsmeding> Inst: last upload to hackage August 30th, this year
20:38:30 <tomsmeding> is that new enough?
20:38:46 <Inst> i mean you could just say there is no alternative
20:39:05 <tomsmeding> there are various alternatives with various feature sets and library designs
20:39:41 <Inst> any you could recommend?
20:40:00 <Inst> or maybe I just don't understand captureall, I'm trying to rig servant to just expose a directory
20:40:18 <Inst> and i'm annoyed because i'm using Data.List.intersperse and Data.Foldable.fold
20:40:25 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
20:40:38 <monochrom> To expose a directory, just use apache. >:)
20:40:54 × remedan quits (~remedan@ip-62-245-108-153.bb.vodafone.cz) (Quit: Bye!)
20:41:35 <geekosaur> the thing about servant is that it heavily uses type level programming. on the one hand that means it's pretty thoroughly debugged at compile time. on the other it makes it harder to use, so for very simple jobs you may want something easier to wrangle
20:41:50 <tomsmeding> Inst: the playground uses snap-server; relatively bare-bones, but works and is not extremely heavy-weight
20:42:15 <Clint> warp's pretty simple for just serving a directory
20:42:41 remedan joins (~remedan@ip-62-245-108-153.bb.vodafone.cz)
20:42:58 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
20:45:15 <Inst> thanks for the help, i guess
20:45:29 <Inst> monochrom: I'm just making 100 different hello worlds. Getting servant to expose a directory is a hello-world
20:47:00 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
20:48:14 <monochrom> I use a much simpler hello world. It just counts how many times it has been visited. And the count isn't even saved permanently.
20:50:31 LainExperiments6 joins (~LainExper@user/LainExperiments)
20:53:59 × LainExperiments quits (~LainExper@user/LainExperiments) (Ping timeout: 256 seconds)
20:55:07 CoolMa7 joins (~CoolMa7@95.91.137.87)
20:56:49 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
20:58:43 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
20:59:05 × LainExperiments6 quits (~LainExper@user/LainExperiments) (Ping timeout: 256 seconds)
21:01:16 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 265 seconds)
21:03:41 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
21:06:40 ircbrowse_tom joins (~ircbrowse@user/tomsmeding/bot/ircbrowse-tom)
21:06:42 Server sets mode +Cnt
21:07:29 × briandaed quits (~root@185.234.210.211) (Remote host closed the connection)
21:07:42 × lxsameer quits (~lxsameer@Serene/lxsameer) (Ping timeout: 276 seconds)
21:09:04 × yahb2 quits (~yahb2@user/tomsmeding/bot/yahb2) (Remote host closed the connection)
21:14:05 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
21:19:04 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
21:21:31 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
21:24:43 JuanDaugherty joins (~juan@user/JuanDaugherty)
21:27:36 yahb2 joins (~yahb2@user/tomsmeding/bot/yahb2)
21:27:36 ChanServ sets mode +v yahb2
21:31:25 × michalz quits (~michalz@185.246.207.221) (Remote host closed the connection)
21:31:52 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
21:32:25 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
21:32:31 × yahb2 quits (~yahb2@user/tomsmeding/bot/yahb2) (Remote host closed the connection)
21:35:33 × JuanDaugherty quits (~juan@user/JuanDaugherty) (Quit: JuanDaugherty)
21:35:38 LainExperiments joins (~LainExper@user/LainExperiments)
21:37:03 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
21:37:04 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 252 seconds)
21:37:57 yahb2 joins (~yahb2@user/tomsmeding/bot/yahb2)
21:37:57 ChanServ sets mode +v yahb2
21:44:27 emfrom joins (~emfrom@37.169.23.60)
21:46:03 × LainExperiments quits (~LainExper@user/LainExperiments) (Quit: Client closed)
21:47:47 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
21:49:56 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Quit: ChaiTRex)
21:50:51 ChaiTRex joins (~ChaiTRex@user/chaitrex)
21:52:06 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
21:52:34 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
21:53:32 × yahb2 quits (~yahb2@user/tomsmeding/bot/yahb2) (Remote host closed the connection)
21:54:20 yahb2 joins (~yahb2@user/tomsmeding/bot/yahb2)
21:54:20 ChanServ sets mode +v yahb2
21:56:54 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
21:56:58 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
21:58:08 × CoolMa7 quits (~CoolMa7@95.91.137.87) (Quit: My Mac has gone to sleep. ZZZzzz…)
21:58:30 Everything joins (~Everythin@178-133-220-38.mobile.vf-ua.net)
22:03:10 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
22:07:52 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
22:07:58 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
22:12:21 × petrichor quits (~znc-user@user/petrichor) (Quit: ZNC 1.8.2 - https://znc.in)
22:18:33 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
22:19:38 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
22:23:25 hgolden__ joins (~hgolden@23.162.40.28)
22:25:45 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
22:26:19 × hgolden_ quits (~hgolden@static-198-44-129-51.cust.tzulo.com) (Ping timeout: 260 seconds)
22:26:20 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
22:29:04 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
22:30:49 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 260 seconds)
22:34:20 ljdarj joins (~Thunderbi@user/ljdarj)
22:35:00 Digitteknohippie joins (~user@user/digit)
22:35:22 × Digit quits (~user@user/digit) (Ping timeout: 252 seconds)
22:36:38 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
22:38:04 × enikar quits (~enikar@user/enikar) (Quit: WeeChat 3.0)
22:40:02 enikar joins (~enikar@user/enikar)
22:41:13 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds)
22:42:15 × Everything quits (~Everythin@178-133-220-38.mobile.vf-ua.net) (Quit: leaving)
22:46:12 ljdarj1 joins (~Thunderbi@user/ljdarj)
22:49:12 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 244 seconds)
22:49:12 ljdarj1 is now known as ljdarj
22:52:01 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
22:56:17 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
22:59:58 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
23:07:22 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
23:10:10 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 248 seconds)
23:11:57 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
23:14:48 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
23:15:54 ocra8 joins (ocra8@user/ocra8)
23:15:55 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
23:16:46 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
23:17:42 × acidjnk quits (~acidjnk@p200300d6e7283f93159bb6576a1c8c4b.dip0.t-ipconnect.de) (Ping timeout: 276 seconds)
23:19:20 × emfrom quits (~emfrom@37.169.23.60) (Remote host closed the connection)
23:20:03 emfrom joins (~emfrom@37.169.23.60)
23:22:46 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
23:27:04 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
23:27:22 × emfrom quits (~emfrom@37.169.23.60) (Remote host closed the connection)
23:29:20 × pie_ quits (~pie_bnc@user/pie/x-2818909) ()
23:37:27 ljdarj1 joins (~Thunderbi@user/ljdarj)
23:38:08 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
23:40:48 roosterphant_ joins (~roosterph@185.21.217.76)
23:41:13 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 245 seconds)
23:41:14 ljdarj1 is now known as ljdarj
23:41:22 × roosterphant quits (~roosterph@185.21.217.76) (Ping timeout: 252 seconds)
23:41:29 Nachtgespenst joins (~user@user/siracusa)
23:42:27 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
23:43:24 hgolden_ joins (~hgolden@23.162.40.69)
23:45:45 × hgolden__ quits (~hgolden@23.162.40.28) (Ping timeout: 252 seconds)
23:47:42 Sgeo joins (~Sgeo@user/sgeo)
23:49:10 × Versality quits (~Versality@user/Versality) (Remote host closed the connection)
23:51:53 × misterfish quits (~misterfis@84.53.85.146) (Ping timeout: 265 seconds)
23:53:32 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
23:56:42 <haskellbridge> <zwro> monochrom: main = print 1

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