2026/02/14

2026-02-14 00:03:50 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-02-14 00:05:49 +0000caubert(~caubert@user/caubert) caubert
2026-02-14 00:05:57 +0000weary-traveler(~user@user/user363627) (Remote host closed the connection)
2026-02-14 00:09:45 +0000khumba(~khumba@user/khumba) khumba
2026-02-14 00:10:59 +0000caubert(~caubert@user/caubert) (Ping timeout: 252 seconds)
2026-02-14 00:15:20 +0000 <yin> is hackage slow or what?
2026-02-14 00:17:00 +0000w00ter(~w00ter@user/w00ter) w00ter
2026-02-14 00:17:39 +0000califax(~califax@user/califx) (Remote host closed the connection)
2026-02-14 00:17:39 +0000ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2026-02-14 00:17:39 +0000marinelli(~weechat@gateway/tor-sasl/marinelli) (Remote host closed the connection)
2026-02-14 00:17:51 +0000 <haskellbridge> <maerwald> Always
2026-02-14 00:17:58 +0000califax(~califax@user/califx) califx
2026-02-14 00:18:08 +0000marinelli(~weechat@gateway/tor-sasl/marinelli) marinelli
2026-02-14 00:18:11 +0000 <geekosaur> auto-status says it's having problems
2026-02-14 00:18:13 +0000ChaiTRex(~ChaiTRex@user/chaitrex) ChaiTRex
2026-02-14 00:20:05 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 00:21:33 +0000 <haskellbridge> <sm> flora.pm too, at the same time, unfortunately. You can still view haddocks at stackage though.
2026-02-14 00:24:55 +0000 <geekosaur> sadly, it's causing a CI fail for me
2026-02-14 00:25:31 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-02-14 00:26:30 +0000Tuplanolla(~Tuplanoll@85-156-32-207.elisa-laajakaista.fi) (Quit: Leaving.)
2026-02-14 00:28:12 +0000 <haskellbridge> <sm> flora's outage started 8 hours ago, and the problem with hackage's haddocks half an hour ago. I guess they're not related.
2026-02-14 00:28:35 +0000 <haskellbridge> <sm> the rest of hackage seems ok
2026-02-14 00:29:31 +0000 <Clint> i have sporadic timeouts
2026-02-14 00:35:54 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 00:41:14 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-02-14 00:41:23 +0000caubert(~caubert@user/caubert) caubert
2026-02-14 00:42:09 +0000sefidel(~sefidel@user/sefidel) (Ping timeout: 260 seconds)
2026-02-14 00:42:43 +0000califax(~califax@user/califx) (Remote host closed the connection)
2026-02-14 00:42:58 +0000califax(~califax@user/califx) califx
2026-02-14 00:45:31 +0000eason(~eason@user/eason) eason
2026-02-14 00:48:56 +0000wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2026-02-14 00:51:56 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 00:54:59 +0000eason(~eason@user/eason) (Ping timeout: 252 seconds)
2026-02-14 00:58:50 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-02-14 00:59:58 +0000sefidel(~sefidel@user/sefidel) sefidel
2026-02-14 01:04:20 +0000sefidel(~sefidel@user/sefidel) (Ping timeout: 244 seconds)
2026-02-14 01:09:58 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 01:15:01 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-02-14 01:18:26 +0000omidmash1(~omidmash@user/omidmash) omidmash
2026-02-14 01:20:21 +0000omidmash(~omidmash@user/omidmash) (Ping timeout: 244 seconds)
2026-02-14 01:20:21 +0000omidmash1omidmash
2026-02-14 01:25:44 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 01:30:44 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-02-14 01:35:09 +0000khumba(~khumba@user/khumba) ()
2026-02-14 01:36:43 +0000GdeVolpiano(~GdeVolpia@user/GdeVolpiano) (Ping timeout: 246 seconds)
2026-02-14 01:38:48 +0000GdeVolpiano(~GdeVolpia@user/GdeVolpiano) GdeVolpiano
2026-02-14 01:41:32 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 01:45:37 +0000caubert(~caubert@user/caubert) (Ping timeout: 264 seconds)
2026-02-14 01:46:41 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-02-14 01:53:36 +0000caubert(~caubert@user/caubert) caubert
2026-02-14 01:55:16 +0000acidjnk(~acidjnk@p200300d6e700e5608d0c25f05fb9749b.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
2026-02-14 01:57:18 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 02:00:01 +0000caubert(~caubert@user/caubert) (Ping timeout: 264 seconds)
2026-02-14 02:04:49 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-02-14 02:06:51 +0000sefidel(~sefidel@user/sefidel) sefidel
2026-02-14 02:12:54 +0000caubert(~caubert@user/caubert) caubert
2026-02-14 02:14:36 +0000sefidel(~sefidel@user/sefidel) (Ping timeout: 244 seconds)
2026-02-14 02:18:12 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 02:25:44 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-14 02:26:42 +0000s3np41(~s3np41@078088254000.unknown.vectranet.pl) (Quit: WeeChat 4.8.1)
2026-02-14 02:37:31 +0000machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) (Ping timeout: 264 seconds)
2026-02-14 02:38:56 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 02:45:44 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-14 02:58:18 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 03:03:08 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-02-14 03:13:42 +0000Vizious(~bes@user/Vizious) Vizious
2026-02-14 03:14:32 +0000td_(~td@i5387090A.versanet.de) (Ping timeout: 244 seconds)
2026-02-14 03:14:37 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 03:16:35 +0000td_(~td@i5387091C.versanet.de)
2026-02-14 03:17:26 +0000caubert(~caubert@user/caubert) (Ping timeout: 252 seconds)
2026-02-14 03:17:27 +0000omidmash(~omidmash@user/omidmash) (Quit: The Lounge - https://thelounge.chat)
2026-02-14 03:19:49 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-02-14 03:22:02 +0000omidmash(~omidmash@user/omidmash) omidmash
2026-02-14 03:25:54 +0000attlin(~user@user/attlin) (Ping timeout: 244 seconds)
2026-02-14 03:30:33 +0000caubert(~caubert@user/caubert) caubert
2026-02-14 03:32:10 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 03:36:41 +0000caubert(~caubert@user/caubert) (Ping timeout: 252 seconds)
2026-02-14 03:37:31 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-02-14 03:40:40 +0000mange(~mange@user/mange) mange
2026-02-14 03:40:44 +0000xff0x(~xff0x@ai083101.d.east.v6connect.net) (Ping timeout: 245 seconds)
2026-02-14 03:48:43 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 03:53:44 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-02-14 03:54:03 +0000caubert(~caubert@user/caubert) caubert
2026-02-14 03:58:41 +0000caubert(~caubert@user/caubert) (Ping timeout: 252 seconds)
2026-02-14 04:03:53 +0000xff0x(~xff0x@2405:6580:b080:900:5cce:24e5:6536:44dc)
2026-02-14 04:05:22 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 04:07:13 +0000jmcantrell(~weechat@user/jmcantrell) (Ping timeout: 264 seconds)
2026-02-14 04:10:19 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-14 04:22:24 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 04:28:55 +0000caubert(~caubert@user/caubert) caubert
2026-02-14 04:29:25 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-02-14 04:31:53 +0000eason(~eason@user/eason) eason
2026-02-14 04:32:46 +0000polykernel_(~polykerne@user/polykernel) polykernel
2026-02-14 04:35:25 +0000polykernel(~polykerne@user/polykernel) (Ping timeout: 264 seconds)
2026-02-14 04:35:25 +0000polykernel_polykernel
2026-02-14 04:40:55 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 04:46:13 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-02-14 04:58:48 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 05:03:39 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-14 05:11:01 +0000sefidel(~sefidel@user/sefidel) sefidel
2026-02-14 05:15:49 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 05:20:44 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-14 05:21:32 +0000sp1ff(~user@2601:1c2:4701:7850::1844) sp1ff
2026-02-14 05:23:28 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 05:28:20 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-02-14 05:38:23 +0000lol__(~lol@2603:3016:1e01:b940:68ef:3a08:e1ae:d136) (Quit: Leaving)
2026-02-14 05:38:30 +0000lol__(~lol@2603:3016:1e01:b940:75b2:faa1:cf91:eeec)
2026-02-14 05:39:34 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 05:44:29 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-14 05:50:43 +0000Square2(~Square@user/square) (Ping timeout: 260 seconds)
2026-02-14 05:52:32 +0000emaczen(~user@user/emaczen) (Ping timeout: 252 seconds)
2026-02-14 05:54:09 +0000hakutaku(~textual@user/hakutaku) hakutaku
2026-02-14 05:56:34 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 06:00:07 +0000attlin(~user@user/attlin) attlin
2026-02-14 06:00:34 +0000prdak(~Thunderbi@user/prdak) prdak
2026-02-14 06:01:56 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2026-02-14 06:03:07 +0000chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2026-02-14 06:03:23 +0000chexum(~quassel@gateway/tor-sasl/chexum) chexum
2026-02-14 06:05:02 +0000prdak(~Thunderbi@user/prdak) (Ping timeout: 244 seconds)
2026-02-14 06:13:34 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 06:15:53 +0000eason(~eason@user/eason) (Ping timeout: 244 seconds)
2026-02-14 06:18:04 +0000haritz(~hrtz@user/haritz) (Remote host closed the connection)
2026-02-14 06:18:20 +0000takuan(~takuan@d8D86B9E9.access.telenet.be)
2026-02-14 06:20:35 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-02-14 06:24:48 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 06:29:04 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-14 06:36:01 +0000califax(~califax@user/califx) (Remote host closed the connection)
2026-02-14 06:36:07 +0000califax_(~califax@user/califx) califx
2026-02-14 06:36:13 +0000omidmash(~omidmash@user/omidmash) (Quit: The Lounge - https://thelounge.chat)
2026-02-14 06:37:25 +0000califax_califax
2026-02-14 06:40:39 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 06:41:14 +0000omidmash(~omidmash@user/omidmash) omidmash
2026-02-14 06:45:53 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-02-14 06:58:06 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 07:03:01 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-02-14 07:10:20 +0000tromp(~textual@2001:1c00:3487:1b00:701a:bd9c:28fd:d022)
2026-02-14 07:12:19 +0000humasect(~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...)
2026-02-14 07:14:21 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 07:19:26 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-02-14 07:21:59 +0000xff0x(~xff0x@2405:6580:b080:900:5cce:24e5:6536:44dc) (Ping timeout: 245 seconds)
2026-02-14 07:25:26 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 07:26:33 +0000Enrico63(~Enrico63@host-82-63-21-32.business.telecomitalia.it) Enrico63
2026-02-14 07:29:10 +0000xff0x(~xff0x@2405:6580:b080:900:9c89:4c9f:731a:2a84)
2026-02-14 07:30:26 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-02-14 07:33:09 +0000hakutaku(~textual@user/hakutaku) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2026-02-14 07:42:06 +0000Enrico63(~Enrico63@host-82-63-21-32.business.telecomitalia.it) (Quit: Client closed)
2026-02-14 07:42:09 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 07:49:08 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-02-14 07:52:03 +0000hakutaku(~textual@user/hakutaku) hakutaku
2026-02-14 07:58:11 +0000caubert(~caubert@user/caubert) (Ping timeout: 244 seconds)
2026-02-14 08:02:25 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 08:07:24 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-14 08:10:36 +0000caubert(~caubert@user/caubert) caubert
2026-02-14 08:13:14 +0000tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
2026-02-14 08:16:30 +0000ljdarj(~Thunderbi@user/ljdarj) ljdarj
2026-02-14 08:16:34 +0000caubert(~caubert@user/caubert) (Ping timeout: 245 seconds)
2026-02-14 08:17:19 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 08:17:42 +0000Enrico63(~Enrico63@host-82-63-21-32.business.telecomitalia.it) Enrico63
2026-02-14 08:21:59 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-14 08:24:51 +0000Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2026-02-14 08:26:30 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 08:27:33 +0000Enrico63(~Enrico63@host-82-63-21-32.business.telecomitalia.it) (Quit: Client closed)
2026-02-14 08:28:58 +0000caubert(~caubert@user/caubert) caubert
2026-02-14 08:31:09 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-14 08:38:13 +0000tromp(~textual@2001:1c00:3487:1b00:701a:bd9c:28fd:d022) (Quit: My iMac has gone to sleep. ZZZzzz…)
2026-02-14 08:42:48 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 08:46:36 +0000tromp(~textual@2001:1c00:3487:1b00:701a:bd9c:28fd:d022)
2026-02-14 08:47:59 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-02-14 08:57:20 +0000caubert(~caubert@user/caubert) (Ping timeout: 252 seconds)
2026-02-14 08:58:57 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 09:03:39 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-14 09:11:38 +0000oskarw(~user@user/oskarw) oskarw
2026-02-14 09:11:57 +0000caubert(~caubert@user/caubert) caubert
2026-02-14 09:15:39 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 09:20:12 +0000califax(~califax@user/califx) (Remote host closed the connection)
2026-02-14 09:20:19 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-14 09:20:27 +0000califax(~califax@user/califx) califx
2026-02-14 09:24:19 +0000jle`(~jle`@2603:8001:3b00:11:6773:850f:e41e:de84) (Ping timeout: 264 seconds)
2026-02-14 09:27:26 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 09:34:31 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-02-14 09:43:35 +0000ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 244 seconds)
2026-02-14 09:46:47 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 09:51:34 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-14 10:00:51 +0000tromp(~textual@2001:1c00:3487:1b00:701a:bd9c:28fd:d022) (Quit: My iMac has gone to sleep. ZZZzzz…)
2026-02-14 10:03:59 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 10:06:04 +0000tromp(~textual@2001:1c00:3487:1b00:701a:bd9c:28fd:d022)
2026-02-14 10:08:50 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-02-14 10:09:37 +0000caubert(~caubert@user/caubert) (Ping timeout: 264 seconds)
2026-02-14 10:20:02 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 10:21:13 +0000picnoir(~picnoir@about/aquilenet/vodoo/NinjaTrappeur) (Quit: WeeChat 4.8.1)
2026-02-14 10:22:11 +0000caubert(~caubert@user/caubert) caubert
2026-02-14 10:23:18 +0000picnoir(~picnoir@about/aquilenet/vodoo/NinjaTrappeur) NinjaTrappeur
2026-02-14 10:24:54 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-14 10:26:29 +0000Googulator(~Googulato@2a01-036d-0106-499d-6164-ec92-51a0-9cde.pool6.digikabel.hu) (Quit: Client closed)
2026-02-14 10:26:34 +0000caubert(~caubert@user/caubert) (Ping timeout: 245 seconds)
2026-02-14 10:26:43 +0000Googulator(~Googulato@2a01-036d-0106-499d-6164-ec92-51a0-9cde.pool6.digikabel.hu)
2026-02-14 10:26:48 +0000divlamir(~divlamir@user/divlamir) (Read error: Connection reset by peer)
2026-02-14 10:27:03 +0000divlamir(~divlamir@user/divlamir) divlamir
2026-02-14 10:28:12 +0000op_4(~tslil@user/op-4/x-9116473) (Remote host closed the connection)
2026-02-14 10:28:31 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 10:30:37 +0000op_4(~tslil@user/op-4/x-9116473) op_4
2026-02-14 10:33:40 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-14 10:34:08 +0000hakutaku(~textual@user/hakutaku) (Ping timeout: 252 seconds)
2026-02-14 10:35:07 +0000op_4(~tslil@user/op-4/x-9116473) (Remote host closed the connection)
2026-02-14 10:35:43 +0000op_4(~tslil@user/op-4/x-9116473) op_4
2026-02-14 10:35:45 +0000lxsameer(~lxsameer@Serene/lxsameer) lxsameer
2026-02-14 10:39:17 +0000caubert(~caubert@user/caubert) caubert
2026-02-14 10:41:40 +0000acidjnk(~acidjnk@p200300d6e700e5606490ca8182989074.dip0.t-ipconnect.de) acidjnk
2026-02-14 10:44:02 +0000caubert(~caubert@user/caubert) (Ping timeout: 252 seconds)
2026-02-14 10:46:24 +0000wootehfoot(~wootehfoo@user/wootehfoot) wootehfoot
2026-02-14 10:46:38 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 10:48:57 +0000ljdarj(~Thunderbi@user/ljdarj) ljdarj
2026-02-14 10:49:11 +0000caubert(~caubert@user/caubert) caubert
2026-02-14 10:51:34 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-14 10:57:53 +0000machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) machinedgod
2026-02-14 11:03:12 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 11:08:14 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-02-14 11:08:24 +0000hakutaku(~textual@user/hakutaku) hakutaku
2026-02-14 11:11:24 +0000Tuplanolla(~Tuplanoll@85-156-32-207.elisa-laajakaista.fi) Tuplanolla
2026-02-14 11:14:50 +0000Digit(~user@user/digit) (Ping timeout: 252 seconds)
2026-02-14 11:19:12 +0000spew(~spew@user/spew) (Quit: nyaa~)
2026-02-14 11:20:17 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 11:26:58 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2026-02-14 11:29:28 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 11:31:24 +0000Googulator(~Googulato@2a01-036d-0106-499d-6164-ec92-51a0-9cde.pool6.digikabel.hu) (Quit: Client closed)
2026-02-14 11:31:34 +0000Googulator(~Googulato@2a01-036d-0106-499d-6164-ec92-51a0-9cde.pool6.digikabel.hu)
2026-02-14 11:32:36 +0000fp(~Thunderbi@2001-14ba-6e24-3000--198.rev.dnainternet.fi) fp
2026-02-14 11:34:38 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-02-14 11:35:03 +0000mange(~mange@user/mange) (Quit: Zzz...)
2026-02-14 11:35:43 +0000fp(~Thunderbi@2001-14ba-6e24-3000--198.rev.dnainternet.fi) (Client Quit)
2026-02-14 11:40:28 +0000Digit(~user@user/digit) Digit
2026-02-14 11:46:33 +0000merijn(~merijn@62.45.136.136) merijn
2026-02-14 11:47:47 +0000Digitdigitteknohippie
2026-02-14 11:48:43 +0000digitteknohippieDigit
2026-02-14 11:51:09 +0000merijn(~merijn@62.45.136.136) (Ping timeout: 245 seconds)
2026-02-14 11:56:48 +0000wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2026-02-14 12:02:13 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 12:08:08 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2026-02-14 12:11:29 +0000caubert(~caubert@user/caubert) (Ping timeout: 252 seconds)
2026-02-14 12:16:43 +0000emmanuelux(~em@user/emmanuelux) emmanuelux
2026-02-14 12:18:56 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 12:25:49 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-02-14 12:26:23 +0000caubert(~caubert@user/caubert) caubert
2026-02-14 12:28:22 +0000emmanuelux_(~em@92-184-96-253.mobile.fr.orangecustomers.net)
2026-02-14 12:29:04 +0000emmanuelux(~em@user/emmanuelux) (Ping timeout: 245 seconds)
2026-02-14 12:30:28 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 12:31:13 +0000caubert(~caubert@user/caubert) (Ping timeout: 264 seconds)
2026-02-14 12:35:19 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-14 12:42:10 +0000diabloblanco(~diablobla@user/diabloblanco) diabloblanco
2026-02-14 12:42:34 +0000ZLima12(~zlima12@user/meow/ZLima12) (Ping timeout: 260 seconds)
2026-02-14 12:42:50 +0000ZLima12(~zlima12@user/meow/ZLima12) ZLima12
2026-02-14 12:43:21 +0000caubert(~caubert@user/caubert) caubert
2026-02-14 12:47:02 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 12:47:49 +0000caubert(~caubert@user/caubert) (Ping timeout: 245 seconds)
2026-02-14 12:49:04 +0000lxsameer(~lxsameer@Serene/lxsameer) (Ping timeout: 245 seconds)
2026-02-14 12:51:59 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-14 13:00:44 +0000caubert(~caubert@user/caubert) caubert
2026-02-14 13:04:02 +0000merijn(~merijn@62.45.136.136) merijn
2026-02-14 13:04:55 +0000troydm(~troydm@user/troydm) troydm
2026-02-14 13:05:56 +0000caubert(~caubert@user/caubert) (Ping timeout: 252 seconds)
2026-02-14 13:11:00 +0000merijn(~merijn@62.45.136.136) (Ping timeout: 252 seconds)
2026-02-14 13:21:19 +0000Jackneill(~Jackneill@94-21-15-238.pool.digikabel.hu) Jackneill
2026-02-14 13:21:39 +0000Jackneill(~Jackneill@94-21-15-238.pool.digikabel.hu) (Max SendQ exceeded)
2026-02-14 13:22:25 +0000ames(~amelia@offtopia/offtopian/amelia) (Ping timeout: 245 seconds)
2026-02-14 13:23:05 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 13:27:09 +0000jonnie(~jonnie@user/jonnie) jonnie
2026-02-14 13:27:26 +0000hakutaku(~textual@user/hakutaku) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2026-02-14 13:27:49 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-14 13:28:14 +0000notzmv(~umar@user/notzmv) notzmv
2026-02-14 13:28:49 +0000pavonia(~user@user/siracusa) (Quit: Bye!)
2026-02-14 13:31:29 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 13:34:41 +0000wootehfoot(~wootehfoo@user/wootehfoot) wootehfoot
2026-02-14 13:36:44 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-02-14 13:37:07 +0000caubert(~caubert@user/caubert) caubert
2026-02-14 13:37:08 +0000diabloblanco(~diablobla@user/diabloblanco) (Remote host closed the connection)
2026-02-14 13:46:38 +0000caubert(~caubert@user/caubert) (Ping timeout: 252 seconds)
2026-02-14 13:50:07 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 13:54:41 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2026-02-14 14:07:29 +0000caubert(~caubert@user/caubert) caubert
2026-02-14 14:07:42 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 14:12:29 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-02-14 14:12:37 +0000caubert(~caubert@user/caubert) (Ping timeout: 264 seconds)
2026-02-14 14:14:47 +0000CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) CiaoSen
2026-02-14 14:19:07 +0000CiaoSen(~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 250 seconds)
2026-02-14 14:24:08 +0000ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 244 seconds)
2026-02-14 14:24:32 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 14:25:45 +0000emmanuelux_(~em@92-184-96-253.mobile.fr.orangecustomers.net) (Quit: bye)
2026-02-14 14:26:19 +0000ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2026-02-14 14:26:41 +0000ChaiTRex(~ChaiTRex@user/chaitrex) ChaiTRex
2026-02-14 14:27:16 +0000ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2026-02-14 14:27:36 +0000ChaiTRex(~ChaiTRex@user/chaitrex) ChaiTRex
2026-02-14 14:29:05 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-14 14:31:31 +0000Enrico63(~Enrico63@host-82-63-21-32.business.telecomitalia.it) Enrico63
2026-02-14 14:36:22 +0000ames(~amelia@offtopia/offtopian/amelia) {ames}
2026-02-14 14:41:05 +0000caubert(~caubert@user/caubert) caubert
2026-02-14 14:41:17 +0000polykernel(~polykerne@user/polykernel) (Remote host closed the connection)
2026-02-14 14:41:36 +0000polykernel(~polykerne@user/polykernel) polykernel
2026-02-14 14:47:01 +0000wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2026-02-14 14:48:19 +0000Milan(~Milan@88.212.61.169)
2026-02-14 14:48:31 +0000Milan(~Milan@88.212.61.169) (Remote host closed the connection)
2026-02-14 14:50:18 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 14:53:14 +0000karenw_(~karenw@user/karenw) karenw
2026-02-14 14:54:54 +0000weary-traveler(~user@user/user363627) user363627
2026-02-14 14:55:23 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-02-14 14:56:39 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2026-02-14 14:57:58 +0000lxsameer(~lxsameer@Serene/lxsameer) lxsameer
2026-02-14 14:58:23 +0000jle`(~jle`@2603:8001:3b00:11:6d67:a516:e093:4066) jle`
2026-02-14 15:07:49 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 15:13:04 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2026-02-14 15:25:18 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 15:25:38 +0000ystael(~ystael@user/ystael) (Ping timeout: 252 seconds)
2026-02-14 15:27:32 +0000ystael(~ystael@user/ystael) ystael
2026-02-14 15:30:19 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-02-14 15:34:54 +0000tromp(~textual@2001:1c00:3487:1b00:701a:bd9c:28fd:d022) (Quit: My iMac has gone to sleep. ZZZzzz…)
2026-02-14 15:41:37 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 15:45:26 +0000caubert(~caubert@user/caubert) (Ping timeout: 252 seconds)
2026-02-14 15:48:11 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-02-14 15:55:41 +0000tromp(~textual@2001:1c00:3487:1b00:701a:bd9c:28fd:d022)
2026-02-14 15:57:45 +0000caubert(~caubert@user/caubert) caubert
2026-02-14 15:58:59 +0000jmcantrell_(~weechat@user/jmcantrell) jmcantrell
2026-02-14 16:00:19 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 16:01:23 +0000lxsameer(~lxsameer@Serene/lxsameer) (Ping timeout: 252 seconds)
2026-02-14 16:02:25 +0000caubert(~caubert@user/caubert) (Ping timeout: 264 seconds)
2026-02-14 16:05:14 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-02-14 16:05:42 +0000Sgeo(~Sgeo@user/sgeo) Sgeo
2026-02-14 16:06:09 +0000cipherrot(~jez@user/petrichor) (Ping timeout: 245 seconds)
2026-02-14 16:14:55 +0000jmcantrell_jmcantrell
2026-02-14 16:15:25 +0000petrichor(~jez@user/petrichor) petrichor
2026-02-14 16:17:25 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 16:18:10 +0000wootehfoot(~wootehfoo@user/wootehfoot) wootehfoot
2026-02-14 16:22:24 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-14 16:25:58 +0000caubert(~caubert@user/caubert) caubert
2026-02-14 16:30:19 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 16:32:46 +0000karenw_(~karenw@user/karenw) (Quit: Deep into that darkness peering...)
2026-02-14 16:32:59 +0000karenw_(~karenw@user/karenw) karenw
2026-02-14 16:36:28 +0000caubert(~caubert@user/caubert) (Ping timeout: 260 seconds)
2026-02-14 16:38:28 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2026-02-14 16:46:27 +0000mulk(~mulk@p5b1128da.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
2026-02-14 16:48:06 +0000mulk(~mulk@pd95140e6.dip0.t-ipconnect.de) mulk
2026-02-14 16:48:40 +0000caubert(~caubert@user/caubert) caubert
2026-02-14 16:49:37 +0000lxsameer(~lxsameer@Serene/lxsameer) lxsameer
2026-02-14 16:51:31 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 16:51:34 +0000larsivi(~larsivi@user/larsivi) larsivi
2026-02-14 16:53:39 +0000caubert(~caubert@user/caubert) (Ping timeout: 245 seconds)
2026-02-14 16:54:15 +0000 <larsivi> Good afternoon! Newbie here trying to do something like ceiling(x / y), where x and y are Integers or so. This gives me RealFrac woes. Why doesn't this work out-of-the-box?
2026-02-14 16:55:00 +0000 <haskellbridge> <alexfmpe> What do you expect the type and value of, say, 3/2 to be?
2026-02-14 16:55:17 +0000 <haskellbridge> <alexfmpe> If you want integer division, use `div` instead of /
2026-02-14 16:55:58 +0000 <haskellbridge> <alexfmpe> If you want 1.5, convert the arguments to Float or Double or Rational or Scientific or so
2026-02-14 16:56:21 +0000 <mauke> > let { ceilDiv x y = (x + y - 1) `div` y } in 3 `ceilDiv` 2
2026-02-14 16:56:23 +0000 <lambdabot> 2
2026-02-14 16:56:49 +0000 <haskellbridge> <alexfmpe> Or keep thjngs polymorphic with Integral/RealFrac and make use sites decide the type
2026-02-14 16:57:01 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-02-14 16:57:11 +0000 <haskellbridge> <alexfmpe> What do you expect the semantics and type of, say, 3/2 to be?
2026-02-14 16:58:36 +0000 <larsivi> I want 1.5 - compiler tells me the result is Fractional
2026-02-14 16:58:55 +0000 <mauke> that's not a ceiling
2026-02-14 16:58:56 +0000 <larsivi> Of course, mauke's solution will also work for me
2026-02-14 16:59:22 +0000smiesner(b0cf5acf8c@user/smiesner) smiesner
2026-02-14 17:00:07 +0000 <larsivi> for 3/2 I want 2 to be the answer, 1.5 was a reply to the alex question above
2026-02-14 17:00:28 +0000 <mauke> > realToFrac 2
2026-02-14 17:00:29 +0000 <lambdabot> 2.0
2026-02-14 17:01:11 +0000samhh(7569f027cf@2a03:6000:1812:100::e4) (Ping timeout: 250 seconds)
2026-02-14 17:01:11 +0000samhh_samhh
2026-02-14 17:01:40 +0000samhh_(7569f027cf@2a03:6000:1812:100::e4) samhh
2026-02-14 17:01:40 +0000 <tomsmeding> larsivi: if you want to go via a floating point number, you'll have to explicitly convert first (using realToFrac as mauke just posted)
2026-02-14 17:01:58 +0000 <tomsmeding> Haskell does not automatically coerce numeric types like Javascript :)
2026-02-14 17:03:58 +0000karenw_(~karenw@user/karenw) (Quit: Deep into that darkness peering...)
2026-02-14 17:04:05 +0000 <larsivi> I get that tomsmeding :)
2026-02-14 17:04:35 +0000 <tomsmeding> well, this answers why 'ceiling (x / y)' does not work out-of-the-box :)
2026-02-14 17:04:57 +0000prdak(~Thunderbi@user/prdak) prdak
2026-02-14 17:05:05 +0000chr55(57a0c161b0@user/chr55) (Ping timeout: 250 seconds)
2026-02-14 17:07:41 +0000chr55(57a0c161b0@user/chr55) chr55
2026-02-14 17:08:35 +0000caubert(~caubert@user/caubert) caubert
2026-02-14 17:08:59 +0000eso(a0662dfd5e@2a03:6000:1812:100::1266) (Ping timeout: 250 seconds)
2026-02-14 17:09:16 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 17:09:35 +0000prdak(~Thunderbi@user/prdak) (Ping timeout: 252 seconds)
2026-02-14 17:09:48 +0000 <larsivi> Indeed :) I did also misunderstand the compiler error - I thought it was the result of the division that didn't typecheck, but it was the division itself. Thanks all!
2026-02-14 17:10:39 +0000eso(a0662dfd5e@2a03:6000:1812:100::1266) jeso
2026-02-14 17:11:35 +0000sweater(~sweater@206.81.18.26) (Ping timeout: 250 seconds)
2026-02-14 17:11:35 +0000s4msung(TgRRXvmJBT@user/s4msung) (Ping timeout: 250 seconds)
2026-02-14 17:11:54 +0000s4msung(koCZlVvn6A@user/s4msung) s4msung
2026-02-14 17:12:05 +0000sweater(~sweater@206.81.18.26) sweater
2026-02-14 17:12:11 +0000 <tomsmeding> ah :)
2026-02-14 17:13:59 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-02-14 17:16:32 +0000emaczen(~user@user/emaczen) emaczen
2026-02-14 17:21:53 +0000Enrico63(~Enrico63@host-82-63-21-32.business.telecomitalia.it) (Ping timeout: 272 seconds)
2026-02-14 17:22:27 +0000sa(sid1055@id-1055.tinside.irccloud.com) (Ping timeout: 250 seconds)
2026-02-14 17:22:41 +0000__monty__(~toonn@user/toonn) toonn
2026-02-14 17:24:46 +0000sa(sid1055@id-1055.tinside.irccloud.com) sa
2026-02-14 17:25:16 +0000Fijxu_(~Fijxu@user/fijxu) fijxu
2026-02-14 17:26:58 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 17:27:11 +0000Fijxu(~Fijxu@user/fijxu) (Ping timeout: 250 seconds)
2026-02-14 17:27:37 +0000tabaqui(~tabaqui@167.71.80.236) (Ping timeout: 250 seconds)
2026-02-14 17:28:09 +0000tabaqui(~tabaqui@167.71.80.236) tabaqui
2026-02-14 17:31:42 +0000emmanuelux(~em@user/emmanuelux) emmanuelux
2026-02-14 17:33:41 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds)
2026-02-14 17:41:05 +0000tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net)
2026-02-14 17:41:22 +0000spew(~spew@user/spew) spew
2026-02-14 17:43:12 +0000Pozyomka(~pyon@user/pyon) (Quit: bbl)
2026-02-14 17:47:10 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 17:51:59 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-14 17:53:23 +0000 <monochrom> I want 3/2 to be rational, or polymorphic over fields.
2026-02-14 17:54:21 +0000 <monochrom> Actually put it this way: polymorphic over fields, ideally. (Pun!)
2026-02-14 17:56:56 +0000 <fgarcia> would import Data.Ratio work? then 3 % 2
2026-02-14 17:57:29 +0000 <monochrom> I am too lazy to import that. I use "3/2 :: Rational". :)
2026-02-14 18:03:45 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 18:08:47 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds)
2026-02-14 18:09:15 +0000caubert(~caubert@user/caubert) (Ping timeout: 265 seconds)
2026-02-14 18:10:13 +0000mulk(~mulk@pd95140e6.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
2026-02-14 18:10:48 +0000mulk(~mulk@p5b2dcbcc.dip0.t-ipconnect.de) mulk
2026-02-14 18:20:39 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 18:22:37 +0000caubert(~caubert@user/caubert) caubert
2026-02-14 18:25:41 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds)
2026-02-14 18:26:09 +0000tromp(~textual@2001:1c00:3487:1b00:701a:bd9c:28fd:d022) (Ping timeout: 245 seconds)
2026-02-14 18:30:02 +0000tromp(~textual@2001:1c00:3487:1b00:49b4:8838:6b5e:2a21)
2026-02-14 18:36:36 +0000Pozyomka(~pyon@user/pyon) pyon
2026-02-14 18:36:53 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 18:39:04 +0000qqq(~qqq@185.54.22.240)
2026-02-14 18:39:39 +0000housemate(~housemate@202.7.248.67) (Quit: https://ineedsomeacidtocalmmedown.space/)
2026-02-14 18:40:22 +0000prdak(~Thunderbi@user/prdak) prdak
2026-02-14 18:41:34 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-14 18:44:44 +0000prdak(~Thunderbi@user/prdak) (Ping timeout: 252 seconds)
2026-02-14 18:45:39 +0000ouilemur(~jgmerritt@user/ouilemur) (Quit: WeeChat 4.8.1)
2026-02-14 18:48:06 +0000tromp(~textual@2001:1c00:3487:1b00:49b4:8838:6b5e:2a21) (Quit: My iMac has gone to sleep. ZZZzzz…)
2026-02-14 18:48:25 +0000housemate(~housemate@202.7.248.67) housemate
2026-02-14 18:52:44 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 18:57:56 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-02-14 19:01:50 +0000tromp(~textual@2001:1c00:3487:1b00:49b4:8838:6b5e:2a21)
2026-02-14 19:08:37 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 19:10:02 +0000lxsameer(~lxsameer@Serene/lxsameer) (Ping timeout: 252 seconds)
2026-02-14 19:10:19 +0000caubert(~caubert@user/caubert) (Ping timeout: 250 seconds)
2026-02-14 19:15:01 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2026-02-14 19:18:24 +0000emmanuelux(~em@user/emmanuelux) (Ping timeout: 252 seconds)
2026-02-14 19:22:28 +0000caubert(~caubert@user/caubert) caubert
2026-02-14 19:23:13 +0000emmanuelux(~em@user/emmanuelux) emmanuelux
2026-02-14 19:27:27 +0000target_i(~target_i@user/target-i/x-6023099) target_i
2026-02-14 19:27:47 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 19:32:02 +0000target_i(~target_i@user/target-i/x-6023099) (Ping timeout: 252 seconds)
2026-02-14 19:32:35 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-02-14 19:36:19 +0000traxex(traxex@user/traxex) (Ping timeout: 264 seconds)
2026-02-14 19:38:06 +0000target_i(~target_i@user/target-i/x-6023099) target_i
2026-02-14 19:38:28 +0000 <probie> Dumb question: what's the correct way to do `x += y` with a mutable unboxed vector such that it'll generate SIMD instructions (when using the LLVM backend)?
2026-02-14 19:43:55 +0000 <probie> If I just do something like `V.imapM_ (\ix a -> (a +) <$> V.read y ix) x` will it work?
2026-02-14 19:43:56 +0000peterbecich(~Thunderbi@71.84.33.135) peterbecich
2026-02-14 19:43:58 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 19:44:54 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 245 seconds)
2026-02-14 19:45:19 +0000Lord_of_Life(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2026-02-14 19:45:55 +0000infinity0(~infinity0@pwned.gg) (Ping timeout: 264 seconds)
2026-02-14 19:46:15 +0000ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2026-02-14 19:46:15 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2026-02-14 19:46:39 +0000ChaiTRex(~ChaiTRex@user/chaitrex) ChaiTRex
2026-02-14 19:48:09 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2026-02-14 19:49:05 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-02-14 19:49:35 +0000 <tomsmeding> probie: if you're talking about LLVM, then the only real answer is to try it :p
2026-02-14 19:49:56 +0000 <tomsmeding> GHC will not generate SIMD instructions here, but if the work is suitably arranged, LLVM will do it
2026-02-14 19:50:15 +0000 <tomsmeding> will the work be suitably arranged? That depends on the vagaries of the code generator, as well as the implementation of V.imapM_
2026-02-14 19:53:27 +0000 <tomsmeding> I wonder if the maintainer of the playground could be bribed to make -fllvm work there.
2026-02-14 19:55:11 +0000 <int-e> subtle
2026-02-14 19:56:56 +0000 <tomsmeding> seems LLVM 12 will do for 9.0 up to and including 9.8
2026-02-14 19:57:35 +0000 <tomsmeding> and 13-17 for 9.10 and higher
2026-02-14 19:58:30 +0000 <tomsmeding> no that's not quite right
2026-02-14 20:00:09 +0000 <int-e> Hmm, https://minoki.github.io/posts/2025-01-13-ghc-simd.html looks like a decent overview of the state of the SIMD primitives in GHC?
2026-02-14 20:00:37 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 20:00:47 +0000 <int-e> `vector` makes at least one SIMD-unfriendly design choice though: `drop` is O(1) so there's no alignment guaranteee beyond the primitive data type for unboxed vectors.
2026-02-14 20:04:33 +0000 <probie> now how do I tell GHC where my llvm is...
2026-02-14 20:04:52 +0000 <tomsmeding> it seems it will just look for `opt` in $PATH
2026-02-14 20:05:01 +0000 <tomsmeding> though perhaps it looks for llvm-config first
2026-02-14 20:05:06 +0000chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2026-02-14 20:05:16 +0000 <tomsmeding> generally one tells programs of LLVM by ensuring its llvm-config executable is in $PATH
2026-02-14 20:05:35 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-02-14 20:05:45 +0000chexum(~quassel@gateway/tor-sasl/chexum) chexum
2026-02-14 20:06:09 +0000infinity0(~infinity0@pwned.gg) infinity0
2026-02-14 20:06:21 +0000 <probie> the problem is that the `opt` there is the wrong version. I'm just going to brute force my way through and make symlinks to the right ones in a folder and the stick that folder on my path
2026-02-14 20:06:54 +0000 <tomsmeding> probie: https://git.tomsmeding.com/pathenv/tree/pathenv ?
2026-02-14 20:07:44 +0000 <probie> It's good to know I'm not the only one to have that idea
2026-02-14 20:09:53 +0000 <int-e> There are half a dozen -pgm* flags for the various llvm tools ghc might use. -pgmlo is for `opt`.
2026-02-14 20:10:26 +0000 <int-e> (And I see no indication that it can interrogate llvm-config)
2026-02-14 20:11:04 +0000 <tomsmeding> int-e: https://play.haskell.org/saved/yNy86HlS this output suggest it does _something_
2026-02-14 20:11:14 +0000 <tomsmeding> apart from just calling `opt`, that is
2026-02-14 20:12:11 +0000caubert(~caubert@user/caubert) (Ping timeout: 252 seconds)
2026-02-14 20:13:04 +0000 <tomsmeding> this seems to be the compatibility matrix https://paste.tomsmeding.com/NJhIVIyh
2026-02-14 20:14:11 +0000 <int-e> tomsmeding: AFAICS it tries llc -version (or whatever -pgmlc is)
2026-02-14 20:14:18 +0000 <tomsmeding> lame
2026-02-14 20:14:58 +0000 <geekosaur> I think you can specify a path in the settings file?
2026-02-14 20:15:13 +0000caubert(~caubert@user/caubert) caubert
2026-02-14 20:15:14 +0000 <geekosaur> $(ghc --print-libdir)/settings
2026-02-14 20:15:32 +0000 <geekosaur> "LLVM opt command" (and similar for llc)
2026-02-14 20:16:26 +0000 <int-e> tomsmeding: https://gitlab.haskell.org/ghc/ghc/-/blob/master/compiler/GHC/SysTools/Tasks.hs#L341-350 (and beyond)
2026-02-14 20:16:55 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 20:17:44 +0000 <tomsmeding> I see
2026-02-14 20:17:56 +0000 <int-e> (Rather than digging into the history I'll just assume this hasn't changed recently except for bumping versions.)
2026-02-14 20:18:07 +0000s3np41(~s3np41@078088254000.unknown.vectranet.pl)
2026-02-14 20:18:17 +0000 <tomsmeding> do you happen to know how critical those version upper bounds are, in GHC's LLVM support?
2026-02-14 20:18:38 +0000 <int-e> I don't
2026-02-14 20:21:49 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds)
2026-02-14 20:22:08 +0000 <int-e> Hmm. For me, the baked in commands (from the settings file) have a version, e.g. llc-14 for ghc-9.10.3 and llc-19 for ghc-9.12.2. I wonder what the binary distributions put there... ghc --info | grep LLVM will show that info without you having to go looking for the settings file.
2026-02-14 20:23:07 +0000 <geekosaur> they can be pretty critical but I don't think it's critical for recent versions
2026-02-14 20:23:31 +0000 <geekosaur> there was a point where `opt` parameters changed and ghc didn't know how tgo call newer versions correctly
2026-02-14 20:25:54 +0000 <geekosaur> also I mentioned the settings file bvecause I saw a claim in backscroll that the correct llvm version wasn't on their PATH, which means a settings file edit to point to the correct one
2026-02-14 20:26:38 +0000ouilemur(~jgmerritt@user/ouilemur) ouilemur
2026-02-14 20:28:52 +0000 <probie> It's not giving me SIMD instruction :'(
2026-02-14 20:29:02 +0000 <probie> I wonder if it's the use of `read` instead of `unsafeRead`?
2026-02-14 20:29:31 +0000pavonia(~user@user/siracusa) siracusa
2026-02-14 20:32:46 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 20:33:37 +0000peterbecich(~Thunderbi@71.84.33.135) (Ping timeout: 264 seconds)
2026-02-14 20:34:44 +0000 <tomsmeding> possibly, yes
2026-02-14 20:37:41 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2026-02-14 20:38:17 +0000caubert(~caubert@user/caubert) (Ping timeout: 250 seconds)
2026-02-14 20:38:35 +0000Pixi(~Pixi@user/pixi) (Quit: Leaving)
2026-02-14 20:43:03 +0000 <[exa]> probie: btw why not make a small FFI to a relatively portable C?
2026-02-14 20:43:41 +0000 <[exa]> (man, can we FFI to futhark?)
2026-02-14 20:43:46 +0000Pixi(~Pixi@user/pixi) Pixi
2026-02-14 20:44:08 +0000 <tomsmeding> [exa]: https://gitlab.com/Gusten_Isfeldt/futhask
2026-02-14 20:44:27 +0000 <tomsmeding> (never used it)
2026-02-14 20:45:36 +0000peterbecich(~Thunderbi@71.84.33.135) peterbecich
2026-02-14 20:45:43 +0000 <[exa]> ok not bad :)
2026-02-14 20:49:55 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 20:52:13 +0000 <probie> [exa]: Because I shouldn't need to
2026-02-14 20:53:21 +0000caubert(~caubert@user/caubert) caubert
2026-02-14 20:54:32 +0000machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) (Ping timeout: 252 seconds)
2026-02-14 20:56:12 +0000 <[exa]> probie: I find it better than relying on the compiler accidentaly noticing that I want SIMD (but yeah it's still :( )
2026-02-14 20:56:37 +0000 <tomsmeding> GHC has SIMD primops, but they only work with LLVM
2026-02-14 20:56:50 +0000 <tomsmeding> very recently IIRC some of them started working on NCG too
2026-02-14 20:56:55 +0000 <[exa]> probie: btw try to unroll the loop manually, that might give llvm enough decisive force
2026-02-14 20:57:02 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds)
2026-02-14 20:57:03 +0000 <probie> I don't think it's LLVM's problem here; GHC is just not generating good code https://paste.tomsmeding.com/8ZYY5Pka
2026-02-14 20:58:11 +0000 <tomsmeding> why are there so many loads for only two stores? I assume this is different code than you posted originally?
2026-02-14 20:58:23 +0000caubert(~caubert@user/caubert) (Ping timeout: 252 seconds)
2026-02-14 20:59:21 +0000 <[exa]> that looks like a lot of indirection
2026-02-14 20:59:26 +0000 <probie> https://paste.tomsmeding.com/NRYKh5Fj
2026-02-14 21:00:09 +0000L29Ah(~L29Ah@wikipedia/L29Ah) (Ping timeout: 260 seconds)
2026-02-14 21:00:22 +0000 <[exa]> probie: you have unboxed or primitive vectors?
2026-02-14 21:01:42 +0000 <tomsmeding> probie: if it's easy to paste the optimised LLVM IR, that would make it easier to see what's going on, probably
2026-02-14 21:02:03 +0000 <int-e> IOVector is boxed.
2026-02-14 21:02:09 +0000 <tomsmeding> there are a bunch of loop-invariant loads here that I expect llvm to lift out
2026-02-14 21:02:22 +0000 <EvanR> last I heard ghc didn't have SIMD support
2026-02-14 21:02:35 +0000 <EvanR> oh, LLVM
2026-02-14 21:02:52 +0000 <tomsmeding> int-e: every mutable vector variant has its own definition of the "IOVector" type synonym
2026-02-14 21:02:59 +0000 <[exa]> int-e: afaik you can import the one from the .unboxed.mutable or .primitive.mutable module
2026-02-14 21:03:10 +0000 <int-e> tomsmeding: gah
2026-02-14 21:03:28 +0000 <probie> int-e: it's not I omitted the `import qualified Data.Vector.Unboxed.Mutable as V`. Weirdly, I get slightly better llvm if I use `Storable` instead of `Unboxed`
2026-02-14 21:03:42 +0000 <int-e> Right. I should've known that.
2026-02-14 21:03:48 +0000 <tomsmeding> in general, Storable is more straightforward
2026-02-14 21:03:56 +0000 <tomsmeding> but in theory, either should work here
2026-02-14 21:04:08 +0000 <fgarcia> llvm goes to at least 23 now. it could be the SIMD changes haven't made it down
2026-02-14 21:04:25 +0000infinity0(~infinity0@pwned.gg) (Ping timeout: 255 seconds)
2026-02-14 21:06:12 +0000 <[exa]> probie: man, you're introducing a data dependency there, it can't simd
2026-02-14 21:06:45 +0000 <tomsmeding> [exa]: isn't this code just zipWith (+)
2026-02-14 21:06:50 +0000 <tomsmeding> oh no
2026-02-14 21:06:57 +0000 <[exa]> it's writing back to the original vector
2026-02-14 21:07:02 +0000 <tomsmeding> yeah probie ^
2026-02-14 21:07:15 +0000 <tomsmeding> lol
2026-02-14 21:07:34 +0000caubert(~caubert@user/caubert) caubert
2026-02-14 21:07:50 +0000 <[exa]> probie: try this https://paste.tomsmeding.com/GjpwizwI
2026-02-14 21:08:28 +0000 <[exa]> (edited right into pastebin so didn't try it but you see the point I guess)
2026-02-14 21:08:49 +0000 <tomsmeding> with this being Word8 you may even want to unroll 32x
2026-02-14 21:09:11 +0000 <tomsmeding> or at least 16x to use 128bit SSE4 registers
2026-02-14 21:09:20 +0000 <[exa]> oh
2026-02-14 21:09:27 +0000 <[exa]> ok I somehow hoped this is at least floats
2026-02-14 21:09:30 +0000 <tomsmeding> but 4 should at least get you different assembly
2026-02-14 21:09:35 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 21:09:40 +0000 <[exa]> are there SIMD instructions for chars?
2026-02-14 21:09:48 +0000 <tomsmeding> yes
2026-02-14 21:10:02 +0000[exa]learned today
2026-02-14 21:10:17 +0000 <tomsmeding> https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#text=epi8
2026-02-14 21:10:29 +0000 <tomsmeding> _mm_add_epi8 is the one you want here (paddb)
2026-02-14 21:11:05 +0000 <tomsmeding> or the _mm256 version, or _mm512 if you want to use your juicy AVX512
2026-02-14 21:11:39 +0000 <tomsmeding> think about that, 64 adds with 1-cycle latency
2026-02-14 21:11:56 +0000 <[exa]> oh these are the epi8 instructions from the intrinsic guide that I ignored everytime
2026-02-14 21:12:10 +0000 <tomsmeding> epi is integer stuff
2026-02-14 21:12:20 +0000peterbecich(~Thunderbi@71.84.33.135) (Ping timeout: 256 seconds)
2026-02-14 21:12:51 +0000 <tomsmeding> and apparently it can even do two of those _mm256_add_epi8 instructions in one cycle, by the CPI of 0.5
2026-02-14 21:13:28 +0000 <tomsmeding> (yes, the throughput label is misleading; I checked that a div_pd has 4 there and add_pd 0.5, so indeed it's CPI = 1/throughput)
2026-02-14 21:13:46 +0000 <probie> There isn't really a data dependency though, since memory is never read again after being written
2026-02-14 21:13:52 +0000 <[exa]> tomsmeding: where do you read that? intel intrinsics guide says 3 per cycle
2026-02-14 21:13:56 +0000 <probie> oh wait, <expletive>
2026-02-14 21:14:04 +0000 <tomsmeding> probie: the compiler doesn't know that
2026-02-14 21:14:06 +0000 <probie> there can be aliasing
2026-02-14 21:14:09 +0000 <tomsmeding> yes
2026-02-14 21:14:20 +0000 <[exa]> probie: memory order too strong QQ
2026-02-14 21:14:29 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-14 21:14:33 +0000 <tomsmeding> [exa]: oh I mistyped, I meant _mm512_add_epi8
2026-02-14 21:14:38 +0000 <[exa]> probie: anyway it might be the case that the compiler just ignores it but I'd bet this is the problem number 1
2026-02-14 21:14:40 +0000 <tomsmeding> the _mm256 and _mm variants indeed have 3
2026-02-14 21:14:52 +0000 <tomsmeding> this is DEFINITELY not ignored by llvm
2026-02-14 21:15:11 +0000 <probie> Even gcc only ignores it if you pass -O3 IIRC
2026-02-14 21:15:13 +0000 <tomsmeding> and I can also assure you that GHC will not tell LLVM that these things do not alias
2026-02-14 21:15:23 +0000 <tomsmeding> ignoring this is a blatant violation of the semantics
2026-02-14 21:15:42 +0000 <tomsmeding> I would be surprised if ghc does this at any optimisation level
2026-02-14 21:16:00 +0000 <tomsmeding> -ffast-math dances circles around IEEE semantics, but memory semantics aren't broken down as far as I know
2026-02-14 21:16:32 +0000 <tomsmeding> s/ghc/gcc/
2026-02-14 21:16:34 +0000 <tomsmeding> I can't type any more
2026-02-14 21:17:27 +0000 <geekosaur> (I typo each of those into the other constantly…)
2026-02-14 21:19:28 +0000L29Ah(~L29Ah@wikipedia/L29Ah) L29Ah
2026-02-14 21:19:33 +0000 <[exa]> tomsmeding: cool I'm going to simd my stupid database string-indexing code :D
2026-02-14 21:19:44 +0000 <tomsmeding> <3
2026-02-14 21:20:25 +0000 <[exa]> probie: btw if this fails, try making sure the reads are aligned (no real clue how to help there tho.)
2026-02-14 21:21:18 +0000tcard(~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Quit: Leaving)
2026-02-14 21:21:42 +0000 <probie> [exa]: It did fail, and the reads are absolutely not aligned
2026-02-14 21:21:54 +0000 <[exa]> :(
2026-02-14 21:23:55 +0000 <probie> I think if I want to do this in "pure" Haskell, I'm better off ditching vector, and using `MutableByteArray#`s with the explicit SIMD operations from ghc-prim
2026-02-14 21:24:30 +0000infinity0(~infinity0@pwned.gg) infinity0
2026-02-14 21:25:04 +0000 <[exa]> probie: there should be some (ugly but working) way to get a pointer to the vector which can be used as the required target type for the primitive op
2026-02-14 21:25:32 +0000 <tomsmeding> recommend storable vectors for that though, as they have a sensible withForeignPtr function
2026-02-14 21:25:55 +0000 <tomsmeding> the idea of unboxed vectors is that they are struct-of-arrays transformed, i.e. a vector of (Int, Int) is actually two vectors under the hood
2026-02-14 21:25:59 +0000 <[exa]> probie: also highly suggest having a look at if repa/massiv can do this and if it can, copy what they did. IIRC these would still count these as "pure" haskell.
2026-02-14 21:26:10 +0000 <tomsmeding> so there is indirection between the vector you have in hand and the underlying storage
2026-02-14 21:26:29 +0000 <tomsmeding> storable vectors are just C-style arrays as you expect
2026-02-14 21:26:51 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 21:31:32 +0000 <probie> Vector still has alignment issues though, so I'm not inclined to bend over backwards to get it to work
2026-02-14 21:31:44 +0000machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) machinedgod
2026-02-14 21:31:59 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-14 21:33:48 +0000 <[exa]> probie: the alignment isn't a totally huge deal (just adds a bit of a weight on whether llvm later chooses the unaligned load or doesn't even trigger)
2026-02-14 21:34:23 +0000 <tomsmeding> [exa]: simd instructions do have alignment constraints where normal x86 memory ops don't
2026-02-14 21:34:47 +0000 <[exa]> loadu doesn't exist for epi8?
2026-02-14 21:34:58 +0000 <tomsmeding> but yes, I guess that llvm will have to deal with unaligned arrays anyway because it cannot assume any arbitrary pointer is aligned
2026-02-14 21:35:07 +0000 <tomsmeding> so it should just generate a prologue
2026-02-14 21:35:33 +0000 <tomsmeding> [exa]: good point, my bad, yes loadu is a thing
2026-02-14 21:35:40 +0000 <tomsmeding> I'm... not sure what I was thinking
2026-02-14 21:36:00 +0000 <[exa]> like, ofc llvm is going to brainify that to The Way Better Aligned Load
2026-02-14 21:36:01 +0000 <int-e> tomsmeding: well, the alignment is already fixed by how you unrolled the loop
2026-02-14 21:36:17 +0000 <tomsmeding> ah yes, in this case it is
2026-02-14 21:36:54 +0000 <[exa]> is it? (does the vector start on aligned addr?)
2026-02-14 21:37:01 +0000 <int-e> And I don't think you can express the promise that these two pointers never alias at the Haskell level.
2026-02-14 21:37:11 +0000 <tomsmeding> [exa]: remember this is a loop with dependencies so llvm can't unroll
2026-02-14 21:37:24 +0000 <[exa]> oh yes true
2026-02-14 21:38:03 +0000 <int-e> and it'll get awkward regardless if the relative alignment of the two pointers isn't 0.
2026-02-14 21:38:36 +0000 <probie> We need a new GHC extension that introduces the `restrict` keyword (although I can't imagine that being a sane thing to have in the context of non-strict evaluation)
2026-02-14 21:39:05 +0000 <tomsmeding> it might be possible to devise something in combination with linear types
2026-02-14 21:40:12 +0000 <int-e> probie: Well, you have mutable data there; even lazy evaluation shouldn't accidentally alias those. (Though for people who remember the early days of bytestring... yes, these things have happened.)
2026-02-14 21:40:41 +0000 <int-e> It lead to `inlinePerformIO` being renamed :-)
2026-02-14 21:40:44 +0000caubert(~caubert@user/caubert) (Ping timeout: 245 seconds)
2026-02-14 21:40:50 +0000 <int-e> *led
2026-02-14 21:40:56 +0000 <[exa]> probie: btw really try if repa manages to SIMD, deconstructing a working instance is a MUCH easier way to debug compilers than trying to hit a subtle trick that does it
2026-02-14 21:42:43 +0000 <tomsmeding> 99% certain they don't built on top of vector and allocate their own primitive arrays
2026-02-14 21:43:27 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 21:48:14 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-14 21:54:34 +0000caubert(~caubert@user/caubert) caubert
2026-02-14 21:56:09 +0000acidjnk(~acidjnk@p200300d6e700e5606490ca8182989074.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
2026-02-14 21:59:52 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 21:59:59 +0000caubert(~caubert@user/caubert) (Ping timeout: 252 seconds)
2026-02-14 22:04:49 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-02-14 22:05:52 +0000tcard(~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303)
2026-02-14 22:08:42 +0000wickedjargon(~user@24.83.46.194) wickedjargon
2026-02-14 22:08:50 +0000haritz(~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8)
2026-02-14 22:08:50 +0000haritz(~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8) (Changing host)
2026-02-14 22:08:50 +0000haritz(~hrtz@user/haritz) haritz
2026-02-14 22:10:49 +0000poscat0x04(~poscat@user/poscat) poscat
2026-02-14 22:11:29 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 22:12:19 +0000poscat(~poscat@user/poscat) (Ping timeout: 250 seconds)
2026-02-14 22:16:09 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-14 22:27:11 +0000caubert(~caubert@user/caubert) caubert
2026-02-14 22:27:20 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 22:30:55 +0000housemate(~housemate@202.7.248.67) (Quit: https://ineedsomeacidtocalmmedown.space/)
2026-02-14 22:32:59 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-02-14 22:38:48 +0000housemate(~housemate@202.7.248.67) housemate
2026-02-14 22:46:09 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 22:50:02 +0000oskarw(~user@user/oskarw) (Ping timeout: 252 seconds)
2026-02-14 22:51:08 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
2026-02-14 22:53:36 +0000bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 252 seconds)
2026-02-14 22:56:09 +0000target_i(~target_i@user/target-i/x-6023099) (Quit: leaving)
2026-02-14 23:03:16 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 23:05:14 +0000elarks(~elarks@user/yerrii) yerrii
2026-02-14 23:08:13 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds)
2026-02-14 23:09:35 +0000elarks(~elarks@user/yerrii) (Client Quit)
2026-02-14 23:18:14 +0000takuan(~takuan@d8D86B9E9.access.telenet.be) (Ping timeout: 245 seconds)
2026-02-14 23:18:38 +0000caubert(~caubert@user/caubert) (Ping timeout: 252 seconds)
2026-02-14 23:19:05 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 23:23:26 +0000__monty__(~toonn@user/toonn) (Quit: leaving)
2026-02-14 23:23:39 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-14 23:24:44 +0000housemate(~housemate@202.7.248.67) (Quit: https://ineedsomeacidtocalmmedown.space/)
2026-02-14 23:26:27 +0000juri_(~juri@217-114-215-140.pool.ovpn.com) (Ping timeout: 252 seconds)
2026-02-14 23:27:42 +0000housemate(~housemate@202.7.248.67) housemate
2026-02-14 23:29:38 +0000caubert(~caubert@user/caubert) caubert
2026-02-14 23:34:50 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 23:36:10 +0000tromp(~textual@2001:1c00:3487:1b00:49b4:8838:6b5e:2a21) (Quit: My iMac has gone to sleep. ZZZzzz…)
2026-02-14 23:37:06 +0000acidjnk(~acidjnk@p200300d6e700e53408753edc2ee6991b.dip0.t-ipconnect.de) acidjnk
2026-02-14 23:38:10 +0000acidjnk(~acidjnk@p200300d6e700e53408753edc2ee6991b.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
2026-02-14 23:41:37 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
2026-02-14 23:51:05 +0000caubert(~caubert@user/caubert) (Ping timeout: 252 seconds)
2026-02-14 23:52:51 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-14 23:55:01 +0000ljdarj(~Thunderbi@user/ljdarj) ljdarj
2026-02-14 23:57:55 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)