Home liberachat/#haskell: Logs Calendar

Logs on 2025-04-01 (liberachat/#haskell)

00:00:23 × abrar quits (~abrar@static-96-245-187-163.phlapa.fios.verizon.net) (Quit: WeeChat 4.4.3)
00:00:55 unter-oe joins (~unter-oe@user/unter-oe)
00:02:14 xff0x_ joins (~xff0x@ai066236.d.east.v6connect.net)
00:02:14 × xff0x quits (~xff0x@ai066236.d.east.v6connect.net) (Ping timeout: 252 seconds)
00:02:29 × unter-oe quits (~unter-oe@user/unter-oe) (Remote host closed the connection)
00:02:43 unter-oe joins (~unter-oe@user/unter-oe)
00:07:19 ryanbooker joins (uid4340@id-4340.hampstead.irccloud.com)
00:08:05 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
00:09:53 zungi joins (~tory@user/andrewchawk)
00:10:42 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
00:10:50 She is now known as ShePT
00:12:54 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
00:13:37 thorongil joins (~thorongil@user/thorongil)
00:15:58 × weary-traveler quits (~user@user/user363627) (Remote host closed the connection)
00:19:19 × unter-oe quits (~unter-oe@user/unter-oe) (Ping timeout: 260 seconds)
00:23:26 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
00:26:38 <roconnor> Happy Birthday Haskell
00:26:42 Axma91836 joins (~Axman6@user/axman6)
00:28:37 × Axman6 quits (~Axman6@user/axman6) (Ping timeout: 250 seconds)
00:28:38 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
00:32:11 catties is now known as CatGPT
00:34:03 abrar joins (~abrar@static-96-245-187-163.phlapa.fios.verizon.net)
00:34:54 <EvanR> haskell was an april fools joke?
00:39:15 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
00:40:04 <Axma91836> b/nick Axman6
00:40:07 Axma91836 is now known as Axman6
00:41:38 × xff0x_ quits (~xff0x@ai066236.d.east.v6connect.net) (Quit: xff0x_)
00:41:59 <haskellbridge> <lowtex> Hey, I'm using NixOS & Cabal & GHC 9.12.1. I want to utilize "hmatrix-gls" (0.19.0.1). But "cabal new-build all --preference="Cabal >= 3.14.1.1" --keep-going --enable-debug-info=3" inside of "nix develop --impure --expr 'with import <nixpkgs> {}; mkShell rec { buildInputs = [pkg-config zlib blas lapack gsl]; LD_LIBRARY_PATH = lib.makeLibraryPath buildInputs;}'" leads to "<no location info>: error: …/libgsl.so:...
00:42:04 <haskellbridge> ... undefined symbol: cblas_ctrmv". Any idea? Thx in advance!
00:43:02 × Smiles quits (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity)
00:43:44 <geekosaur> might be better off asking in a nix room, but that sounds like the version of blas you're getting isn't supported by the gsl version you're getting
00:44:03 <geekosaur> and probably unrelated to Haskell
00:44:08 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
00:45:00 xff0x joins (~xff0x@2405:6580:b080:900:9d42:97ad:e5ba:bd56)
00:47:03 thuna` joins (~thuna`@user/thuna/x-1480069)
00:48:23 <roconnor> EvanR: yep
00:48:47 × otto_s quits (~user@p5b044ec8.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
00:50:15 × xff0x quits (~xff0x@2405:6580:b080:900:9d42:97ad:e5ba:bd56) (Ping timeout: 246 seconds)
00:50:24 otto_s joins (~user@p4ff2724c.dip0.t-ipconnect.de)
00:51:56 <haskellbridge> <lowtex> Among other things, I've tried to (1) utilize "openblas" instead and to (2) link dynamically "shared: True↵executable-dynamic: True"
00:51:58 <haskellbridge> @irc_libera.chat_geekosaur:kf8nh.com Thanks for your suggestion, I'll reach out there. But I don't have experience with those tools themselves, so I don't have the basis to attempt to pair some versions haphazardly by myself.
00:51:59 <lambdabot> Unknown command, try @list
00:53:09 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds)
00:53:42 × malte quits (~malte@mal.tc) (Remote host closed the connection)
00:54:02 j1n37- joins (~j1n37@user/j1n37)
00:54:56 × j1n37 quits (~j1n37@user/j1n37) (Ping timeout: 244 seconds)
00:55:03 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
00:59:30 malte joins (~malte@mal.tc)
01:01:39 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
01:03:39 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
01:08:22 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
01:10:29 hgolden joins (~hgolden@2603:8000:9d00:3ed1:1b03:b08c:d961:6530)
01:11:08 × notdabs quits (~Owner@2600:1700:69cf:9000:6cf0:d644:3911:cb5b) (Quit: Leaving)
01:13:53 × hattckory quits (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 248 seconds)
01:18:12 CatGPT is now known as catties
01:19:22 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
01:20:39 × hughjfchen quits (~hughjfche@vmi2417424.contaboserver.net) (Quit: WeeChat 4.4.3)
01:21:49 hughjfchen joins (~hughjfche@vmi2417424.contaboserver.net)
01:23:43 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
01:24:03 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
01:27:23 hattckory joins (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca)
01:27:39 <monochrom> I think it goes more meta. There was an April Fool's joke that claimed that Haskell was an April Fool's joke. #ModalLogic
01:27:40 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
01:31:15 <EvanR> April Fools is a monad
01:31:41 <monochrom> hehe
01:31:51 <EvanR> multiple burrito layers of joke
01:32:33 × hattckory quits (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca) (Ping timeout: 276 seconds)
01:34:43 × thuna` quits (~thuna`@user/thuna/x-1480069) (Ping timeout: 244 seconds)
01:34:44 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
01:35:14 glguy is now known as gLLMguy
01:36:20 hattckory joins (~hattckory@bras-base-toroon4524w-grc-30-70-27-118-207.dsl.bell.ca)
01:39:22 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
01:39:28 xff0x joins (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
01:46:52 × thorongil quits (~thorongil@user/thorongil) (Quit: leaving)
01:50:32 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
01:55:27 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
02:06:22 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
02:11:29 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
02:13:35 manny68 joins (~manny@2601:445:700:69b0:eea0:8f59:8e82:6460)
02:16:59 × ryanbooker quits (uid4340@id-4340.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
02:18:38 × machinedgod quits (~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 252 seconds)
02:22:07 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
02:22:28 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 245 seconds)
02:26:39 × otto_s quits (~user@p4ff2724c.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
02:27:07 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
02:28:02 otto_s joins (~user@p5b044af5.dip0.t-ipconnect.de)
02:37:56 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
02:42:50 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
02:53:43 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
02:55:40 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
02:56:58 Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542)
02:58:44 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
03:01:36 × troydm quits (~troydm@user/troydm) (Quit: What is Hope? That all of your wishes and all of your dreams come true? To turn back time because things were not supposed to happen like that (C) Rau Le Creuset)
03:03:37 Garbanzo joins (~Garbanzo@2602:304:6eac:dc10::2e)
03:09:30 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
03:14:08 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
03:16:32 × gmg quits (~user@user/gehmehgeh) (Remote host closed the connection)
03:19:05 × a_fantom quits (~fantom@2.219.56.221) (Ping timeout: 244 seconds)
03:19:35 gmg joins (~user@user/gehmehgeh)
03:25:18 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
03:29:56 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
03:38:02 michalz joins (~michalz@185.246.207.221)
03:41:04 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
03:41:32 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
03:45:59 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
03:56:52 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
04:05:33 × zungi quits (~tory@user/andrewchawk) (Remote host closed the connection)
04:05:35 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
04:05:58 zungi joins (~tory@user/andrewchawk)
04:10:19 tavare joins (~tavare@150.129.88.189)
04:10:19 × tavare quits (~tavare@150.129.88.189) (Changing host)
04:10:19 tavare joins (~tavare@user/tavare)
04:11:11 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
04:13:27 × tavare quits (~tavare@user/tavare) (Remote host closed the connection)
04:13:50 tavare joins (~tavare@150.129.88.189)
04:13:50 × tavare quits (~tavare@150.129.88.189) (Changing host)
04:13:50 tavare joins (~tavare@user/tavare)
04:13:54 werneta joins (~werneta@syn-071-083-160-242.res.spectrum.com)
04:17:05 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
04:21:19 takuan joins (~takuan@d8D86B601.access.telenet.be)
04:22:17 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
04:24:12 arahael joins (~arahael@user/arahael)
04:24:54 × manny68 quits (~manny@2601:445:700:69b0:eea0:8f59:8e82:6460) (Quit: Client closed)
04:32:52 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
04:37:36 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
04:45:10 × Flow quits (~none@gentoo/developer/flow) (Ping timeout: 268 seconds)
04:48:40 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
04:51:06 × tessier quits (~tessier@ec2-184-72-149-67.compute-1.amazonaws.com) (Remote host closed the connection)
04:53:39 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
04:54:00 Guest52 joins (~Guest52@45.176.88.162)
04:56:20 Googulator18 joins (~Googulato@178-164-243-34.pool.digikabel.hu)
04:57:00 Flow joins (~none@gentoo/developer/flow)
04:58:09 DiegoDD joins (~diego1234@93.68.153.20)
04:59:18 × Googulator quits (~Googulato@2a01-036d-0106-01d5-ac5d-24c1-ad5e-7f2b.pool6.digikabel.hu) (Ping timeout: 240 seconds)
04:59:22 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
04:59:47 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
05:03:02 DiegoDD parts (~diego1234@93.68.153.20) ()
05:04:26 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
05:09:14 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
05:09:20 JuanDaugherty joins (~juan@user/JuanDaugherty)
05:10:49 tessier joins (~tessier@ip68-8-117-219.sd.sd.cox.net)
05:15:40 × tavare quits (~tavare@user/tavare) (Remote host closed the connection)
05:19:49 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
05:20:22 gAy_Dragon is now known as AI_Dragon
05:24:37 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
05:28:45 acidjnk_new joins (~acidjnk@p200300d6e71c4f02f52af534a157a189.dip0.t-ipconnect.de)
05:29:27 internatetional joins (~nate@2400:9800:f3:3e9a:1832:1a71:b57a:106c)
05:31:07 × tessier quits (~tessier@ip68-8-117-219.sd.sd.cox.net) (Ping timeout: 252 seconds)
05:33:08 tessier joins (~tessier@ip68-8-117-219.sd.sd.cox.net)
05:34:16 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
05:35:22 fantom joins (~fantom@2.219.56.221)
05:35:33 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
05:40:24 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
05:51:21 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
05:52:30 × Guest52 quits (~Guest52@45.176.88.162) (Ping timeout: 240 seconds)
05:56:17 tabaqui joins (~tabaqui@167.71.80.236)
05:58:33 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
06:00:12 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
06:02:18 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
06:02:57 × acarrico quits (~acarrico@pppoe-209-99-221-107.greenmountainaccess.net) (Ping timeout: 276 seconds)
06:05:26 × acidjnk_new quits (~acidjnk@p200300d6e71c4f02f52af534a157a189.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
06:07:09 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
06:12:24 fp joins (~Thunderbi@wireless-86-50-141-186.open.aalto.fi)
06:17:40 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
06:18:01 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection)
06:18:33 ChaiTRex joins (~ChaiTRex@user/chaitrex)
06:21:47 × Garbanzo quits (~Garbanzo@2602:304:6eac:dc10::2e) (Remote host closed the connection)
06:22:30 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
06:27:54 ash3en joins (~Thunderbi@149.222.150.125)
06:28:09 rit joins (~rit@2409:40e0:101e:42e7:7902:df58:e4a3:373b)
06:32:48 × JuanDaugherty quits (~juan@user/JuanDaugherty) (Quit: praxis.meansofproduction.biz (juan@acm.org))
06:33:26 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
06:36:02 × sroso quits (~sroso@user/SrOso) (Ping timeout: 252 seconds)
06:38:13 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
06:42:00 × jjhoo quits (~jahakala@user/jjhoo) (Ping timeout: 252 seconds)
06:47:48 sord937 joins (~sord937@gateway/tor-sasl/sord937)
06:48:11 chele joins (~chele@user/chele)
06:49:14 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
06:54:00 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
06:54:04 tromp joins (~textual@2001:1c00:3487:1b00:29bc:7fae:9d9f:d545)
06:56:52 CiaoSen joins (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db)
07:00:01 × caconym quits (~caconym@user/caconym) (Quit: bye)
07:01:31 caconym joins (~caconym@user/caconym)
07:03:17 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
07:06:09 acarrico joins (~acarrico@pppoe-209-99-221-107.greenmountainaccess.net)
07:08:51 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
07:16:17 × jmcantrell quits (~weechat@user/jmcantrell) (Ping timeout: 265 seconds)
07:16:38 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
07:16:39 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 246 seconds)
07:18:01 Lord_of_Life_ is now known as Lord_of_Life
07:19:20 jjhoo joins (~jahakala@user/jjhoo)
07:22:18 × ft quits (~ft@p508db463.dip0.t-ipconnect.de) (Quit: leaving)
07:22:30 × rit quits (~rit@2409:40e0:101e:42e7:7902:df58:e4a3:373b) (Ping timeout: 240 seconds)
07:25:52 × internatetional quits (~nate@2400:9800:f3:3e9a:1832:1a71:b57a:106c) (Ping timeout: 272 seconds)
07:35:17 internatetional joins (~nate@2400:9800:f2:615e:1832:218b:fe6e:8b1a)
07:38:09 × tzh quits (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
07:39:54 × fp quits (~Thunderbi@wireless-86-50-141-186.open.aalto.fi) (Ping timeout: 260 seconds)
07:41:44 × j1n37- quits (~j1n37@user/j1n37) (Read error: Connection reset by peer)
07:44:42 j1n37 joins (~j1n37@user/j1n37)
07:45:58 acidjnk_new joins (~acidjnk@p200300d6e71c4f8289e7d3d4c6144767.dip0.t-ipconnect.de)
07:46:46 × emmanuelux quits (~emmanuelu@user/emmanuelux) (Read error: Connection reset by peer)
07:49:32 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
07:55:19 machinedgod joins (~machinedg@d108-173-18-100.abhsia.telus.net)
07:55:36 × zmt00 quits (~zmt00@user/zmt00) (Ping timeout: 252 seconds)
07:58:39 Square joins (~Square4@user/square)
07:59:07 aforemny joins (~aforemny@2001:9e8:6cf8:6c00:d3fe:9b53:2e36:ee7b)
07:59:28 <hellwolf> I just made a categorical rewrite of base, called catbase, where you can write program such as "main :: forall k. k Void (IO ())" which produces a IO effect in the category k. This allows you to write a runtime completely in rust and optimizes the f out of the generated giant morphism, including using AVX/NEON instructions for all tight loops.
07:59:28 <hellwolf> The best part is, it is the April fool's day.
08:04:16 merijn joins (~merijn@77.242.116.146)
08:06:24 × ash3en quits (~Thunderbi@149.222.150.125) (Ping timeout: 272 seconds)
08:15:35 unter-oe joins (~unter-oe@176.192.243.31)
08:15:35 × unter-oe quits (~unter-oe@176.192.243.31) (Changing host)
08:15:35 unter-oe joins (~unter-oe@user/unter-oe)
08:16:19 ash3en joins (~Thunderbi@149.222.150.125)
08:16:33 × unter-oe quits (~unter-oe@user/unter-oe) (Remote host closed the connection)
08:18:08 pavonia joins (~user@user/siracusa)
08:19:33 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 245 seconds)
08:23:03 lisbeths joins (uid135845@id-135845.lymington.irccloud.com)
08:27:36 merijn joins (~merijn@77.242.116.146)
08:28:09 unter-oe joins (~unter-oe@176.192.243.31)
08:28:09 × unter-oe quits (~unter-oe@176.192.243.31) (Changing host)
08:28:09 unter-oe joins (~unter-oe@user/unter-oe)
08:33:44 × ash3en quits (~Thunderbi@149.222.150.125) (Ping timeout: 252 seconds)
08:39:29 × unter-oe quits (~unter-oe@user/unter-oe) (Remote host closed the connection)
08:39:43 unter-oe joins (~unter-oe@user/unter-oe)
08:39:47 × unter-oe quits (~unter-oe@user/unter-oe) (Remote host closed the connection)
08:43:55 <tomsmeding> hellwolf: I feel like https://github.com/compiling-to-categories/concat unironically tries to do that, apart from the Rust
08:46:53 Smiles joins (uid551636@id-551636.lymington.irccloud.com)
08:47:52 ash3en joins (~Thunderbi@149.222.150.125)
08:52:25 × ash3en quits (~Thunderbi@149.222.150.125) (Ping timeout: 252 seconds)
08:53:36 × califax quits (~califax@user/califx) (Ping timeout: 264 seconds)
08:54:00 lxsameer joins (~lxsameer@Serene/lxsameer)
08:54:13 califax joins (~califax@user/califx)
08:56:50 fp joins (~Thunderbi@wireless-86-50-141-186.open.aalto.fi)
09:07:49 × internatetional quits (~nate@2400:9800:f2:615e:1832:218b:fe6e:8b1a) (Ping timeout: 260 seconds)
09:18:58 dhil joins (~dhil@2a0c:b381:52e:3600:a9d5:fde7:3316:82e2)
09:22:33 ash3en joins (~Thunderbi@149.222.150.125)
09:24:24 <hellwolf> :) Make april fool the day of radical innovation
09:27:04 × ash3en quits (~Thunderbi@149.222.150.125) (Ping timeout: 260 seconds)
09:35:19 internatetional joins (~nate@2400:9800:170:c23:1:0:419:21ae)
09:57:42 × jathan quits (~jathan@69.61.93.38) (Ping timeout: 252 seconds)
10:00:51 × m5zs7k quits (aquares@web10.mydevil.net) (Ping timeout: 276 seconds)
10:02:49 × fp quits (~Thunderbi@wireless-86-50-141-186.open.aalto.fi) (Ping timeout: 260 seconds)
10:02:59 j1n37- joins (~j1n37@user/j1n37)
10:04:05 × j1n37 quits (~j1n37@user/j1n37) (Ping timeout: 248 seconds)
10:15:01 unter-oe joins (~unter-oe@176.192.243.31)
10:15:01 × unter-oe quits (~unter-oe@176.192.243.31) (Changing host)
10:15:01 unter-oe joins (~unter-oe@user/unter-oe)
10:20:26 m5zs7k joins (aquares@web10.mydevil.net)
10:21:04 × unter-oe quits (~unter-oe@user/unter-oe) (Remote host closed the connection)
10:22:55 unter-oe joins (~unter-oe@176.192.243.31)
10:22:55 × unter-oe quits (~unter-oe@176.192.243.31) (Changing host)
10:22:55 unter-oe joins (~unter-oe@user/unter-oe)
10:23:09 forell joins (~forell@user/forell)
10:23:39 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Remote host closed the connection)
10:23:50 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 272 seconds)
10:24:11 sord937 joins (~sord937@gateway/tor-sasl/sord937)
10:26:22 × xff0x quits (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 244 seconds)
10:26:32 fp joins (~Thunderbi@2001:708:150:10::1d80)
10:27:12 × unter-oe quits (~unter-oe@user/unter-oe) (Remote host closed the connection)
10:27:33 unter-oe joins (~unter-oe@176.192.243.31)
10:27:33 × unter-oe quits (~unter-oe@176.192.243.31) (Changing host)
10:27:33 unter-oe joins (~unter-oe@user/unter-oe)
10:29:10 × unter-oe quits (~unter-oe@user/unter-oe) (Remote host closed the connection)
10:30:46 merijn joins (~merijn@77.242.116.146)
10:31:24 unter-oe joins (~unter-oe@user/unter-oe)
10:35:09 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 244 seconds)
10:42:17 × lisbeths quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
10:48:00 merijn joins (~merijn@77.242.116.146)
10:50:46 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Remote host closed the connection)
10:51:06 sord937 joins (~sord937@gateway/tor-sasl/sord937)
10:52:05 × acidjnk_new quits (~acidjnk@p200300d6e71c4f8289e7d3d4c6144767.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
10:53:50 × unter-oe quits (~unter-oe@user/unter-oe) (Remote host closed the connection)
10:53:56 jathan joins (~jathan@69.61.93.38)
10:54:09 acidjnk_new joins (~acidjnk@p200300d6e71c4f8289e7d3d4c6144767.dip0.t-ipconnect.de)
10:54:50 ash3en joins (~Thunderbi@149.222.150.125)
10:58:48 × internatetional quits (~nate@2400:9800:170:c23:1:0:419:21ae) (Quit: CoreIRC for Android - www.coreirc.com)
10:59:06 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 265 seconds)
11:00:05 × caconym quits (~caconym@user/caconym) (Quit: bye)
11:02:20 caconym joins (~caconym@user/caconym)
11:05:01 merijn joins (~merijn@77.242.116.146)
11:06:01 × Smiles quits (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity)
11:08:58 <kqr> If I have a function returning a Maybe of something, and I want to return a Nothing, I can return `mempty` but I can also return `empty`. I have a rough intuition that `mempty` is more appropriate for things that are supposed to be aggregated together, whereas `empty` is more appropriate for things that are supposed to be used a choices. But how would I know which to use?
11:09:16 <kqr> I could, of course, also return a plain `Nothing` but in this case I want the function to be generic over both Maybe values and lists.
11:15:08 × tromp quits (~textual@2001:1c00:3487:1b00:29bc:7fae:9d9f:d545) (Quit: My iMac has gone to sleep. ZZZzzz…)
11:16:03 <merijn> kqr: If the type is fixed to be Maybe there is not distinction
11:16:18 <merijn> otoh, if the type is fixed to be Maybe, why not just write Nothing for readability
11:16:53 <kqr> This is in a module-private function that is called by two other exported functions, one of which specialise it to Maybe a, and the other to [a]
11:17:33 <kqr> I guess another way to phrase the question would be "When a result is interpreted either as a Maybe a or [a], is Monoid or Alternative the most intuitive generalisation?"
11:18:19 <kqr> Notably, this function only uses pure and empty, it never uses operators <|> or <>
11:18:34 <Leary> kqr: `mempty` would impose an unwanted `Semigroup` constraint. Also, I suspect you really want `guard`.
11:18:53 xff0x joins (~xff0x@2405:6580:b080:900:974d:9d72:56de:9211)
11:19:29 <merijn> Leary: You mean Monoid
11:19:40 <merijn> Semigroups (pretty notably) do not have mempty
11:19:48 <merijn> In fact, it's like, their main distinguishing feature :p
11:20:24 <Leary> Well, generalising, yeah. I was thinking about `instance Semigroup a => Monoid (Maybe a)`.
11:21:03 toby-bro joins (~toby-bro@user/toby-bro)
11:24:37 <Leary> > let test = [guard False $> 'a', guard True $> 'a'] in (test :: [String], test :: [Maybe Char])
11:24:39 <lambdabot> (["","a"],[Nothing,Just 'a'])
11:29:36 <kqr> I guess that is a vote in favour of Alternative?
11:31:12 <Leary> Indeed.
11:35:41 tromp joins (~textual@2001:1c00:3487:1b00:29bc:7fae:9d9f:d545)
11:41:09 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 248 seconds)
11:44:21 merijn joins (~merijn@77.242.116.146)
11:45:58 __monty__ joins (~toonn@user/toonn)
11:46:13 × tromp quits (~textual@2001:1c00:3487:1b00:29bc:7fae:9d9f:d545) (Quit: My iMac has gone to sleep. ZZZzzz…)
11:46:48 × fp quits (~Thunderbi@2001:708:150:10::1d80) (Ping timeout: 272 seconds)
11:57:28 tremon joins (~tremon@83.80.159.219)
12:00:51 Smiles joins (uid551636@id-551636.lymington.irccloud.com)
12:14:49 <hellwolf> This one I did not know. Why It is a "redundant bang pattern" using in line 4: https://paste.tomsmeding.com/1KVgpGax ?
12:15:22 jespada joins (~jespada@2800:a4:2256:6500:9933:8787:b375:7c3e)
12:15:54 <hellwolf> > Bang patterns do not have any effect with constructor patterns:
12:15:56 <lambdabot> <hint>:1:64: error:
12:15:56 <lambdabot> parse error (possibly incorrect indentation or mismatched brackets)
12:16:02 <hellwolf> just read the doc.
12:16:41 <hellwolf> good to know. thanks hlint.
12:16:47 <hellwolf> makes sense.
12:17:00 JuanDaugherty joins (~juan@user/JuanDaugherty)
12:20:15 × srk quits (~sorki@user/srk) (Ping timeout: 244 seconds)
12:21:30 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 246 seconds)
12:25:24 × Googulator18 quits (~Googulato@178-164-243-34.pool.digikabel.hu) (Quit: Client closed)
12:25:42 Googulator18 joins (~Googulato@2a01-036d-0106-211a-ac5d-24c1-ad5e-7f2b.pool6.digikabel.hu)
12:33:27 merijn joins (~merijn@77.242.116.146)
12:33:31 srk joins (~sorki@user/srk)
12:34:15 <tomsmeding> (in order to know that it is indeed that constructor, the runtime will have to evaluate it down to a constructor anyway. That's why it's strict.)
12:34:44 <tomsmeding> (This reasoning doesn't quite hold up for single-constructor data types, but for uniformity and "principle of least surprise" it makes much more sense to extend this principle to single-constructor data types too.)
12:36:52 × JuanDaugherty quits (~juan@user/JuanDaugherty) (Quit: praxis.meansofproduction.biz (juan@acm.org))
12:41:43 × jespada quits (~jespada@2800:a4:2256:6500:9933:8787:b375:7c3e) (Quit: My Mac has gone to sleep. ZZZzzz…)
12:46:24 × zungi quits (~tory@user/andrewchawk) (Ping timeout: 264 seconds)
12:50:55 zungi joins (~tory@user/andrewchawk)
12:51:27 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
12:59:21 <hellwolf> is there optimization regarding single-constructor data type?
13:05:11 × Googulator18 quits (~Googulato@2a01-036d-0106-211a-ac5d-24c1-ad5e-7f2b.pool6.digikabel.hu) (Quit: Client closed)
13:05:28 Googulator18 joins (~Googulato@2a01-036d-0106-211a-ac5d-24c1-ad5e-7f2b.pool6.digikabel.hu)
13:06:51 comerijn joins (~merijn@77.242.116.146)
13:10:05 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 265 seconds)
13:13:38 fp joins (~Thunderbi@2001:708:150:10::1d80)
13:14:59 tromp joins (~textual@2001:1c00:3487:1b00:29bc:7fae:9d9f:d545)
13:22:22 Digitteknohippie joins (~user@user/digit)
13:23:04 × Digit quits (~user@user/digit) (Ping timeout: 272 seconds)
13:23:43 × CiaoSen quits (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 245 seconds)
13:33:01 notdabs joins (~Owner@2600:1700:69cf:9000:553a:e935:8c4f:3651)
13:37:11 Otong joins (~Otong@user/Otong)
13:37:40 × Otong quits (~Otong@user/Otong) (Remote host closed the connection)
13:38:19 Otong joins (~Otong@user/Otong)
13:38:28 × Otong quits (~Otong@user/Otong) (Remote host closed the connection)
13:43:17 × acidjnk_new quits (~acidjnk@p200300d6e71c4f8289e7d3d4c6144767.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
13:47:52 × fantom quits (~fantom@2.219.56.221) (Ping timeout: 244 seconds)
13:48:24 rit joins (~rit@2409:40e0:101e:42e7:101c:ea47:4905:baf6)
13:48:24 × rit quits (~rit@2409:40e0:101e:42e7:101c:ea47:4905:baf6) (Remote host closed the connection)
13:48:32 rit joins (~rit@2409:40e0:101e:42e7:101c:ea47:4905:baf6)
13:49:11 Digitteknohippie is now known as Digit
13:54:16 fantom joins (~fantom@2.219.56.221)
13:55:44 <EvanR> hellwolf, bang patterns are syntax sugar for seq
13:58:33 <EvanR> semantically at least
14:01:24 × Leary quits (~Leary@user/Leary/x-0910699) (Ping timeout: 268 seconds)
14:02:57 × comerijn quits (~merijn@77.242.116.146) (Ping timeout: 248 seconds)
14:03:40 <EvanR> a special case I found is let !x = e in body ==> let x = e in x `seq` body
14:04:23 <EvanR> so if x is a constructor pattern, the seq wouldn't have any effect
14:05:39 <tomsmeding> yes it would, a let is lazy
14:05:49 <tomsmeding> the bang-on-constructor-that-has-no-effect is in a pattern match
14:05:56 × ash3en quits (~Thunderbi@149.222.150.125) (Ping timeout: 252 seconds)
14:06:18 <hellwolf> `let !(x1, x2) in _` is different than `let (!x1, !x2) in _`; it doesn't make intuitive sense, or does it to you?
14:07:51 <tomsmeding> it does; ! evaluates to WHNF
14:08:13 merijn joins (~merijn@77.242.116.146)
14:08:16 <tomsmeding> the WHNF of a type is _just_ the outermost constructor, plus any strict fields of that constructor
14:08:36 <tomsmeding> the 2 fields of (,) are lazy, so evaluating a value of type (Int, Int) to WHNF just evaluates the outer (,) constructor, not the contained Ints
14:09:00 <tomsmeding> `(!x1, !x2)` evaluates the two fields explicitly, and thus also implicitly the constructor from which the two fields are projected
14:09:43 × Googulator18 quits (~Googulato@2a01-036d-0106-211a-ac5d-24c1-ad5e-7f2b.pool6.digikabel.hu) (Quit: Client closed)
14:10:00 Googulator18 joins (~Googulato@2a01-036d-0106-211a-ac5d-24c1-ad5e-7f2b.pool6.digikabel.hu)
14:10:04 <hellwolf> if (!x1, !x2), should it not imply that the constructor has been also strictly evaluated?
14:10:17 <tomsmeding> yes
14:10:28 <tomsmeding> that's what I meant with "implicitly the constructor ..."
14:10:33 <hellwolf> but it's not. let me shend you an example.
14:10:53 <hellwolf> (i don't know why)
14:10:57 <hellwolf> btw re WHNF. need a sister thread for coming up with an enterprise naming for WHNF (reference: if you haven't seen the thread for having a "approachable name" of monad on X)
14:11:38 <tomsmeding> lax-face standard shape
14:13:17 mari-estel joins (~mari-este@user/mari-estel)
14:17:11 weary-traveler joins (~user@user/user363627)
14:17:27 <hellwolf> I can't seem to recreate the scenario in a smaller example. to bad.
14:20:37 acidjnk_new joins (~acidjnk@p200300d6e71c4f8289e7d3d4c6144767.dip0.t-ipconnect.de)
14:22:53 <hellwolf> oh, i got it. need 9.10.
14:24:11 <hellwolf> here you go: (x, y) = xy
14:24:21 <hellwolf> oops, code gone
14:24:48 <hellwolf> :( playground C-z fail.
14:24:57 <hellwolf> (I accidentally clicked Basic Template button.
14:28:04 <tomsmeding> :o
14:28:24 <hellwolf> https://play.haskell.org/saved/h4hw8OFx
14:28:29 <hellwolf> anyways, retyped.
14:28:47 <tomsmeding> oh this is linear haskell specific
14:29:32 <tomsmeding> I suspect this is more about specifically the multiplicity inference rules in LinearHaskell than about strictness
14:29:35 Leary joins (~Leary@user/Leary/x-0910699)
14:30:39 Digitteknohippie joins (~user@user/digit)
14:33:28 × Digit quits (~user@user/digit) (Ping timeout: 268 seconds)
14:39:28 <tomsmeding> hellwolf: that C-z not working is a bug and I'll fix it, but how did you manage to type all that code before the button disappeared?
14:39:56 <tomsmeding> or does it not disappear for you?
14:40:38 <hellwolf> I typed then I wanted to share.
14:40:43 <hellwolf> but I clicked the wrong button :/
14:41:22 <tomsmeding> the button is supposed to disappear after about 4 seconds after you interact with the page
14:41:31 <tomsmeding> the fact that it was stil there for you means that that didn't work
14:41:34 <hellwolf> it shows up all the time for me
14:41:51 <hellwolf> I think it responds to input event.
14:42:07 <tomsmeding> what browser are you using?
14:42:21 <hellwolf> firefox
14:42:49 <tomsmeding> me too
14:43:43 <tomsmeding> I'm attaching an event handler to the mousemove and keydown events, globally on the page
14:43:54 <tomsmeding> it would be very weird if those don't fire for you
14:44:05 <tomsmeding> any errors in the javascript console?
14:45:34 gLLMguy is now known as glguy
14:45:55 <hellwolf> no, I can't reproduce anymore
14:46:00 <hellwolf> with a new tab
14:46:08 <tomsmeding> the button disappears now for you?
14:46:15 <hellwolf> in the new tab. yes.
14:46:19 <tomsmeding> O.o
14:47:18 × rit quits (~rit@2409:40e0:101e:42e7:101c:ea47:4905:baf6) (Ping timeout: 240 seconds)
14:47:22 longlongdouble joins (~longlongd@2405:201:5c16:894:2d75:fd2d:c031:9b09)
14:47:27 × longlongdouble quits (~longlongd@2405:201:5c16:894:2d75:fd2d:c031:9b09) (Client Quit)
14:50:38 <EvanR> tomsmeding, well that translation I gave is in the docs let !x = e in body ==> let x = e in x `seq` body. You're saying let !K = e in body is somehow different from let K = e in K `seq` body?
14:50:52 <EvanR> or maybe it was only talking about variable bindings
14:51:04 <EvanR> lol what does `x' quantify over
14:51:08 <tomsmeding> EvanR: no, I was complaining about your claim that the seq doesn't have any effect if x is a constructor pattern
14:51:22 jmcantrell joins (~weechat@user/jmcantrell)
14:51:25 <tomsmeding> it does _here_, but not in a pattern match, because pattern matches are strict and let is lazy
14:51:45 <EvanR> let K = ... is a pattern match or a let
14:51:50 <EvanR> or both
14:52:01 <tomsmeding> a let
14:52:09 <tomsmeding> okay "pattern match" is indeed ambiguous wording
14:52:21 <EvanR> I have no idea what you're saying xD
14:52:50 <tomsmeding> `case x of K -> _` is strict in x
14:52:56 Digitteknohippie is now known as Digit
14:53:02 <tomsmeding> the function `foo K = _` is strict in its argument
14:53:25 <tomsmeding> `let K = expr in _` is _not_ strict in `expr`
14:53:54 <tomsmeding> I used "pattern match" to refer to the first two, but that's ambiguous, I concede
14:54:12 × gmg quits (~user@user/gehmehgeh) (Ping timeout: 264 seconds)
14:54:15 <tomsmeding> `let !K = expr in _` is, however, strict in `expr`
14:54:20 gehmehgeh joins (~user@user/gehmehgeh)
14:54:48 × mari-estel quits (~mari-este@user/mari-estel) (Remote host closed the connection)
14:56:21 <EvanR> alright I think my substitution failed
14:56:57 <tomsmeding> hellwolf: https://github.com/haskell/play-haskell/commit/5630aaa0da9fb7ffaecf43fc526a8ff5024b5d84 the undo problem should be fixed now, in case you manage to be super fast anyway or if the button remains for whatever reason
14:57:04 <EvanR> let !K = e in body isn't an instance of the rule let !x = e in body, when you translate them you get different behaving results
14:57:28 <EvanR> x is supposed to range over variables, not any pattern xD
14:57:33 <EvanR> metavariable
14:57:46 <hellwolf> tomsmeding: great!
14:58:22 <tomsmeding> I don't know why ace.js thought it was a good idea to explicitly clear undo history when setting the contents of an edit session to a new srting
15:01:04 ubert joins (~Thunderbi@2a02:8109:ab8a:5a00:74f1:1caf:2629:a3c8)
15:01:25 <hellwolf> frontend is voodoo to me... sounds like you can use some monad
15:04:36 × acidjnk_new quits (~acidjnk@p200300d6e71c4f8289e7d3d4c6144767.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
15:04:41 <EvanR> some kinda monad or smth
15:06:11 kawzeg joins (kawzeg@2a01:7e01::f03c:92ff:fee2:ec34)
15:17:42 acidjnk_new joins (~acidjnk@p200300d6e71c4f82640579a6e00084b6.dip0.t-ipconnect.de)
15:19:12 tzh joins (~tzh@c-76-115-131-146.hsd1.or.comcast.net)
15:23:25 <EvanR> so let !(x,y) = e in body is substantially different from let (x,y) = e in body, because e gets evaluated earlier. Right?
15:23:45 <EvanR> but in case alternatives it has no effect
15:24:15 <tomsmeding> in `let (x,y) = e in body`, e might not get evaluated at all if x and y are unused
15:24:37 <tomsmeding> indeed, `case _ of !(x,y) -> _` is equivalent to `case _ of (x,y) -> _`
15:25:09 × werneta quits (~werneta@syn-071-083-160-242.res.spectrum.com) (Ping timeout: 248 seconds)
15:25:53 <merijn> I'm not sure you can ever observe the difference between those two, EvanR
15:26:09 <EvanR> ????
15:26:33 <EvanR> > let !(x,y) = undefined in "ok"
15:26:35 <lambdabot> "*Exception: Prelude.undefined
15:26:40 <EvanR> > let (x,y) = undefined in "ok"
15:26:42 <lambdabot> "ok"
15:26:52 <merijn> As in, if you don't use either x or y is there a chance it gets optimised away
15:26:55 <merijn> I'm not sure
15:27:05 <tomsmeding> merijn: uh, bang patterns have semantics :p
15:27:12 <tomsmeding> it's not optimiser vagaries
15:27:46 <EvanR> unfortunately, the rule I just posted doesn't apply to this specific let, you need one of the other semantic rules... and there's a lot apparently for bang patterns
15:27:47 <merijn> tomsmeding: I meant that if the entire binding is unused does GHC keep it just for forcing the evaluation?
15:27:53 <tomsmeding> yes
15:28:03 <tomsmeding> otherwise what would the bang pattern even mean
15:28:08 <merijn> I need to rereads the documentation on bangpatterns
15:28:40 <EvanR> crashing or freezing due to bottom might be an intended observable effect
15:28:47 <EvanR> i.e. using lub
15:28:51 <tomsmeding> precisely
15:30:08 <tomsmeding> ah, the GHC docs for BangPatterns point out that `let !x` is not the same as `let (!x)`
15:30:17 <EvanR> o_O
15:30:29 <int-e> > let a = let !(x,y) = a in (0,x) in a
15:30:30 <tomsmeding> or wait
15:30:32 <lambdabot> *Exception: <<loop>>
15:30:36 <int-e> > let a = let (x,y) = a in (0,x) in a
15:30:38 <lambdabot> (0,0)
15:31:00 <int-e> > let a = let (!(x,y)) = a in (0,x) in a
15:31:02 <lambdabot> *Exception: <<loop>>
15:31:12 <tomsmeding> ah no, there is a semantical difference between a top-level bang pattern in a let binding, and a bang somewhere nested
15:31:16 <EvanR> that would be an interesting thing to optimize out
15:31:26 <tomsmeding> but "top-level" may be under parentheses
15:31:34 <int-e> but (!x) is still top-level,
15:31:34 <tomsmeding> I'm half-sure this changed at some point
15:31:42 <int-e> as you said (failed to delete)
15:31:56 <EvanR> the one I was reading said strict bindings are not allowed at top level but I guess that's old now?
15:32:11 <tomsmeding> what are you reading?
15:32:21 × tromp quits (~textual@2001:1c00:3487:1b00:29bc:7fae:9d9f:d545) (Quit: My iMac has gone to sleep. ZZZzzz…)
15:32:53 <EvanR> >Strict bindings are not allowed at the top level of a module.
15:33:00 <EvanR> https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/strict.html
15:33:01 <tomsmeding> ah, that's top-level in a module
15:33:05 <int-e> @let !x = ()
15:33:05 <tomsmeding> I mean top-level in a pattern
15:33:06 <lambdabot> /sandbox/tmp/.L.hs:168:1: error:
15:33:06 <lambdabot> Top-level strict bindings aren't allowed: !L.x = ()
15:33:06 <lambdabot> |
15:33:18 × Googulator18 quits (~Googulato@2a01-036d-0106-211a-ac5d-24c1-ad5e-7f2b.pool6.digikabel.hu) (Quit: Client closed)
15:33:20 <EvanR> what's top level in a pattern
15:33:24 × rvalue quits (~rvalue@user/rvalue) (Read error: Connection reset by peer)
15:33:24 <tomsmeding> where `let !(x,y)` would be a "top-level" bang pattern, and `let (!x,y)` would not be
15:33:44 Googulator18 joins (~Googulato@2a01-036d-0106-211a-ac5d-24c1-ad5e-7f2b.pool6.digikabel.hu)
15:33:49 <EvanR> so wtf is let (!x) = ...
15:33:55 rvalue joins (~rvalue@user/rvalue)
15:34:00 <tomsmeding> ambiguous
15:34:00 <int-e> EvanR: it's equivalent to let !x = ...
15:34:04 <EvanR> lol
15:34:06 <tomsmeding> yes, that's how ghc interprets it
15:34:15 <EvanR> ok so we're not lisp yet
15:34:15 <int-e> (empirically)
15:34:39 <tomsmeding> > let (x,!y) = ("x", undefined) in "hi " ++ x
15:34:41 <lambdabot> "hi *Exception: Prelude.undefined
15:34:45 <tomsmeding> > let (x,!y) = ("x", undefined) in "hi"
15:34:47 <lambdabot> "hi"
15:34:51 <int-e> but for a newtype T, !(T x) and T (!x) should be different
15:35:00 <tomsmeding> non-top-level bang patterns only have an effect if the pattern as a whole is used
15:35:07 <tomsmeding> in a let, that is
15:35:32 <tomsmeding> top-level bang patterns have the additional effect of making the whole binding strict
15:35:57 <tomsmeding> int-e: should they?
15:36:11 <int-e> tomsmeding: yes, and they are different too
15:36:27 <int-e> those top-level ! override an implicit outermost ~
15:36:32 mari-estel joins (~mari-este@user/mari-estel)
15:36:55 <EvanR> what implicit outermost ~
15:37:01 <tomsmeding> oh right, exactly because of what I just said
15:37:17 <EvanR> or we're just talking about let bindings
15:37:20 <EvanR> still
15:37:20 <int-e> a non-recursive let x = foo in ... is more or less case foo of ~x -> ...
15:37:47 <tomsmeding> if T is a newtype then `case _ of T (!x) -> _` is the same as `case _ of !(T x) -> _` is the same as `case _ of T x -> _` because there is no distinct `T _|_` thunk
15:37:48 <EvanR> how is that different from case foo of x ->
15:38:05 <tomsmeding> with let bindings, an outermost ! specifically has additional semantics of making the binding strict instead of lazy
15:38:08 <EvanR> because foo is evaluated
15:38:10 <int-e> EvanR: ah my `x` is a placeholder for a pattern
15:38:11 <int-e> sorry
15:38:14 <EvanR> lol
15:38:26 <EvanR> earlier x was a placeholder for any variable
15:38:27 <tomsmeding> > let Identity x = undefined in ()
15:38:29 <lambdabot> ()
15:38:30 <EvanR> now it's any pattern
15:38:33 <tomsmeding> > let !(Identity x) = undefined in ()
15:38:34 <lambdabot> *Exception: Prelude.undefined
15:38:38 <tomsmeding> > let Identity !x = undefined in ()
15:38:40 <lambdabot> ()
15:38:46 <tomsmeding> > let Identity (!x) = undefined in ()
15:38:47 <lambdabot> ()
15:39:04 <int-e> tomsmeding: right, but for `let` they behave differently: https://paste.tomsmeding.com/sQ0J5fNj
15:39:12 <tomsmeding> (see above)
15:39:47 <tomsmeding> the behaviour _is_ consistent with the docs, but it's a bit subtle
15:39:54 CiaoSen joins (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db)
15:40:07 <int-e> because T (!(x,y)) is treated like to ~(T (!(x,y)))
15:40:15 <tomsmeding> I guess
15:40:42 <tomsmeding> talking about an implicit ~ means that you're implicitly (!) assuming that patterns are strict by default
15:41:26 <int-e> > let !x = undefined in 42
15:41:27 <lambdabot> *Exception: Prelude.undefined
15:41:29 <tomsmeding> I guess this particular point cannot be proved nor disproved, though, because the spec is just that they behave the way they do
15:41:54 <int-e> EvanR: re: "What is !x" -- it's different from an unadorned x when it's a variable pattern.
15:42:32 × fp quits (~Thunderbi@2001:708:150:10::1d80) (Ping timeout: 268 seconds)
15:43:31 <int-e> tomsmeding: Yes, to me the more fundamental semantics of patterns are the ones that match what `case` does. So ... matching constructors is strict; variable patterns are not.
15:43:48 <int-e> `let` tweaks this at the outermost level.
15:44:05 × XZDX quits (~xzdx@c-68-55-21-207.hsd1.mi.comcast.net) (Remote host closed the connection)
15:44:24 <tomsmeding> right
15:44:35 <tomsmeding> I guess that makes sense
15:45:26 <hellwolf> λ [d| f x = let !(x1) =x in x1 |]
15:45:26 <hellwolf> [FunD f_0 [Clause [VarP x_1] (NormalB (LetE [ValD (BangP (VarP x1_2)) (NormalB (VarE x_1)) []] (VarE x1_2))) []]]
15:45:40 <hellwolf> template haskell would generate the same thing whereever you put the Bang
15:46:02 <hellwolf> Does it prove anything?
15:46:02 <EvanR> it's template haskell official
15:47:06 <EvanR> what is NormalB referring to
15:47:21 <tomsmeding> a normal body, without guards
15:47:38 <tomsmeding> % :set -XTemplateHaskell
15:47:38 <yahb2> <no output>
15:47:51 <tomsmeding> % [| let !x = undefined in () |]
15:47:51 <yahb2> LetE [ValD (BangP (VarP x_0)) (NormalB (VarE GHC.Internal.Err.undefined)) []] (ConE GHC.Tuple.())
15:48:01 <tomsmeding> % [| let !x = x in x |]
15:48:01 <yahb2> LetE [ValD (BangP (VarP x_1)) (NormalB (VarE x_1)) []] (VarE x_1)
15:48:03 <tomsmeding> huh
15:48:22 <tomsmeding> lol this is broken in 9.4?
15:48:35 <tomsmeding> locally on 9.4.7 I get:
15:48:36 <int-e> % [| let x | odd 1 = 42 in x |]
15:48:36 <yahb2> LetE [ValD (VarP x_2) (GuardedB [(NormalG (AppE (VarE GHC.Internal.Real.odd) (LitE (IntegerL 1))),LitE (IntegerL 42))]) []] (VarE x_2)
15:48:41 <tomsmeding> Prelude> [| let !x = x in x1 |]
15:48:43 <tomsmeding> LetE [ValD (VarP x_0) (NormalB (VarE x_0)) []] (UnboundVarE x1)
15:49:23 <hellwolf> nice, new way of flooding this channel.
15:49:52 <int-e> eh I don't think it's new
15:49:58 <tomsmeding> you mean yahb2?
15:50:39 <hellwolf> % [| _ |]
15:50:39 <yahb2> UnboundVarE _
15:50:55 <int-e> % [| let !x = x in x1 |]
15:50:55 <yahb2> LetE [ValD (BangP (VarP x_3)) (NormalB (VarE x_3)) []] (UnboundVarE x1)
15:50:55 <tomsmeding> there was a yahb ("yet another haskell bot") before in the freenode era, run by... I think mauke? yahb2 is... yet another one
15:51:10 <int-e> tomsmeding: you had different inputs
15:51:18 segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net)
15:51:31 <tomsmeding> int-e: note that yahb2 here added a BangP, as it should
15:51:43 <tomsmeding> if you try that on 9.4, you don't get a BangP
15:51:52 <tomsmeding> (yahb2 is on 9.12)
15:52:00 <int-e> tomsmeding: Oh. Fascinating.
15:52:29 <hellwolf> maybe it is a bot issue?
15:52:40 <tomsmeding> no, 9.4 has slightly broken TH parsing, apparently
15:52:47 tromp joins (~textual@2001:1c00:3487:1b00:29bc:7fae:9d9f:d545)
15:53:09 <tomsmeding> bug still occurs in 9.6, seems fixed in 9.8
15:54:32 × mari-estel quits (~mari-este@user/mari-estel) (Remote host closed the connection)
15:54:33 tomsmeding . o O ( no, the original yahb was run by mni'ip (without the '; wanted to avoid a ping) )
15:56:01 × Smiles quits (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity)
15:56:10 <int-e> . o O ( worst error message: '<command line>: Package environment "-" (specified in GHC_ENVIRIONMENT) not found' )
15:56:23 <tomsmeding> how did you manage that
15:56:48 <tomsmeding> and is that typo in the env var name already in the message, or in your copying of it
15:56:58 <int-e> tomsmeding: That's GHC 8.0.2; I'm setting GHC_ENVIRONMENT for later versions.
15:57:46 <int-e> The terrible thing is that there's a typo in the environment variable name so you can't copy&paste it into an `unset` command
15:57:46 <tomsmeding> (what are you using 8.0 for)
15:57:53 <tomsmeding> right
15:58:03 <tomsmeding> chef's kiss
15:58:07 × CiaoSen quits (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 252 seconds)
15:59:34 <hellwolf> I remember SPJ said once that GHC deleted files at some point. Talking about better type system for managing side effects.
16:00:18 <hellwolf> https://www.reddit.com/r/haskell/comments/kmk6q/the_best_ghc_bug_ever/
16:00:30 <tomsmeding> int-e: the thing about parentheses being relevant was just a brainfart; I think I completely misremembered this: https://gitlab.haskell.org/ghc/ghc/-/issues/22057
16:01:42 <int-e> tomsmeding: I was doing this experiment: https://paste.tomsmeding.com/Vbpiah8r
16:01:59 <tomsmeding> oh wow
16:02:12 <tomsmeding> _wat_
16:02:20 <int-e> So this was broken for a fairly long time.
16:02:21 <tomsmeding> it broke again in 9.12?
16:02:58 <int-e> evidently?
16:03:15 <tomsmeding> I get a BangP both with 9.12.1 and 9.12.2
16:03:36 <int-e> oh that's my bad
16:04:09 <int-e> I don't actually have 9.12.2 built, /opt/ghc-9.12.2 is empty
16:04:16 <tomsmeding> what did it do :p
16:04:19 <int-e> so it fell back on 9.6.6
16:04:22 <tomsmeding> ah
16:04:30 <int-e> good catch, thanks
16:04:55 <hellwolf> I had a minor bug, I used bang pattern in a TH quote, and GHC complaining that I have unused variable, but I clearly used it.
16:04:55 <hellwolf> Considering the number of GHC issues, I don't think I should report and create one more issue there, for now.
16:05:22 <int-e> the other versions do exist :)
16:05:25 <tomsmeding> what is the case? Is it reasonable for GHC to detect it?
16:05:53 <tomsmeding> in general, if there's an issue in GHC, do report it; that's what the issue tracker is for
16:05:57 <hellwolf> here: https://paste.tomsmeding.com/JU7QBp5w
16:06:19 <tomsmeding> which variable do you get a warning about?
16:06:36 <hellwolf> let me find the error message, one sec
16:06:48 tomsmeding suspects mx1_
16:07:08 <hellwolf> https://paste.tomsmeding.com/wRfhejVB
16:07:17 <hellwolf> mxs_ & mxs_'
16:08:04 <tomsmeding> this actually sounds extemely related to https://gitlab.haskell.org/ghc/ghc/-/issues/22057
16:08:44 <hellwolf> I see, indeed. I might as well report one more sample to the same issue.
16:08:56 <tomsmeding> the fix for that PR is in 9.6; what GHC version are you using?
16:09:00 <hellwolf> 9.10
16:09:36 <tomsmeding> you can indeed reply to the same issue; it's likely that you'll subsequently be instructed to create a new issue instead
16:09:52 <hellwolf> right. i didn't realize it was closed and fixed.
16:10:41 tomsmeding is afk for a while
16:11:51 × haskellbridge quits (~hackager@syn-024-093-192-219.res.spectrum.com) (Remote host closed the connection)
16:12:02 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
16:14:48 haskellbridge joins (~hackager@syn-024-093-192-219.res.spectrum.com)
16:14:48 ChanServ sets mode +v haskellbridge
16:15:32 danza joins (~danza@user/danza)
16:19:59 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 244 seconds)
16:20:33 × machinedgod quits (~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 248 seconds)
16:24:53 × aman quits (~aman@user/aman) (Ping timeout: 252 seconds)
16:26:55 aman joins (~aman@user/aman)
16:29:18 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 246 seconds)
16:29:42 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
16:31:18 × danza quits (~danza@user/danza) (Remote host closed the connection)
16:34:45 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 276 seconds)
16:35:05 × kawzeg quits (kawzeg@2a01:7e01::f03c:92ff:fee2:ec34) (Quit: WeeChat 4.3.0)
16:38:58 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
16:42:59 kawzeg joins (kawzeg@2a01:7e01::f03c:92ff:fee2:ec34)
16:45:14 × ubert quits (~Thunderbi@2a02:8109:ab8a:5a00:74f1:1caf:2629:a3c8) (Remote host closed the connection)
16:46:06 × acidjnk_new quits (~acidjnk@p200300d6e71c4f82640579a6e00084b6.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
16:52:45 ft joins (~ft@p508db463.dip0.t-ipconnect.de)
16:57:24 × ft quits (~ft@p508db463.dip0.t-ipconnect.de) (Client Quit)
16:59:14 ft joins (~ft@p508db463.dip0.t-ipconnect.de)
17:06:48 CiaoSen joins (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db)
17:10:31 × Natch quits (~natch@c-92-34-7-158.bbcust.telenor.se) (Remote host closed the connection)
17:14:36 × zungi quits (~tory@user/andrewchawk) (Ping timeout: 264 seconds)
17:15:56 Smiles joins (uid551636@id-551636.lymington.irccloud.com)
17:16:18 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 244 seconds)
17:16:47 × kawzeg quits (kawzeg@2a01:7e01::f03c:92ff:fee2:ec34) (Quit: WeeChat 4.3.0)
17:19:00 × CiaoSen quits (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 246 seconds)
17:21:40 kawzeg joins (~finn@2a01:4f9:c013:cfbf::1)
17:29:08 ash3en joins (~Thunderbi@ip1f10cbd6.dynamic.kabel-deutschland.de)
17:29:19 × tromp quits (~textual@2001:1c00:3487:1b00:29bc:7fae:9d9f:d545) (Quit: My iMac has gone to sleep. ZZZzzz…)
17:29:19 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
17:29:31 × kawzeg quits (~finn@2a01:4f9:c013:cfbf::1) (Quit: WeeChat 4.6.0)
17:29:55 kawzeg joins (~finn@2a01:4f9:c013:cfbf::1)
17:34:26 × kawzeg quits (~finn@2a01:4f9:c013:cfbf::1) (Client Quit)
17:37:41 × driib318 quits (~driib@vmi931078.contaboserver.net) (Quit: The Lounge - https://thelounge.chat)
17:37:51 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
17:40:15 driib318 joins (~driib@vmi931078.contaboserver.net)
17:42:47 zungi joins (~tory@user/andrewchawk)
17:44:30 tromp joins (~textual@2001:1c00:3487:1b00:29bc:7fae:9d9f:d545)
17:47:14 euphores joins (~SASL_euph@user/euphores)
17:47:21 kawzeg joins (~finn@2a01:4f9:c013:cfbf::1)
17:48:12 × chele quits (~chele@user/chele) (Remote host closed the connection)
17:51:10 × kawzeg quits (~finn@2a01:4f9:c013:cfbf::1) (Client Quit)
17:51:27 kawzeg joins (kawzeg@2a01:4f9:c013:cfbf::1)
17:52:03 × kawzeg quits (kawzeg@2a01:4f9:c013:cfbf::1) (Client Quit)
17:53:42 CiaoSen joins (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db)
17:55:29 kawzeg joins (kawzeg@2a01:4f9:c013:cfbf::1)
18:00:07 machinedgod joins (~machinedg@d108-173-18-100.abhsia.telus.net)
18:00:48 × Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
18:01:23 × gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving)
18:02:30 × ash3en quits (~Thunderbi@ip1f10cbd6.dynamic.kabel-deutschland.de) (Ping timeout: 265 seconds)
18:06:25 acidjnk_new joins (~acidjnk@p200300d6e71c4f82f0c745920bdd4e91.dip0.t-ipconnect.de)
18:08:29 target_i joins (~target_i@user/target-i/x-6023099)
18:09:37 × Googulator18 quits (~Googulato@2a01-036d-0106-211a-ac5d-24c1-ad5e-7f2b.pool6.digikabel.hu) (Quit: Client closed)
18:09:42 wootehfoot joins (~wootehfoo@user/wootehfoot)
18:09:57 Googulator18 joins (~Googulato@2a01-036d-0106-211a-ac5d-24c1-ad5e-7f2b.pool6.digikabel.hu)
18:11:38 ash3en joins (~Thunderbi@ip1f10cbd6.dynamic.kabel-deutschland.de)
18:15:44 × lxsameer quits (~lxsameer@Serene/lxsameer) (Ping timeout: 260 seconds)
18:16:33 j1n37 joins (~j1n37@user/j1n37)
18:17:22 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
18:18:06 × j1n37- quits (~j1n37@user/j1n37) (Ping timeout: 276 seconds)
18:22:44 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
18:22:57 todi1 joins (~todi@p57803331.dip0.t-ipconnect.de)
18:23:46 × todi quits (~todi@p57803331.dip0.t-ipconnect.de) (Ping timeout: 265 seconds)
18:29:02 sprotte24 joins (~sprotte24@p200300d16f057c00015ec09f124907ef.dip0.t-ipconnect.de)
18:33:11 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
18:33:27 ljdarj joins (~Thunderbi@user/ljdarj)
18:38:13 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
18:44:38 × dfg quits (~dfg@user/dfg) (Read error: Connection reset by peer)
18:46:33 <monochrom> Haha "GHCup discontinued" almost scared me.
18:46:35 dfg joins (~dfg@user/dfg)
18:47:06 <monochrom> Actually, s/almost//
18:48:59 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
18:56:12 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
18:59:46 <haskellbridge> <sm> yeah that was a good one
19:00:00 × caconym quits (~caconym@user/caconym) (Quit: bye)
19:00:49 caconym joins (~caconym@user/caconym)
19:00:50 × TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Remote host closed the connection)
19:02:20 × ash3en quits (~Thunderbi@ip1f10cbd6.dynamic.kabel-deutschland.de) (Ping timeout: 268 seconds)
19:04:11 <monochrom> and I have just added https://discourse.haskell.org/t/ghcup-discontinued-or-why-you-should-use-nix/11747/4 >:)
19:07:02 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
19:12:06 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
19:12:30 <EvanR> it's fine since I can totally install GHC by hand
19:12:36 <EvanR> APRIL FOOLS
19:13:10 <monochrom> I used to build GHC from source too.
19:13:26 <monochrom> (Excuse: GMP version.)
19:14:33 fp joins (~Thunderbi@hof1.kyla.fi)
19:15:48 × crabtastic quits (uid695166@id-695166.lymington.irccloud.com) (Quit: Connection closed for inactivity)
19:17:00 catties is now known as CatGPT
19:17:17 CatGPT is now known as catties
19:18:23 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
19:20:59 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
19:23:15 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
19:24:23 rvalue- joins (~rvalue@user/rvalue)
19:24:48 × Smiles quits (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity)
19:24:55 × rvalue quits (~rvalue@user/rvalue) (Ping timeout: 252 seconds)
19:28:26 × Googulator18 quits (~Googulato@2a01-036d-0106-211a-ac5d-24c1-ad5e-7f2b.pool6.digikabel.hu) (Quit: Client closed)
19:28:46 Googulator18 joins (~Googulato@2a01-036d-0106-211a-ac5d-24c1-ad5e-7f2b.pool6.digikabel.hu)
19:31:00 rvalue- is now known as rvalue
19:34:11 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
19:35:11 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
19:39:09 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
19:42:25 × aman quits (~aman@user/aman) (Ping timeout: 268 seconds)
19:48:15 thuna` joins (~thuna`@user/thuna/x-1480069)
19:48:20 × fp quits (~Thunderbi@hof1.kyla.fi) (Remote host closed the connection)
19:49:03 × machinedgod quits (~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 252 seconds)
19:49:59 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
19:50:41 machinedgod joins (~machinedg@d108-173-18-100.abhsia.telus.net)
19:51:10 mastarija joins (~mastarija@141-136-168-202.dsl.iskon.hr)
19:52:18 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 248 seconds)
19:54:11 <mastarija> Can someone explain to me the current state of GHC's JavaScript backend? From what I understand, the machinery is there, it's just not enabled by default?
19:54:29 <mastarija> Like, we can't crosscompile to JS by default.
19:54:52 <mastarija> For that we'd have to build a custom GHC with JS backend enabled.
19:55:00 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
19:55:41 × tromp quits (~textual@2001:1c00:3487:1b00:29bc:7fae:9d9f:d545) (Quit: My iMac has gone to sleep. ZZZzzz…)
19:55:58 <mastarija> But, can we build a GHC that can compile to both JS and x86/x64? Or do we have to build a separate version of the compiler for each target platform / architecture?
19:57:27 tromp joins (~textual@2001:1c00:3487:1b00:29bc:7fae:9d9f:d545)
19:57:30 <__monty__> Isn't GHC multi-target?
19:57:36 <APic> lol
19:58:00 <mastarija> That's my question __monty__ :)
19:58:38 <geekosaur> right now you need a separate ghc for each target. multi-target is a work in progress, and I think hasn't gotten very far yet
19:58:40 <mastarija> But apparently not from what I'm reading, at least for the JS / Wasm at the moment.
19:59:26 tzh_ joins (~tzh@c-76-115-131-146.hsd1.or.comcast.net)
19:59:36 <geekosaur> (but wasm is pushing it, at least. that said, they're working more on stabilizing wasm support right now, not on making it multi-target-able)
20:00:08 × tzh quits (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Ping timeout: 252 seconds)
20:00:17 <mastarija> geekosaur, do you know if there's a nix package for JS backend? I haven't seen one, but maybe I'm blind.
20:00:29 <geekosaur> I don't really use nix, so no
20:00:40 <mastarija> Np. Thanks for the info.
20:00:41 <geekosaur> there might be one in haskell.nix
20:04:29 <davean> mastarija: nix develop github:input-output-hk/devx#ghc962-js-minimal
20:04:32 <davean> etc
20:05:46 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
20:10:23 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
20:18:10 × CiaoSen quits (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 244 seconds)
20:19:23 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
20:22:38 alp joins (~alp@2001:861:8ca0:4940:c0f0:67e7:6efa:7e25)
20:24:20 aman joins (~aman@user/aman)
20:25:40 × hgolden quits (~hgolden@2603:8000:9d00:3ed1:1b03:b08c:d961:6530) (Remote host closed the connection)
20:26:10 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
20:31:22 × michalz quits (~michalz@185.246.207.221) (Remote host closed the connection)
20:31:25 jess joins (meow@libera/staff/cat/jess)
20:32:16 hgolden joins (~hgolden@2603:8000:9d00:3ed1:1b03:b08c:d961:6530)
20:32:20 × takuan quits (~takuan@d8D86B601.access.telenet.be) (Remote host closed the connection)
20:37:26 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
20:41:50 jacopovalanzano joins (~jacopoval@cpc151911-cove17-2-0-cust105.3-1.cable.virginm.net)
20:42:14 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
20:43:13 ash3en joins (~Thunderbi@ip1f10cbd6.dynamic.kabel-deutschland.de)
20:43:48 Square2 joins (~Square@user/square)
20:45:38 Sgeo joins (~Sgeo@user/sgeo)
20:46:13 × alp quits (~alp@2001:861:8ca0:4940:c0f0:67e7:6efa:7e25) (Ping timeout: 248 seconds)
20:47:21 × Square quits (~Square4@user/square) (Ping timeout: 252 seconds)
20:48:37 × ash3en quits (~Thunderbi@ip1f10cbd6.dynamic.kabel-deutschland.de) (Remote host closed the connection)
20:53:15 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
20:58:04 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
21:01:25 gmg joins (~user@user/gehmehgeh)
21:02:12 Natch joins (~natch@c-92-34-7-158.bbcust.telenor.se)
21:08:29 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
21:09:01 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
21:13:58 × dhil quits (~dhil@2a0c:b381:52e:3600:a9d5:fde7:3316:82e2) (Ping timeout: 244 seconds)
21:14:16 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds)
21:16:44 × mastarija quits (~mastarija@141-136-168-202.dsl.iskon.hr) (Quit: Client closed)
21:20:23 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
21:22:18 × Googulator18 quits (~Googulato@2a01-036d-0106-211a-ac5d-24c1-ad5e-7f2b.pool6.digikabel.hu) (Quit: Client closed)
21:22:21 × tessier quits (~tessier@ip68-8-117-219.sd.sd.cox.net) (Quit: leaving)
21:22:50 Googulator18 joins (~Googulato@178-164-243-34.pool.digikabel.hu)
21:25:03 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
21:28:26 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 244 seconds)
21:30:23 × tabaqui quits (~tabaqui@167.71.80.236) (Ping timeout: 245 seconds)
21:36:04 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
21:39:28 × weary-traveler quits (~user@user/user363627) (Remote host closed the connection)
21:41:26 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
21:49:24 tessier joins (~tessier@ip68-8-117-219.sd.sd.cox.net)
21:50:56 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
21:51:49 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
21:52:37 × tromp quits (~textual@2001:1c00:3487:1b00:29bc:7fae:9d9f:d545) (Quit: My iMac has gone to sleep. ZZZzzz…)
21:55:32 × berberman quits (~berberman@user/berberman) (Quit: ZNC 1.8.2 - https://znc.in)
21:55:54 berberman joins (~berberman@user/berberman)
21:56:44 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
21:57:07 Tuplanolla joins (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi)
22:02:17 × berberman quits (~berberman@user/berberman) (Read error: Connection reset by peer)
22:03:20 berberman joins (~berberman@user/berberman)
22:06:34 × notdabs quits (~Owner@2600:1700:69cf:9000:553a:e935:8c4f:3651) (Ping timeout: 260 seconds)
22:07:37 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
22:10:26 weary-traveler joins (~user@user/user363627)
22:11:42 ljdarj1 joins (~Thunderbi@user/ljdarj)
22:12:30 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
22:13:41 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 248 seconds)
22:13:41 ljdarj1 is now known as ljdarj
22:20:46 × toby-bro quits (~toby-bro@user/toby-bro) (Ping timeout: 272 seconds)
22:21:23 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
22:26:05 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
22:26:32 Guest86 joins (~Guest86@46.161.250.98)
22:33:20 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
22:35:10 × target_i quits (~target_i@user/target-i/x-6023099) (Quit: leaving)
22:35:15 × Guest86 quits (~Guest86@46.161.250.98) (Quit: Client closed)
22:36:13 × tessier quits (~tessier@ip68-8-117-219.sd.sd.cox.net) (Ping timeout: 245 seconds)
22:37:10 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
22:37:28 × Square2 quits (~Square@user/square) (Ping timeout: 245 seconds)
22:38:10 tessier joins (~tessier@ec2-184-72-149-67.compute-1.amazonaws.com)
22:41:54 ljdarj1 joins (~Thunderbi@user/ljdarj)
22:42:12 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
22:44:29 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 260 seconds)
22:44:29 ljdarj1 is now known as ljdarj
22:52:57 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
22:57:58 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
23:01:37 × xff0x quits (~xff0x@2405:6580:b080:900:974d:9d72:56de:9211) (Quit: xff0x)
23:04:31 × bramh quits (~bramh@user/bramh) (Quit: bye)
23:08:45 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
23:09:42 xff0x joins (~xff0x@2405:6580:b080:900:65f4:9be1:13af:2ebf)
23:10:08 bramh joins (~bramh@user/bramh)
23:13:56 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
23:20:17 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
23:22:22 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
23:27:14 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
23:30:40 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 244 seconds)
23:38:11 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
23:43:21 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
23:45:19 × acidjnk_new quits (~acidjnk@p200300d6e71c4f82f0c745920bdd4e91.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
23:53:10 emmanuelux joins (~emmanuelu@user/emmanuelux)
23:53:55 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
23:58:09 × sprotte24 quits (~sprotte24@p200300d16f057c00015ec09f124907ef.dip0.t-ipconnect.de) (Quit: Leaving)

All times are in UTC on 2025-04-01.