Home liberachat/#haskell: Logs Calendar

Logs on 2024-05-02 (liberachat/#haskell)

00:03:05 × yin quits (~yin@user/zero) (Ping timeout: 256 seconds)
00:04:50 yin joins (~yin@user/zero)
00:17:00 waldo joins (~waldo@user/waldo)
00:24:14 machinedgod joins (~machinedg@d173-183-246-216.abhsia.telus.net)
00:26:35 × xff0x quits (~xff0x@softbank219059019218.bbtec.net) (Ping timeout: 245 seconds)
00:29:00 k`` joins (~k``@136.54.34.25)
00:29:43 × yin quits (~yin@user/zero) (Ping timeout: 255 seconds)
00:38:46 tri joins (~tri@ool-18bc2e74.dyn.optonline.net)
00:42:02 × waldo quits (~waldo@user/waldo) (Quit: waldo)
00:43:15 × tri quits (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 245 seconds)
00:46:35 × lockna quits (~lockna@2a01:4f8:10b:14f1::2) (Ping timeout: 245 seconds)
00:47:27 lockna joins (~lockna@2a01:4f8:10b:14f1::2)
01:03:51 × ystael quits (~ystael@user/ystael) (Ping timeout: 272 seconds)
01:10:32 × haskellbridge quits (~haskellbr@69.135.3.34) (Remote host closed the connection)
01:12:45 haskellbridge joins (~haskellbr@syn-069-135-003-034.biz.spectrum.com)
01:12:45 ChanServ sets mode +v haskellbridge
01:13:38 × k`` quits (~k``@136.54.34.25) (Ping timeout: 250 seconds)
01:13:59 causal joins (~eric@50.35.88.207)
01:22:31 Axma88620 joins (~Axman6@user/axman6)
01:22:52 Axma43234 joins (~Axman6@user/axman6)
01:24:36 × Axman6 quits (~Axman6@user/axman6) (Ping timeout: 244 seconds)
01:25:07 × Axma89310 quits (~Axman6@user/axman6) (Ping timeout: 244 seconds)
01:26:39 × otto_s quits (~user@p4ff27c65.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
01:27:52 otto_s joins (~user@p5b04466a.dip0.t-ipconnect.de)
01:38:22 tzh joins (~tzh@c-73-164-206-160.hsd1.or.comcast.net)
01:48:55 <haskellbridge> <s​m> gitlab search: unusable by me...
01:53:11 <geekosaur> or anyone else, from what I've heard
02:03:27 × petrichor quits (~znc-user@user/petrichor) (Quit: ZNC 1.8.2 - https://znc.in)
02:03:46 petrichor joins (~znc-user@user/petrichor)
02:09:36 <monochrom> tomsmeding: I don't teach existential types. I just teach Haskell 2010; even then maybe only a basic subset.
02:11:21 <monochrom> I think I can summarize what I cover as Hindley-Milner plus single-param type classes up to classes of * -> * kinds so I can cover Foldable.
02:14:22 tabemann_ joins (~tabemann@2600:1700:7990:24e0:24f2:d535:ef6d:1b9a)
02:15:34 ell joins (~ellie@user/ellie)
02:15:45 × tabemann quits (~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net) (Ping timeout: 245 seconds)
02:24:12 madeleine-sydney joins (~madeleine@c-76-155-235-153.hsd1.co.comcast.net)
02:24:16 Axman6 joins (~Axman6@user/axman6)
02:24:29 × Axma88620 quits (~Axman6@user/axman6) (Ping timeout: 258 seconds)
02:24:52 × Axma43234 quits (~Axman6@user/axman6) (Ping timeout: 258 seconds)
02:24:56 Axma84850 joins (~Axman6@user/axman6)
02:27:01 × td_ quits (~td@i53870927.versanet.de) (Ping timeout: 256 seconds)
02:27:26 <bsima> is there a way to tell ghc or haddock to error if a function or type isn't documented?
02:28:29 × waleee quits (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Quit: WeeChat 4.1.2)
02:28:29 td_ joins (~td@i5387093e.versanet.de)
02:30:46 philopsos joins (~caecilius@user/philopsos)
02:39:18 × [Leary] quits (~Leary]@user/Leary/x-0910699) (Remote host closed the connection)
02:42:21 tri joins (~tri@ool-18bc2e74.dyn.optonline.net)
03:00:55 × joeyadams quits (~joeyadams@2603:6010:5100:2ed:7613:7f5a:3f36:628c) (Quit: Leaving)
03:08:15 bgt32 joins (~keutoi@223.184.79.113)
03:12:10 <bgt32> I'm getting a 'Non type-variable argument in the constraint: MArray (STUArray s) a (ST s)' error, but only in older version of haskell ~ 8.10.1. This isn't happening in 9.2.8. Any idea why?
03:14:53 <monochrom> haddock reports how many things are undocumented, but I don't know how to make it an error.
03:15:59 rdcdr_ joins (~rdcdr@75-172-82-76.tukw.qwest.net)
03:16:10 × rdcdr quits (~rdcdr@user/rdcdr) (Ping timeout: 245 seconds)
03:17:16 <monochrom> New GHCs default to implicit {-# language GHC2021 #-} which implies FlexibleContexts allowing those constraints.
03:18:19 <c_wraith> bgt32: in addition to monochrom's answer, see https://downloads.haskell.org/ghc/9.8.2/docs/users_guide/exts/flexible_contexts.html
03:18:24 <bgt32> monochrom: thank you
03:18:59 <c_wraith> bgt32: the GHC2021 thing is a link, which gives a list of all the things on by default now
03:21:50 <bgt32> Wow, many changes. I should have suspected something when tuplesections worked without the extension enabled.
03:22:08 × off^ quits (~cd@c-98-242-74-66.hsd1.ga.comcast.net) (Remote host closed the connection)
03:22:30 <monochrom> :) That's also one of them.
03:25:21 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Quit: peterbecich)
03:26:01 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
03:39:51 × machinedgod quits (~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 268 seconds)
03:40:29 Pixi` is now known as Pixi
03:58:01 ddellacosta joins (~ddellacos@ool-44c73d29.dyn.optonline.net)
03:58:53 aforemny joins (~aforemny@2001:9e8:6cd3:1d00:230b:c373:dfe7:68c3)
03:59:10 [Leary] joins (~Leary]@user/Leary/x-0910699)
03:59:56 × aforemny_ quits (~aforemny@i59F516D1.versanet.de) (Ping timeout: 260 seconds)
04:01:27 tomku joins (~tomku@user/tomku)
04:02:08 × tomku|two quits (~tomku@user/tomku) (Ping timeout: 256 seconds)
04:06:26 _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
04:06:57 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
04:16:32 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
04:16:38 × Axma84850 quits (~Axman6@user/axman6) (Remote host closed the connection)
04:17:08 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
04:26:10 × Katarushisu1 quits (~Katarushi@finc-20-b2-v4wan-169598-cust1799.vm7.cable.virginm.net) (Ping timeout: 245 seconds)
04:39:19 takuan joins (~takuan@178-116-218-225.access.telenet.be)
04:44:15 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 272 seconds)
04:44:44 as__ joins (~as@2800:a4:2c7:9600:4168:6667:410d:d0ba)
04:47:01 × tabemann_ quits (~tabemann@2600:1700:7990:24e0:24f2:d535:ef6d:1b9a) (Remote host closed the connection)
04:47:07 × as_ quits (~as@2800:a4:2f2:ee00:2a7d:f1f0:f562:40ce) (Ping timeout: 255 seconds)
04:47:19 tabemann_ joins (~tabemann@2600:1700:7990:24e0:1855:3a30:76c0:62ca)
04:58:02 × tabemann_ quits (~tabemann@2600:1700:7990:24e0:1855:3a30:76c0:62ca) (Remote host closed the connection)
04:58:19 tabemann_ joins (~tabemann@2600:1700:7990:24e0:f2fd:c0bd:8a82:7af3)
05:07:41 × Pixi quits (~Pixi@user/pixi) (Ping timeout: 272 seconds)
05:09:53 × TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Ping timeout: 268 seconds)
05:11:58 michalz joins (~michalz@185.246.207.205)
05:12:36 TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker)
05:13:42 × TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Excess Flood)
05:14:07 TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker)
05:16:53 × TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Excess Flood)
05:17:31 × tabemann_ quits (~tabemann@2600:1700:7990:24e0:f2fd:c0bd:8a82:7af3) (Remote host closed the connection)
05:17:34 TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker)
05:17:43 tabemann_ joins (~tabemann@2600:1700:7990:24e0:ee7e:48a3:1361:6ba6)
05:18:36 × img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
05:21:30 img joins (~img@user/img)
05:28:03 × tri quits (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection)
05:29:21 tri joins (~tri@ool-18bc2e74.dyn.optonline.net)
05:30:01 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
05:33:56 × tri quits (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 268 seconds)
05:34:23 × rvalue quits (~rvalue@user/rvalue) (Read error: Connection reset by peer)
05:34:54 rvalue joins (~rvalue@user/rvalue)
05:37:17 × _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht)
05:37:51 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 256 seconds)
05:38:26 euleritian joins (~euleritia@dynamic-176-001-008-145.176.1.pool.telefonica.de)
05:50:57 × talismanick quits (~user@2601:644:937c:ed10:536b:7670:fffc:851a) (Read error: Connection reset by peer)
05:56:01 bilegeek joins (~bilegeek@2600:1008:b09c:cc45:af3c:c61e:6890:be8f)
06:05:00 acidjnk joins (~acidjnk@p200300d6e714dc31f1fc423ebb03a89f.dip0.t-ipconnect.de)
06:12:45 billchenchina joins (~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe)
06:17:33 × billchenchina quits (~billchenc@2a0d:2580:ff0c:1:e3c9:c52b:a429:5bfe) (Remote host closed the connection)
06:17:35 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
06:18:14 Pixi joins (~Pixi@user/pixi)
06:28:56 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
06:42:09 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
06:45:25 × mikess quits (~mikess@user/mikess) (Ping timeout: 256 seconds)
06:51:20 machinedgod joins (~machinedg@d173-183-246-216.abhsia.telus.net)
06:52:51 × euleritian quits (~euleritia@dynamic-176-001-008-145.176.1.pool.telefonica.de) (Read error: Connection reset by peer)
06:53:14 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
06:54:28 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
06:55:21 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
07:02:06 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
07:02:19 euleritian joins (~euleritia@dynamic-176-001-008-145.176.1.pool.telefonica.de)
07:06:06 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
07:06:16 × madeleine-sydney quits (~madeleine@c-76-155-235-153.hsd1.co.comcast.net) (Quit: Konversation terminated!)
07:11:42 × euleritian quits (~euleritia@dynamic-176-001-008-145.176.1.pool.telefonica.de) (Read error: Connection reset by peer)
07:11:59 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
07:16:01 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 246 seconds)
07:16:34 euleritian joins (~euleritia@dynamic-176-001-008-145.176.1.pool.telefonica.de)
07:21:07 oo_miguel joins (~Thunderbi@78-11-181-16.static.ip.netia.com.pl)
07:21:32 danse-nr3 joins (~danse-nr3@151.43.230.153)
07:22:28 × TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Ping timeout: 268 seconds)
07:22:42 × euleritian quits (~euleritia@dynamic-176-001-008-145.176.1.pool.telefonica.de) (Read error: Connection reset by peer)
07:22:59 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
07:24:09 TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker)
07:26:15 <tomsmeding> monochrom: sounds good! How often do you think "if only I had a compiler that supported just Haskell2010 and gave error messages that don't jump outside that fragment"?
07:26:49 × TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Excess Flood)
07:27:53 sawilagar joins (~sawilagar@user/sawilagar)
07:31:46 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 256 seconds)
07:32:40 euleritian joins (~euleritia@dynamic-176-001-008-145.176.1.pool.telefonica.de)
07:33:19 RedFlamingos joins (~RedFlamin@user/RedFlamingos)
07:35:13 × euleritian quits (~euleritia@dynamic-176-001-008-145.176.1.pool.telefonica.de) (Read error: Connection reset by peer)
07:35:14 TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker)
07:35:30 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
07:42:32 × TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Ping timeout: 256 seconds)
07:43:11 TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker)
07:44:00 lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
07:44:14 × philopsos quits (~caecilius@user/philopsos) (Ping timeout: 256 seconds)
07:46:39 × TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Excess Flood)
07:46:42 rosco joins (~rosco@yp-146-6.tm.net.my)
07:47:02 TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker)
07:47:27 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds)
07:48:26 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
07:49:19 × TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Excess Flood)
07:49:41 TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker)
07:54:55 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
07:56:24 xff0x joins (~xff0x@softbank219059019218.bbtec.net)
08:03:13 × chiselfuse quits (~chiselfus@user/chiselfuse) (Remote host closed the connection)
08:04:29 × xff0x quits (~xff0x@softbank219059019218.bbtec.net) (Ping timeout: 240 seconds)
08:04:36 chiselfuse joins (~chiselfus@user/chiselfuse)
08:04:39 sprout joins (~quassel@2a02-a448-3a80-0-5c1b-ee26-e387-5025.fixed6.kpn.net)
08:06:37 xff0x joins (~xff0x@softbank219059019218.bbtec.net)
08:09:55 × TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Ping timeout: 245 seconds)
08:13:14 gmg joins (~user@user/gehmehgeh)
08:15:08 raoul joins (~raoul@95.179.203.88)
08:15:17 × bilegeek quits (~bilegeek@2600:1008:b09c:cc45:af3c:c61e:6890:be8f) (Quit: Leaving)
08:21:03 × xff0x quits (~xff0x@softbank219059019218.bbtec.net) (Ping timeout: 268 seconds)
08:21:04 TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker)
08:22:17 × TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Excess Flood)
08:22:44 TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker)
08:33:11 akegalj joins (~akegalj@180-51.dsl.iskon.hr)
08:35:52 × rosco quits (~rosco@yp-146-6.tm.net.my) (Quit: Lost terminal)
08:41:23 × danse-nr3 quits (~danse-nr3@151.43.230.153) (Ping timeout: 264 seconds)
08:41:34 × TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Ping timeout: 255 seconds)
08:41:48 TheCoffeMaker_ joins (~TheCoffeM@200.114.213.75)
08:44:14 danse-nr3 joins (~danse-nr3@151.43.230.153)
08:44:24 × tzh quits (~tzh@c-73-164-206-160.hsd1.or.comcast.net) (Quit: zzz)
08:49:30 × demon-cat quits (~demon-cat@dund-15-b2-v4wan-169642-cust1347.vm6.cable.virginm.net) (Ping timeout: 245 seconds)
08:52:49 × TheCoffeMaker_ quits (~TheCoffeM@200.114.213.75) (Ping timeout: 268 seconds)
08:55:32 chele joins (~chele@user/chele)
09:00:27 × TMA quits (tma@twin.jikos.cz) (Ping timeout: 255 seconds)
09:00:41 TMA joins (tma@twin.jikos.cz)
09:00:53 TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker)
09:02:38 × TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Excess Flood)
09:03:42 TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker)
09:04:49 × TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Excess Flood)
09:08:21 TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker)
09:15:38 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
09:16:50 demon-cat joins (~demon-cat@dund-15-b2-v4wan-169642-cust1347.vm6.cable.virginm.net)
09:21:10 × demon-cat quits (~demon-cat@dund-15-b2-v4wan-169642-cust1347.vm6.cable.virginm.net) (Ping timeout: 245 seconds)
09:24:34 × TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Ping timeout: 268 seconds)
09:24:53 × welterde quits (welterde@thinkbase.srv.welterde.de) (Ping timeout: 268 seconds)
09:36:25 TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker)
09:36:55 welterde joins (welterde@thinkbase.srv.welterde.de)
09:39:12 × TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Excess Flood)
09:39:33 TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker)
09:44:25 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
09:47:08 × TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Ping timeout: 260 seconds)
09:50:53 agent314 joins (~quassel@104.193.135.218)
09:50:53 zetef joins (~quassel@2a02:2f00:5202:1200:2128:605:71c4:66a4)
09:53:04 mikess joins (~mikess@user/mikess)
09:54:01 TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker)
09:57:26 × TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Read error: Connection reset by peer)
09:58:03 demon-cat joins (~demon-cat@dund-15-b2-v4wan-169642-cust1347.vm6.cable.virginm.net)
10:06:12 destituion joins (~destituio@85.221.111.174)
10:06:23 __monty__ joins (~toonn@user/toonn)
10:08:54 × zetef quits (~quassel@2a02:2f00:5202:1200:2128:605:71c4:66a4) (Remote host closed the connection)
10:13:18 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 256 seconds)
10:13:40 × mwnaylor quits (~user@2601:5cf:837e:2bb0::9c1d) (Ping timeout: 245 seconds)
10:15:17 euleritian joins (~euleritia@dynamic-176-001-009-078.176.1.pool.telefonica.de)
10:23:13 × euleritian quits (~euleritia@dynamic-176-001-009-078.176.1.pool.telefonica.de) (Read error: Connection reset by peer)
10:23:32 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
10:24:15 TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker)
10:29:01 × TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Ping timeout: 268 seconds)
10:31:06 × bgt32 quits (~keutoi@223.184.79.113) (Ping timeout: 252 seconds)
10:35:37 × danse-nr3 quits (~danse-nr3@151.43.230.153) (Read error: Connection reset by peer)
10:36:43 × TMA quits (tma@twin.jikos.cz) (Ping timeout: 268 seconds)
10:36:59 danse-nr3 joins (~danse-nr3@151.19.252.164)
10:37:04 TMA joins (tma@twin.jikos.cz)
10:43:28 TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker)
10:44:18 × TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Excess Flood)
10:46:18 × tcard quits (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Quit: Leaving)
10:48:17 tcard joins (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303)
10:50:20 TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker)
10:50:23 × danse-nr3 quits (~danse-nr3@151.19.252.164) (Ping timeout: 264 seconds)
10:53:11 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds)
10:55:06 euleritian joins (~euleritia@dynamic-176-001-009-078.176.1.pool.telefonica.de)
10:57:54 × euleritian quits (~euleritia@dynamic-176-001-009-078.176.1.pool.telefonica.de) (Read error: Connection reset by peer)
10:59:43 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
11:00:15 × TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Ping timeout: 252 seconds)
11:02:55 Square3 joins (~Square4@user/square)
11:07:44 TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker)
11:08:38 × TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Excess Flood)
11:09:02 TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker)
11:15:36 × TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Read error: Connection reset by peer)
11:15:56 TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker)
11:19:00 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
11:25:00 × Rodney_ quits (~Rodney@176.254.244.83) (Ping timeout: 252 seconds)
11:29:15 danse-nr3 joins (~danse-nr3@151.35.226.248)
11:29:35 × TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Ping timeout: 272 seconds)
11:31:36 × kritzefitz quits (~kritzefit@debian/kritzefitz) (Ping timeout: 268 seconds)
11:33:52 xff0x joins (~xff0x@softbank219059019218.bbtec.net)
11:34:21 × danse-nr3 quits (~danse-nr3@151.35.226.248) (Ping timeout: 252 seconds)
11:34:51 k`` joins (~k``@136.54.34.25)
11:35:20 danse-nr3 joins (~danse-nr3@151.35.226.248)
11:39:05 × jinsun quits (~jinsun@user/jinsun) (Ping timeout: 245 seconds)
11:42:02 × xff0x quits (~xff0x@softbank219059019218.bbtec.net) (Ping timeout: 252 seconds)
11:44:07 xff0x joins (~xff0x@softbank219059019218.bbtec.net)
11:44:45 × thaliaa quits (uid486183@id-486183.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
11:44:52 jinsun joins (~jinsun@user/jinsun)
11:45:35 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
11:50:49 TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker)
11:52:39 × TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Excess Flood)
11:53:17 kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be)
11:59:49 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
11:59:55 oneeyedalien joins (~oneeyedal@user/oneeyedalien)
12:03:47 Guest95 joins (~Guest95@217.7.130.9)
12:03:50 kritzefitz joins (~kritzefit@debian/kritzefitz)
12:04:48 × xff0x quits (~xff0x@softbank219059019218.bbtec.net) (Ping timeout: 260 seconds)
12:05:31 × ddellacosta quits (~ddellacos@ool-44c73d29.dyn.optonline.net) (Ping timeout: 268 seconds)
12:06:10 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 246 seconds)
12:12:37 oneeyedalien_ joins (~oneeyedal@user/oneeyedalien)
12:13:47 euleritian joins (~euleritia@dynamic-176-001-009-078.176.1.pool.telefonica.de)
12:15:06 × oneeyedalien quits (~oneeyedal@user/oneeyedalien) (Ping timeout: 256 seconds)
12:19:47 × connrs quits (~connrs@user/connrs) (Ping timeout: 264 seconds)
12:23:50 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 260 seconds)
12:25:53 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
12:28:58 connrs joins (~connrs@user/connrs)
12:32:42 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
12:36:40 × barak quits (~barak@2a0d:6fc2:68c1:7200:3cf2:a87d:a02b:3e21) (Ping timeout: 256 seconds)
12:42:40 × oneeyedalien_ quits (~oneeyedal@user/oneeyedalien) (Quit: Leaving)
12:45:56 hseg joins (~gesh@77.137.75.224)
12:48:05 × _d0t quits (~{-d0t-}@user/-d0t-/x-7915216) (Ping timeout: 256 seconds)
12:54:03 TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker)
12:54:46 × Guest95 quits (~Guest95@217.7.130.9) (Ping timeout: 250 seconds)
13:00:09 × mikess quits (~mikess@user/mikess) (Ping timeout: 252 seconds)
13:02:07 _d0t joins (~{-d0t-}@user/-d0t-/x-7915216)
13:05:29 ystael joins (~ystael@user/ystael)
13:06:12 × danse-nr3 quits (~danse-nr3@151.35.226.248) (Ping timeout: 252 seconds)
13:13:14 danse-nr3 joins (~danse-nr3@151.35.226.248)
13:15:36 × danse-nr3 quits (~danse-nr3@151.35.226.248) (Remote host closed the connection)
13:15:58 danse-nr3 joins (~danse-nr3@151.35.226.248)
13:18:13 Rodney_ joins (~Rodney@176.254.244.83)
13:19:39 rosco joins (~rosco@yp-146-6.tm.net.my)
13:19:42 waleee joins (~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
13:21:21 barak joins (~barak@2a0d:6fc2:68c1:7200:3cf2:a87d:a02b:3e21)
13:25:22 × kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection)
13:26:49 × euleritian quits (~euleritia@dynamic-176-001-009-078.176.1.pool.telefonica.de) (Read error: Connection reset by peer)
13:28:39 euleritian joins (~euleritia@77.22.252.56)
13:29:45 mikess joins (~mikess@user/mikess)
13:33:59 × mikess quits (~mikess@user/mikess) (Ping timeout: 256 seconds)
13:40:05 × kritzefitz quits (~kritzefit@debian/kritzefitz) (Ping timeout: 256 seconds)
13:43:21 Sgeo joins (~Sgeo@user/sgeo)
13:44:31 × rosco quits (~rosco@yp-146-6.tm.net.my) (Ping timeout: 246 seconds)
13:45:27 rosco joins (~rosco@yp-146-6.tm.net.my)
13:47:36 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
13:54:22 <haskellbridge> <m​agic_rb> tomsmeding: you dont happen to be at the utrecht university campus
13:55:01 <haskellbridge> <m​agic_rb> *science park ig
13:59:29 yin joins (~yin@user/zero)
14:02:20 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
14:03:25 × danse-nr3 quits (~danse-nr3@151.35.226.248) (Ping timeout: 246 seconds)
14:12:16 danse-nr3 joins (~danse-nr3@151.35.226.248)
14:15:37 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection)
14:22:04 × haritz quits (~hrtz@user/haritz) (Remote host closed the connection)
14:23:00 tri joins (~tri@ool-18bc2e74.dyn.optonline.net)
14:24:01 haritz joins (~hrtz@2a02:8010:65b5:0:6009:6384:e3cb:2220)
14:25:51 × haritz quits (~hrtz@2a02:8010:65b5:0:6009:6384:e3cb:2220) (Changing host)
14:25:51 haritz joins (~hrtz@user/haritz)
14:27:49 × destituion quits (~destituio@85.221.111.174) (Ping timeout: 256 seconds)
14:32:13 × as__ quits (~as@2800:a4:2c7:9600:4168:6667:410d:d0ba) (Quit: Leaving)
14:36:12 <tomsmeding> magic_rb: I do
14:37:11 × waleee quits (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Quit: WeeChat 4.1.2)
14:37:40 <tomsmeding> But I kind of have a paper deadline in like 5 days so :p
14:40:14 <haskellbridge> <m​agic_rb> We already dipped sadly
14:41:52 waleee joins (~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
14:43:09 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
14:51:02 × waleee quits (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Quit: WeeChat 4.1.2)
14:52:15 waleee joins (~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
14:59:55 × haritz quits (~hrtz@user/haritz) (Quit: ZNC 1.8.2+deb2 - https://znc.in)
15:01:55 haritz joins (~hrtz@2a02:8010:65b5:0:6009:6384:e3cb:2220)
15:02:14 × ocra8 quits (ocra8@user/ocra8) (Quit: WeeChat 4.2.2)
15:03:48 × haritz quits (~hrtz@2a02:8010:65b5:0:6009:6384:e3cb:2220) (Changing host)
15:03:48 haritz joins (~hrtz@user/haritz)
15:08:07 × EvanR quits (~EvanR@user/evanr) (Remote host closed the connection)
15:08:26 EvanR joins (~EvanR@user/evanr)
15:10:59 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
15:11:06 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.2.1)
15:14:09 × danse-nr3 quits (~danse-nr3@151.35.226.248) (Ping timeout: 256 seconds)
15:15:01 × rosco quits (~rosco@yp-146-6.tm.net.my) (Quit: Lost terminal)
15:17:22 danse-nr3 joins (~danse-nr3@151.35.226.248)
15:20:41 ocra8 joins (ocra8@user/ocra8)
15:21:05 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
15:24:08 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
15:29:32 × qqq quits (~qqq@92.43.167.61) (Remote host closed the connection)
15:31:31 × danse-nr3 quits (~danse-nr3@151.35.226.248) (Ping timeout: 272 seconds)
15:36:05 tzh joins (~tzh@c-73-164-206-160.hsd1.or.comcast.net)
15:38:37 kritzefitz joins (~kritzefit@debian/kritzefitz)
15:39:38 × waleee quits (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 252 seconds)
15:45:08 <hseg> Trying to compile my code with -pie unsuccessfully -- no matter what combination of flags I pass it, ld complains and advises passing -fPIE. Advice?
15:45:46 <tomsmeding> hseg: trying to compile haskell code or C code?
15:45:49 <hseg> haskell
15:46:03 <tomsmeding> what special linking are you doing
15:46:05 <tomsmeding> >
15:46:07 <tomsmeding> * ?
15:46:34 <tomsmeding> if you don't have any C sources in your project and are just 'cabal build'ing, and you get an error from ld, something fishy is going on
15:46:40 <hseg> actually, there might be C components in deps
15:46:54 <tomsmeding> can you post the full output of your build command?
15:48:34 <hseg> https://0x0.st/XXen.txt
15:49:32 <hseg> I've tried with/without --enable-shared, with/without -fPIE, nothing works
15:51:01 <tomsmeding> hseg: have you tried without that entire second line of the configure command? (Make sure you're deleting any config files created by the configure command)
15:51:04 <tomsmeding> er
15:51:09 <tomsmeding> without the third line of that command
15:51:33 <hseg> without the third line things build perfectly
15:51:39 gehmehgeh joins (~user@user/gehmehgeh)
15:51:47 <tomsmeding> (side note, `cabal configure` is unnecessary here, you can just pass those flags to `cabal build` -- and why are you doing `v2-build`? `build` should work fine with non-ancient cabal)
15:51:55 × euleritian quits (~euleritia@77.22.252.56) (Ping timeout: 246 seconds)
15:52:00 × yin quits (~yin@user/zero) (Ping timeout: 245 seconds)
15:52:16 <tomsmeding> is that a solution then?
15:52:17 <hseg> ah, that's probably cargo-culted from an old build script
15:52:46 <tomsmeding> the -O is also redundant (it's default), and the --jobs is also default
15:52:52 <hseg> also, I'm configuring since in a later step I also run tests and install it into a directory to be zipped up into a package
15:53:01 <tomsmeding> `cabal build --prefix=/usr --docdir=... --enable-tests` should do the job
15:53:12 <hseg> (presumably, those need the configuration to carry over?)
15:53:13 <tomsmeding> I see
15:53:16 <tomsmeding> yeah
15:53:19 × gmg quits (~user@user/gehmehgeh) (Killed (NickServ (Forcing logout gmg -> gehmehgeh)))
15:53:20 gehmehgeh is now known as gmg
15:53:20 <tomsmeding> still, those three flags should be enough
15:53:50 × chiselfuse quits (~chiselfus@user/chiselfuse) (Ping timeout: 260 seconds)
15:55:08 <hseg> except the resulting code doesn't have relro or pie enabled (building to double check)
15:55:14 <tomsmeding> is that a problem?
15:55:20 <tomsmeding> it's an executable, right?
15:55:32 <hseg> yeah, it's executable
15:56:06 chiselfuse joins (~chiselfus@user/chiselfuse)
15:56:06 <tomsmeding> as far as I understand, those flags are typically relevant if you want to build libraries dynamically
15:56:28 <tomsmeding> but haskell libraries are usually linked statically into haskell executables
15:56:40 <hseg> ah, OK. Was worried since the packaging system was yelling at me
15:56:49 <hseg> https://wiki.archlinux.org/title/Arch_package_guidelines/Security is the relevant policy
15:56:52 <tomsmeding> with sufficient magic you can make that go dynamically too, but there is typically no good reason for that
15:56:57 <tomsmeding> that is pointless for haskell
15:57:22 <tomsmeding> the usual security reason for dynamic libraries (disclaimer: I haven't read that specific page) is that you can update dynamic libraries without updating the executable
15:57:32 <tomsmeding> hence allowing one to distribute security updates without having to rebuild the world
15:57:46 <tomsmeding> but GHC doesn't have a stable ABI so that doesn't work for haskell, you have to rebuild dependents anyway
15:57:46 <hseg> right, which given ghc's cross-module optimizations, is irrelevant for ghc haskell
15:57:49 <tomsmeding> so you might as well static link
15:57:58 <hseg> sniped
15:58:13 <tomsmeding> optimisations too, but that's mostly irrelevant to the point -- even without optimisations it would be pointless
15:58:20 <tomsmeding> the only reason would be to save a bit of disk space
15:58:46 <tomsmeding> but in the haskell community that's a considered a meager win versus the significant increased hassle of dynamic linking
15:58:49 <tomsmeding> (for haskell)
15:58:53 danso_o is now known as danso
15:58:54 <hseg> oh? I thought the ABI instability was caused by the libraries getting infected with the build plans?
15:58:59 <tomsmeding> note that system libs are still linked dynamically
15:59:05 <tomsmeding> e.g. libc, zlib, gmp, etc
15:59:12 <tomsmeding> yeah also
15:59:28 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
15:59:49 <tomsmeding> but if you recompile a new version of a library, even if the haskell-level interface is compatible, the binary interface is probably not
15:59:56 <tomsmeding> GHC makes no guarantees there
16:00:05 <tomsmeding> so you have to rebuild dependent libraries and executables anyway
16:00:26 <tomsmeding> (this is different from the C world, where C-level compatibility implies ABI-level compatibility if you have the same compiler)
16:00:35 × califax quits (~califax@user/califx) (Remote host closed the connection)
16:00:56 <hseg> hrm. What causes that instability?
16:01:07 <tomsmeding> just that there's no effort at stability
16:01:19 <tomsmeding> the reason for which is, indeed, cross-module optimisations
16:01:54 <tomsmeding> so indirectly it's because of optimisations, but the direct cause is lack of ABI stability
16:02:01 × tri quits (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection)
16:02:27 <hseg> ah -- because a haskell-compatible library edit might expose new optimizations, which might change the effective ABI?
16:02:38 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
16:02:39 <tomsmeding> yep
16:02:52 <hseg> eg you'd get a function dropped since it gets inlined everywhere?
16:02:52 califax joins (~califax@user/califx)
16:03:12 <tomsmeding> more that the types of the arguments might change on the assembly level
16:03:14 <tomsmeding> names too
16:03:25 <hseg> oh, because of specialization?
16:03:39 <tomsmeding> the haskell interface file (.hi) produced by GHC as a side effect of compilation describes where the code is and what it looks like in the object file
16:03:45 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
16:03:55 <tomsmeding> e.g. specialisation, but also worker-wrapper transformation
16:04:28 <tomsmeding> (if you write `foo :: Int -> Int`, that converts into `foo :: Int -> Int ; foo (I# i) = I# (foo$w i) where foo$w :: Int# -> Int#`)
16:04:38 <hseg> right, and that transformation can change intermediate types even if the worker's type doesn't
16:04:44 <tomsmeding> where the outer foo just does wrapping in data constructors and the inner foo$w works on unboxed values
16:04:55 <tomsmeding> the outer foo doesn't have any code generated because it is intended to be inlined everywhere
16:05:15 <tomsmeding> the type of foo$w is dependent on the implementation of foo, unlike the type of foo itself which is independent on foo's implementation
16:05:21 <hseg> ohhh and so everyone will be calling the worker, whose type can change between recompilations?
16:05:24 <tomsmeding> yes
16:05:40 <hseg> ah yeah that would definitely be a problem
16:06:06 <hseg> and it's fundamental enough I can't even picture what an ABI-stable GHC is anymore
16:06:11 <tomsmeding> :)
16:06:20 <tomsmeding> I mean, it wouldn't be that hard
16:06:49 <tomsmeding> you'd have to define some standard calling convention, and use that to define additional wrapper functions that _are_ materialised in the object files, and just unused whenever GHC can see the interface file
16:07:03 <tomsmeding> then you'd have to convince GHC to use those wrappers instead of the workers directly
16:07:17 <tomsmeding> conceptually this isn't very difficult, but it would be a lot of engineering
16:07:23 <hseg> but wouldn't that lose optimization opportunities?
16:07:25 <tomsmeding> yes
16:07:40 <hseg> right, because now the workers will be opaque
16:07:45 <tomsmeding> indeed
16:07:54 <tomsmeding> worker-wrapper is one thing I know of where this plays a role
16:08:07 <tomsmeding> there may well me more reasons for ABI instability that I'm not aware of -- I'm not a ghc hacker
16:08:22 <hseg> fair enough
16:08:31 <tomsmeding> but compiling a standardised wrapper function would theoretically be possible always
16:08:36 <EvanR> IANAGH
16:08:37 × califax quits (~califax@user/califx) (Remote host closed the connection)
16:08:52 <tomsmeding> question is whether it would be worth the effort and the potential loss of some performance (to be measured)
16:09:13 <hseg> just realized -- this has nothing to do with reproducible builds, that is something GHC *could* theoretically guarantee (and that is something that's more desireable to me)
16:09:24 <tomsmeding> indeed
16:09:31 _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
16:09:50 <tomsmeding> same code with same compiler and same flags could, in principle, produce the same object code
16:10:14 <tomsmeding> it probably doesn't for the standard reasons why builds are not reproducible, timestamps, paths etc
16:10:21 <hseg> right
16:11:23 <tomsmeding> EvanR: makes me think of this guy's name https://hackage.haskell.org/user/IanLynagh
16:11:32 <tomsmeding> (random page with the name on it)
16:12:06 <hseg> wait, isn't *PIC* for dynamic libraries, but *PIE* for any executable?
16:12:20 <hseg> after all, it enables ASLR
16:12:30 <tomsmeding> I guess? I don't know too much about this
16:12:41 <EvanR> randomly clicking utf8-string on that page makes me think there should be a note about how Text is utf8 now
16:12:48 <tomsmeding> haskell executables do link dynamically against C libraries though
16:13:08 <hseg> right, but that means that even statically-linked haskell should benefit from -pie
16:13:22 <hseg> (and relro, but that's a separate thing)
16:13:54 <tomsmeding> isn't an executable already PIE if it's dynamically linking against stuff?
16:14:26 califax joins (~califax@user/califx)
16:14:42 <tomsmeding> about worker-wrapper, by the way: here https://play.haskell.org/saved/yjnPTDnN if you click on "Core" you see 'foo' at the bottom with annotations that say that it can be inlined; the NOINLINE is on M.$wfoo right above
16:14:51 <tomsmeding> despite the NOINLINE on foo in the source
16:14:54 <hseg> nope -- PIC is for libraries, PIE is for executables AFAIK
16:15:49 <tomsmeding> debian has given up on that for haskell apparently https://wiki.debian.org/StaticLinking#Haskell
16:16:54 <hseg> on dynamic linking, yes
16:17:03 <hseg> have they given up on ASLR for haskell?
16:17:50 × machinedgod quits (~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 245 seconds)
16:19:07 <hseg> in any case, that does put pie and relro back on the table for me
16:19:15 yin joins (~yin@user/zero)
16:19:19 × chele quits (~chele@user/chele) (Remote host closed the connection)
16:23:01 <tomsmeding> hseg: is 'ELF 64-bit LSB pie executable' in file(1) output what you're looking for?
16:23:11 <tomsmeding> try cabal configure --enable-shared --ghc-options='-pie -dynamic'
16:23:35 <tomsmeding> don't even need the --enable-shared
16:23:50 <hseg> testing...
16:24:29 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds)
16:24:31 <int-e> s/--enable-shared/-fPIE/ I think (different from -pie, you need that for linking)
16:24:54 <hseg> tried --ghc-options='-pie -fPIE', didn't work
16:25:01 <tomsmeding> I can compile an executable that gives the aforementioned string in file(1) output with just `-pie -dynamic`, nothing else
16:25:14 <tomsmeding> I added a non-boot dependency to be sure that that works too, in principle
16:25:15 euleritian joins (~euleritia@dynamic-176-001-008-240.176.1.pool.telefonica.de)
16:27:17 <int-e> And the trouble you'll run into is that the base libraries won't be compiled with the requisite -fPIE flag.
16:27:17 × euleritian quits (~euleritia@dynamic-176-001-008-240.176.1.pool.telefonica.de) (Read error: Connection reset by peer)
16:27:41 <hseg> https://0x0.st/XX23.txt
16:28:30 × noumenon quits (~noumenon@113.51-175-156.customer.lyse.net) (Read error: Connection reset by peer)
16:28:43 euleritian joins (~euleritia@dynamic-176-001-008-240.176.1.pool.telefonica.de)
16:29:40 <int-e> That's when trying to link statically; with -dynamic -pie I get a PIE executable that's dynamically linked. (Just a simple hello world, no `cabal` involved)
16:29:56 <tomsmeding> I see
16:30:19 × califax quits (~califax@user/califx) (Remote host closed the connection)
16:30:31 tomsmeding gives up
16:30:34 <hseg> I'm confused -- why is it linking statically?
16:30:51 <tomsmeding> int-e was referring to the -fPIE note
16:31:06 <hseg> ah
16:31:14 <int-e> hseg: I'm on my own tangent which may or may not intersect with yours, sorry.
16:31:55 <tomsmeding> but yeah sorry, I thought I knew enough to help but I don't
16:31:59 <int-e> The reason why Haskell libraries are generally linked statically is that there's no ABI compatibility between recompiled versions of the same library.
16:32:10 <tomsmeding> we've gone over that :)
16:32:19 <int-e> <s>Ask me about Arch</s>
16:32:24 <tomsmeding> hseg's question now is "even if I link statically, can I at least get the security benefits of PIE"
16:32:48 <tomsmeding> the answer seems to be, nothing is set up for that so you're on your own?
16:33:18 <hseg> int-e: indeed, which is why I've been building all my haskell programs statically on Arch, sidestepping their entire haskell ecosystem
16:33:24 <int-e> But I imagine you can still build GHC such that it builds the base libraries with -fPIE. So that's the tangent I'm on right now... but it will take a while to try.
16:34:16 <tomsmeding> hseg: that's what everyone here does, ignore anything haskell-related in the arch package repository and just use cabal/stack/whatever
16:34:19 <tomsmeding> "cabal install cabal-fmt"
16:35:45 × hseg quits (~gesh@77.137.75.224) (Read error: Connection reset by peer)
16:35:59 <tomsmeding> bye :p
16:36:06 hseg joins (~gesh@77.137.75.224)
16:36:16 <hseg> Apologies, computer crashed
16:36:21 <tomsmeding> O.o
16:36:35 <tomsmeding> logs link in topic if necessary
16:38:17 <hseg> just missed your last three messages
16:38:45 <hseg> yeah, so I integrate my haskell-related stuff *slightly* in arch so pacman can track the files
16:38:50 <hseg> but not for much else
16:39:02 <hseg> (eg am depending on cabal/stack for dependency resolution)
16:39:08 <tomsmeding> right
16:39:31 <tomsmeding> unless you want to either make your life very difficult, or do the same and also evangelise in the haskell community, I'd recommend skipping PIE :p
16:39:41 <tomsmeding> I concede there is something to be won here
16:41:40 califax joins (~califax@user/califx)
16:43:11 × euphores quits (~SASL_euph@user/euphores) (Quit: Leaving.)
16:46:42 philopsos joins (~caecilius@user/philopsos)
16:46:53 × califax quits (~califax@user/califx) (Remote host closed the connection)
16:47:25 califax joins (~califax@user/califx)
16:50:23 euphores joins (~SASL_euph@user/euphores)
16:51:19 <int-e> hseg: I remember using Arch's ghc to build my own, then uninstalling the Arch one. So it was good enough for bootstrapping.
16:52:20 <hseg> Right. I'm testing using a statically linked cabal-install and a ghcup-versioned ghc
16:53:42 × jcarpenter2 quits (~lol@2603:3016:1e01:b940:e453:9e02:8346:816a) (Read error: Connection reset by peer)
16:53:50 <hseg> hrm. enabling relro (with --ld-options='-Wl,-z,relro,-z,now') still complains RELRO is only partially enabled
16:53:55 <hseg> but at least it builds
16:54:19 <hseg> given that that's no different from the previous behaviour, I'm tempted to drop it
16:54:28 <hseg> pie is still a puzzle though
16:56:40 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
17:04:27 pavonia joins (~user@user/siracusa)
17:05:24 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
17:08:05 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
17:08:19 <hseg> giving up and opening this up to comments from the users of the package
17:08:41 <hseg> if they're concerned, let them share the burden of finding a workable build
17:19:42 jamesmartinez joins (uid6451@id-6451.helmsley.irccloud.com)
17:37:59 <int-e> hseg: Well, this worked: https://paste.tomsmeding.com/cbI4u3Qk
17:39:04 <hseg> hrm, testing
17:39:13 <int-e> hseg: note that I rebuilt ghc for this
17:39:46 <int-e> (with the settings at the end of that paste)
17:40:11 × euleritian quits (~euleritia@dynamic-176-001-008-240.176.1.pool.telefonica.de) (Read error: Connection reset by peer)
17:40:24 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 256 seconds)
17:40:25 <int-e> I'm not sure why I needed -fPIC when compiling the final program, and not -fPIE.
17:40:28 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
17:40:49 <hseg> no dice
17:41:07 <hseg> at least, not with cabal --ghc-options=-pie --ghc-options=-fPIC
17:41:31 <hseg> ah, wait
17:41:33 <hseg> one moment
17:43:57 × hseg quits (~gesh@77.137.75.224) (Read error: Connection reset by peer)
17:44:35 hseg joins (~gesh@77.137.75.224)
17:44:41 <hseg> ... and *another* crash
17:45:37 <hseg> ironic timing aside, was going to say the problematic case here was compiled with the wrong ghc, trying the correct one, one moment
17:47:37 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
17:47:46 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 268 seconds)
17:48:13 euleritian joins (~euleritia@dynamic-176-001-008-240.176.1.pool.telefonica.de)
17:55:06 zetef joins (~quassel@5.14.202.140)
17:55:08 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Ping timeout: 256 seconds)
17:55:47 × yin quits (~yin@user/zero) (Ping timeout: 268 seconds)
17:57:04 × k`` quits (~k``@136.54.34.25) (Remote host closed the connection)
17:57:21 k`` joins (~k``@136.54.34.25)
18:03:40 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds)
18:04:30 × zetef quits (~quassel@5.14.202.140) (Ping timeout: 245 seconds)
18:08:24 <monochrom> tomsmeding: I haven't wished for a Haskell-2010-only compiler for error message purposes. Even within Haskell 2010, the Num class is already bad enough for that purpose, banning Foldable (for example) is not going to really help. (And I actually teach Foldable after the basics.)
18:12:20 <tomsmeding> monochrom: right, overloaded int/float literals are definitely inconvenient for teaching (and frankly sometimes for programming too)
18:13:01 <tomsmeding> for curiosity, do you not run into ghc flinging FlexibleConstraints, DataKinds, AllowAmbiguousTypes, RankNTypes, etc. in your students' faces?
18:13:18 <tomsmeding> if they made an innocent mistake
18:14:05 <monochrom> Here is where I show my laziness. I haven't polled students for what they are going through!
18:14:35 <Rembane> monochrom: How much have they told you without polls?
18:14:37 <tomsmeding> if you've taught enough students on this topic you'd have received complaints from their side if they're running into it a lot :)
18:15:05 <monochrom> But those who came to my office hours have never showed me error messages of that kind. But that is a biased data pool.
18:15:19 <tomsmeding> it is indeed, but it says something
18:16:22 <hseg> int-e: ... and that's a no for -pie -fPIC via cabal: https://0x0.st/XXLc.txt
18:16:24 × sand-witch quits (~m-mzmz6l@vmi833741.contaboserver.net) (Ping timeout: 252 seconds)
18:17:02 <monochrom> It is also possible that I only ask them to do basic low-tech things so it is very hard to even randomly wander into the high-tech error space.
18:17:39 <tomsmeding> the fact that such a low-tech space exists is good, and mostly what I was asking for :)
18:18:10 <hseg> thanks for the help, but ig I'll stick to my previous giving up
18:18:11 <tomsmeding> when I do haskelling myself I sometimes marvel at the inscrutability of error messages I get when doing seemingly harmless things that even beginners could do
18:27:00 × hseg quits (~gesh@77.137.75.224) (Ping timeout: 260 seconds)
18:28:11 yin joins (~yin@user/zero)
18:29:08 × k`` quits (~k``@136.54.34.25) (Remote host closed the connection)
18:29:25 k`` joins (~k``@136.54.34.25)
18:32:06 × jamesmartinez quits (uid6451@id-6451.helmsley.irccloud.com) ()
18:36:01 × califax quits (~califax@user/califx) (Remote host closed the connection)
18:41:28 × euleritian quits (~euleritia@dynamic-176-001-008-240.176.1.pool.telefonica.de) (Read error: Connection reset by peer)
18:41:41 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
18:42:29 califax joins (~califax@user/califx)
18:45:35 × yin quits (~yin@user/zero) (Ping timeout: 264 seconds)
18:50:57 danza joins (~francesco@151.37.226.214)
18:51:10 × califax quits (~califax@user/califx) (Remote host closed the connection)
18:51:19 Tuplanolla joins (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi)
18:54:26 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 260 seconds)
18:57:13 ec joins (~ec@gateway/tor-sasl/ec)
19:12:28 × Square3 quits (~Square4@user/square) (Ping timeout: 246 seconds)
19:13:33 califax joins (~califax@user/califx)
19:13:51 rvalue- joins (~rvalue@user/rvalue)
19:14:15 × rvalue quits (~rvalue@user/rvalue) (Ping timeout: 255 seconds)
19:14:51 Square joins (~Square@user/square)
19:17:52 rvalue- is now known as rvalue
19:19:47 ChaiTRex joins (~ChaiTRex@user/chaitrex)
19:20:32 × rvalue quits (~rvalue@user/rvalue) (Read error: Connection reset by peer)
19:21:01 rvalue joins (~rvalue@user/rvalue)
19:21:04 zetef joins (~quassel@5.14.202.140)
19:23:57 × danza quits (~francesco@151.37.226.214) (Ping timeout: 272 seconds)
19:26:00 <int-e> @tell hseg Building with cabal-install works too if one sets the program flags in the config file (I did it for gcc (-fPIC), ghc (-fPIC and -fPIE), and ld (-pie)); I'm not sure how that translates to command line options.
19:26:00 <lambdabot> Consider it noted.
19:27:49 × zetef quits (~quassel@5.14.202.140) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
19:29:08 mwnaylor joins (~user@2601:5cf:837e:2bb0::9c1d)
19:30:58 waleee joins (~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
19:37:06 target_i joins (~target_i@user/target-i/x-6023099)
19:47:18 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
19:55:11 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
20:00:59 × k`` quits (~k``@136.54.34.25) (Remote host closed the connection)
20:01:17 k`` joins (~k``@136.54.34.25)
20:03:29 hseg joins (~gesh@77.137.75.224)
20:08:59 × philopsos quits (~caecilius@user/philopsos) (Ping timeout: 264 seconds)
20:09:56 yin joins (~yin@user/zero)
20:10:11 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 272 seconds)
20:10:49 × hseg quits (~gesh@77.137.75.224) (Quit: WeeChat 4.2.2)
20:16:00 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
20:24:55 × mwnaylor quits (~user@2601:5cf:837e:2bb0::9c1d) (Ping timeout: 245 seconds)
20:31:01 × akegalj quits (~akegalj@180-51.dsl.iskon.hr) (Quit: leaving)
20:31:11 × yin quits (~yin@user/zero) (Ping timeout: 264 seconds)
20:31:19 × _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection)
20:31:25 jcarpenter2 joins (~lol@2603:3016:1e01:b940:2cfa:366f:20cb:2703)
20:45:07 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
20:48:10 yin joins (~yin@user/zero)
20:51:56 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
20:52:14 machinedgod joins (~machinedg@d173-183-246-216.abhsia.telus.net)
20:59:42 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
21:06:04 × k`` quits (~k``@136.54.34.25) (Remote host closed the connection)
21:15:58 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
21:18:44 philopsos joins (~caecilius@user/philopsos)
21:28:26 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
21:38:31 × michalz quits (~michalz@185.246.207.205) (Quit: ZNC 1.8.2 - https://znc.in)
21:48:01 shapr` joins (~user@c-24-218-186-89.hsd1.ma.comcast.net)
21:48:40 × yin quits (~yin@user/zero) (Ping timeout: 245 seconds)
21:49:57 × shapr quits (~user@c-24-218-186-89.hsd1.ma.comcast.net) (Ping timeout: 255 seconds)
21:50:42 yin joins (~yin@user/zero)
21:51:04 Square3 joins (~Square4@user/square)
21:53:38 × Square quits (~Square@user/square) (Ping timeout: 252 seconds)
21:59:59 × acidjnk quits (~acidjnk@p200300d6e714dc31f1fc423ebb03a89f.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
22:04:05 × AlexZenon quits (~alzenon@94.233.240.47) (Ping timeout: 245 seconds)
22:12:24 × AlexNoo quits (~AlexNoo@94.233.240.47) (Ping timeout: 256 seconds)
22:17:38 waldo joins (~waldo@user/waldo)
22:31:14 × target_i quits (~target_i@user/target-i/x-6023099) (Quit: leaving)
22:33:15 × yin quits (~yin@user/zero) (Ping timeout: 252 seconds)
22:41:02 zetef joins (~quassel@5.14.202.140)
22:45:30 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
22:55:22 × gmg quits (~user@user/gehmehgeh) (Quit: Leaving)
22:57:50 × mhatta quits (~mhatta@www21123ui.sakura.ne.jp) (Quit: ZNC 1.8.2+deb4+b2 - https://znc.in)
22:57:56 xff0x joins (~xff0x@softbank219059019218.bbtec.net)
23:02:51 mhatta joins (~mhatta@www21123ui.sakura.ne.jp)
23:04:27 × xff0x quits (~xff0x@softbank219059019218.bbtec.net) (Ping timeout: 260 seconds)
23:05:53 × mhatta quits (~mhatta@www21123ui.sakura.ne.jp) (Remote host closed the connection)
23:07:52 xff0x joins (~xff0x@om126236141098.32.openmobile.ne.jp)
23:10:47 justsomeguy joins (~justsomeg@user/justsomeguy)
23:12:08 × Tuplanolla quits (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
23:27:58 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
23:32:57 AlexNoo joins (~AlexNoo@178.34.162.113)
23:34:49 AlexZenon joins (~alzenon@178.34.162.113)
23:38:29 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 240 seconds)
23:38:43 madeleine-sydney joins (~madeleine@c-76-155-235-153.hsd1.co.comcast.net)
23:40:13 × sawilagar quits (~sawilagar@user/sawilagar) (Ping timeout: 255 seconds)
23:51:38 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
23:57:48 × oo_miguel quits (~Thunderbi@78-11-181-16.static.ip.netia.com.pl) (Ping timeout: 256 seconds)

All times are in UTC on 2024-05-02.