Home liberachat/#haskell: Logs Calendar

Logs on 2024-10-16 (liberachat/#haskell)

00:04:09 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
00:05:06 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
00:10:08 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
00:11:31 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
00:13:35 troojg joins (~troojg@user/troojg)
00:20:35 × Tuplanolla quits (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
00:20:54 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
00:23:15 × xff0x quits (~xff0x@2405:6580:b080:900:d191:a1f6:84eb:b17f) (Ping timeout: 252 seconds)
00:24:53 × bliminse quits (~bliminse@user/bliminse) (Ping timeout: 248 seconds)
00:25:47 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds)
00:26:57 bliminse joins (~bliminse@user/bliminse)
00:28:30 hsw_ joins (~hsw@112-104-11-250.adsl.dynamic.seed.net.tw)
00:31:17 × hsw quits (~hsw@2001-b030-2303-0104-0172-0025-0012-0132.hinet-ip6.hinet.net) (Ping timeout: 248 seconds)
00:33:00 ystael joins (~ystael@user/ystael)
00:33:32 machinedgod joins (~machinedg@d50-99-47-73.abhsia.telus.net)
00:34:20 × hsw_ quits (~hsw@112-104-11-250.adsl.dynamic.seed.net.tw) (Ping timeout: 252 seconds)
00:36:41 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
00:39:44 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 255 seconds)
00:41:40 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
00:52:28 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
00:52:28 hsw joins (~hsw@112-104-11-250.adsl.dynamic.seed.net.tw)
00:52:39 × hsw quits (~hsw@112-104-11-250.adsl.dynamic.seed.net.tw) (Remote host closed the connection)
00:57:25 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
01:03:47 × ephilalethes quits (~noumenon@113.51-175-156.customer.lyse.net) (Read error: Connection reset by peer)
01:07:00 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
01:09:19 × ystael quits (~ystael@user/ystael) (Ping timeout: 265 seconds)
01:12:08 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds)
01:16:07 xff0x joins (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
01:19:30 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
01:22:49 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
01:23:01 × identity quits (~identity@user/ZharMeny) (Ping timeout: 248 seconds)
01:27:30 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
01:31:03 × Luj9 quits (~Luj@2a01:e0a:de4:a0e1:be24:11ff:febc:b5b5) (Quit: Ping timeout (120 seconds))
01:31:26 Luj9 joins (~Luj@2a01:e0a:de4:a0e1:be24:11ff:febc:b5b5)
01:33:00 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds)
01:38:32 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
01:41:40 × spew quits (~spew@185.153.177.163) (Quit: spew)
01:43:16 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
01:50:15 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 276 seconds)
01:54:21 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
02:01:12 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
02:12:58 × Katarushisu quits (~Katarushi@finc-20-b2-v4wan-169598-cust1799.vm7.cable.virginm.net) (Read error: Connection reset by peer)
02:14:59 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
02:15:06 Katarushisu joins (~Katarushi@finc-20-b2-v4wan-169598-cust1799.vm7.cable.virginm.net)
02:24:59 × raehik quits (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) (Ping timeout: 260 seconds)
02:25:27 Feuermagier is now known as Guest736
02:25:27 Feuermagier_ joins (~Feuermagi@user/feuermagier)
02:25:27 × Guest736 quits (~Feuermagi@user/feuermagier) (Killed (iridium.libera.chat (Nickname regained by services)))
02:25:27 Feuermagier_ is now known as Feuermagier
02:27:55 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
02:28:02 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
02:33:51 × Feuermagier quits (~Feuermagi@user/feuermagier) (Ping timeout: 252 seconds)
02:35:49 Feuermagier joins (~Feuermagi@user/feuermagier)
02:38:23 Feuermagier_ joins (~Feuermagi@user/feuermagier)
02:38:23 Feuermagier is now known as Guest9360
02:38:23 Feuermagier_ is now known as Feuermagier
02:39:32 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
02:41:12 × Guest9360 quits (~Feuermagi@user/feuermagier) (Ping timeout: 252 seconds)
02:44:30 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
02:47:06 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
02:47:23 Feuermagier joins (~Feuermagi@user/feuermagier)
02:55:15 pavonia joins (~user@user/siracusa)
02:55:20 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
03:00:00 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
03:02:41 × td_ quits (~td@i53870908.versanet.de) (Ping timeout: 248 seconds)
03:04:25 td_ joins (~td@i53870934.versanet.de)
03:11:07 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
03:11:07 × machinedgod quits (~machinedg@d50-99-47-73.abhsia.telus.net) (Ping timeout: 265 seconds)
03:12:57 raehik joins (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net)
03:15:45 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
03:17:50 × Xe quits (~cadey@perl/impostor/xe) (Ping timeout: 244 seconds)
03:19:55 × troojg quits (~troojg@user/troojg) (Ping timeout: 264 seconds)
03:20:02 Xe joins (~cadey@perl/impostor/xe)
03:26:55 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
03:31:38 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds)
03:35:52 hgolden__ joins (~hgolden@169.150.203.10)
03:38:24 × hgolden_ quits (~hgolden@23.162.40.110) (Ping timeout: 252 seconds)
03:44:35 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
03:44:58 × raehik quits (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) (Ping timeout: 245 seconds)
03:48:01 comonad joins (~comonad@p200300d0272bda000e01a379c24cc428.dip0.t-ipconnect.de)
03:51:43 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 264 seconds)
04:01:00 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
04:05:48 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
04:16:48 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
04:21:57 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
04:31:00 × mjrosenb quits (~mjrosenb@pool-96-232-177-77.nycmny.fios.verizon.net) (Ping timeout: 246 seconds)
04:32:35 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
04:36:43 mjrosenb joins (~mjrosenb@pool-96-232-177-77.nycmny.fios.verizon.net)
04:37:26 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
04:48:23 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
04:53:11 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
05:04:11 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
05:06:02 vanishingideal joins (~vanishing@user/vanishingideal)
05:08:10 michalz joins (~michalz@185.246.207.205)
05:08:55 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
05:16:26 rvalue- joins (~rvalue@user/rvalue)
05:17:16 × rvalue quits (~rvalue@user/rvalue) (Ping timeout: 265 seconds)
05:20:26 rvalue- is now known as rvalue
05:20:33 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
05:28:00 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
05:30:03 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
05:38:35 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
05:43:06 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
05:43:17 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
05:44:08 takuan joins (~takuan@178-116-218-225.access.telenet.be)
05:45:36 sord937 joins (~sord937@gateway/tor-sasl/sord937)
05:50:19 × gvg_ quits (~dcd@user/gvg) (Ping timeout: 260 seconds)
05:53:34 × alp_ quits (~alp@2001:861:e3d6:8f80:f9e:2c92:2bc3:5a6b) (Ping timeout: 272 seconds)
05:54:22 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
05:57:41 × whatsupdoc quits (uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
05:58:49 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
06:00:14 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
06:07:00 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
06:07:33 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
06:17:32 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
06:22:31 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
06:25:44 × igemnace quits (~igemnace@user/igemnace) (Quit: ZNC 1.9.0+deb2build3 - https://znc.in)
06:26:39 igemnace joins (~igemnace@user/igemnace)
06:27:06 × floyza quits (~gavin@h69-11-148-150.kndrid.broadband.dynamic.tds.net) (Remote host closed the connection)
06:28:32 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
06:30:55 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
06:31:05 × Square quits (~Square4@user/square) (Ping timeout: 252 seconds)
06:33:22 rosco joins (~rosco@175.136.23.238)
06:33:33 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
06:36:11 alp_ joins (~alp@2001:861:e3d6:8f80:ea6a:37b1:100f:1ca1)
06:38:09 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
06:44:07 CiaoSen joins (~Jura@2a05:5800:2e2:7900:ca4b:d6ff:fec1:99da)
06:48:56 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
06:53:43 acidjnk_new3 joins (~acidjnk@p200300d6e72cfb52c012f628d3821a0d.dip0.t-ipconnect.de)
06:53:50 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
06:56:24 × Feuermagier quits (~Feuermagi@user/feuermagier) (Ping timeout: 252 seconds)
06:56:32 Feuermagier joins (~Feuermagi@user/feuermagier)
07:00:00 × caconym quits (~caconym@user/caconym) (Quit: bye)
07:00:37 caconym joins (~caconym@user/caconym)
07:03:00 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
07:05:24 manwithluck joins (manwithluc@gateway/vpn/protonvpn/manwithluck)
07:07:46 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
07:08:04 lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
07:14:29 × Feuermagier quits (~Feuermagi@user/feuermagier) (Quit: Leaving)
07:17:01 gvg joins (~dcd@user/gvg)
07:20:06 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
07:21:30 chele joins (~chele@user/chele)
07:33:10 ash3en joins (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207)
07:34:52 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
07:37:06 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 252 seconds)
07:39:06 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
07:39:53 × emmanuelux quits (~emmanuelu@user/emmanuelux) (Quit: au revoir)
07:45:46 merijn joins (~merijn@77.242.116.146)
07:51:14 × chaitlatte0 quits (ea29c0bb16@2a03:6000:1812:100::1124) (Ping timeout: 245 seconds)
07:51:14 × samhh quits (7569f027cf@2a03:6000:1812:100::e4) (Ping timeout: 245 seconds)
07:51:14 samhh_ is now known as samhh
07:51:31 chaitlatte0 joins (ea29c0bb16@user/chaitlatte0)
07:51:32 × fgaz quits (1ff9197ed6@2a03:6000:1812:100::11ea) (Read error: Connection reset by peer)
07:51:39 fgaz joins (1ff9197ed6@2a03:6000:1812:100::11ea)
07:51:42 samhh_ joins (7569f027cf@2a03:6000:1812:100::e4)
07:57:41 machinedgod joins (~machinedg@d50-99-47-73.abhsia.telus.net)
08:08:33 × rosco quits (~rosco@175.136.23.238) (Quit: Lost terminal)
08:25:12 × ft quits (~ft@p4fc2a216.dip0.t-ipconnect.de) (Quit: leaving)
08:37:59 × tzh quits (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
08:40:27 × euleritian quits (~euleritia@84.19.220.82) (Ping timeout: 252 seconds)
08:41:11 euleritian joins (~euleritia@dynamic-176-000-013-113.176.0.pool.telefonica.de)
08:44:40 × euleritian quits (~euleritia@dynamic-176-000-013-113.176.0.pool.telefonica.de) (Read error: Connection reset by peer)
08:44:56 lxsameer joins (~lxsameer@Serene/lxsameer)
08:44:57 euleritian joins (~euleritia@84.19.220.82)
08:49:20 × euleritian quits (~euleritia@84.19.220.82) (Ping timeout: 255 seconds)
08:50:05 euleritian joins (~euleritia@dynamic-176-000-013-113.176.0.pool.telefonica.de)
08:57:31 × ash3en quits (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Quit: ash3en)
09:10:18 ubert joins (~Thunderbi@178.165.179.94.wireless.dyn.drei.com)
09:11:27 __monty__ joins (~toonn@user/toonn)
09:18:45 × td_ quits (~td@i53870934.versanet.de) (Ping timeout: 248 seconds)
09:18:57 × m1dnight quits (~christoph@d8D861908.access.telenet.be) (Ping timeout: 252 seconds)
09:19:37 mreh joins (~matthew@host86-128-2-51.range86-128.btcentralplus.com)
09:20:45 td_ joins (~td@i53870917.versanet.de)
09:27:15 × CiaoSen quits (~Jura@2a05:5800:2e2:7900:ca4b:d6ff:fec1:99da) (Ping timeout: 244 seconds)
09:27:18 m1dnight joins (~christoph@d8D861908.access.telenet.be)
09:59:03 × xff0x quits (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 276 seconds)
10:03:41 Smiles joins (uid551636@id-551636.lymington.irccloud.com)
10:14:30 × acidjnk_new3 quits (~acidjnk@p200300d6e72cfb52c012f628d3821a0d.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
10:16:55 acidjnk_new3 joins (~acidjnk@p200300d6e72cfb52c012f628d3821a0d.dip0.t-ipconnect.de)
10:17:48 × weary-traveler quits (~user@user/user363627) (Remote host closed the connection)
10:22:17 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.2.2)
10:32:03 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
10:48:18 akegalj joins (~akegalj@254-33.dsl.iskon.hr)
10:49:51 alexherbo2 joins (~alexherbo@2a02-8440-330c-261d-a991-2659-c7b3-e93f.rev.sfr.net)
10:49:54 × ubert quits (~Thunderbi@178.165.179.94.wireless.dyn.drei.com) (Remote host closed the connection)
10:50:05 ubert1 joins (~Thunderbi@178.165.179.94.wireless.dyn.drei.com)
10:52:23 ubert1 is now known as ubert
10:53:47 Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542)
10:59:03 × ubert quits (~Thunderbi@178.165.179.94.wireless.dyn.drei.com) (Ping timeout: 252 seconds)
11:00:49 xff0x joins (~xff0x@2405:6580:b080:900:7493:5a1e:80a9:6822)
11:10:09 Leonard26 joins (~Leonard26@49.236.10.26)
11:12:33 <Leonard26> Hello, I have these few lines of code
11:12:34 <Leonard26>   clock <- Gst.systemClockObtain
11:12:34 <Leonard26>   setObjectPropertyParamSpec clock "clock-type" (Just Gst.ClockTypeMonotonic)
11:12:35 <Leonard26> which are throwing this error
11:12:35 <Leonard26>     * Required ancestor ‘Gst.SystemClock’ not found for type ‘Gst.Clock’.
11:12:36 <Leonard26>     * In a stmt of a 'do' block:
11:12:36 <Leonard26>         Gst.setSystemClockClockType clock Gst.ClockTypeMonotonic
11:12:37 <Leonard26>       In the expression:
11:12:37 <Leonard26>         do progName <- getProgName
11:12:38 <Leonard26>            args <- getArgs
11:12:38 <Leonard26>            void $ Gst.init Nothing
11:12:39 <Leonard26>            loop <- GLib.mainLoopNew Nothing False
11:12:39 <Leonard26>            ....
11:12:40 <Leonard26>       In an equation for `main':
11:12:40 <Leonard26>           main
11:12:41 <Leonard26>             = do progName <- getProgName
11:12:41 <Leonard26>                  args <- getArgs
11:12:42 <Leonard26>                  void $ Gst.init Nothing
11:13:00 CiaoSen joins (~Jura@2a05:5800:2e2:7900:ca4b:d6ff:fec1:99da)
11:14:36 <Leonard26> Sorry, the code is actually this
11:14:37 <Leonard26>   clock <- Gst.systemClockObtain
11:14:37 <Leonard26>   Gst.setSystemClockClockType clock Gst.ClockTypeMonotonic
11:15:58 <Leonard26> These are the language binding pages
11:15:59 <Leonard26> https://hackage.haskell.org/package/gi-gst-1.0.29/docs/GI-Gst-Objects-SystemClock.html#v:systemClockObtain
11:15:59 <Leonard26> https://hackage.haskell.org/package/gi-gst-1.0.29/docs/GI-Gst-Objects-SystemClock.html#v:setSystemClockClockType
11:18:07 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 264 seconds)
11:27:20 merijn joins (~merijn@77.242.116.146)
11:28:43 mari-estel joins (~mari-este@2a02:3032:a:b950:216:3eff:fe65:4eef)
11:34:03 × rvalue quits (~rvalue@user/rvalue) (Read error: Connection reset by peer)
11:34:32 rvalue joins (~rvalue@user/rvalue)
11:37:07 wootehfoot joins (~wootehfoo@user/wootehfoot)
11:41:08 <yin> Leonard26: pasting multiple lines of code like that is generally frowned upon on IRC. you can refer to /topic for a suggestion of pastebin
11:41:09 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 248 seconds)
11:42:03 <Leonard26> I'm sorry
11:42:15 <yin> no probl
11:42:43 merijn joins (~merijn@77.242.116.146)
11:43:42 × mari-estel quits (~mari-este@2a02:3032:a:b950:216:3eff:fe65:4eef) (Remote host closed the connection)
11:43:57 mari-estel joins (~mari-este@dynamic-176-000-012-114.176.0.pool.telefonica.de)
11:44:20 <Leonard26> where can I find topic?
11:45:55 <Leonard26> never mind
11:45:55 <Leonard26> https://paste.tomsmeding.com/4r4fOQw1
11:45:56 <Leonard26> is this good?
11:47:36 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 276 seconds)
11:48:09 <_________> my guess you're missing a cast toSystemClock, `Gst.setSystemClockClockType (Gst.toSystemClock clock) Gst.ClockTypeMonotonic`
11:48:37 × acidjnk_new3 quits (~acidjnk@p200300d6e72cfb52c012f628d3821a0d.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
11:51:50 <Leonard26> If I do that I get this error https://paste.tomsmeding.com/Johk5y9I
11:52:28 × mreh quits (~matthew@host86-128-2-51.range86-128.btcentralplus.com) (Ping timeout: 245 seconds)
11:56:11 lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
11:58:29 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
11:59:59 merijn joins (~merijn@77.242.116.146)
12:00:16 weary-traveler joins (~user@user/user363627)
12:00:27 × mari-estel quits (~mari-este@dynamic-176-000-012-114.176.0.pool.telefonica.de) (Remote host closed the connection)
12:00:41 mari-estel joins (~mari-este@2a02:3032:a:b950:216:3eff:fe65:4eef)
12:01:09 × Leonard26 quits (~Leonard26@49.236.10.26) (Quit: Client closed)
12:02:41 Leonard26 joins (~Leonard26@49.236.10.26)
12:05:32 <mauke> wrong variable
12:05:52 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 244 seconds)
12:06:08 <mauke> I don't know this library at all, but based on vibes that expression should be using systemClock, not clock
12:07:02 <Leonard26> which expression?
12:08:33 × alexherbo2 quits (~alexherbo@2a02-8440-330c-261d-a991-2659-c7b3-e93f.rev.sfr.net) (Remote host closed the connection)
12:09:04 alexherbo2 joins (~alexherbo@2a02-8440-330c-261d-c5ea-f53b-76f7-b012.rev.sfr.net)
12:10:09 × mari-estel quits (~mari-este@2a02:3032:a:b950:216:3eff:fe65:4eef) (Remote host closed the connection)
12:10:45 mari-estel joins (~mari-este@2a02:3032:a:b950:216:3eff:fe65:4eef)
12:11:19 merijn joins (~merijn@77.242.116.146)
12:12:36 × alexherbo2 quits (~alexherbo@2a02-8440-330c-261d-c5ea-f53b-76f7-b012.rev.sfr.net) (Remote host closed the connection)
12:15:09 × weary-traveler quits (~user@user/user363627) (Remote host closed the connection)
12:15:36 × mari-estel quits (~mari-este@2a02:3032:a:b950:216:3eff:fe65:4eef) (Remote host closed the connection)
12:18:48 alexherbo2 joins (~alexherbo@2a02-8440-330c-261d-bcd0-f096-7e13-6351.rev.sfr.net)
12:24:35 × tinjamin4 quits (~tinjamin@banshee.h4x0r.space) (Remote host closed the connection)
12:25:46 tinjamin4 joins (~tinjamin@banshee.h4x0r.space)
12:33:46 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 244 seconds)
12:40:06 merijn joins (~merijn@77.242.116.146)
12:44:28 × petrichor quits (~znc-user@user/petrichor) (Quit: ZNC 1.8.2 - https://znc.in)
12:44:49 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
12:46:01 petrichor joins (~znc-user@user/petrichor)
12:48:35 × AlexZenon quits (~alzenon@178.34.151.233) (Quit: ;-)
12:49:27 × AlexNoo quits (~AlexNoo@178.34.151.233) (Quit: Leaving)
12:52:34 × CiaoSen quits (~Jura@2a05:5800:2e2:7900:ca4b:d6ff:fec1:99da) (Ping timeout: 265 seconds)
12:54:35 weary-traveler joins (~user@user/user363627)
13:01:12 ystael joins (~ystael@user/ystael)
13:09:04 mari-estel joins (~mari-este@user/mari-estel)
13:14:09 × Leonard26 quits (~Leonard26@49.236.10.26) (Quit: Client closed)
13:17:42 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
13:26:44 AlexNoo joins (~AlexNoo@178.34.151.233)
13:27:31 AlexZenon joins (~alzenon@178.34.151.233)
13:28:14 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 260 seconds)
13:30:05 ubert joins (~Thunderbi@178.165.179.94.wireless.dyn.drei.com)
13:34:31 <tomsmeding> It is possible to `foreign import` a C function into haskell, and it's possible to `foreign export` a Haskell function to C. Is it also possible to export a `foreign import`ed function directly?
13:35:05 merijn joins (~merijn@77.242.116.146)
13:35:07 <tomsmeding> the use case is: I have a Haskell library with some C files, and I want those C functions to be available to C code in a Haskell package that uses my library
13:35:16 <tomsmeding> but they don't seem to be
13:38:02 acidjnk_new3 joins (~acidjnk@p200300d6e72cfb5235ae61ad8eb9114d.dip0.t-ipconnect.de)
13:51:51 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
13:52:47 <tomsmeding> (when during a typical week are the RTS hackers around? :p)
13:53:23 × synchromesh quits (~john@2406:5a00:2497:300:3d3b:a134:d9b5:8c99) (Read error: Connection reset by peer)
13:54:52 synchromesh joins (~john@2406:5a00:2497:300:3d3b:a134:d9b5:8c99)
13:55:08 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 252 seconds)
13:56:42 identity joins (~identity@user/ZharMeny)
13:58:22 <__monty__> That sounds cursed, I love it! No useful information for you though. Unless, are you still initializing the RTS? Or are you expecting things to pass straight from C to C?
13:58:55 × youthlic quits (~Thunderbi@user/youthlic) (Remote host closed the connection)
13:59:05 <tomsmeding> this is in the context of a haskell program, the RTS is running and everything
13:59:11 youthlic joins (~Thunderbi@user/youthlic)
13:59:26 <tomsmeding> essentially my library has a Haskell API and a C API and I expect the user to use both
13:59:34 <tomsmeding> (from haskell)
13:59:44 <tomsmeding> (and from cbits)
14:00:30 <mari-estel> sounds a bit convoluted. One can expect c users to be more, so releasing the c part independently could make more sense
14:00:47 <tomsmeding> the C part only makes sense in the context of the haskell part
14:00:49 <tomsmeding> they are not independent
14:00:54 <tomsmeding> (unfortunately)
14:01:07 merijn joins (~merijn@77.242.116.146)
14:01:11 <tomsmeding> the library defines an embedded language, and the runtime of that language has a C part for performance
14:01:29 <tomsmeding> the "users" of this language include the implementation of various additional backends for the language, and they need to hook into the C parts
14:02:04 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 260 seconds)
14:06:01 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
14:07:56 × mjrosenb quits (~mjrosenb@pool-96-232-177-77.nycmny.fios.verizon.net) (Ping timeout: 255 seconds)
14:07:56 rosco joins (~rosco@175.136.23.238)
14:08:44 kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be)
14:10:11 × mari-estel quits (~mari-este@user/mari-estel) (Remote host closed the connection)
14:14:46 mjrosenb joins (~mjrosenb@pool-96-232-177-77.nycmny.fios.verizon.net)
14:19:41 × acidjnk_new3 quits (~acidjnk@p200300d6e72cfb5235ae61ad8eb9114d.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
14:33:14 <int-e> tomsmeding: isn't this a matter of writing a .h file and installing it with the packahe using install-includes?
14:34:06 <int-e> (which is largely outside of ghc territory)
14:34:42 spew joins (~spew@155.133.15.218)
14:41:28 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
14:42:23 acidjnk_new3 joins (~acidjnk@p200300d6e72cfb524535a5916ecc490b.dip0.t-ipconnect.de)
14:46:00 Everything joins (~Everythin@46.211.68.82)
14:46:09 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 265 seconds)
15:03:14 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.2.2)
15:06:44 × alp_ quits (~alp@2001:861:e3d6:8f80:ea6a:37b1:100f:1ca1) (Remote host closed the connection)
15:09:30 mari-estel joins (~mari-este@user/mari-estel)
15:10:12 alp_ joins (~alp@2001:861:e3d6:8f80:ea6a:37b1:100f:1ca1)
15:15:42 × vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 246 seconds)
15:23:03 × tv quits (~tv@user/tv) (Quit: derp)
15:23:19 tv joins (~tv@user/tv)
15:24:45 × Everything quits (~Everythin@46.211.68.82) (Quit: leaving)
15:27:15 alp_ is now known as alp
15:27:21 × alp quits (~alp@2001:861:e3d6:8f80:ea6a:37b1:100f:1ca1) (Changing host)
15:27:21 alp joins (~alp@user/alp)
15:27:48 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
15:34:28 JuanDaugherty joins (~juan@user/JuanDaugherty)
15:38:08 × mari-estel quits (~mari-este@user/mari-estel) (Remote host closed the connection)
15:40:17 × chele quits (~chele@user/chele) (Read error: Connection reset by peer)
15:42:24 comerijn joins (~merijn@77.242.116.146)
15:44:33 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 245 seconds)
15:45:57 × kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Quit: ERC (IRC client for Emacs 27.1))
15:46:58 × comerijn quits (~merijn@77.242.116.146) (Ping timeout: 252 seconds)
15:52:50 vanishingideal joins (~vanishing@user/vanishingideal)
15:55:36 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
15:59:47 × vanishingideal quits (~vanishing@user/vanishingideal) (Quit: leaving)
16:07:10 mreh joins (~matthew@host86-128-2-51.range86-128.btcentralplus.com)
16:08:50 crazazy joins (~crazazy@tilde.town)
16:09:59 ljdarj joins (~Thunderbi@user/ljdarj)
16:21:44 × JuanDaugherty quits (~juan@user/JuanDaugherty) (Quit: JuanDaugherty)
16:24:53 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 248 seconds)
16:27:01 Everything joins (~Everythin@46.211.68.82)
16:28:55 × rosco quits (~rosco@175.136.23.238) (Quit: Lost terminal)
16:30:53 × alexherbo2 quits (~alexherbo@2a02-8440-330c-261d-bcd0-f096-7e13-6351.rev.sfr.net) (Remote host closed the connection)
16:32:35 ljdarj joins (~Thunderbi@user/ljdarj)
16:35:35 Leonard26 joins (~Leonard26@49.236.10.26)
16:35:45 × Leonard26 quits (~Leonard26@49.236.10.26) (Client Quit)
16:39:20 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
16:40:16 <tomsmeding> int-e: it isn't a matter of the names not being available, in this case it would be easy to write said .h file or just define the names locally with a forward declaration. The _linker_ cannot find the names
16:40:56 raehik joins (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net)
16:41:43 <int-e> That's odd; in my quick experiment the symbols from stuff added with c-sources were both in the .a files (no surprise there; the .o file is included) and the shared libraries.
16:42:57 <int-e> (But it *is* tricky for executables that want to use dynamic linking later, because in that context, linkers discard unused symbols by default.)
16:44:32 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds)
16:50:18 × dcoutts_ quits (~duncan@host86-143-111-204.range86-143.btcentralplus.com) (Remote host closed the connection)
16:50:40 dcoutts_ joins (~duncan@2a00:23c6:1c8d:901:b94:4566:9d63:4848)
16:53:52 × dcoutts_ quits (~duncan@2a00:23c6:1c8d:901:b94:4566:9d63:4848) (Remote host closed the connection)
16:55:33 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
16:57:37 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds)
16:59:10 × Pixi quits (~Pixi@user/pixi) (Quit: Leaving)
16:59:32 dcoutts_ joins (~duncan@2a00:23c6:1c8d:901:b94:4566:9d63:4848)
17:00:07 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 264 seconds)
17:08:17 <sam113101> does haskell have multiline lambdas?
17:10:53 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
17:10:55 × Everything quits (~Everythin@46.211.68.82) (Quit: leaving)
17:11:21 Pixi joins (~Pixi@user/pixi)
17:12:36 × mjrosenb quits (~mjrosenb@pool-96-232-177-77.nycmny.fios.verizon.net) (Ping timeout: 246 seconds)
17:13:22 × akegalj quits (~akegalj@254-33.dsl.iskon.hr) (Quit: leaving)
17:17:00 <tomsmeding> int-e: notable is that everything works if the end-user (that links the executable) passes -dynamic to ghc
17:17:06 <tomsmeding> but I don't want to enforce that on my users
17:17:25 <tomsmeding> (because it's not the default, and it ought to not be necessary)
17:17:37 <int-e> tomsmeding: so you *are* using dynamic linking?
17:17:50 <tomsmeding> ok lemme try to make a reproducer lol
17:17:52 Square2 joins (~Square@user/square)
17:17:54 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
17:18:56 <geekosaur> sam113101, do you mean lambdas with multiple defining equations? no. but in ghc 9.8+ you may be able to use `\cases`
17:20:53 × weary-traveler quits (~user@user/user363627) (Remote host closed the connection)
17:21:04 <int-e> tomsmeding: The scenario where I understand how it would fail is if an executable tries to load code with dlopen() or similar, while not using dynamic libraries. If that's not what you're doing then I don't understand why it fails atm.
17:21:42 <tomsmeding> int-e: ... you're right
17:21:49 <tomsmeding> I forgot that important point
17:22:19 <tomsmeding> I have library B that depends on library A, and in B I want to dlopen() code that should see the symbols defined by C code in library A
17:22:59 <tomsmeding> but the awkward thing is that B is a _library_, so B would have to have a big fat warning in its documentation that any end-user that compiles an executable E must pass -dynamic
17:23:19 mjrosenb joins (~mjrosenb@pool-96-232-177-77.nycmny.fios.verizon.net)
17:23:46 <int-e> So whoever links the executable has to make sure that those symbols are actually linked into the program. That means messing with --export-dynamic or related linker flags.
17:24:02 <tomsmeding> presumably
17:24:16 <tomsmeding> we tried something similar to that and it didn't work
17:24:33 <tomsmeding> well -- we tried that on the library (B), that that didn't work
17:24:35 <tomsmeding> *and that
17:24:50 <tomsmeding> I'd like to avoid having to make the end-user pass additional flags to anything
17:25:03 <int-e> no it has to be the executable (that should be linked against both A and B anyway?)
17:25:13 <tomsmeding> right
17:25:57 <tomsmeding> okay so I can reproduce this even without dlopen()
17:26:06 <tomsmeding> I'm probably doing _something_ wrong, please tell me what
17:27:04 <geekosaur> wait, are you trying to work with a transitive dependency? what platform?
17:27:08 <tomsmeding> int-e: https://git.tomsmeding.com/hs-c-hs-c-repro
17:27:40 <tomsmeding> I'd like all of this to work on linux, mac _and_ windows (substituting LoadLibrary() on windows)
17:27:53 <geekosaur> ELF can do them, but might be used in a way that can't (but I haven't seen that since Solaris) and Linux and FreeBSD are fine with it. ECOFF (Windows, MacOS) can't.
17:28:15 <tomsmeding> int-e: if I compile this with just 'cabal build' then I get ..../bar.o:bar.c:function bar:(.text+0x9): error: undefined reference to 'foo'
17:28:55 <tomsmeding> sure, my actual usecase has dlopen() involved as well, but if even this doesn't work, then surely seeing foo() from a dlopen()ed library is also not going to work
17:28:57 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
17:29:30 <geekosaur> oh, if you can reproduce without dlopen then it's not that
17:29:32 × euleritian quits (~euleritia@dynamic-176-000-013-113.176.0.pool.telefonica.de) (Ping timeout: 255 seconds)
17:29:55 <tomsmeding> it may well be that if we get this example to work, the full dlopen() situation still fails!
17:32:29 <tomsmeding> (sorry for the excessively nested directory structure)
17:33:49 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
17:34:03 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
17:34:36 <int-e> "However having both a library and executables in a package does not work very well; if the executables depend on the library, they must explicitly list all the modules they directly or indirectly import from that library."
17:35:05 <tomsmeding> grr must I really create two separate packages for this
17:36:08 <tomsmeding> int-e: where is that quote from?
17:36:19 <tomsmeding> if that is the status quo, then what is the point of allowing multiple components?
17:36:36 <int-e> https://cabal.readthedocs.io/en/3.4/cabal-package.html
17:36:39 <tomsmeding> surely the most obvious and common use-case is to have a library, possibly an executable that depends on it, and a testsuite and/or a benchmark?
17:37:11 <int-e> it's not applicable though
17:37:19 <tomsmeding> int-e: can't find it here any more https://cabal.readthedocs.io/en/stable/cabal-package-description-file.html
17:37:22 <int-e> - build-depends: base >=4.17
17:37:23 <int-e> + build-depends: base >=4.17, testlib
17:37:25 <tomsmeding> perhaps that was the case in 3.4 but it's been improved?
17:37:31 <tomsmeding> omg
17:37:36 <int-e> do that for the executable and it'll link
17:37:42 tzh joins (~tzh@c-76-115-131-146.hsd1.or.comcast.net)
17:38:07 <tomsmeding> okay I'm stupid
17:38:08 <int-e> I just didn't realize that it was called 'testlib' locally
17:38:29 <tomsmeding> thanks for busting my broken reproducer
17:38:46 <tomsmeding> okay so it's probably dlopen(), then
17:38:52 <int-e> (otherwise I'd have found that a bit quicker)
17:39:01 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
17:39:28 <tomsmeding> so should I not expect a dlopen()ed shared library to find any symbols at all from the haskell side?
17:39:41 <tomsmeding> (assuming that the executable is linked _without_ -dynamic)
17:39:53 × dcoutts_ quits (~duncan@2a00:23c6:1c8d:901:b94:4566:9d63:4848) (Remote host closed the connection)
17:40:08 <tomsmeding> s/haskell/host (i.e. executable that performs the dlopen())/
17:40:10 dcoutts_ joins (~duncan@2a00:23c6:1c8d:901:b94:4566:9d63:4848)
17:40:20 <raehik> There's no way I can write inductive type class instances on a `data A (n :: Natural)`, right? Like `instance C (A 0)`, `instance C (A n)`
17:40:25 <int-e> yes, you have to instruct the linker specially if you want the executable to export dynamic linkers (which is required for the dynamic linker to find them)
17:40:32 <int-e> specifically
17:40:47 <tomsmeding> export dynamic *symbols?
17:40:59 <tomsmeding> I see
17:41:01 <int-e> yes
17:41:38 <tomsmeding> raehik: I don't think so, no; in terms you can use the plugins (ghc-typelits-natnormalise and ghc-typelits-knownnat) but those don't get the chance to work there
17:41:59 <tomsmeding> (well, those plus changes in upcoming ghc 9.12)
17:42:28 <geekosaur> don't you usually want type families in that case instead?
17:42:39 <tomsmeding> int-e: thanks! This means we'll have to "manually link", i.e. pass the addresses of the required functions from haskell to the dlopen()ed library manually as function pointers
17:42:59 <tomsmeding> (we do have control over the code in the dlopen()ed library)
17:43:05 <raehik> tomsmeding: thx just checking :)
17:43:14 <tomsmeding> raehik: what geekosaur wrote
17:43:20 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
17:44:39 <raehik> geekosaur: hmm, I'll give it a try. not sure why I was avoiding them
17:46:47 <int-e> tomsmeding: Unless I'm grossly misinformed (haven't tested), this isn't Haskell specific either; C programs have the same issue.
17:47:08 <tomsmeding> I wouldn't be surprised
17:47:47 <tomsmeding> (context: this is about improved backend work for Accelerate)
17:48:36 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds)
17:49:58 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
17:52:44 × Smiles quits (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity)
17:54:24 euleritian joins (~euleritia@dynamic-176-000-161-134.176.0.pool.telefonica.de)
17:59:08 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
18:01:25 × dcoutts_ quits (~duncan@2a00:23c6:1c8d:901:b94:4566:9d63:4848) (Ping timeout: 248 seconds)
18:02:17 wootehfoot joins (~wootehfoo@user/wootehfoot)
18:02:56 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Max SendQ exceeded)
18:03:48 wootehfoot joins (~wootehfoo@user/wootehfoot)
18:04:06 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
18:04:45 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Max SendQ exceeded)
18:06:51 <raehik> I might have solved my problem via an intermediate type class and a rather scary unsafeCoerce!
18:07:36 <raehik> *and an OVERLAPPING pragma. lol
18:09:26 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
18:13:19 ljdarj joins (~Thunderbi@user/ljdarj)
18:13:41 × mreh quits (~matthew@host86-128-2-51.range86-128.btcentralplus.com) (Ping timeout: 248 seconds)
18:15:10 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
18:16:19 × raehik quits (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) (Ping timeout: 244 seconds)
18:25:03 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
18:25:36 × Fijxu quits (~Fijxu@user/fijxu) (Quit: XD!!)
18:26:56 Fijxu joins (~Fijxu@user/fijxu)
18:29:36 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 246 seconds)
18:32:44 <tomsmeding> int-e geekosaur: from the person who's actually working on the library in question: hs_try_putmvar() is a function exposed by the RTS, and that function _is_ available from the dlopen()ed library
18:33:07 <tomsmeding> is that function explicitly exported somehow by GHC? Can we do that same thing too for our symbols?
18:33:47 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
18:34:17 <tomsmeding> `nm the_executable` gives "no symbols"
18:35:14 <int-e> There's magic around RTS symbols that I've never unraveled. https://gitlab.haskell.org/ghc/ghc/-/blob/master/rts/RtsSymbols.c?ref_type=heads#L599 is a part of that.
18:36:42 × identity quits (~identity@user/ZharMeny) (Read error: Connection reset by peer)
18:36:52 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
18:37:31 <geekosaur> a lot of RTS symbols get explicitly linked in via `-Wl,-u` options to the linker
18:37:56 × euleritian quits (~euleritia@dynamic-176-000-161-134.176.0.pool.telefonica.de) (Ping timeout: 255 seconds)
18:38:27 raehik joins (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net)
18:38:34 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 260 seconds)
18:40:17 <geekosaur> https://gitlab.haskell.org/ghc/ghc/-/blob/master/rts/rts.cabal?ref_type=heads#L594-623
18:40:22 <int-e> hmm. interestingly, hs_try_putmvar is not one of them.
18:41:00 <geekosaur> tomsmeding, via cabal? probably still gets stripped by default. try `nm -A`?
18:41:04 ft joins (~ft@p4fc2a216.dip0.t-ipconnect.de)
18:41:31 <tomsmeding> geekosaur: via cabal yes, nm -A gives nothing
18:41:57 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
18:42:02 <tomsmeding> but then, "getting stripped by default" is also something one might be able to change, but not us
18:44:11 <geekosaur> --disable-executable-stripping but it's broken in older cabals
18:44:22 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
18:44:47 <tomsmeding> geekosaur: suppose I pass that to cabal now, what will that tell me? I don't want to require the user to do that
18:45:23 <geekosaur> dunno, tbh
18:45:26 <tomsmeding> int-e: I recall analysing the CPP in that file and concluding that there's nothing much happening, at least not for hs_try_putmvar
18:45:28 <tomsmeding> perhaps I'm wrong
18:46:15 <tomsmeding> in the first occurrence at :1039, SymI_HasProto is defined as nothing
18:46:38 <tomsmeding> the second occurrence (:1083) is inside an array, which the rts might do whatever with but surely not the linker
18:46:44 <tomsmeding> and that's it
18:50:56 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
18:51:45 <int-e> tomsmeding: I see the hs_try_putmvar symbol is exported as a debug symbol, but not as a dynamic symbol... so I don't think dlopen *should* find it.
18:54:55 ljdarj1 joins (~Thunderbi@user/ljdarj)
18:56:14 <int-e> tomsmeding: playing around: https://paste.tomsmeding.com/4I3XWDis
18:56:34 <int-e> (T.hs is just main = pure ())
18:57:23 <int-e> somehow, adding an -optl flag does *not* trigger the relink check
18:57:29 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds)
18:57:29 ljdarj1 is now known as ljdarj
18:59:45 <int-e> (oh and there's no point in the -O2... just a silly habit)
19:00:02 × caconym quits (~caconym@user/caconym) (Quit: bye)
19:00:06 × ft quits (~ft@p4fc2a216.dip0.t-ipconnect.de) (Quit: Lost terminal)
19:00:40 caconym joins (~caconym@user/caconym)
19:00:46 EvanR joins (~EvanR@user/evanr)
19:01:07 <tomsmeding> int-e: hm, I can't reproduce being able to see hs_try_putmvar in a test
19:01:39 ft joins (~ft@p4fc2a216.dip0.t-ipconnect.de)
19:02:23 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
19:03:49 <tomsmeding> ( https://paste.tomsmeding.com/EVmAn3Ee )
19:04:16 <tomsmeding> so I dunno :)
19:04:27 <tomsmeding> perhaps I'll return later with more precise questions about hs_try_putmvar :p
19:05:31 <int-e> tomsmeding: well that's in line with my expectations
19:05:36 <tomsmeding> yeah
19:07:46 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds)
19:08:36 <int-e> tomsmeding: can confirm that linking the Haskell program with -optl-Wl,--export-dynamic-symbol=hs_try_putmvar allows the shared object to be loaded
19:08:46 <tomsmeding> right
19:08:49 <tomsmeding> that makes sense
19:09:07 <int-e> so I think that confirms most of what I've said (nice for me)
19:09:44 <tomsmeding> yes it does
19:10:03 <tomsmeding> I'm fairly sure we observed some behaviour contradictory with this, but absent proof that doesn't say much :p
19:10:10 <tomsmeding> given that this world makes sense
19:10:48 <int-e> Well, all this is for Linux; other platforms may be different. Heck other tool chains might be different too.
19:10:55 <tomsmeding> all testing was on linux
19:12:10 <int-e> I think the hammer for this is -optl-Wl,-E but it also makes the executable much larger
19:12:46 <int-e> (that exports *all* symbols dynamically, as if you were building a shared library)
19:13:44 weary-traveler joins (~user@user/user363627)
19:15:45 Tuplanolla joins (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi)
19:18:11 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
19:21:09 <tomsmeding> int-e: thanks for the help tonight, by the way!
19:23:54 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
19:33:57 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
19:34:43 euleritian joins (~euleritia@176.0.161.134)
19:34:55 × alp quits (~alp@user/alp) (Ping timeout: 264 seconds)
19:38:41 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
19:39:30 <haskellbridge> <Paul Brinkmeier> Hi everyone, is there a nice way to compile Haskell in the browser? Not _for_, but _in_, i.e. I want users to be able to supply programs. I only know tryhaskell.org does this server-side 🤷 I guess GHC is quite the beast so it wouldn't be simple.
19:42:21 identity joins (~identity@user/ZharMeny)
19:44:26 <monochrom> play.haskell.org
19:44:28 dcoutts_ joins (~duncan@2a00:23c6:1c8d:901:b94:4566:9d63:4848)
19:45:20 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
19:48:53 dcoutts__ joins (~duncan@host86-143-111-204.range86-143.btcentralplus.com)
19:49:50 × dcoutts_ quits (~duncan@2a00:23c6:1c8d:901:b94:4566:9d63:4848) (Read error: Connection reset by peer)
19:50:19 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
19:52:24 alp joins (~alp@2001:861:e3d6:8f80:cfc1:c60c:c177:1e26)
19:53:23 mreh joins (~matthew@host86-128-2-51.range86-128.btcentralplus.com)
19:57:18 × euleritian quits (~euleritia@176.0.161.134) (Read error: Connection reset by peer)
19:57:35 euleritian joins (~euleritia@84.19.220.82)
20:01:05 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
20:02:59 × euphores quits (~SASL_euph@user/euphores) (Ping timeout: 255 seconds)
20:07:40 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
20:09:02 euphores joins (~SASL_euph@user/euphores)
20:11:01 <geekosaur> sounded to me like they want the js or wasm backend to be farther along than it currently is, such that it can successfully self-host?
20:11:34 <geekosaur> (and I suspect that's a fool's errand unless the intended users have 64GB or more)
20:13:44 <EvanR> if you can't rebuild the entire tower of webtechnology inside the js developer console what's the point
20:18:32 × Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
20:18:32 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
20:18:58 <int-e> . o O ( start with https://bellard.org/jslinux/ ? :-P )
20:24:15 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
20:25:16 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
20:28:43 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 245 seconds)
20:31:09 <tomsmeding> Paul: yeah play.haskell.org if that suits your needs, but it's still on the server. Compiling haskell in the browser with GHC will straight-up not work because a native installation of GHC is already >2GB, so compiled to JS/wasm it'll be even larger and be utterly impractical
20:31:17 <tomsmeding> (imagine a webpage being >2GB)
20:32:17 <tomsmeding> compiling on the server to JS/wasm and running the result in the browser is less draconically impossible, but still the bundle will be multiple MBs large even for small programs ( https://github.com/haskell/play-haskell/issues/31#issuecomment-1469563970 )
20:33:05 <tomsmeding> if you're okay with essentially Haskell98 and living in that same era, you could try compiling Hugs (a Haskell interpreter written in C) to wasm and running that in the browser
20:36:34 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
20:37:36 notzmv joins (~daniel@user/notzmv)
20:38:30 <haskellbridge> <sm> Paul Brinkmeier: you can compile hell (a haskell-like scripting dialect) in the browser
20:39:30 <haskellbridge> <sm> +link (https://mastodon.social/@chrisdone/113296422310916016)
20:40:46 <haskellbridge> <sm> https://code.world/haskell also lets you enter haskell programs
20:41:23 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
20:41:48 <haskellbridge> <sm> microhs has some kind of support for compiling things to wasm, but I don't think it runs in the browser itself
20:41:56 <EvanR> is there a link to "hell"
20:42:03 <EvanR> uh
20:45:09 <EvanR> https://chrisdone.com/posts/hell/
20:45:34 <monochrom> "The road to hell is paved with URLs" >:)
20:47:32 <EvanR> Au... rls
20:49:38 <haskellbridge> <sm> https://chrisdone.github.io/hell, EvanR
20:50:28 <haskellbridge> <sm> ...
20:50:28 <haskellbridge> @where+ hell https://chrisdone.github.io/hell Haskell-like scripting language (2024)
20:50:28 <lambdabot> I will never forget.
20:51:44 <haskellbridge> <sm> ...
20:51:44 <haskellbridge> @where+ microhs https://github.com/augustss/MicroHs a small portable Haskell compiler (2024)
20:51:44 <lambdabot> Okay.
20:52:25 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
20:54:54 floyza joins (~gavin@h69-11-148-150.kndrid.broadband.dynamic.tds.net)
20:56:13 × lxsameer quits (~lxsameer@Serene/lxsameer) (Ping timeout: 245 seconds)
20:56:57 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
20:58:21 zai joins (~zai@ip-095-223-106-034.um35.pools.vodafone-ip.de)
21:03:22 × weary-traveler quits (~user@user/user363627) (Quit: Konversation terminated!)
21:04:27 × zai quits (~zai@ip-095-223-106-034.um35.pools.vodafone-ip.de) (Quit: Leaving)
21:07:48 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
21:08:22 morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
21:12:43 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 264 seconds)
21:12:51 × morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 252 seconds)
21:14:54 weary-traveler joins (~user@user/user363627)
21:22:36 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
21:22:54 peterbecich joins (~Thunderbi@47.149.198.150)
21:23:36 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
21:28:20 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
21:30:13 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
21:31:33 × peterbecich quits (~Thunderbi@47.149.198.150) (Ping timeout: 248 seconds)
21:39:00 × michalz quits (~michalz@185.246.207.205) (Remote host closed the connection)
21:39:23 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
21:39:24 × machinedgod quits (~machinedg@d50-99-47-73.abhsia.telus.net) (Ping timeout: 265 seconds)
21:39:39 × mreh quits (~matthew@host86-128-2-51.range86-128.btcentralplus.com) (Ping timeout: 246 seconds)
21:44:27 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
21:45:24 ljdarj1 joins (~Thunderbi@user/ljdarj)
21:48:06 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds)
21:48:06 ljdarj1 is now known as ljdarj
21:53:37 × ubert quits (~Thunderbi@178.165.179.94.wireless.dyn.drei.com) (Ping timeout: 252 seconds)
21:55:11 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
21:58:46 peterbecich joins (~Thunderbi@47.149.198.150)
21:59:25 ash3en joins (~Thunderbi@31.16.203.214)
22:00:52 × AlexNoo quits (~AlexNoo@178.34.151.233) (Read error: Connection reset by peer)
22:01:14 AlexNoo joins (~AlexNoo@178.34.151.233)
22:01:34 × identity quits (~identity@user/ZharMeny) (Ping timeout: 260 seconds)
22:02:03 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
22:02:50 × malte quits (~malte@mal.tc) (Read error: Connection reset by peer)
22:02:53 × peterbecich quits (~Thunderbi@47.149.198.150) (Ping timeout: 245 seconds)
22:03:04 malte joins (~malte@mal.tc)
22:03:07 k_hachig_ joins (~k_hachig@2607:fea8:351d:ef0:30e5:9ca8:23a3:ae14)
22:03:17 Yumemi_ joins (~Yumemi@chamoin.net)
22:03:43 × itaipu quits (~itaipu@168.121.99.42) (Ping timeout: 245 seconds)
22:03:43 × Yumemi quits (~Yumemi@chamoin.net) (Ping timeout: 245 seconds)
22:03:45 k_hachig_ is now known as k_hachig
22:03:45 wryish joins (~wryish@2605:4c40:119:efa3:0:727d:19eb:1)
22:03:46 × turlando quits (~turlando@user/turlando) (Quit: No Ping reply in 180 seconds.)
22:04:06 × biberu quits (~biberu@user/biberu) (Read error: Connection reset by peer)
22:04:08 × piele quits (~piele@tbonesteak.creativeserver.net) (Remote host closed the connection)
22:04:08 × wryishly quits (~wryish@216.246.119.62) (Ping timeout: 245 seconds)
22:04:30 biberu joins (~biberu@user/biberu)
22:04:33 × tinwood quits (~tinwood@user/tinwood) (Ping timeout: 245 seconds)
22:05:32 tinwood joins (~tinwood@general.default.akavanagh.uk0.bigv.io)
22:05:32 × tinwood quits (~tinwood@general.default.akavanagh.uk0.bigv.io) (Changing host)
22:05:32 tinwood joins (~tinwood@user/tinwood)
22:07:06 × ash3en quits (~Thunderbi@31.16.203.214) (Quit: ash3en)
22:07:36 emmanuelux joins (~emmanuelu@user/emmanuelux)
22:10:00 piele joins (~piele@tbonesteak.creativeserver.net)
22:13:14 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
22:13:25 turlando joins (~turlando@user/turlando)
22:14:28 Sgeo joins (~Sgeo@user/sgeo)
22:16:57 itaipu joins (~itaipu@168.121.99.42)
22:18:26 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds)
22:20:52 × EvanR quits (~EvanR@user/evanr) (Quit: Leaving)
22:22:47 AlexNoo_ joins (~AlexNoo@178.34.151.233)
22:25:05 Smiles joins (uid551636@id-551636.lymington.irccloud.com)
22:25:54 × AlexNoo quits (~AlexNoo@178.34.151.233) (Ping timeout: 252 seconds)
22:30:39 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
22:35:30 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds)
22:42:22 × AlexNoo_ quits (~AlexNoo@178.34.151.233) (Read error: Connection reset by peer)
22:42:44 AlexNoo_ joins (~AlexNoo@178.34.151.233)
22:46:02 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
22:48:48 × son0p quits (~ff@190.69.120.153) (Remote host closed the connection)
22:50:46 <dmj`> you can use emscripten w/ microhs, it will run in the browser
22:51:15 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
22:51:33 × floyza quits (~gavin@h69-11-148-150.kndrid.broadband.dynamic.tds.net) (Remote host closed the connection)
22:54:44 identity joins (~identity@user/ZharMeny)
22:56:28 Square joins (~Square4@user/square)
22:59:15 × Square2 quits (~Square@user/square) (Ping timeout: 252 seconds)
23:01:52 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
23:02:31 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
23:02:44 peterbecich joins (~Thunderbi@47.149.198.150)
23:06:29 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
23:10:33 × acidjnk_new3 quits (~acidjnk@p200300d6e72cfb524535a5916ecc490b.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
23:11:58 × Katarushisu quits (~Katarushi@finc-20-b2-v4wan-169598-cust1799.vm7.cable.virginm.net) (Quit: Ping timeout (120 seconds))
23:13:43 × jespada_ quits (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Ping timeout: 245 seconds)
23:14:34 Katarushisu joins (~Katarushi@finc-20-b2-v4wan-169598-cust1799.vm7.cable.virginm.net)
23:15:31 jespada joins (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net)
23:16:07 × Tuplanolla quits (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
23:17:28 mreh joins (~matthew@host86-128-2-51.range86-128.btcentralplus.com)
23:17:37 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
23:18:10 Jonno_FTW joins (~come@user/jonno-ftw/x-0835346)
23:22:22 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
23:22:57 × raehik quits (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) (Ping timeout: 248 seconds)
23:30:18 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
23:31:30 son0p joins (~ff@190.69.120.153)
23:35:07 × tcard__ quits (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Remote host closed the connection)
23:35:11 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
23:35:38 tcard__ joins (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303)
23:41:30 talismanick joins (~user@2601:644:937c:ed10::ae5)
23:41:59 × talismanick quits (~user@2601:644:937c:ed10::ae5) (Remote host closed the connection)
23:46:05 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
23:49:18 troojg joins (~troojg@user/troojg)
23:51:21 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
23:55:48 × peterbecich quits (~Thunderbi@47.149.198.150) (Ping timeout: 245 seconds)

All times are in UTC on 2024-10-16.