2024/10/22

2024-10-22 00:00:29 +0200 <geekosaur> (strongly deprecated since OCaml 2.0 though)
2024-10-22 00:00:32 +0200 <mauke> technically also true of Perl
2024-10-22 00:07:25 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-22 00:10:38 +0200Sgeo(~Sgeo@user/sgeo) Sgeo
2024-10-22 00:11:49 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-10-22 00:13:51 +0200 <dmj`> rust is by default immutable, pass by value, with opt-in laziness and mutability, haskell is default immutable, pass by value, but default laziness and opt-in mutability. rust traits aren't compiled w/ dictionaries, and I don't know how rust existentials are handled
2024-10-22 00:15:38 +0200tcard(~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Remote host closed the connection)
2024-10-22 00:15:53 +0200tcard(~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) tcard
2024-10-22 00:22:48 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-22 00:24:35 +0200morb(~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
2024-10-22 00:27:29 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-10-22 00:29:39 +0200k_hachig(~k_hachig@2607:fea8:351d:ef0:5d8:3261:6875:6bbe) (Ping timeout: 260 seconds)
2024-10-22 00:35:29 +0200k_hachig_(~k_hachig@2607:fea8:351d:ef0:5d8:3261:6875:6bbe) k_hachig
2024-10-22 00:35:31 +0200alp(~alp@user/alp) (Ping timeout: 264 seconds)
2024-10-22 00:35:51 +0200morb(~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 246 seconds)
2024-10-22 00:40:33 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-22 00:40:47 +0200neuroevolutus(~neuroevol@79.127.222.218) (Ping timeout: 256 seconds)
2024-10-22 00:43:44 +0200vglfr(~vglfr@c-73-250-25-113.hsd1.md.comcast.net) (Ping timeout: 252 seconds)
2024-10-22 00:44:22 +0200vglfr(~vglfr@2607:fb91:89c:94e1:ac39:c397:e2d4:2df7) vglfr
2024-10-22 00:45:21 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2024-10-22 00:45:34 +0200machinedgod(~machinedg@d50-99-47-73.abhsia.telus.net) (Ping timeout: 252 seconds)
2024-10-22 00:47:49 +0200 <sm> there are *so many* characteristics within "OOP" and "FP" that are orthogonal or at best related
2024-10-22 00:48:36 +0200vglfr(~vglfr@2607:fb91:89c:94e1:ac39:c397:e2d4:2df7) (Ping timeout: 252 seconds)
2024-10-22 00:48:40 +0200 <sm> until we can name and explain every one of them there'll be no end to the discussions :)
2024-10-22 00:49:09 +0200morb(~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
2024-10-22 00:49:19 +0200mantraofpie_mantraofpie
2024-10-22 00:49:25 +0200vglfr(~vglfr@2607:fb90:ea26:e52:ad3:f751:e463:3b12) vglfr
2024-10-22 00:50:50 +0200 <haskellbridge> <sm> I guess this is all related to today's, https://news.ycombinator.com/item?id=41901577
2024-10-22 00:52:00 +0200L29Ah(~L29Ah@wikipedia/L29Ah) ()
2024-10-22 00:52:40 +0200L29Ah(~L29Ah@wikipedia/L29Ah) L29Ah
2024-10-22 00:52:55 +0200ljdarj1(~Thunderbi@user/ljdarj) ljdarj
2024-10-22 00:53:53 +0200BolzmannPain2(~BolzmannP@2a02:3035:66f:43d3:a705:5462:8b6b:2ae2)
2024-10-22 00:54:33 +0200morb(~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 245 seconds)
2024-10-22 00:55:12 +0200ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 276 seconds)
2024-10-22 00:55:12 +0200ljdarj1ljdarj
2024-10-22 00:55:55 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-22 00:58:57 +0200araujo(~araujo@45.146.55.185) (Ping timeout: 248 seconds)
2024-10-22 01:00:23 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds)
2024-10-22 01:07:15 +0200Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
2024-10-22 01:09:17 +0200Everything(~Everythin@178-133-160-21.mobile.vf-ua.net) (Quit: leaving)
2024-10-22 01:11:19 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-22 01:15:38 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-10-22 01:22:08 +0200morb(~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
2024-10-22 01:25:15 +0200Square(~Square@user/square) Square
2024-10-22 01:26:41 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-22 01:30:57 +0200k_hachig_(~k_hachig@2607:fea8:351d:ef0:5d8:3261:6875:6bbe) (Ping timeout: 252 seconds)
2024-10-22 01:33:15 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2024-10-22 01:33:36 +0200morb(~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 252 seconds)
2024-10-22 01:33:43 +0200vglfr(~vglfr@2607:fb90:ea26:e52:ad3:f751:e463:3b12) (Ping timeout: 245 seconds)
2024-10-22 01:34:08 +0200acidjnk_new(~acidjnk@p200300d6e72cfb2850471ab9600a8860.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
2024-10-22 01:35:31 +0200sawilagar(~sawilagar@user/sawilagar) (Ping timeout: 264 seconds)
2024-10-22 01:41:38 +0200k_hachig_(~k_hachig@2607:fea8:351d:ef0:5d8:3261:6875:6bbe) k_hachig
2024-10-22 01:42:51 +0200araujo(~araujo@193.56.116.233)
2024-10-22 01:44:07 +0200vglfr(~vglfr@c-73-250-25-113.hsd1.md.comcast.net) vglfr
2024-10-22 01:45:03 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-22 01:52:05 +0200BolzmannPain2(~BolzmannP@2a02:3035:66f:43d3:a705:5462:8b6b:2ae2) (Quit: Client closed)
2024-10-22 01:52:56 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
2024-10-22 01:57:32 +0200morb(~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
2024-10-22 02:01:42 +0200SlackCoder(~SlackCode@64-94-63-8.ip.weststar.net.ky) (Quit: Leaving)
2024-10-22 02:01:50 +0200morb(~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 252 seconds)
2024-10-22 02:04:01 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-22 02:04:30 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
2024-10-22 02:08:18 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds)
2024-10-22 02:08:40 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-10-22 02:17:35 +0200morb(~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
2024-10-22 02:19:24 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-22 02:22:00 +0200morb(~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 252 seconds)
2024-10-22 02:23:53 +0200swamp_(~zmt00@user/zmt00) zmt00
2024-10-22 02:24:12 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-10-22 02:24:15 +0200swamp_(~zmt00@user/zmt00) (Max SendQ exceeded)
2024-10-22 02:25:05 +0200swamp_(~zmt00@user/zmt00) zmt00
2024-10-22 02:25:30 +0200swamp_(~zmt00@user/zmt00) (Max SendQ exceeded)
2024-10-22 02:26:17 +0200swamp_(~zmt00@user/zmt00) zmt00
2024-10-22 02:27:14 +0200ljdarj1(~Thunderbi@user/ljdarj) ljdarj
2024-10-22 02:27:36 +0200zmt01(~zmt00@user/zmt00) (Ping timeout: 252 seconds)
2024-10-22 02:28:25 +0200morb(~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
2024-10-22 02:30:43 +0200ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds)
2024-10-22 02:30:43 +0200ljdarj1ljdarj
2024-10-22 02:35:11 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-22 02:37:50 +0200pavonia(~user@user/siracusa) (Read error: Connection reset by peer)
2024-10-22 02:40:30 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
2024-10-22 02:46:58 +0200pavonia(~user@user/siracusa) siracusa
2024-10-22 02:49:30 +0200morb(~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 272 seconds)
2024-10-22 02:51:19 +0200xff0x(~xff0x@2405:6580:b080:900:402e:506a:8caf:1fb3) (Ping timeout: 244 seconds)
2024-10-22 02:52:28 +0200 <Axman6> sam113101: traits (among many other features of Rust were strongly inspured by Haskell's type classes - https://readmedium.com/ideas-from-other-languages-that-influenced-rust-8ffb5589b0fe
2024-10-22 02:52:37 +0200 <Axman6> s/Rust/Rust)
2024-10-22 02:52:40 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-22 02:57:00 +0200araujo(~araujo@193.56.116.233) (Ping timeout: 244 seconds)
2024-10-22 02:57:12 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-10-22 03:01:41 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Quit: peterbecich)
2024-10-22 03:02:32 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2024-10-22 03:03:19 +0200morb(~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
2024-10-22 03:04:38 +0200weary-traveler(~user@user/user363627) user363627
2024-10-22 03:06:42 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 246 seconds)
2024-10-22 03:08:03 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-22 03:08:54 +0200morb(~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 265 seconds)
2024-10-22 03:10:04 +0200esph(~weechat@user/esph) (Ping timeout: 260 seconds)
2024-10-22 03:10:52 +0200morb(~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
2024-10-22 03:12:12 +0200araujo(~araujo@45.146.55.99)
2024-10-22 03:12:36 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-10-22 03:15:15 +0200 <sm> historical trivia from the original 1982 traits paper: "Multiple-inheritance subclassing is a valid and useful method for organizing object-oriented software; as demonstrated by the existence of the Star Workstation. The complexity of the Star WS software has been controlled by object-orientation first, subclassing second and multiple-inheritance third. The Traits Model is a reasonable approach to multiple- inheritance subclassing. ... Eric Harslem
2024-10-22 03:15:15 +0200 <sm> allowed us to apply this unproven software technique to a large and important piece of software - successfully. Dan Ingalls, Alan Borning, and Dave Gifford all later noted the similarities between the traits approach and the flavors approach of the MIT LISP machine.
2024-10-22 03:15:55 +0200 <sm> https://dl.acm.org/doi/pdf/10.1145/966873.806468
2024-10-22 03:23:25 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-22 03:26:42 +0200pointlessslippe1(~pointless@62.106.85.17) (Read error: Connection reset by peer)
2024-10-22 03:28:54 +0200ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 260 seconds)
2024-10-22 03:29:53 +0200Smiles(uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2024-10-22 03:30:04 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
2024-10-22 03:30:15 +0200troojg(~troojg@user/troojg) troojg
2024-10-22 03:30:19 +0200pointlessslippe1(~pointless@62.106.85.17) pointlessslippe1
2024-10-22 03:34:14 +0200simendsjo(~user@84.211.91.108) (Ping timeout: 252 seconds)
2024-10-22 03:39:38 +0200k_hachig_k_hachig
2024-10-22 03:41:30 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-22 03:42:47 +0200 <meejah> l/window 41
2024-10-22 03:45:18 +0200xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2024-10-22 03:45:54 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-10-22 03:46:17 +0200identity(~identity@user/ZharMeny) (Quit: ERC 5.6.0.30.1 (IRC client for GNU Emacs 30.0.91))
2024-10-22 03:49:17 +0200 <dmj`> rust inlines the instances though I think, haskell uses dictionary passing, and rust doesn't support polymorphic recursion unlike haskell
2024-10-22 03:51:08 +0200 <dmj`> monomorphization and polymorphic recursion don't play well
2024-10-22 03:51:24 +0200 <dmj`> unless you implement something like intensional type analysis
2024-10-22 03:52:06 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2024-10-22 03:56:50 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-22 04:01:18 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2024-10-22 04:06:07 +0200 <haskellbridge> <Bowuigi> The main reason why I like row types is that they are super versatile. Want to do imperative programming? We have effect systems. Want to do OOP? We have every OOP blessing without its curse. Want to do FP? Sure, just do it as normal. Want to do logic programming? Implement MiniKanren. Want to mix all of them? Sure, everything integrates well
2024-10-22 04:08:59 +0200weary-traveler(~user@user/user363627) (Remote host closed the connection)
2024-10-22 04:10:04 +0200 <haskellbridge> <Bowuigi> This even works (or seems to work) for optimizations! Want automatic allocation of ADTs? Evidence passing. Want automatic deallocations of ADTs? Perceus et al. Want to join multiple allocations into one for speed? Just inline and combine. Want unboxing? Evidence-pass the size of the type. Want to specialize a polymorphic record type so it can be unboxed? Just defunctionalize and specialize as normal and then...
2024-10-22 04:10:09 +0200 <haskellbridge> ... evidence-pass the sizes obtained
2024-10-22 04:12:24 +0200sdrfan123(~sdrfan123@2607:fb91:db5:49ea:45cf:fed0:ab50:680c)
2024-10-22 04:13:19 +0200 <haskellbridge> <Bowuigi> It even seems to work for generics! Want to use a staged type theory to generate generics at compile time? Just pattern match on the type. Want to do it at runtime? Use recursion, some mapping and clever types. Typecase on the term level? Use the any label. First class patterns? Use the any label. First class messages? Use the any label. Function with arguments in any order? Use the any label and some clever types
2024-10-22 04:13:37 +0200synchromesh(~john@2406:5a00:2497:300:dc88:9a2b:e157:f2e6) (Read error: Connection reset by peer)
2024-10-22 04:13:49 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-22 04:14:34 +0200synchromesh(~john@2406:5a00:2497:300:dc88:9a2b:e157:f2e6) synchromesh
2024-10-22 04:14:54 +0200 <haskellbridge> <Bowuigi> The list goes on and on. A good row typing system saves a lot of headaches. That is why I want them on my lang lol (oh also this is re:OOP-vs-FP)
2024-10-22 04:18:14 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-10-22 04:29:13 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-22 04:31:17 +0200troojg(~troojg@user/troojg) (Ping timeout: 248 seconds)
2024-10-22 04:31:41 +0200sdrfan123(~sdrfan123@2607:fb91:db5:49ea:45cf:fed0:ab50:680c) (Quit: Client closed)
2024-10-22 04:34:19 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 264 seconds)
2024-10-22 04:34:47 +0200dyniec(~dyniec@dybiec.info) (Quit: WeeChat 4.2.2)
2024-10-22 04:39:28 +0200alexherbo2(~alexherbo@2a02-8440-3200-38ef-c045-1ca5-ca54-68fa.rev.sfr.net) (Remote host closed the connection)
2024-10-22 04:39:29 +0200morb(~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Remote host closed the connection)
2024-10-22 04:42:11 +0200td_(~td@i53870932.versanet.de) (Ping timeout: 265 seconds)
2024-10-22 04:43:58 +0200td_(~td@i53870910.versanet.de) td_
2024-10-22 04:44:35 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-22 04:49:51 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
2024-10-22 04:53:47 +0200 <monochrom> I would like row types too. :)
2024-10-22 04:59:57 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-22 05:01:10 +0200nek0(~nek0@user/nek0) (Quit: The Lounge - https://thelounge.chat)
2024-10-22 05:06:10 +0200 <geekosaur> sadly, it seems all we are going to get is hacks that pretend to be a viable record system
2024-10-22 05:07:12 +0200 <geekosaur> …I wish I understood System F well enough to know why row types supposedly don't fit it
2024-10-22 05:07:34 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds)
2024-10-22 05:18:06 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-22 05:21:05 +0200sw4n(~sw4n@2605:59c0:40f0:9610:ac8f:aae7:993d:9d22)
2024-10-22 05:21:48 +0200sw4n(~sw4n@2605:59c0:40f0:9610:ac8f:aae7:993d:9d22) (Remote host closed the connection)
2024-10-22 05:22:23 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-10-22 05:24:15 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 246 seconds)
2024-10-22 05:26:25 +0200bilegeek(~bilegeek@2600:1008:b001:620a:43c3:75c:3744:424a) (Quit: Leaving)
2024-10-22 05:33:28 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-22 05:37:57 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-10-22 05:48:50 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-22 05:53:18 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2024-10-22 06:00:34 +0200unlucy(sid572875@user/unlucy) unlucy
2024-10-22 06:02:34 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-22 06:07:11 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds)
2024-10-22 06:16:24 +0200myxos(~myxos@syn-065-028-251-121.res.spectrum.com) (Ping timeout: 252 seconds)
2024-10-22 06:17:57 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-22 06:21:43 +0200myxos(~myxos@syn-065-028-251-121.res.spectrum.com) myxokephale
2024-10-22 06:22:13 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-10-22 06:24:01 +0200 <Axman6> Bowuigi: That sounds like a great blog post to me... got any free time? =)
2024-10-22 06:33:20 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-22 06:36:29 +0200werneta(~werneta@syn-071-083-160-242.res.spectrum.com) werneta
2024-10-22 06:38:19 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-10-22 06:40:44 +0200Square2(~Square4@user/square) Square
2024-10-22 06:41:13 +0200araujo(~araujo@45.146.55.99) (Ping timeout: 245 seconds)
2024-10-22 06:41:39 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2024-10-22 06:48:41 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-22 06:50:46 +0200Square(~Square@user/square) (Ping timeout: 252 seconds)
2024-10-22 06:55:32 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-10-22 07:00:24 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-10-22 07:01:09 +0200michalz(~michalz@185.246.207.205)
2024-10-22 07:01:34 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-10-22 07:06:00 +0200 <haskellbridge> <Bowuigi> Sadly not much free time so far, I have a lot of exams these weeks lol
2024-10-22 07:06:45 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-22 07:06:57 +0200 <haskellbridge> <Bowuigi> geekosaur System F fits row types really well tho, like HM and F omega (a few papers use all three and don't complain)
2024-10-22 07:07:48 +0200 <haskellbridge> <Bowuigi> System FC/GHC Core might be harder to adapt to though; coercions and all the fancy stuff could become problematic, no idea
2024-10-22 07:09:11 +0200 <haskellbridge> <Bowuigi> Also GHC is heavily optimized to work with ADTs, naive attempts won't achieve the expected performance. The same thing happened when researchers ported Perceus (+extensions) to OCaml
2024-10-22 07:11:30 +0200 <haskellbridge> <Bowuigi> A quick rundown of the features you need for all the stuff I mentioned would be pretty cool ngl, tho some ideas were born in this chat and have no real implementation or even proper semantics. In particular, I really think the specialization should work, but I never tried writing it down
2024-10-22 07:11:53 +0200hgolden__(~hgolden@146.70.173.101) hgolden
2024-10-22 07:13:27 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2024-10-22 07:13:49 +0200rosco(~rosco@60.53.7.10) rosco
2024-10-22 07:14:14 +0200hgolden_(~hgolden@204.152.216.122) (Ping timeout: 252 seconds)
2024-10-22 07:14:25 +0200jinsun(~jinsun@user/jinsun) jinsun
2024-10-22 07:14:50 +0200 <haskellbridge> <Bowuigi> What I did try to write is an effect system based on the Van Laarhoven Free Monad. It worked but you need fancy stuff if you want a reasonable feature set (type lambdas, most importantly, and possibly row concatenation, which can't be compiled efficiently yet)
2024-10-22 07:18:02 +0200alp(~alp@2001:861:e3d6:8f80:1068:2132:b192:21de)
2024-10-22 07:18:27 +0200alp(~alp@2001:861:e3d6:8f80:1068:2132:b192:21de) (Changing host)
2024-10-22 07:18:27 +0200alp(~alp@user/alp) alp
2024-10-22 07:23:30 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
2024-10-22 07:24:16 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-10-22 07:24:46 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-22 07:27:30 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-10-22 07:27:44 +0200TheCoffeMaker(~TheCoffeM@user/thecoffemaker) (Ping timeout: 255 seconds)
2024-10-22 07:31:33 +0200rmca(~rob@188.120.84.50) (Ping timeout: 248 seconds)
2024-10-22 07:33:27 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-10-22 07:33:43 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds)
2024-10-22 07:34:20 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-10-22 07:39:18 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2024-10-22 07:40:30 +0200Axman6(~Axman6@user/axman6) (Remote host closed the connection)
2024-10-22 07:40:45 +0200Axman6(~Axman6@user/axman6) Axman6
2024-10-22 07:43:30 +0200TheCoffeMaker(~TheCoffeM@user/thecoffemaker) TheCoffeMaker
2024-10-22 07:44:36 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-22 07:49:20 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds)
2024-10-22 07:51:05 +0200JuanDaugherty(~juan@user/JuanDaugherty) JuanDaugherty
2024-10-22 07:51:13 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 245 seconds)
2024-10-22 07:51:46 +0200k_hachig(~k_hachig@2607:fea8:351d:ef0:5d8:3261:6875:6bbe) (Quit: WeeChat 4.4.2)
2024-10-22 07:51:56 +0200euleritian(~euleritia@dynamic-176-006-140-151.176.6.pool.telefonica.de)
2024-10-22 07:54:50 +0200sord937(~sord937@gateway/tor-sasl/sord937) sord937
2024-10-22 07:57:00 +0200Garbanzo(~Garbanzo@2602:304:6eac:dc10::46)
2024-10-22 07:59:57 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-22 08:02:12 +0200bliminse(~bliminse@user/bliminse) (Quit: leaving)
2024-10-22 08:02:48 +0200bliminse(~bliminse@user/bliminse) bliminse
2024-10-22 08:07:10 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-10-22 08:20:59 +0200nek0(~nek0@user/nek0) nek0
2024-10-22 08:24:37 +0200JuanDaugherty(~juan@user/JuanDaugherty) (Quit: JuanDaugherty)
2024-10-22 08:27:28 +0200euphores(~SASL_euph@user/euphores) (Ping timeout: 245 seconds)
2024-10-22 08:29:14 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-10-22 08:33:04 +0200oneeyedalien(~oneeyedal@user/oneeyedalien) oneeyedalien
2024-10-22 08:33:47 +0200oneeyedalien(~oneeyedal@user/oneeyedalien) (Remote host closed the connection)
2024-10-22 08:38:19 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-10-22 08:48:20 +0200Garbanzo(~Garbanzo@2602:304:6eac:dc10::46) (Remote host closed the connection)
2024-10-22 09:00:00 +0200caconym(~caconym@user/caconym) (Quit: bye)
2024-10-22 09:00:38 +0200caconym(~caconym@user/caconym) caconym
2024-10-22 09:01:24 +0200Digitteknohippie(~user@user/digit) Digit
2024-10-22 09:01:55 +0200Digit(~user@user/digit) (Ping timeout: 264 seconds)
2024-10-22 09:05:17 +0200merijn(~merijn@77.242.116.146) merijn
2024-10-22 09:09:25 +0200ash3en(~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) ash3en
2024-10-22 09:09:25 +0200ash3en(~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Client Quit)
2024-10-22 09:09:27 +0200rosco(~rosco@60.53.7.10) (Quit: Lost terminal)
2024-10-22 09:09:39 +0200rosco(~rosco@60.53.7.10) rosco
2024-10-22 09:11:24 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) lortabac
2024-10-22 09:21:59 +0200acidjnk_new(~acidjnk@p200300d6e72cfb0024c2a0322de583e8.dip0.t-ipconnect.de) acidjnk
2024-10-22 09:25:22 +0200werneta(~werneta@syn-071-083-160-242.res.spectrum.com) (Remote host closed the connection)
2024-10-22 09:28:14 +0200killy(~killy@terminal-3-187.retsat1.com.pl)
2024-10-22 09:29:23 +0200DigitteknohippieDigit
2024-10-22 09:35:45 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 248 seconds)
2024-10-22 09:39:03 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds)
2024-10-22 09:40:30 +0200sawilagar(~sawilagar@user/sawilagar) sawilagar
2024-10-22 09:42:09 +0200merijn(~merijn@77.242.116.146) merijn
2024-10-22 09:42:31 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2024-10-22 09:46:13 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 245 seconds)
2024-10-22 09:48:28 +0200tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
2024-10-22 09:49:31 +0200merijn(~merijn@77.242.116.146) merijn
2024-10-22 09:56:18 +0200machinedgod(~machinedg@d50-99-47-73.abhsia.telus.net) machinedgod
2024-10-22 10:04:52 +0200hgolden_(~hgolden@146.70.173.37) hgolden
2024-10-22 10:07:44 +0200hgolden__(~hgolden@146.70.173.101) (Ping timeout: 260 seconds)
2024-10-22 10:10:29 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 248 seconds)
2024-10-22 10:11:35 +0200CiaoSen(~Jura@2a05:5800:20b:3a00:ca4b:d6ff:fec1:99da) CiaoSen
2024-10-22 10:13:34 +0200merijn(~merijn@77.242.116.146) merijn
2024-10-22 10:18:39 +0200tcard(~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Remote host closed the connection)
2024-10-22 10:18:53 +0200tcard(~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303)
2024-10-22 10:22:55 +0200mrtz(~mrtz@lewi-19-b2-v4wan-169604-cust1264.vm4.cable.virginm.net)
2024-10-22 10:24:48 +0200killy(~killy@terminal-3-187.retsat1.com.pl) (Quit: leaving)
2024-10-22 10:25:14 +0200ft(~ft@p4fc2a216.dip0.t-ipconnect.de) (Quit: leaving)
2024-10-22 10:29:42 +0200cfricke(~cfricke@user/cfricke) cfricke
2024-10-22 10:31:54 +0200chele(~chele@user/chele) chele
2024-10-22 10:35:06 +0200ljdarj(~Thunderbi@user/ljdarj) ljdarj
2024-10-22 10:38:57 +0200mrtz(~mrtz@lewi-19-b2-v4wan-169604-cust1264.vm4.cable.virginm.net) (Remote host closed the connection)
2024-10-22 10:39:14 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 260 seconds)
2024-10-22 10:39:46 +0200econo_(uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity)
2024-10-22 10:48:43 +0200Clint(~Clint@user/clint) (Ping timeout: 245 seconds)
2024-10-22 10:51:55 +0200merijn(~merijn@77.242.116.146) merijn
2024-10-22 10:54:09 +0200ubert(~Thunderbi@178.115.35.86.wireless.dyn.drei.com) ubert
2024-10-22 10:58:19 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 264 seconds)
2024-10-22 11:02:02 +0200merijn(~merijn@77.242.116.146) merijn
2024-10-22 11:04:51 +0200TheCoffeMaker(~TheCoffeM@user/thecoffemaker) (Ping timeout: 252 seconds)
2024-10-22 11:07:56 +0200youthlic(~Thunderbi@user/youthlic) (Quit: youthlic)
2024-10-22 11:08:52 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 244 seconds)
2024-10-22 11:09:40 +0200youthlic(~Thunderbi@user/youthlic) youthlic
2024-10-22 11:11:20 +0200lxsameer(~lxsameer@Serene/lxsameer) lxsameer
2024-10-22 11:14:20 +0200mceresa(~mceresa@user/mceresa) (Read error: error:0A000119:SSL routines::decryption failed or bad record mac)
2024-10-22 11:17:10 +0200mreh(~matthew@host86-128-2-51.range86-128.btcentralplus.com) mreh
2024-10-22 11:18:31 +0200merijn(~merijn@77.242.116.146) merijn
2024-10-22 11:19:30 +0200kuribas(~user@ip-188-118-57-242.reverse.destiny.be) kuribas
2024-10-22 11:23:31 +0200L29Ah(~L29Ah@wikipedia/L29Ah) (Ping timeout: 264 seconds)
2024-10-22 11:30:23 +0200briandaed(~root@185.234.210.211)
2024-10-22 11:34:57 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 265 seconds)
2024-10-22 11:37:05 +0200CrunchyFlakes(~CrunchyFl@ip1f13e94e.dynamic.kabel-deutschland.de)
2024-10-22 11:43:34 +0200__monty__(~toonn@user/toonn) toonn
2024-10-22 11:46:40 +0200merijn(~merijn@77.242.116.146) merijn
2024-10-22 11:48:05 +0200CrunchyFlakes(~CrunchyFl@ip1f13e94e.dynamic.kabel-deutschland.de) (Ping timeout: 248 seconds)
2024-10-22 11:48:16 +0200euleritian(~euleritia@dynamic-176-006-140-151.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-10-22 11:48:33 +0200euleritian(~euleritia@77.22.252.56)
2024-10-22 11:49:42 +0200CiaoSen(~Jura@2a05:5800:20b:3a00:ca4b:d6ff:fec1:99da) (Ping timeout: 252 seconds)
2024-10-22 11:53:29 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 260 seconds)
2024-10-22 11:54:41 +0200CrunchyFlakes(~CrunchyFl@ip1f13e94e.dynamic.kabel-deutschland.de)
2024-10-22 11:56:41 +0200merijn(~merijn@77.242.116.146) merijn
2024-10-22 11:58:42 +0200myme(~myme@40.51-175-185.customer.lyse.net) (Ping timeout: 248 seconds)
2024-10-22 12:01:25 +0200Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) Unicorn_Princess
2024-10-22 12:08:59 +0200xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 255 seconds)
2024-10-22 12:11:41 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 255 seconds)
2024-10-22 12:12:04 +0200myme(~myme@2a01:799:d5c:5f00:3450:111a:e305:e38a) myme
2024-10-22 12:12:10 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.2.2)
2024-10-22 12:14:31 +0200mceresa(~mceresa@user/mceresa) mceresa
2024-10-22 12:25:15 +0200merijn(~merijn@77.242.116.146) merijn
2024-10-22 12:30:39 +0200synchromesh(~john@2406:5a00:2497:300:dc88:9a2b:e157:f2e6) (Read error: Connection reset by peer)
2024-10-22 12:32:42 +0200synchromesh(~john@2406:5a00:2497:300:dc88:9a2b:e157:f2e6) synchromesh
2024-10-22 12:39:35 +0200kuribas(~user@ip-188-118-57-242.reverse.destiny.be) (Ping timeout: 255 seconds)
2024-10-22 12:49:37 +0200lxsameer(~lxsameer@Serene/lxsameer) (Ping timeout: 244 seconds)
2024-10-22 12:50:29 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) lortabac
2024-10-22 12:52:35 +0200 <tromp> I'm getting a compilation error: • No instance for (MonadFail N.NonEmpty)
2024-10-22 12:53:49 +0200 <tromp> doing A b <- ts where ts is N.NonEmpty Term
2024-10-22 12:54:08 +0200 <mauke> what do you want to happen if the pattern doesn't match?
2024-10-22 12:54:26 +0200mreh(~matthew@host86-128-2-51.range86-128.btcentralplus.com) (Ping timeout: 255 seconds)
2024-10-22 12:54:27 +0200 <tromp> looks like it wants to skip those
2024-10-22 12:54:38 +0200 <mauke> ?
2024-10-22 12:55:12 +0200 <tromp> it's after a N.sort $ do
2024-10-22 12:55:26 +0200 <tromp> and followed by just b
2024-10-22 12:58:28 +0200 <merijn> tromp: Any pattern that can fail incurs a MonadFail constraint when used on the left hand of <-
2024-10-22 12:58:53 +0200 <merijn> tromp: And N.NonEmpty (according to GHC) does not have a MonadFail instance
2024-10-22 12:59:27 +0200 <tromp> i took the code from https://codegolf.stackexchange.com/questions/105991/combinatory-conundrum/106008#106008 (top answer)
2024-10-22 13:00:05 +0200caconym(~caconym@user/caconym) (Quit: bye)
2024-10-22 13:00:05 +0200alexherbo2(~alexherbo@2a02-8440-3211-c257-559a-6e1d-739b-a378.rev.sfr.net) alexherbo2
2024-10-22 13:00:14 +0200 <tromp> and the author provides the output of running the code
2024-10-22 13:00:42 +0200 <kaol> Monad used to have "fail" as a part of it and old code on the Internet may still expect that to work.
2024-10-22 13:01:09 +0200 <tromp> it's a post from 2017
2024-10-22 13:01:41 +0200 <kaol> That's "old" for the purpose of this difference.
2024-10-22 13:02:24 +0200 <tromp> oh, i can still run it online with the "Try it online! link
2024-10-22 13:02:28 +0200caconym(~caconym@user/caconym) caconym
2024-10-22 13:03:28 +0200 <kaol> They may be using an old GHC version or they may give it a catch all MonadFail instance. But this is the reason it won't work if you try it at home.
2024-10-22 13:04:29 +0200ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 260 seconds)
2024-10-22 13:04:38 +0200 <kaol> If your purpose is to just follow some code at home, you may define your own MonadFail instance. But watch out if you think of doing the same in production.
2024-10-22 13:04:46 +0200 <tromp> Thanks for help
2024-10-22 13:07:28 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 245 seconds)
2024-10-22 13:07:36 +0200 <kaol> To expand on this a bit more: Having fail in Monad was always ugly since it's not a part of the definition in category theory and for many monads, you can't really do anything but invoke "error" if a pattern match failure happens and that's a silent source of partial functions.
2024-10-22 13:08:53 +0200 <mauke> ~(A b) <- ts
2024-10-22 13:09:40 +0200madjestic(~madjestic@213.208.215.120) madjestic
2024-10-22 13:10:32 +0200 <kaol> I always forget about lazy patterns.
2024-10-22 13:10:57 +0200 <tromp> yep; that "fixes" it
2024-10-22 13:11:29 +0200 <kaol> Still going to be a run time program breaking event if it happens.
2024-10-22 13:13:28 +0200merijn(~merijn@77.242.116.146) merijn
2024-10-22 13:13:50 +0200xff0x(~xff0x@2405:6580:b080:900:61f:49ca:1cad:ed6)
2024-10-22 13:14:25 +0200araujo(~araujo@45.146.55.99)
2024-10-22 13:16:56 +0200L29Ah(~L29Ah@wikipedia/L29Ah) L29Ah
2024-10-22 13:19:41 +0200ljdarj(~Thunderbi@user/ljdarj) ljdarj
2024-10-22 13:23:28 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 252 seconds)
2024-10-22 13:28:34 +0200CiaoSen(~Jura@2a05:5800:20b:3a00:ca4b:d6ff:fec1:99da) CiaoSen
2024-10-22 13:31:36 +0200merijn(~merijn@77.242.116.146) merijn
2024-10-22 13:33:46 +0200Clint(~Clint@user/clint) Clint
2024-10-22 13:38:46 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-10-22 13:42:25 +0200TheCoffeMaker(~TheCoffeM@user/thecoffemaker) TheCoffeMaker
2024-10-22 13:46:38 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 255 seconds)
2024-10-22 13:48:08 +0200kuribas(~user@ip-188-118-57-242.reverse.destiny.be)
2024-10-22 13:48:57 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-10-22 13:49:53 +0200eL_Bart0(eL_Bart0@dietunichtguten.org) (Quit: Restarting)
2024-10-22 13:50:01 +0200eL_Bart0-(eL_Bart0@dietunichtguten.org)
2024-10-22 13:50:10 +0200merijn(~merijn@77.242.116.146) merijn
2024-10-22 13:52:42 +0200TheCoffeMaker(~TheCoffeM@user/thecoffemaker) (Ping timeout: 265 seconds)
2024-10-22 13:53:41 +0200araujo(~araujo@45.146.55.99) (Ping timeout: 265 seconds)
2024-10-22 13:56:34 +0200madjestic(~madjestic@213.208.215.120) (Ping timeout: 265 seconds)
2024-10-22 14:02:49 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-10-22 14:06:32 +0200mari-estel(~mari-este@user/mari-estel) mari-estel
2024-10-22 14:10:49 +0200morb(~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
2024-10-22 14:15:13 +0200morb(~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 248 seconds)
2024-10-22 14:16:21 +0200 <kqr> Is there a way to specify in a cabal file that certain modules in a library should not be exposed publically, but available to a test-suite?
2024-10-22 14:19:12 +0200 <Hecate> hmm
2024-10-22 14:19:29 +0200 <Hecate> Alas I don't think there's such a granularity of exposure available
2024-10-22 14:20:59 +0200 <Leary> kqr: Put them in a private sub-library.
2024-10-22 14:21:17 +0200identity(~identity@user/ZharMeny) identity
2024-10-22 14:28:13 +0200 <merijn> Hecate: Not directly, but Leary's approach works in recent enough cabals
2024-10-22 14:28:38 +0200 <kqr> Leary, Ah, that could work. Do you have an example of that anywhere?
2024-10-22 14:28:44 +0200cfricke(~cfricke@user/cfricke) (Quit: WeeChat 4.2.2)
2024-10-22 14:29:08 +0200 <merijn> kqr: The cabal docs have some examples of multiple libraries and public visibility
2024-10-22 14:29:21 +0200 <merijn> And I *might* have used this trick already, I need to check
2024-10-22 14:30:03 +0200 <tomsmeding> https://cabal.readthedocs.io/en/stable/cabal-package-description-file.html#library
2024-10-22 14:30:05 +0200 <merijn> ah, no, I was going to, but didn't get around to it yet
2024-10-22 14:30:34 +0200 <tomsmeding> kqr: a "sublibrary" is just a 'library' block in the cabal file that has a name
2024-10-22 14:30:47 +0200 <tomsmeding> it otherwise works precisely like a library
2024-10-22 14:30:54 +0200m1dnight(~christoph@d8D861908.access.telenet.be) (Quit: WeeChat 4.4.2)
2024-10-22 14:31:10 +0200m1dnight(~christoph@d8D861908.access.telenet.be) m1dnight
2024-10-22 14:31:13 +0200 <tomsmeding> so it's essentially just a separate library that happens to be a private component of your package
2024-10-22 14:31:34 +0200 <merijn> And then you can simply re-export the relevant public modules/bindings in the final "public" library
2024-10-22 14:31:56 +0200 <tomsmeding> merijn: so you mean putting _all_ modules in the private sublibrary, and then re-exporting the public modules from the public library?
2024-10-22 14:32:06 +0200 <Hecate> ah indeed, Leary might have what you want there
2024-10-22 14:32:21 +0200 <merijn> tomsmeding: Well, all the modules that contain private bits
2024-10-22 14:32:38 +0200 <merijn> tomsmeding: I'd keep as much of the "public" stuff in the actual public lib
2024-10-22 14:32:50 +0200 <tomsmeding> right
2024-10-22 14:32:58 +0200 <tomsmeding> if you can factor the library that way, that would be nicest
2024-10-22 14:33:28 +0200Smiles(uid551636@id-551636.lymington.irccloud.com) Smiles
2024-10-22 14:42:28 +0200mari-estel(~mari-este@user/mari-estel) (Remote host closed the connection)
2024-10-22 14:51:05 +0200mreh(~matthew@host86-128-2-51.range86-128.btcentralplus.com) mreh
2024-10-22 14:51:40 +0200m1dnight(~christoph@d8D861908.access.telenet.be) (Quit: WeeChat 4.4.2)
2024-10-22 14:55:14 +0200 <kqr> Ah, that sounds very nice. Thanks!
2024-10-22 14:57:20 +0200user363627(~user@user/user363627) user363627
2024-10-22 14:57:40 +0200m1dnight(~m1dnight@d8D861908.access.telenet.be) m1dnight
2024-10-22 14:59:47 +0200alexherbo2(~alexherbo@2a02-8440-3211-c257-559a-6e1d-739b-a378.rev.sfr.net) (Remote host closed the connection)
2024-10-22 15:00:21 +0200alexherbo2(~alexherbo@2a02-8440-3211-c257-f964-5ca4-6b0b-bb2c.rev.sfr.net) alexherbo2
2024-10-22 15:02:48 +0200AkechiShiro(~licht@user/akechishiro) AkechiShiro
2024-10-22 15:09:42 +0200turlando(~turlando@user/turlando) turlando
2024-10-22 15:10:39 +0200alexherbo2(~alexherbo@2a02-8440-3211-c257-f964-5ca4-6b0b-bb2c.rev.sfr.net) (Remote host closed the connection)
2024-10-22 15:10:52 +0200alexherbo2(~alexherbo@2a02-8440-3211-c257-f964-5ca4-6b0b-bb2c.rev.sfr.net) alexherbo2
2024-10-22 15:28:27 +0200lxsameer(~lxsameer@Serene/lxsameer) lxsameer
2024-10-22 15:31:20 +0200L29Ah(~L29Ah@wikipedia/L29Ah) (Ping timeout: 244 seconds)
2024-10-22 15:36:49 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 248 seconds)
2024-10-22 15:39:43 +0200merijn(~merijn@77.242.116.146) merijn
2024-10-22 15:40:19 +0200synchromesh(~john@2406:5a00:2497:300:dc88:9a2b:e157:f2e6) (Ping timeout: 264 seconds)
2024-10-22 15:42:20 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2024-10-22 15:42:48 +0200acidjnk_new(~acidjnk@p200300d6e72cfb0024c2a0322de583e8.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
2024-10-22 15:47:33 +0200ian_(~ian@matrix.chaos.earth.li) (Ping timeout: 248 seconds)
2024-10-22 15:48:21 +0200sord937(~sord937@gateway/tor-sasl/sord937) (Ping timeout: 260 seconds)
2024-10-22 15:59:22 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-10-22 16:00:45 +0200synchromesh(~john@139.180.95.1) synchromesh
2024-10-22 16:07:16 +0200acidjnk_new(~acidjnk@p200300d6e72cfb00c0110ba89d2daf5e.dip0.t-ipconnect.de) acidjnk
2024-10-22 16:09:29 +0200Igloo(~ian@81.2.99.210) Igfoo
2024-10-22 16:11:54 +0200mari-estel(~mari-este@user/mari-estel) mari-estel
2024-10-22 16:12:25 +0200alexherbo2(~alexherbo@2a02-8440-3211-c257-f964-5ca4-6b0b-bb2c.rev.sfr.net) (Remote host closed the connection)
2024-10-22 16:12:48 +0200alexherbo2(~alexherbo@2a02-8440-3211-c257-e083-6e3a-1f69-d96b.rev.sfr.net) alexherbo2
2024-10-22 16:13:55 +0200ubert(~Thunderbi@178.115.35.86.wireless.dyn.drei.com) (Ping timeout: 264 seconds)
2024-10-22 16:16:20 +0200alexherbo2(~alexherbo@2a02-8440-3211-c257-e083-6e3a-1f69-d96b.rev.sfr.net) (Remote host closed the connection)
2024-10-22 16:16:28 +0200sord937(~sord937@gateway/tor-sasl/sord937) sord937
2024-10-22 16:20:23 +0200alexherbo2(~alexherbo@2a02-8440-3211-c257-851e-a349-082a-4406.rev.sfr.net) alexherbo2
2024-10-22 16:26:15 +0200CrunchyFlakes(~CrunchyFl@ip1f13e94e.dynamic.kabel-deutschland.de) (Quit: ZNC 1.8.2 - https://znc.in)
2024-10-22 16:26:23 +0200mari-estel(~mari-este@user/mari-estel) (Remote host closed the connection)
2024-10-22 16:31:39 +0200CrunchyFlakes(~CrunchyFl@ip1f13e94e.dynamic.kabel-deutschland.de)
2024-10-22 16:36:31 +0200famubu(~julinuser@user/famubu) famubu
2024-10-22 16:37:19 +0200 <famubu> Hi. When using GADTs extension, it is possible to have like `data NewType :: Ty -> Type where ...`, right? Where `Ty` is another type.
2024-10-22 16:37:28 +0200 <famubu> I'm getting error at the `Type` part.
2024-10-22 16:37:35 +0200 <famubu> Is there an extension that needs to be enabled?
2024-10-22 16:37:47 +0200 <famubu> Error is: Not in scope: type constructor or class ‘Type’
2024-10-22 16:37:59 +0200 <geekosaur> private sublibs work in most versions of cabal, it's public ones that require recent ones
2024-10-22 16:45:13 +0200 <haskellbridge> <Bowuigi> famubu either change Type to * or use NoStarIsType (and maybe import the actual Type kind)
2024-10-22 16:46:09 +0200 <haskellbridge> <Bowuigi> I thought GADTs enabled NoStarIsType by default tho, might have confused it with DataKinds or something
2024-10-22 16:46:36 +0200 <geekosaur> you still need to import it, I think it's in Data.Kind
2024-10-22 16:46:57 +0200 <geekosaur> ghc doesn't automatically define it with NoStarIsType
2024-10-22 16:48:28 +0200 <haskellbridge> <Bowuigi> Ah, that makes sense
2024-10-22 16:49:04 +0200 <famubu> Thanks! Needed to import Data.Kind after having GADTs.
2024-10-22 16:49:18 +0200 <haskellbridge> <Bowuigi> Wait how does Type look when you do not have Data.Kind.Type nor StarIsType?
2024-10-22 16:49:35 +0200 <haskellbridge> <Bowuigi> Like, in the REPL
2024-10-22 16:53:35 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-10-22 16:55:35 +0200 <tomsmeding> % :k Maybe
2024-10-22 16:55:35 +0200 <yahb2> Maybe :: * -> *
2024-10-22 16:56:26 +0200 <tomsmeding> Bowuigi: GHC defines -XTypeInType by default, and in fact -XNoTypeInType has been unsupported for ages; perhaps this is what you were thinking of?
2024-10-22 16:56:49 +0200 <tomsmeding> % :set -XNoStarIsType
2024-10-22 16:56:49 +0200 <yahb2> <no output>
2024-10-22 16:56:54 +0200 <tomsmeding> % :k Maybe
2024-10-22 16:56:54 +0200 <yahb2> Maybe :: Type -> Type
2024-10-22 16:56:56 +0200 <geekosaur> looks to me like it prints "Type" but you can't use it yourself
2024-10-22 16:57:00 +0200 <geekosaur> ahh, consistency
2024-10-22 16:58:01 +0200 <famubu> TypeInType also gives a deprecation warning.
2024-10-22 16:58:07 +0200 <tomsmeding> and it does nothing
2024-10-22 16:59:02 +0200 <haskellbridge> <Bowuigi> tomsmeding no, NoTypeInType was supposed to fix the Type :: Type inconsistency, but since Haskell was already logically inconsistent, it was deprecated because it did more harm than good
2024-10-22 16:59:19 +0200 <haskellbridge> <Bowuigi> In particular, now we can get dependent kinds (sort of)
2024-10-22 17:00:22 +0200 <tomsmeding> Bowuigi: that sounds reasonable, but what was the "no" for? What you say doesn't sound like it contradicts what I said :p
2024-10-22 17:00:36 +0200 <tomsmeding> oh that it was the thing you were thinking of I guess
2024-10-22 17:00:55 +0200Guest19(~Guest19@lewi-30-b2-v4wan-168203-cust232.vm4.cable.virginm.net)
2024-10-22 17:02:59 +0200 <geekosaur> Bouwigi, NoTypeInType is how ghc used to work. but ghc went the quasi-dependent-types direction, thus TypeInType. (The inconsistency isn't observable in Haskell, but I've seen an Agda proof case for it.)
2024-10-22 17:03:26 +0200 <tomsmeding> oh isn't it? I tried to reproduce it in haskell a while back but I couldn't do it, sounds like that is expected
2024-10-22 17:03:31 +0200 <geekosaur> NoTypeInType was removed because it was becoming too hard to support it while moving forward on Dependent Haskell
2024-10-22 17:03:57 +0200ash3en(~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) ash3en
2024-10-22 17:04:02 +0200 <geekosaur> tomsmeding, correct. even in Agda you need to do extra work to observe it
2024-10-22 17:04:08 +0200ash3en(~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Client Quit)
2024-10-22 17:04:18 +0200Guest19(~Guest19@lewi-30-b2-v4wan-168203-cust232.vm4.cable.virginm.net) (Client Quit)
2024-10-22 17:04:25 +0200 <geekosaur> (Cubical Agda, which IIRC allows it access to the whole lambda cube)
2024-10-22 17:04:55 +0200 <dolio> No, cubical agda is something else.
2024-10-22 17:04:56 +0200 <tomsmeding> ¯\_(ツ)_/¯
2024-10-22 17:05:03 +0200 <haskellbridge> <Bowuigi> No wait the Russell paradox doesn't need a Cubical Type Theory
2024-10-22 17:05:41 +0200 <geekosaur> oh okay, shows what I know 😛
2024-10-22 17:06:07 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.2.2)
2024-10-22 17:07:05 +0200 <dolio> It's not super easy to come up with the right terms just from Type : Type. Less easy than in set theory. It's somehwat easier if you allow other features than just functions, I think.
2024-10-22 17:09:03 +0200 <haskellbridge> <Bowuigi> https://ionathan.ch/2021/11/24/inconsistencies.html this explains many inconsistencies better than I can rn, Girard-Russell is the first one
2024-10-22 17:12:27 +0200 <dolio> Anyhow, it doesn't really matter, because that would be the most difficult way to write a fixpoint operator in Haskell.
2024-10-22 17:12:30 +0200 <haskellbridge> <Bowuigi> {-# OPTIONS --type-in-type #-}
2024-10-22 17:12:30 +0200 <haskellbridge> ... long message truncated: https://kf8nh.com/_heisenbridge/media/kf8nh.com/JmsRildBqQawmqczaGKzvBaA/0Vl4TQmPlUs (27 lines)
2024-10-22 17:13:15 +0200 <haskellbridge> <Bowuigi> Yeah definitely, TypeInType is better for this use case
2024-10-22 17:15:48 +0200CiaoSen(~Jura@2a05:5800:20b:3a00:ca4b:d6ff:fec1:99da) (Ping timeout: 245 seconds)
2024-10-22 17:17:45 +0200 <mauke> https://kf8nh.com/_heisenbridge/media/kf8nh.com/JmsRildBqQawmqczaGKzvBaA/0Vl4TQmPlUs RIP unicode
2024-10-22 17:17:52 +0200 <mauke> it's served with no encoding
2024-10-22 17:18:44 +0200 <haskellbridge> <Bowuigi> That is how type theory felt at first lmao
2024-10-22 17:19:34 +0200merijn(~merijn@77.242.116.146) (Ping timeout: 265 seconds)
2024-10-22 17:29:15 +0200twistedparity(~twistedpa@mobile-access-2e8454-108.dhcp.inet.fi)
2024-10-22 17:32:41 +0200 <geekosaur> hm, it renders okay here. browser settings?
2024-10-22 17:32:45 +0200ash3en(~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) ash3en
2024-10-22 17:33:51 +0200 <geekosaur> I'm a bit busy today but I'll file a bug upstream if there isn't one already (serving pastebins is new; it used to hand that off to Synapse but that was disabled recently)
2024-10-22 17:34:30 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-10-22 17:36:15 +0200ash3en1(~Thunderbi@146.70.124.222) ash3en
2024-10-22 17:37:27 +0200ash3en(~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Ping timeout: 265 seconds)
2024-10-22 17:37:28 +0200ash3en1ash3en
2024-10-22 17:37:29 +0200euleritian(~euleritia@77.22.252.56) (Ping timeout: 260 seconds)
2024-10-22 17:37:56 +0200 <mauke> haha, the "repair text encoding" menu entry fixes the display in firefox, but then it immediately asks me if I want to translate the page from Greek to English
2024-10-22 17:38:27 +0200euleritian(~euleritia@dynamic-176-006-135-055.176.6.pool.telefonica.de)
2024-10-22 17:38:28 +0200 <geekosaur> lol
2024-10-22 17:39:20 +0200Square2(~Square4@user/square) (Ping timeout: 272 seconds)
2024-10-22 17:41:29 +0200kaskal(~kaskal@213-225-13-57.nat.highway.a1.net) (Quit: ZNC - https://znc.in)
2024-10-22 17:41:44 +0200Square2(~Square4@user/square) Square
2024-10-22 17:42:40 +0200euleritian(~euleritia@dynamic-176-006-135-055.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-10-22 17:42:55 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-10-22 17:43:11 +0200 <dolio> Yeah, that version uses a data type, which makes it easier.
2024-10-22 17:44:44 +0200L29Ah(~L29Ah@wikipedia/L29Ah) L29Ah
2024-10-22 17:45:34 +0200 <mauke> geekosaur: apparently firefox defaults to latin-1 in the absence of any encoding information and there is no way to change that default
2024-10-22 17:46:27 +0200 <geekosaur> interesting. not even an extension? (I think Chrome has an extension for fancy encoding defaults including per-site defaults)
2024-10-22 17:46:34 +0200kaskal(~kaskal@213-225-13-57.nat.highway.a1.net) kaskal
2024-10-22 17:46:49 +0200lxsameer(~lxsameer@Serene/lxsameer) (Ping timeout: 260 seconds)
2024-10-22 17:47:03 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-10-22 17:47:39 +0200 <mauke> extensions can mess with response headers, so there probably is an add-on for that
2024-10-22 17:48:05 +0200machinedgod(~machinedg@d50-99-47-73.abhsia.telus.net) (Ping timeout: 248 seconds)
2024-10-22 17:48:41 +0200madjestic(~madjestic@77-63-24-24.mobile.kpn.net)
2024-10-22 17:49:44 +0200AlexZenon(~alzenon@178.34.162.25) (Ping timeout: 260 seconds)
2024-10-22 17:50:56 +0200 <geekosaur> hm, the above said, I think those are served directly by my nginx instance so I'll probably need to mess with its config. should still be documented though
2024-10-22 17:51:27 +0200 <haskellbridge> <Bowuigi> Brave mobile also defaults to not-UTF-8, maybe it is standard?
2024-10-22 17:53:23 +0200 <mauke> I mean, the web predates utf-8, so it makes sense to make it opt-in and fall back to an 8-bit encoding
2024-10-22 17:56:30 +0200 <geekosaur> yes, it's an old standard
2024-10-22 17:56:37 +0200 <geekosaur> but it's 2024, not 1998
2024-10-22 17:56:42 +0200AlexZenon(~alzenon@178.34.162.25)
2024-10-22 17:56:53 +0200 <c_wraith> backwards compatibility is a curse
2024-10-22 17:57:27 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-10-22 17:57:28 +0200alexherbo2(~alexherbo@2a02-8440-3211-c257-851e-a349-082a-4406.rev.sfr.net) (Remote host closed the connection)
2024-10-22 17:57:47 +0200alexherbo2(~alexherbo@2a02-8440-3211-c257-851e-a349-082a-4406.rev.sfr.net) alexherbo2
2024-10-22 17:58:26 +0200 <geekosaur> and it's not difficult to attempt decode as UTF-8 and fallback to ISO8859-1
2024-10-22 17:59:04 +0200lxsameer(~lxsameer@Serene/lxsameer) lxsameer
2024-10-22 17:59:08 +0200 <c_wraith> I think browsers stopped doing that because some documents are ambiguous, and they'd change encoding as you browsed around a site
2024-10-22 17:59:18 +0200 <c_wraith> which was awful for reproducability
2024-10-22 18:00:29 +0200 <c_wraith> anyway, text/plain is a complete lie of a mime type. There's no such thing as plain text when encodings exist! the ;charset hack makes it usable, but the mime type itself is still a lie
2024-10-22 18:00:56 +0200 <geekosaur> maybe Firefox stopped doing it (and relatives: Brave is Firefox with the branding and tracking removed, no?). Chrome still seems to do it
2024-10-22 18:03:34 +0200 <yushyin> brave is chromium-based, afaik
2024-10-22 18:04:33 +0200madjestic(~madjestic@77-63-24-24.mobile.kpn.net) (Ping timeout: 248 seconds)
2024-10-22 18:04:59 +0200 <geekosaur> hm, seems so. which one's the un-trackered Firefox?
2024-10-22 18:07:34 +0200 <c_wraith> there are hundreds of them, and they're all basically forgotten. (Lots try to keep the old plugin architecture around too, and fail to keep up with security patches because backporting them is hard)
2024-10-22 18:08:21 +0200kuribas(~user@ip-188-118-57-242.reverse.destiny.be) (Ping timeout: 248 seconds)
2024-10-22 18:08:32 +0200noctux(~noctux@user/noctux) (Ping timeout: 255 seconds)
2024-10-22 18:09:15 +0200TheCoffeMaker(~TheCoffeM@user/thecoffemaker) TheCoffeMaker
2024-10-22 18:12:33 +0200noctux(~noctux@user/noctux) noctux
2024-10-22 18:15:17 +0200mreh(~matthew@host86-128-2-51.range86-128.btcentralplus.com) (Ping timeout: 255 seconds)
2024-10-22 18:16:05 +0200jero98772(~jero98772@2800:484:1d7c:cc00::3)
2024-10-22 18:16:19 +0200Square2(~Square4@user/square) (Ping timeout: 264 seconds)
2024-10-22 18:18:31 +0200m1dnight(~m1dnight@d8D861908.access.telenet.be) (Quit: WeeChat 3.0)
2024-10-22 18:18:54 +0200jinsun(~jinsun@user/jinsun) (Ping timeout: 260 seconds)
2024-10-22 18:21:49 +0200ash3en(~Thunderbi@146.70.124.222) (Ping timeout: 260 seconds)
2024-10-22 18:22:00 +0200tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) tzh
2024-10-22 18:24:27 +0200madjestic(~madjestic@103-135-99-95.ftth.glasoperator.nl)
2024-10-22 18:25:34 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 272 seconds)
2024-10-22 18:25:43 +0200euleritian(~euleritia@dynamic-176-006-135-055.176.6.pool.telefonica.de)
2024-10-22 18:27:29 +0200econo_(uid147250@id-147250.tinside.irccloud.com)
2024-10-22 18:27:35 +0200alexherbo2(~alexherbo@2a02-8440-3211-c257-851e-a349-082a-4406.rev.sfr.net) (Remote host closed the connection)
2024-10-22 18:28:55 +0200acidjnk_new(~acidjnk@p200300d6e72cfb00c0110ba89d2daf5e.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
2024-10-22 18:30:32 +0200acidjnk_new(~acidjnk@p200300d6e72cfb008c3c228b89ffac09.dip0.t-ipconnect.de)
2024-10-22 18:34:02 +0200euphores(~SASL_euph@user/euphores) euphores
2024-10-22 18:34:13 +0200jero98772(~jero98772@2800:484:1d7c:cc00::3) (Remote host closed the connection)
2024-10-22 18:35:48 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-22 18:36:54 +0200euleritian(~euleritia@dynamic-176-006-135-055.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-10-22 18:37:12 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-10-22 18:39:23 +0200kaskal(~kaskal@213-225-13-57.nat.highway.a1.net) (Quit: ZNC - https://znc.in)
2024-10-22 18:42:11 +0200kaskal(~kaskal@213-225-13-57.nat.highway.a1.net) kaskal
2024-10-22 18:42:42 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2024-10-22 18:43:43 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 245 seconds)
2024-10-22 18:43:59 +0200euleritian(~euleritia@77.22.252.56)
2024-10-22 18:45:57 +0200euleritian(~euleritia@77.22.252.56) (Read error: Connection reset by peer)
2024-10-22 18:46:49 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-10-22 18:53:52 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-22 18:53:53 +0200wootehfoot(~wootehfoo@user/wootehfoot) wootehfoot
2024-10-22 18:54:32 +0200ubert(~Thunderbi@178.115.35.86.wireless.dyn.drei.com) ubert
2024-10-22 18:58:13 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-10-22 18:59:14 +0200CiaoSen(~Jura@2a05:5800:20b:3a00:ca4b:d6ff:fec1:99da) CiaoSen
2024-10-22 19:05:07 +0200ash3en(~Thunderbi@146.70.124.222) ash3en
2024-10-22 19:05:27 +0200 <geekosaur> mauke: does that paste work any better now?
2024-10-22 19:09:14 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-22 19:09:18 +0200 <geekosaur> (supposedly it should be serving as utf8 now. but I won't be in a position to check until I get back from counseling later this afternoon)
2024-10-22 19:13:54 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-10-22 19:15:16 +0200 <geekosaur> nemmind, it didn't bother to tell me the container was failing to load 😞
2024-10-22 19:16:14 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-22 19:16:22 +0200twistedparity(~twistedpa@mobile-access-2e8454-108.dhcp.inet.fi) (Quit: Lost terminal)
2024-10-22 19:17:45 +0200 <geekosaur> okay, back up, should be serving utf-8 explicitly
2024-10-22 19:19:20 +0200 <dolio> Oh, that isn't actually the easier version I expected. It's just removing all the lines in Hurken's paradox.
2024-10-22 19:20:53 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2024-10-22 19:21:42 +0200pavonia(~user@user/siracusa) siracusa
2024-10-22 19:22:09 +0200TheCoffeMaker(~TheCoffeM@user/thecoffemaker) (Ping timeout: 276 seconds)
2024-10-22 19:23:56 +0200chele(~chele@user/chele) (Remote host closed the connection)
2024-10-22 19:25:50 +0200rosco(~rosco@60.53.7.10) (Quit: Lost terminal)
2024-10-22 19:28:30 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-10-22 19:28:37 +0200ft(~ft@p4fc2a216.dip0.t-ipconnect.de) ft
2024-10-22 19:30:23 +0200hgolden__(~hgolden@23.162.40.110) hgolden
2024-10-22 19:31:30 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-22 19:32:29 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2024-10-22 19:32:42 +0200ash3en(~Thunderbi@146.70.124.222) (Ping timeout: 252 seconds)
2024-10-22 19:32:58 +0200hgolden_(~hgolden@146.70.173.37) (Ping timeout: 265 seconds)
2024-10-22 19:34:23 +0200TheCoffeMaker(~TheCoffeM@user/thecoffemaker) TheCoffeMaker
2024-10-22 19:34:58 +0200 <yushyin> geekosaur: librewolf
2024-10-22 19:36:23 +0200ash3en(~Thunderbi@146.70.124.222) ash3en
2024-10-22 19:36:30 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 246 seconds)
2024-10-22 19:37:53 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-10-22 19:38:34 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-10-22 19:39:12 +0200athan(~athan@2600:382:6614:1748:5ce0:a500:5ddb:bdf1) athan
2024-10-22 19:41:19 +0200ash3en1(~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) ash3en
2024-10-22 19:42:48 +0200ash3en(~Thunderbi@146.70.124.222) (Ping timeout: 246 seconds)
2024-10-22 19:42:48 +0200ash3en1ash3en
2024-10-22 19:49:27 +0200athan(~athan@2600:382:6614:1748:5ce0:a500:5ddb:bdf1) (Ping timeout: 276 seconds)
2024-10-22 19:49:30 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-22 19:53:59 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-10-22 19:55:02 +0200AdeonAdeon523
2024-10-22 20:01:21 +0200 <monochrom> geekosaur: I can confirm that `curl -i that_url` receives header "content-type: text/plain; charset=utf-8" now.
2024-10-22 20:04:52 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-22 20:06:25 +0200ThePenguin(~ThePengui@cust-95-80-24-166.csbnet.se) (Quit: ThePenguin)
2024-10-22 20:08:38 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2024-10-22 20:08:40 +0200ThePenguin(~ThePengui@cust-95-80-24-166.csbnet.se) ThePenguin
2024-10-22 20:09:43 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-10-22 20:13:15 +0200TheCoffeMaker(~TheCoffeM@user/thecoffemaker) (Ping timeout: 246 seconds)
2024-10-22 20:16:00 +0200 <mauke> geekosaur: displays fine, dev tools show "text/plain; charset=utf-8"
2024-10-22 20:17:08 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-22 20:18:17 +0200 <mauke> other firefox forks I've vaguely heard of: waterfox, pale moon, iceweasel, icecat
2024-10-22 20:18:46 +0200lxsameer(~lxsameer@Serene/lxsameer) (Quit: WeeChat 4.4.2)
2024-10-22 20:19:37 +0200haritz(~hrtz@user/haritz) (Ping timeout: 252 seconds)
2024-10-22 20:20:05 +0200Adeon523Adeon
2024-10-22 20:21:05 +0200haritz(~hrtz@2a02:8010:65b5:0:5d9a:9bab:ee5e:b737)
2024-10-22 20:22:55 +0200haritz(~hrtz@2a02:8010:65b5:0:5d9a:9bab:ee5e:b737) (Changing host)
2024-10-22 20:22:55 +0200haritz(~hrtz@user/haritz) haritz
2024-10-22 20:24:25 +0200 <monochrom> I think I heard of iceweasel.
2024-10-22 20:24:38 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds)
2024-10-22 20:24:56 +0200 <monochrom> But we're talking about "back in my days 1-2 decades ago" :)
2024-10-22 20:33:18 +0200infinity0(~infinity0@pwned.gg) (Ping timeout: 245 seconds)
2024-10-22 20:34:30 +0200ash3en(~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Quit: ash3en)
2024-10-22 20:35:12 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-22 20:39:49 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
2024-10-22 20:47:40 +0200Digitteknohippie(~user@user/digit) Digit
2024-10-22 20:47:51 +0200Digit(~user@user/digit) (Ping timeout: 252 seconds)
2024-10-22 20:48:47 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-10-22 20:49:30 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-10-22 20:49:57 +0200euphores(~SASL_euph@user/euphores) (Quit: Leaving.)
2024-10-22 20:50:51 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-22 20:51:45 +0200user363627(~user@user/user363627) (Remote host closed the connection)
2024-10-22 20:54:06 +0200euphores(~SASL_euph@user/euphores) euphores
2024-10-22 20:54:41 +0200infinity0(~infinity0@pwned.gg) infinity0
2024-10-22 20:55:55 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 264 seconds)
2024-10-22 20:57:09 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-10-22 20:58:29 +0200Digitteknohippie(~user@user/digit) (Ping timeout: 248 seconds)
2024-10-22 20:58:53 +0200TheCoffeMaker(~TheCoffeM@user/thecoffemaker) TheCoffeMaker
2024-10-22 21:00:03 +0200caconym(~caconym@user/caconym) (Quit: bye)
2024-10-22 21:00:13 +0200szkl(uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2024-10-22 21:00:30 +0200mreh(~matthew@host86-128-2-51.range86-128.btcentralplus.com) mreh
2024-10-22 21:00:41 +0200caconym(~caconym@user/caconym) caconym
2024-10-22 21:02:59 +0200CiaoSen(~Jura@2a05:5800:20b:3a00:ca4b:d6ff:fec1:99da) (Ping timeout: 260 seconds)
2024-10-22 21:05:43 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-10-22 21:06:06 +0200CiaoSen(~Jura@46.167.25.44) CiaoSen
2024-10-22 21:06:15 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-22 21:10:44 +0200ljdarj1(~Thunderbi@user/ljdarj) ljdarj
2024-10-22 21:13:06 +0200ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 246 seconds)
2024-10-22 21:13:06 +0200ljdarj1ljdarj
2024-10-22 21:14:29 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
2024-10-22 21:18:09 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-22 21:19:11 +0200twistedparity(~twistedpa@mobile-access-2e8454-108.dhcp.inet.fi)
2024-10-22 21:21:57 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
2024-10-22 21:22:41 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-10-22 21:22:46 +0200twistedparity(~twistedpa@mobile-access-2e8454-108.dhcp.inet.fi) (Client Quit)
2024-10-22 21:23:25 +0200ThePenguin(~ThePengui@cust-95-80-24-166.csbnet.se) (Quit: ThePenguin)
2024-10-22 21:25:19 +0200ThePenguin(~ThePengui@cust-95-80-24-166.csbnet.se) ThePenguin
2024-10-22 21:29:37 +0200alexherbo2(~alexherbo@2a02-8440-3211-c257-1155-6cdb-16b4-021a.rev.sfr.net) alexherbo2
2024-10-22 21:33:29 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-22 21:34:57 +0200m1dnight(~m1dnight@d8D861908.access.telenet.be) m1dnight
2024-10-22 21:37:39 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
2024-10-22 21:40:44 +0200m1dnight(~m1dnight@d8D861908.access.telenet.be) (Quit: WeeChat 3.0)
2024-10-22 21:43:53 +0200m1dnight(~m1dnight@d8D861908.access.telenet.be) m1dnight
2024-10-22 21:43:57 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-22 21:47:46 +0200Digit(~user@user/digit) Digit
2024-10-22 21:48:30 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
2024-10-22 21:48:47 +0200ash3en(~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) ash3en
2024-10-22 21:55:19 +0200mreh(~matthew@host86-128-2-51.range86-128.btcentralplus.com) (Ping timeout: 264 seconds)
2024-10-22 21:59:19 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-22 22:04:16 +0200briandaed(~root@185.234.210.211) (Remote host closed the connection)
2024-10-22 22:05:58 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-10-22 22:06:55 +0200Smiles(uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2024-10-22 22:08:48 +0200spew(~spew@189.217.198.185) spew
2024-10-22 22:17:21 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-22 22:18:06 +0200 <geekosaur> yeh, iceweasel I didn't think was even around any more
2024-10-22 22:18:16 +0200 <geekosaur> I think ubuntu used to ship it at one point
2024-10-22 22:20:49 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Quit: pillow time)
2024-10-22 22:21:57 +0200michalz(~michalz@185.246.207.205) (Remote host closed the connection)
2024-10-22 22:23:18 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds)
2024-10-22 22:23:28 +0200 <mauke> IIRC the patches debian applied meant they couldn't safely use the "firefox" trademark/branding anymore, so they switched to iceweasel
2024-10-22 22:25:18 +0200 <tomsmeding> iirc not even the specific patches they applied, but that they applied patches at all
2024-10-22 22:27:55 +0200justsomeguy(~justsomeg@user/justsomeguy) justsomeguy
2024-10-22 22:30:00 +0200 <geekosaur> that sounds right, yes
2024-10-22 22:30:15 +0200ash3en(~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Quit: ash3en)
2024-10-22 22:36:56 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-22 22:40:29 +0200gorignak(~gorignak@user/gorignak) gorignak
2024-10-22 22:41:41 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds)
2024-10-22 22:49:51 +0200emmanuelux(~emmanuelu@user/emmanuelux) emmanuelux
2024-10-22 22:51:16 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2024-10-22 22:52:07 +0200 <tomsmeding> I tried using the new Control.Exception.annotateIO to annotate an exception thrown by an `error` call somewhere deep in a recursive function. But I'm not seeing those annotations in the output, while HasCallStack and -prof annotations do. Should I enable something first?
2024-10-22 22:52:17 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-22 22:56:30 +0200simendsjo(~user@84.211.91.108) simendsjo
2024-10-22 22:56:56 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-10-22 23:03:45 +0200AlexZenon(~alzenon@178.34.162.25) (Ping timeout: 248 seconds)
2024-10-22 23:06:53 +0200CiaoSen(~Jura@46.167.25.44) (Ping timeout: 255 seconds)
2024-10-22 23:07:41 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-22 23:10:22 +0200AlexZenon(~alzenon@178.34.162.25)
2024-10-22 23:11:45 +0200weary-traveler(~user@user/user363627) user363627
2024-10-22 23:12:20 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-10-22 23:15:33 +0200AlexZenon(~alzenon@178.34.162.25) (Ping timeout: 248 seconds)
2024-10-22 23:17:31 +0200califax(~califax@user/califx) (Ping timeout: 260 seconds)
2024-10-22 23:18:11 +0200califax(~califax@user/califx) califx
2024-10-22 23:20:39 +0200Everything(~Everythin@178-133-44-99.mobile.vf-ua.net) Everything
2024-10-22 23:24:32 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-22 23:27:01 +0200AlexZenon(~alzenon@178.34.162.25)
2024-10-22 23:29:18 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-10-22 23:29:33 +0200zfnmxt(~zfnmxt@user/zfnmxt) (Ping timeout: 245 seconds)
2024-10-22 23:29:54 +0200zfnmxt(~zfnmxt@user/zfnmxt) zfnmxt
2024-10-22 23:32:28 +0200alp(~alp@user/alp) (Read error: Connection reset by peer)
2024-10-22 23:32:31 +0200ubert(~Thunderbi@178.115.35.86.wireless.dyn.drei.com) (Ping timeout: 264 seconds)
2024-10-22 23:33:37 +0200 <tomsmeding> hm, I do see them in a reproducer; looks like my problem is specific to Hedgehog
2024-10-22 23:36:06 +0200 <tomsmeding> hm, but hedgehog just calls displayException...
2024-10-22 23:37:37 +0200 <tomsmeding> can one sensibly catch exceptions in IO inside unsafePerformIO?
2024-10-22 23:39:53 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-22 23:43:36 +0200AlexZenon(~alzenon@178.34.162.25) (Ping timeout: 252 seconds)
2024-10-22 23:44:47 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2024-10-22 23:45:31 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-10-22 23:50:06 +0200merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2024-10-22 23:50:57 +0200AlexZenon(~alzenon@178.34.162.25)
2024-10-22 23:51:28 +0200 <geekosaur> not really
2024-10-22 23:53:10 +0200 <tomsmeding> I see, and annotateIO is based on catching and rethrowing an exception
2024-10-22 23:55:08 +0200 <geekosaur> hedgehog is known to do something or other with output (unsure whether it's stdout, stderr, or the RTS's output which may map to stderr but is handled differently (`debugBelch2` in `HsBase.h`, which for example is foreign-imported by `Debug.Trace`)
2024-10-22 23:55:53 +0200 <tomsmeding> geekosaur: this is not about output handling, really; here, hedgehog calls displayException on an exception it gets from user (test) code https://github.com/hedgehogqa/haskell-hedgehog/blob/94dfee5f9f4c5ba4280d4d294fc414e8caea50a1/hedge…
2024-10-22 23:56:09 +0200Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
2024-10-22 23:56:18 +0200 <tomsmeding> that exception, in my case, is thrown within an unsafePerformIO block, and within that block it is repeatedly annotated (hopefully) with annotateIO
2024-10-22 23:56:49 +0200 <tomsmeding> that displayException comes straight from Control.Exception, and in a simple test ( https://play.haskell.org/saved/kXwMJ4AK ), that does definitely include the annotation
2024-10-22 23:57:17 +0200 <tomsmeding> so if there is something finicky with catching exceptions in unsafePerformIO then that's the most likely cause
2024-10-22 23:58:45 +0200GalaxyNova(~andrei@user/galaxynova) GalaxyNova