Home liberachat/#haskell: Logs Calendar

Logs on 2025-11-28 (liberachat/#haskell)

00:01:36 Googulator73 is now known as Googulator
00:02:24 × lambdabot quits (~lambdabot@haskell/bot/lambdabot) (Quit: Wee!)
00:05:08 lambdabot joins (~lambdabot@haskell/bot/lambdabot)
00:05:08 ChanServ sets mode +v lambdabot
00:05:30 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
00:05:43 Shark8 joins (~Shark8@c-174-56-102-109.hsd1.nm.comcast.net)
00:08:25 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 264 seconds)
00:10:37 × Googulator quits (~Googulato@2a01-036d-0106-4ad8-f42e-6d50-f4ab-2863.pool6.digikabel.hu) (Quit: Client closed)
00:10:39 Googulator21 joins (~Googulato@2a01-036d-0106-4ad8-f42e-6d50-f4ab-2863.pool6.digikabel.hu)
00:12:19 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
00:13:41 × trickard quits (~trickard@cpe-91-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
00:13:55 trickard_ joins (~trickard@cpe-91-98-47-163.wireline.com.au)
00:23:32 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
00:23:39 × Shark8 quits (~Shark8@c-174-56-102-109.hsd1.nm.comcast.net) (Read error: Connection reset by peer)
00:24:23 Shark8 joins (~Shark8@c-174-56-102-109.hsd1.nm.comcast.net)
00:27:00 × acidjnk quits (~acidjnk@p200300d6e7171932119317c4eba72db3.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
00:28:15 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
00:30:20 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
00:36:58 × vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 246 seconds)
00:38:56 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
00:43:20 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
00:44:51 × Tuplanolla quits (~Tuplanoll@91-152-225-194.elisa-laajakaista.fi) (Quit: Leaving.)
00:48:00 emmanuelux joins (~emmanuelu@user/emmanuelux)
00:49:15 × tromp quits (~textual@2001:1c00:3487:1b00:9176:7929:ae5a:d4f6) (Quit: My iMac has gone to sleep. ZZZzzz…)
00:53:04 × xff0x quits (~xff0x@2405:6580:b080:900:7143:8b5a:1c3d:7f99) (Ping timeout: 246 seconds)
00:54:19 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
00:58:31 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
00:58:40 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
01:04:26 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 272 seconds)
01:05:41 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
01:05:45 ec joins (~ec@gateway/tor-sasl/ec)
01:07:22 jmcantrell joins (~weechat@user/jmcantrell)
01:09:50 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
01:14:07 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
01:16:07 × defragger quits (~random@i6DFADE72.versanet.de) (Ping timeout: 240 seconds)
01:18:04 defragger joins (~random@i6DFADE44.versanet.de)
01:18:51 × Shark8 quits (~Shark8@c-174-56-102-109.hsd1.nm.comcast.net) (Ping timeout: 252 seconds)
01:20:31 × jmcantrell quits (~weechat@user/jmcantrell) (Ping timeout: 240 seconds)
01:22:13 trickard_ is now known as trickard
01:25:10 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
01:29:44 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
01:33:03 Shark8 joins (~Shark8@c-174-56-102-109.hsd1.nm.comcast.net)
01:34:13 Sgeo joins (~Sgeo@user/sgeo)
01:39:44 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Remote host closed the connection)
01:40:07 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
01:40:35 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
01:44:41 × cstml quits (~cstml@user/cstml) (Quit: ZNC 1.10.1 - https://znc.in)
01:44:56 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
01:46:08 × lambdabot quits (~lambdabot@haskell/bot/lambdabot) (Quit: Will there be a rubber tree at the bottom of this cliff?)
01:46:15 lambdabot joins (~lambdabot@haskell/bot/lambdabot)
01:46:15 ChanServ sets mode +v lambdabot
01:47:09 cstml joins (~cstml@user/cstml)
01:55:03 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
01:56:57 omidmash1 joins (~omidmash@user/omidmash)
01:58:07 xff0x joins (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
01:58:32 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine)
01:59:15 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
01:59:29 × omidmash quits (~omidmash@user/omidmash) (Ping timeout: 260 seconds)
01:59:29 omidmash1 is now known as omidmash
01:59:33 sord937 joins (~sord937@gateway/tor-sasl/sord937)
02:02:25 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
02:04:22 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
02:04:22 × trickard quits (~trickard@cpe-91-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
02:04:36 trickard_ joins (~trickard@cpe-91-98-47-163.wireline.com.au)
02:04:50 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Excess Flood)
02:05:10 <int-e> Okay, lambdabot moved once again... now on ghc-9.10.3. Some packages that were available before may be missing or hidden. https://silicon.int-e.eu/lambdabot/State/packages.txt is the current state of that (parenthesized ones are hidden; I would've preferred to hide ghc-interanal and ghc-prim but can't for technical reasons)
02:07:21 × img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
02:08:40 jmcantrell joins (~weechat@user/jmcantrell)
02:08:42 img joins (~img@user/img)
02:08:56 × X-Scale quits (~ARM@6.67.114.89.rev.vodafone.pt) (Ping timeout: 240 seconds)
02:10:27 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
02:12:36 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Remote host closed the connection)
02:12:55 sord937 joins (~sord937@gateway/tor-sasl/sord937)
02:14:35 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
02:17:52 trickard_ is now known as trickard
02:25:49 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
02:29:55 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
02:35:44 X-Scale joins (~ARM@6.67.114.89.rev.vodafone.pt)
02:41:13 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
02:41:33 glguy_ joins (glguy@libera/staff/glguy)
02:42:44 × glguy quits (glguy@libera/staff/glguy) (Read error: Connection reset by peer)
02:44:13 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Remote host closed the connection)
02:44:34 sord937 joins (~sord937@gateway/tor-sasl/sord937)
02:47:44 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
02:47:55 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
02:54:52 × machinedgod quits (~machinedg@d75-159-126-101.abhsia.telus.net) (Ping timeout: 246 seconds)
02:59:14 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
03:03:35 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
03:08:10 glguy_ is now known as glguy
03:11:29 <glguy> thanks for keeping it updated
03:12:41 <int-e> Well, sort of. I think the last time was 5 years ago.
03:13:27 <glguy> ok, then: thanks for running it :)
03:14:38 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
03:16:00 <int-e> :)
03:18:57 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
03:23:25 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 264 seconds)
03:30:00 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
03:32:35 × td_ quits (~td@i5387090C.versanet.de) (Ping timeout: 240 seconds)
03:34:15 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
03:34:45 td_ joins (~td@i53870937.versanet.de)
03:35:17 vardhan joins (~vardhan@122.172.83.239)
03:40:17 weary-traveler joins (~user@user/user363627)
03:41:00 Googulator73 joins (~Googulato@2a01-036d-0106-4ad8-f42e-6d50-f4ab-2863.pool6.digikabel.hu)
03:41:17 × Googulator21 quits (~Googulato@2a01-036d-0106-4ad8-f42e-6d50-f4ab-2863.pool6.digikabel.hu) (Quit: Client closed)
03:45:25 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
03:49:35 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
04:00:49 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
04:04:55 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
04:16:12 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
04:22:55 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
04:28:31 × marinelli quits (~weechat@gateway/tor-sasl/marinelli) (Quit: marinelli)
04:32:14 marinelli joins (~weechat@gateway/tor-sasl/marinelli)
04:34:14 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
04:34:57 × mniip quits (mniip@libera/staff/mniip) (Read error: Connection reset by peer)
04:38:28 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
04:40:58 mniip joins (mniip@libera/staff/mniip)
04:49:37 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
04:54:08 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
05:03:38 × jmcantrell quits (~weechat@user/jmcantrell) (Quit: WeeChat 4.7.2)
05:03:46 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
05:05:00 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
05:06:20 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Read error: Connection reset by peer)
05:07:02 jmcantrell joins (~weechat@user/jmcantrell)
05:08:43 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
05:09:37 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
05:20:30 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
05:24:21 × timide quits (~timide@user/timide) (K-Lined)
05:25:01 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
05:28:23 × gmg quits (~user@user/gehmehgeh) (Remote host closed the connection)
05:29:35 peterbecich joins (~Thunderbi@172.222.148.214)
05:31:50 × trickard quits (~trickard@cpe-91-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
05:32:04 trickard_ joins (~trickard@cpe-91-98-47-163.wireline.com.au)
05:35:53 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
05:39:39 × mange quits (~mange@user/mange) (Remote host closed the connection)
05:40:25 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
05:51:22 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
05:51:25 × trickard_ quits (~trickard@cpe-91-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
05:51:38 trickard_ joins (~trickard@cpe-91-98-47-163.wireline.com.au)
05:55:55 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
05:58:04 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 260 seconds)
06:05:35 × peterbecich quits (~Thunderbi@172.222.148.214) (Ping timeout: 240 seconds)
06:06:54 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
06:08:02 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
06:12:06 peterbecich joins (~Thunderbi@172.222.148.214)
06:12:24 takuan joins (~takuan@d8D86B9E9.access.telenet.be)
06:13:13 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
06:20:57 Guest38_ joins (~textual@2a01:5ec0:1805:a54f:f5f7:4084:cb60:e5fd)
06:24:05 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
06:28:15 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
06:28:33 acidjnk joins (~acidjnk@p200300d6e7171932119317c4eba72db3.dip0.t-ipconnect.de)
06:28:38 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
06:34:07 × acidjnk quits (~acidjnk@p200300d6e7171932119317c4eba72db3.dip0.t-ipconnect.de) (Ping timeout: 255 seconds)
06:35:48 × driib3180 quits (~driib@vmi931078.contaboserver.net) (Ping timeout: 244 seconds)
06:35:52 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Remote host closed the connection)
06:36:16 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
06:39:28 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
06:42:20 falafel joins (~falafel@gateway/vpn/pia/falafel)
06:43:34 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 255 seconds)
06:43:35 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
06:44:35 driib3180 joins (~driib@vmi931078.contaboserver.net)
06:45:55 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
06:46:17 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Quit: Leaving...)
06:46:41 × trickard_ quits (~trickard@cpe-91-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
06:46:55 trickard_ joins (~trickard@cpe-91-98-47-163.wireline.com.au)
06:48:19 × falafel quits (~falafel@gateway/vpn/pia/falafel) (Ping timeout: 246 seconds)
06:48:32 × X-Scale quits (~ARM@6.67.114.89.rev.vodafone.pt) (Ping timeout: 240 seconds)
06:50:48 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
06:52:06 × driib3180 quits (~driib@vmi931078.contaboserver.net) (Quit: Ping timeout (120 seconds))
06:53:08 driib3180 joins (~driib@vmi931078.contaboserver.net)
06:54:51 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
06:59:21 × Googulator73 quits (~Googulato@2a01-036d-0106-4ad8-f42e-6d50-f4ab-2863.pool6.digikabel.hu) (Ping timeout: 250 seconds)
07:00:02 × califax quits (~califax@user/califx) (Remote host closed the connection)
07:00:22 califax joins (~califax@user/califx)
07:01:37 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
07:03:56 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
07:06:06 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Read error: Connection reset by peer)
07:06:40 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
07:06:54 × Guest38_ quits (~textual@2a01:5ec0:1805:a54f:f5f7:4084:cb60:e5fd) (Quit: Textual IRC Client: www.textualapp.com)
07:08:09 × driib3180 quits (~driib@vmi931078.contaboserver.net) (Ping timeout: 265 seconds)
07:08:21 × haritz quits (~hrtz@user/haritz) (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in)
07:09:15 trickard_ is now known as trickard
07:10:17 driib3180 joins (~driib@vmi931078.contaboserver.net)
07:10:24 × jmcantrell quits (~weechat@user/jmcantrell) (Ping timeout: 260 seconds)
07:12:36 biberu joins (~biberu@user/biberu)
07:12:53 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
07:17:15 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
07:25:15 Guest38 joins (~textual@2a01:5ec0:1805:a54f:f5f7:4084:cb60:e5fd)
07:26:21 CiaoSen joins (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db)
07:27:00 × annamalai quits (~annamalai@2409:4042:2d87:3c71::9e8a:460b) (Ping timeout: 265 seconds)
07:27:21 × ft quits (~ft@p508db844.dip0.t-ipconnect.de) (Quit: leaving)
07:28:15 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
07:32:35 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
07:38:07 × jreicher quits (~user@user/jreicher) (Read error: Connection reset by peer)
07:39:11 jreicher joins (~user@user/jreicher)
07:40:08 × driib3180 quits (~driib@vmi931078.contaboserver.net) (Ping timeout: 240 seconds)
07:40:46 × jreicher quits (~user@user/jreicher) (Read error: Connection reset by peer)
07:41:47 jreicher joins (~user@user/jreicher)
07:42:15 × xff0x quits (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 240 seconds)
07:43:38 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
07:44:23 xff0x joins (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
07:48:37 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
07:57:37 annamalai joins (~annamalai@157.32.117.148)
07:59:08 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
07:59:10 × absence quits (torgeihe@hildring.pvv.ntnu.no) (Ping timeout: 255 seconds)
08:00:49 driib3180 joins (~driib@vmi931078.contaboserver.net)
08:03:25 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds)
08:09:56 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
08:10:35 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 240 seconds)
08:10:48 × driib3180 quits (~driib@vmi931078.contaboserver.net) (Ping timeout: 252 seconds)
08:14:39 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
08:18:36 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
08:23:07 tromp joins (~textual@2001:1c00:3487:1b00:9176:7929:ae5a:d4f6)
08:25:19 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
08:29:44 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
08:34:08 ljdarj joins (~Thunderbi@user/ljdarj)
08:40:41 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
08:41:13 Googulator73 joins (~Googulato@team.broadbit.hu)
08:41:22 × mjrosenb quits (~mjrosenb@70.18.10.118) (Ping timeout: 246 seconds)
08:45:55 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
08:47:04 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
08:49:48 Googulator73 is now known as Googulator
08:50:42 × Guest38 quits (~textual@2a01:5ec0:1805:a54f:f5f7:4084:cb60:e5fd) (Quit: Textual IRC Client: www.textualapp.com)
08:54:12 × img quits (~img@user/img) (Quit: ZNC 1.10.1 - https://znc.in)
08:55:32 img joins (~img@user/img)
08:57:43 × Square2 quits (~Square4@user/square) (Ping timeout: 240 seconds)
09:00:05 acidjnk joins (~acidjnk@p200300d6e7171911dda60d32ed7e3ae9.dip0.t-ipconnect.de)
09:01:39 driib3180 joins (~driib@vmi931078.contaboserver.net)
09:04:15 × emmanuelux quits (~emmanuelu@user/emmanuelux) (Remote host closed the connection)
09:04:55 × defragger quits (~random@i6DFADE44.versanet.de) (Ping timeout: 240 seconds)
09:15:53 Googulator99 joins (~Googulato@team.broadbit.hu)
09:18:29 __monty__ joins (~toonn@user/toonn)
09:18:49 × tromp quits (~textual@2001:1c00:3487:1b00:9176:7929:ae5a:d4f6) (Quit: My iMac has gone to sleep. ZZZzzz…)
09:19:19 × Googulator quits (~Googulato@team.broadbit.hu) (Ping timeout: 250 seconds)
09:20:03 Googulator99 is now known as Googulator
09:21:14 × peterbecich quits (~Thunderbi@172.222.148.214) (Ping timeout: 244 seconds)
09:26:37 <lucabtz> glguy, im luca from matrix. would it be possible to have something like xmonad with glirc, i see the executable is in exec and is not much code, most of the code is in the library. maybe i could try adding a list of haskell extensions with similar callbacks as for the C API
09:28:44 <merijn> lucabtz: What does "like xmonad" mean here?
09:29:44 <lucabtz> > <glguy> xmonad is a well-known tool that people configure in Haskell, but the way that's achieved is to have the program be a library. Every use of it is a program you write and compile that links in the library
09:29:45 <lambdabot> <hint>:1:1: error: parse error on input `<'
09:30:01 <lucabtz> (didnt know it is a command sorry)
09:31:18 <__monty__> It's trivially possible in the sense that you can write any program.
09:32:45 <lucabtz> s/possible/easily implementable
09:34:02 <merijn> lucabtz: I mean, glirc is already a library?
09:34:08 <merijn> So it's already that
09:35:16 <lucabtz> sure im just wondering how hard it would be to pass a list of haskell callbacks for it to process, similarly to the C API
09:39:28 × vgtw quits (~vgtw@user/vgtw) (Quit: ZNC - https://znc.in)
09:39:29 × trickard quits (~trickard@cpe-91-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
09:39:41 trickard_ joins (~trickard@cpe-91-98-47-163.wireline.com.au)
09:39:53 vgtw joins (~vgtw@user/vgtw)
09:40:31 haritz joins (~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8)
09:40:31 × haritz quits (~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8) (Changing host)
09:40:31 haritz joins (~hrtz@user/haritz)
09:40:42 travisb_ joins (~travisb@172-13-49-137.lightspeed.milwwi.sbcglobal.net)
09:41:23 × tabemann quits (~travisb@172-13-49-137.lightspeed.milwwi.sbcglobal.net) (Read error: Connection reset by peer)
09:45:52 <__monty__> Sounds pretty doable, especially if that is how the C API already works.
09:46:57 <lucabtz> yeah to me too, but im bored at work because im just renaming a lot of variables and anyway not much was happening here. sorry if i bothered
09:49:08 <__monty__> No need to apologize it's just a pretty open-ended question that only someone who's intimately familiar with the library would have a good answer to.
09:49:30 X-Scale joins (~ARM@6.67.114.89.rev.vodafone.pt)
09:53:31 gmg joins (~user@user/gehmehgeh)
09:57:01 × chromoblob quits (~chromoblo@user/chromob1ot1c) (Ping timeout: 264 seconds)
09:57:15 chromoblob joins (~chromoblo@user/chromob1ot1c)
09:57:35 × xff0x quits (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 240 seconds)
10:00:45 × chromoblob quits (~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer)
10:01:11 chromoblob joins (~chromoblo@user/chromob1ot1c)
10:02:13 <__monty__> lucabtz: Do you just like the idea of extending an IRC client in Haskell or do you have existing libraries in mind?
10:07:57 × chromoblob quits (~chromoblo@user/chromob1ot1c) (Ping timeout: 252 seconds)
10:08:45 chromoblob joins (~chromoblo@user/chromob1ot1c)
10:08:55 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 240 seconds)
10:08:56 × tzh quits (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
10:11:44 × chromoblob quits (~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer)
10:14:15 × notzmv quits (~umar@user/notzmv) (Ping timeout: 240 seconds)
10:16:34 × Vajb quits (~Vajb@n6jrirf92qztswrjkg8-1.v6.elisa-mobile.fi) (Ping timeout: 246 seconds)
10:17:49 chele joins (~chele@user/chele)
10:17:54 chromoblob joins (~chromoblo@user/chromob1ot1c)
10:17:59 × gf3 quits (~gf3@user/gf3) (Quit: Ping timeout (120 seconds))
10:18:19 gf3 joins (~gf3@user/gf3)
10:18:39 × chromoblob quits (~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer)
10:18:58 chromoblob joins (~chromoblo@user/chromob1ot1c)
10:19:33 × Googulator quits (~Googulato@team.broadbit.hu) (Ping timeout: 250 seconds)
10:22:31 × bliminse quits (~bliminse@user/bliminse) (Ping timeout: 250 seconds)
10:23:34 bliminse joins (~bliminse@user/bliminse)
10:25:12 × chromoblob quits (~chromoblo@user/chromob1ot1c) (Ping timeout: 244 seconds)
10:25:55 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
10:26:03 chromoblob joins (~chromoblo@user/chromob1ot1c)
10:29:37 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
10:34:07 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
10:40:05 <lucabtz> no i just like the idea really, nothing existing in mind
10:41:20 × pie_ quits (~pie_bnc@user/pie/x-2818909) ()
10:41:31 pie_ joins (~pie_bnc@user/pie/x-2818909)
10:43:06 fp joins (~Thunderbi@2001:708:20:1406::1370)
10:45:53 qqe joins (~qqq@185.54.22.255)
10:46:07 × APic quits (apic@apic.name) (Ping timeout: 255 seconds)
10:48:10 APic joins (apic@apic.name)
10:50:51 × trickard_ quits (~trickard@cpe-91-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
10:51:05 trickard_ joins (~trickard@cpe-91-98-47-163.wireline.com.au)
11:02:23 Tuplanolla joins (~Tuplanoll@91-152-225-194.elisa-laajakaista.fi)
11:06:12 <__monty__> That's OK, I don't mind Haskell maximalism : )
11:08:43 × fp quits (~Thunderbi@2001:708:20:1406::1370) (Ping timeout: 264 seconds)
11:24:16 fp joins (~Thunderbi@130.233.70.215)
11:27:15 <[exa]> is there some canonical tutorial on implementing a linear-types-capable typesystem? Like there's THIH for typeclasses.
11:32:35 <merijn> probably not
11:32:47 <merijn> That's probably "read research papers" territory :)
11:40:50 × trickard_ quits (~trickard@cpe-91-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
11:41:03 trickard_ joins (~trickard@cpe-91-98-47-163.wireline.com.au)
11:45:00 Catty is now known as catties
11:53:52 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
11:55:39 tromp joins (~textual@2001:1c00:3487:1b00:9176:7929:ae5a:d4f6)
11:56:13 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
11:57:19 <tomsmeding> [exa]: I have been recommended this thing at some point https://granule-project.github.io/papers/esop22-paper.pdf ; not quite what you're asking for, but perhaps still interesting
12:08:02 <[exa]> tomsmeding: sounds good, thanks a lot!
12:16:41 × chromoblob quits (~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer)
12:17:06 chromoblob joins (~chromoblo@user/chromob1ot1c)
12:19:07 Googulator joins (~Googulato@team.broadbit.hu)
12:26:49 notzmv joins (~umar@user/notzmv)
12:28:05 × barrucadu quits (~barrucadu@carcosa.barrucadu.co.uk) (Quit: Lost terminal)
12:30:38 xff0x joins (~xff0x@ai083123.d.east.v6connect.net)
12:42:22 × trickard_ quits (~trickard@cpe-91-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
12:42:36 trickard_ joins (~trickard@cpe-91-98-47-163.wireline.com.au)
12:47:00 barrucadu joins (~barrucadu@carcosa.barrucadu.co.uk)
12:58:04 × AlexZenon quits (~alzenon@85.174.183.41) (Quit: ;-)
12:58:13 × AlexNoo quits (~AlexNoo@85.174.183.41) (Quit: Leaving)
13:05:15 ljdarj joins (~Thunderbi@user/ljdarj)
13:05:38 × CiaoSen quits (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 260 seconds)
13:16:26 AlexNoo joins (~AlexNoo@85.174.183.41)
13:19:07 AlexZenon joins (~alzenon@85.174.183.41)
13:22:36 ttybitnik joins (~ttybitnik@user/wolper)
13:27:19 CiaoSen joins (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db)
13:29:53 ft joins (~ft@p508db844.dip0.t-ipconnect.de)
13:37:39 trickard_ is now known as trickard
13:53:11 × Googulator quits (~Googulato@team.broadbit.hu) (Ping timeout: 250 seconds)
14:00:31 × gmg quits (~user@user/gehmehgeh) (Remote host closed the connection)
14:01:40 gmg joins (~user@user/gehmehgeh)
14:15:12 <yin> is `cabal run test` supposed to run test-suite?
14:15:45 <merijn> yin: Yes, but also maybe no :p
14:16:16 × trickard quits (~trickard@cpe-91-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
14:16:26 <merijn> I assume you mean `test` is the name of a test-suite there?
14:16:28 trickard_ joins (~trickard@cpe-91-98-47-163.wireline.com.au)
14:17:25 <merijn> There was a weird thing where if you don't configure with --enable-tests it won't build (and thus not run) test suites by default
14:20:07 <yin> ah yes, `test` is the name of the test-suite. that makes more sense
14:20:15 <yin> ty
14:22:26 <merijn> yin: For local development you probably wanna just do "cabal configure --enable-tests" so that it *always* builds tests and then it should "Just Work (TM)"
14:25:55 × trickard_ quits (~trickard@cpe-91-98-47-163.wireline.com.au) (Ping timeout: 240 seconds)
14:29:17 ljdarj1 joins (~Thunderbi@user/ljdarj)
14:30:49 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 250 seconds)
14:30:52 ljdarj1 is now known as ljdarj
14:37:09 × ouilemur quits (~jgmerritt@user/ouilemur) (Quit: WeeChat 4.7.0)
14:38:52 trickard_ joins (~trickard@cpe-91-98-47-163.wireline.com.au)
14:42:29 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 260 seconds)
14:43:57 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
14:50:50 Googulator joins (~Googulato@team.broadbit.hu)
14:53:22 mjrosenb joins (~mjrosenb@pool-71-190-143-170.nycmny.fios.verizon.net)
14:55:35 × Googulator quits (~Googulato@team.broadbit.hu) (Ping timeout: 250 seconds)
14:57:58 × tromp quits (~textual@2001:1c00:3487:1b00:9176:7929:ae5a:d4f6) (Quit: My iMac has gone to sleep. ZZZzzz…)
14:58:19 × lucabtz quits (~lucabtz@user/lucabtz) (Ping timeout: 246 seconds)
14:59:07 lucabtz joins (~lucabtz@user/lucabtz)
15:02:19 Nguntal_Geni joins (~Nguntal_A@182.8.228.63)
15:02:46 Nguntal_Geni parts (~Nguntal_A@182.8.228.63) (Leaving)
15:05:40 ljdarj joins (~Thunderbi@user/ljdarj)
15:08:38 × pabs3 quits (~pabs3@user/pabs3) (Read error: Connection reset by peer)
15:09:37 pabs3 joins (~pabs3@user/pabs3)
15:16:29 Googulator joins (~Googulato@team.broadbit.hu)
15:21:02 × ljdarj quits (~Thunderbi@user/ljdarj) (Quit: ljdarj)
15:22:14 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
15:22:42 × ttybitnik quits (~ttybitnik@user/wolper) (Quit: Fading out...)
15:22:47 trickard_ is now known as trickard
15:26:51 × biberu quits (~biberu@user/biberu) (Read error: Connection reset by peer)
15:28:27 tromp joins (~textual@2001:1c00:3487:1b00:9176:7929:ae5a:d4f6)
15:32:15 × fp quits (~Thunderbi@130.233.70.215) (Ping timeout: 240 seconds)
15:38:51 travisb_ is now known as tabemann
15:42:58 ljdarj joins (~Thunderbi@user/ljdarj)
15:58:52 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
16:00:39 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
16:02:24 milan joins (~milan@88.212.61.169)
16:02:50 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
16:03:20 FirefoxDeHuk joins (~FirefoxDe@user/FirefoxDeHuk)
16:03:54 <milan> Hello guyz.. Long time no see :). I have a question why GHC uses native backend. Wouldn't it be better to only use LLVM? We chould then have ghc on arm? Is my reasoning sound?
16:04:26 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
16:08:07 <fgarcia> if i had to guess, supporting llvm has a burden to it maintainers are not intersted in. this is me speculating though
16:08:35 <juri_> my guess would be vectorization requirements.
16:09:24 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
16:10:25 <tomsmeding> milan: you can tell GHC to use LLVM (-fllvm), but you're probably aware of that
16:10:56 <tomsmeding> common wisdom is that it tends to bring improvement on highly numerical, tight code (because LLVM does auto-vectorisation), and is slightly worse on very haskell-y code
16:11:18 × lucabtz quits (~lucabtz@user/lucabtz) (Remote host closed the connection)
16:11:18 <milan> tomsmeding: Yeah, so both can be used and both needs to be maintained? Which is more work to just support LLVM?
16:11:27 <milan> Ah.. so tradeof
16:11:34 <tomsmeding> personally I would be sad if GHC went LLVM-only because having a monoculture of anything is bad for progress
16:11:40 <tomsmeding> everything else is LLVM already anyway
16:12:09 <tomsmeding> also doesn't GHC support ARM these days?
16:12:21 <milan> Does it?
16:12:31 <tomsmeding> the GHC native code generator works perfectly fine at least on Apple Silicon
16:13:00 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 256 seconds)
16:13:09 <tomsmeding> this is an innovation of the 9.0- series though
16:13:12 <milan> But I have a dream to use it in android phones.
16:13:13 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 264 seconds)
16:13:24 <tomsmeding> have you tried it?
16:13:30 <milan> And maybe rpi..
16:13:50 <milan> tomsmeding: Not yet...and this might be outdated view that we dont have ghc on arm.
16:14:09 <tomsmeding> yeah in the 8.* series, you needed LLVM to make things work on ARM
16:14:20 <tomsmeding> nowadays at least some ARM targets are supported natively
16:14:41 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
16:15:17 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
16:15:24 FirefoxDeHuk82 joins (~FirefoxDe@user/FirefoxDeHuk)
16:15:27 <milan> THank you.. I will look some more info online.
16:15:49 × FirefoxDeHuk quits (~FirefoxDe@user/FirefoxDeHuk) (Quit: Client closed)
16:16:15 × FirefoxDeHuk82 quits (~FirefoxDe@user/FirefoxDeHuk) (Client Quit)
16:16:28 <tomsmeding> milan: ghcup has versions for aarch64-deb10-linux and aarch64-apple-darwin
16:16:40 <fgarcia> this is interesting to me. i think there might be arm builds https://ports.macports.org/port/ghc/details/ . some things on the page are 'Version: 9.12.2' and '✓ Tahoe (arm64)' which seems quite recent
16:17:02 <tomsmeding> milan: so it's possible that if you just try using ghcup, things will just work on your target
16:17:19 <tomsmeding> fgarcia: on apple silicon I know for sure that using ghcup just works
16:17:28 <tomsmeding> some of my colleagues do that
16:18:16 <fgarcia> actually, come to think of it. i use android with termux and my phone is arm. i have been able to run some code on that and even though it is .deb the packages are newer than what some distros have!
16:19:01 <tomsmeding> right, I think the ghcup bindists don't work in termux (possibly path reasons), but yes the termux repos have a ghc
16:24:32 <milan> Hmm... now I found arm build for linux... so I expect it to "work". Why I thought otherwise? Maybe I was lost by reading old articles about arm support from 2014 :D
16:24:57 × CiaoSen quits (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 265 seconds)
16:26:45 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
16:28:17 jmcantrell joins (~weechat@user/jmcantrell)
16:28:54 ttybitnik joins (~ttybitnik@user/wolper)
16:31:35 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
16:33:44 machinedgod joins (~machinedg@d75-159-126-101.abhsia.telus.net)
16:35:14 × L29Ah quits (~L29Ah@wikipedia/L29Ah) (Ping timeout: 244 seconds)
16:35:43 Googulator63 joins (~Googulato@team.broadbit.hu)
16:39:09 × Googulator quits (~Googulato@team.broadbit.hu) (Ping timeout: 250 seconds)
16:40:13 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 264 seconds)
16:41:49 Sgeo joins (~Sgeo@user/sgeo)
16:42:33 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
16:47:28 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
16:47:32 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
16:49:38 Googulator63 is now known as Googulator
16:52:49 × Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 264 seconds)
16:53:11 ouilemur joins (~jgmerritt@user/ouilemur)
16:58:20 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
17:02:33 × Googulator quits (~Googulato@team.broadbit.hu) (Ping timeout: 250 seconds)
17:03:15 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
17:04:45 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
17:04:48 FirefoxDeHuk joins (~FirefoxDe@user/FirefoxDeHuk)
17:06:36 × mniip quits (mniip@libera/staff/mniip) (Changing host)
17:06:36 mniip joins (mniip@libera/staff-emeritus/mniip)
17:07:34 ljdarj joins (~Thunderbi@user/ljdarj)
17:12:26 × FirefoxDeHuk quits (~FirefoxDe@user/FirefoxDeHuk) (Quit: Client closed)
17:14:22 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
17:18:55 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
17:19:42 × bgamari_ quits (~bgamari@64.223.158.105) (Quit: ZNC 1.8.2 - https://znc.in)
17:21:12 bgamari joins (~bgamari@64.223.170.198)
17:27:14 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 256 seconds)
17:30:12 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
17:31:07 L29Ah joins (~L29Ah@wikipedia/L29Ah)
17:32:09 ljdarj joins (~Thunderbi@user/ljdarj)
17:34:43 × chele quits (~chele@user/chele) (Remote host closed the connection)
17:36:10 × vardhan quits (~vardhan@122.172.83.239) (Ping timeout: 246 seconds)
17:40:12 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
17:41:35 × jmcantrell quits (~weechat@user/jmcantrell) (Ping timeout: 240 seconds)
17:41:49 × tv quits (~tv@user/tv) (Read error: Connection reset by peer)
17:44:16 sindu joins (~sindu@2.148.32.207.tmi.telenormobil.no)
17:47:25 bggd joins (~bgg@2a01:e0a:fd5:f510:81e5:516f:14c0:9e92)
17:48:46 jmcantrell joins (~weechat@user/jmcantrell)
17:53:15 × jmcantrell quits (~weechat@user/jmcantrell) (Ping timeout: 245 seconds)
18:03:37 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 264 seconds)
18:12:51 × trickard quits (~trickard@cpe-91-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
18:13:05 trickard_ joins (~trickard@cpe-91-98-47-163.wireline.com.au)
18:17:40 × tromp quits (~textual@2001:1c00:3487:1b00:9176:7929:ae5a:d4f6) (Quit: My iMac has gone to sleep. ZZZzzz…)
18:19:19 ljdarj joins (~Thunderbi@user/ljdarj)
18:23:08 <milan> Guyz! I have yet another question! I know I can read docs but bothering you with stupid quesitons is so much more fun. So has anybody tried ReactJS and Miso? How do they compare. React is pushing "pure functions" for composing GUI which haskell might employ for GUI too right? Is this what MISO does?
18:33:58 <EvanR> haskell-miso.org claims that it is "isomorphic" so I'm finding it hard not to check out
18:35:03 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds)
18:40:29 × trickard_ quits (~trickard@cpe-91-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
18:40:43 trickard_ joins (~trickard@cpe-91-98-47-163.wireline.com.au)
18:46:37 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
18:48:19 <milan> EvanR: This isomorphism looks to me like next.js hydratation. Like prerender on server send prerenderd html then run rest on browser. I am more interested in "Function components" and composability as is in ReactJS.
18:49:34 ZLima12_ joins (~zlima12@user/meow/ZLima12)
18:49:49 × ZLima12 quits (~zlima12@user/meow/ZLima12) (Ping timeout: 260 seconds)
18:49:57 <milan> What does not make sense for me is that ReactJS claims (computing new state of components and drawing to screen is pure function) In haskell however even printing to terminal is in IOMonad. How could displaying something be pure and impure at once? I bet ReactJS is lying here.
18:50:09 <EvanR> hydration?
18:52:05 <EvanR> an HTML UI component can be a pure function of its source data
18:52:16 <milan> EvanR: Yes look here https://nextjs.org/docs/pages/building-your-application/rendering/server-side-rendering
18:52:23 <EvanR> I pointed this out long ago while doing PHP
18:52:58 <EvanR> however you write the code, assuming you don't cause side effects in the HTML generating code, it's implementing a pure function
18:53:17 <milan> Yes computing state is pure I got it... but then You need to render right? And this is pure or not?
18:53:56 <EvanR> I'm not sure I understand the specifics of your question, what is "render" here
18:54:05 <EvanR> getting on the end user's screen?
18:54:20 <milan> Yes
18:54:41 <EvanR> well the client side engine does at some level .innerHTML = yourhtml
18:54:52 <geekosaur> you're just constructing pure HTML. the framework and the browser do the IO part
18:55:06 <geekosaur> (or JS)
18:55:15 <EvanR> your code doesn't have to deal with that
18:55:29 <EvanR> just like the repl automatically shows you the answer to an evaluation, you don't have to "print" it
18:55:40 <geekosaur> kinda like how IO can be done in a pure language by, in effect, purely constructing an impure program for the RTS to run impurely
18:55:56 <milan> But this "painting" showing cannot be possibly pure ever right?
18:56:13 <geekosaur> it's not done by your code, it's done by the browser
18:56:16 <EvanR> the word "pure" keeps growing more legs, people applying it into any situation ever
18:56:22 <geekosaur> you purely construct code the browser runs impurely
18:56:29 <milan> Eh
18:56:33 <EvanR> a pure function is a function
18:56:43 <milan> That has no side effects right?
18:56:45 <EvanR> a client side framework isn't a function
18:56:57 <EvanR> so it's not necessarily meaning for you to call it pure or not
18:57:00 <EvanR> similar to "pure data"
18:57:10 <EvanR> you'd have to specify what that even means, since data isn't a function
18:57:24 <EvanR> *meaningful
18:58:26 <EvanR> think of a browser window as the final UI screen observable to the user, it's not a function, it's a thing you send content to be displayed
18:58:32 <EvanR> like a terminal
18:59:01 <milan> Agree
18:59:33 <EvanR> if that's all it is then it's possible to get a lot done using only pure functions
18:59:39 <EvanR> and data
18:59:52 <EvanR> something behind the scenes just hooks it up
19:02:41 <milan> Yes, but... I understand why reading from (external object) is not pure.. You can always read something else so now your function can return different things. But why writing to external object is also considered impure? Wheter it succeds or not can't affect my pure program right?
19:03:08 × infinity0 quits (~infinity0@pwned.gg) (Quit: WeeChat 4.6.3)
19:03:11 <milan> So simply printing to console should not be considered "impure" and thus in IO monad?
19:03:24 <EvanR> that is why you can type purely function programs in the repl and see the result
19:03:41 <EvanR> easily
19:03:52 <EvanR> the tower of machinery to get that on the screen has no effect on the program
19:04:12 <EvanR> which is good because there's a lot
19:04:43 <milan> Yet print :: Show a => a -> IO() ?
19:04:51 <milan> EvanR: Agree
19:05:05 <EvanR> print has that type, why is that "yet"
19:05:19 <EvanR> (note you don't have to type print to see the result in the repl)
19:05:51 <EvanR> also have to decorum and put a space between IO and ()
19:06:03 <EvanR> have some* xD
19:06:23 <milan> :D My apologies
19:06:49 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 246 seconds)
19:06:53 ljdarj1 joins (~Thunderbi@user/ljdarj)
19:06:57 tzh joins (~tzh@c-76-115-131-146.hsd1.or.comcast.net)
19:07:13 <milan> Why print does not have type a -> Int? And always produce number 1? Why is it IO?
19:07:36 <EvanR> you're asking why the print function doesn't return a number
19:07:48 <EvanR> i.e. print 3 yields the number 3 or something?
19:07:54 <milan> No I am asking why it returns Monad if it does not have to
19:08:10 <milan> No it always yields 1
19:08:27 <EvanR> what behavior do you want the function to have again
19:08:40 <EvanR> while being a pure function
19:08:48 <EvanR> always returning 1 would be const 1
19:09:07 <EvanR> :t const 1
19:09:08 <lambdabot> Num a => b -> a
19:09:12 ljdarj1 is now known as ljdarj
19:10:03 <EvanR> note it wouldn't be a very good print function, for one thing you don't know the input has Show support
19:10:55 <milan> What about myPrint :: Show a => a -> Int ?
19:11:09 <mniip> referential transparency says that `(print 3, print 3)` and `let x = print 3 in (x, x)` must do the same thing, but you'd expect the first one to output twice and the second one only once
19:11:27 <milan> mniip: hmm...
19:11:42 <EvanR> if myPrint is a pure function, then it means you can't observe any side effects
19:11:47 <mniip> this is why pure functions cannot perform side effects such as output something to the console
19:12:11 <EvanR> so it's not going to be great at printing anything
19:12:25 <milan> Had we dropped our expectation on how and if something must appear in console?
19:12:37 <milan> Well
19:12:44 <milan> Then all programs would be unusable
19:12:50 <EvanR> not necessarily
19:13:05 <mniip> if you're looking for something to use while debugging pure code, there is such a tool
19:13:07 <EvanR> your calculator is useful despite not having any I/O commands
19:13:21 <milan> It has it has display
19:13:25 <milan> same as console
19:13:39 <EvanR> I figured you were talking about the programming language though, not the hardware
19:13:40 <milan> or file that we can write to.. or socket we can write to..
19:13:41 tromp joins (~textual@2001:1c00:3487:1b00:9176:7929:ae5a:d4f6)
19:14:15 <EvanR> haskell is a purely functional programming language, not purely functional hardware
19:14:34 <milan> Some external object that might or might not correctly change state because we asked it to... it is same for display in calculator, and same for file in disk.
19:14:47 <EvanR> that's just the supporting infrastructure for the runtime
19:15:10 <EvanR> as the program runs, the I/O commands it computes are executed
19:15:18 <EvanR> main :: IO ()
19:15:43 <EvanR> e.g. main = print 3 >> print 3 :: IO ()
19:15:50 <EvanR> would print twice
19:15:53 <milan> Yep
19:16:00 <EvanR> but the program itself just computes data
19:16:20 <EvanR> you could store the IO () in a data structure or mutable variable for later
19:16:28 <EvanR> or pass it as an argument
19:16:41 <EvanR> :t bracket
19:16:42 <lambdabot> IO a -> (a -> IO b) -> (a -> IO c) -> IO c
19:16:53 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection)
19:17:00 <EvanR> in this way you can build up a big IO from smaller ones
19:17:04 <EvanR> algebraically
19:17:22 ChaiTRex joins (~ChaiTRex@user/chaitrex)
19:17:32 <milan> I agree
19:18:04 <EvanR> just evaluating print 3 by itself wouldn't necessarily do the IO i.e. in (print 3, print 3), so it's a big distinction to make
19:18:22 × acidjnk quits (~acidjnk@p200300d6e7171911dda60d32ed7e3ae9.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
19:18:57 <milan> hmm
19:19:42 <EvanR> in most language the evaluation of a function call is intertwined with executing effects, which is why you have to wrap everything with a lambda wrapper to delay the effects
19:19:59 <EvanR> so they don't happen until someone calls the function
19:20:06 <EvanR> in haskell they're two different things entirely
19:21:23 <milan> I get that they are encapsulated in IO...
19:22:02 <EvanR> yeah so, functions are over here and are like this, and I/O commands are over here
19:22:21 <EvanR> orthogonal, but can be combined easily
19:22:22 <milan> And as runtime is evaluating big IO composed of smaler IOs it always executes action there.
19:22:43 <mniip> the bonus is that IO actions are values and you can manipulate them
19:22:43 <EvanR> yes!
19:23:16 <mniip> let x = print 3 in x >> x
19:23:23 <mniip> hell you can put them in a list: sequence_ [x, x, x]
19:24:35 <milan> You can put functions to list too right?
19:24:48 <EvanR> :t [id, id, id]
19:24:49 <milan> Could ghc runtime execute print on every function it evaluates?
19:24:49 <lambdabot> [a -> a]
19:25:09 <mniip> yea but if you said `let x = print 3 in [x, x, x]`
19:25:12 <mniip> that would only print once
19:25:16 <milan> Yeah
19:25:26 <milan> Okey I think I can see your point.
19:25:48 <EvanR> you want it to print the function itself?
19:25:51 <EvanR> print id
19:26:25 × notzmv quits (~umar@user/notzmv) (Ping timeout: 264 seconds)
19:28:55 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 240 seconds)
19:29:15 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
19:31:09 <milan> No I was thining why outputing something to external object is encapsulated in IO. My reasoning was that wheter it chages state of this external object correctly or not can't affect our program (until we do some reading) and so IO here is unnecesary. But as pointed out problem with printing multiple times is one when programming would become very unreliable as sometimes we need to output several
19:31:11 <milan> times.
19:32:05 <milan> Which is possible by chaining multiple print in IO. that guarantees they will be executed multiple times when needed.
19:35:42 <EvanR> let x = putStrLn "HELLO WORLD" >> x in x -- or chaining infinite prints!
19:35:53 <EvanR> you can also factor out the pattern
19:36:01 <milan> Oh cool :)
19:36:09 <EvanR> let loop x = x >> loop x in loop (putStrLn "HELLO WORLD")
19:36:45 <EvanR> separate out the specific things lets you put them back together in other ways
19:37:20 <milan> I really like this language :D
19:37:36 <milan> So sad I am noob :/
19:38:34 <EvanR> if you call yourself a novice may it sounds better
19:39:06 × humasect quits (~humasect@dyn-192-249-132-90.nexicom.net) (Remote host closed the connection)
19:45:01 × sindu quits (~sindu@2.148.32.207.tmi.telenormobil.no) (Ping timeout: 264 seconds)
19:51:37 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
19:55:06 tv joins (~tv@user/tv)
19:55:51 <milan> Let's go study a little bit more :).. THank you for answers.
19:56:41 pavonia joins (~user@user/siracusa)
20:02:25 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 264 seconds)
20:02:55 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
20:07:43 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
20:11:37 sergheev joins (~sergheev@159.26.108.41)
20:12:01 × sergheev quits (~sergheev@159.26.108.41) (Client Quit)
20:16:11 × myme1 quits (~myme@2a01:799:d5e:5f00:f60f:b1c2:fdec:ad3a) (Ping timeout: 250 seconds)
20:17:10 myme joins (~myme@2a01:799:d5e:5f00:a10a:6bc:6be7:9209)
20:23:22 acidjnk joins (~acidjnk@p200300d6e71719110157f51e13fe5b99.dip0.t-ipconnect.de)
20:25:34 × annamalai quits (~annamalai@157.32.117.148) (Ping timeout: 244 seconds)
20:25:57 CiaoSen joins (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db)
20:28:56 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
20:33:35 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
20:44:44 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
20:46:21 <gentauro> Would it make sense that `Bool` had an instance of `Num`? I mean a mapping from `[True, False]` to `[1,0]`?
20:53:25 <ncf> no
20:54:38 <geekosaur> map fronEnum
21:00:40 target_i joins (~target_i@user/target-i/x-6023099)
21:01:35 trickard_ is now known as trickard
21:02:29 <EvanR> conventionally the + sign in boolean algebra means OR
21:02:46 <EvanR> but if you tried to add 1 and 1 to get 2... and perhaps wrapped back to zero, now it's not that
21:03:50 <EvanR> it's more clear the code does what the person intended if you use numbers as numbers
21:04:10 jmcantrell joins (~weechat@user/jmcantrell)
21:04:10 × tcard quits (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Quit: Leaving)
21:04:38 Googulator joins (~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu)
21:06:44 <EvanR> also the concept of negating a bool usually suggests NOT, but negating 1 and perhaps wrapping back to 1 is not that
21:07:39 <EvanR> and negative zero is just zero
21:09:12 <EvanR> so it's not respecting the booleanness or not respecting the laws of a ring
21:11:46 tcard joins (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303)
21:15:48 Googulator11 joins (~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu)
21:16:33 × Googulator quits (~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) (Quit: Client closed)
21:21:02 infinity0 joins (~infinity0@pwned.gg)
21:22:14 × infinity0 quits (~infinity0@pwned.gg) (Client Quit)
21:22:42 infinity0 joins (~infinity0@pwned.gg)
21:25:27 × infinity0 quits (~infinity0@pwned.gg) (Client Quit)
21:36:21 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds)
21:45:54 × Googulator11 quits (~Googulato@2a01-036d-0106-4ad8-d9ec-010d-f188-ffcb.pool6.digikabel.hu) (Quit: Client closed)
21:46:02 Googulator11 joins (~Googulato@84-236-53-137.pool.digikabel.hu)
21:47:04 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
21:49:54 infinity0 joins (~infinity0@pwned.gg)
22:01:05 × Googulator11 quits (~Googulato@84-236-53-137.pool.digikabel.hu) (Quit: Client closed)
22:01:21 Googulator11 joins (~Googulato@84-236-53-137.pool.digikabel.hu)
22:04:34 × target_i quits (~target_i@user/target-i/x-6023099) (Quit: leaving)
22:05:55 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
22:12:13 <monochrom> Yeah "plus" is a very broken analogy for boolean OR. The analogy I use is and=min and or=max. In fact, at that point it is an isomorphism.
22:12:47 <monochrom> You can also get ring-ness with and=times and xor=plus.
22:12:53 <Leary> gentauro: It's another case like `Foldable ((,) a)` where the instance makes perfect sense in principle, but in practice a lot of people will complain that the operations don't do what they expected them to, or that their use of the instance was an accident they wanted GHC to catch.
22:14:14 <EvanR> the more things that "work" the less things the compiler can definitely say are nonsense written by a human
22:14:53 <EvanR> see + operator in javascript
22:15:38 Googulator95 joins (~Googulato@84-236-53-137.pool.digikabel.hu)
22:15:45 × Googulator11 quits (~Googulato@84-236-53-137.pool.digikabel.hu) (Quit: Client closed)
22:17:31 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
22:23:55 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
22:28:57 <haskellbridge> <Luca> The xor/and Bool ring is just Z/Z2
22:29:54 <haskellbridge> <Luca> Z/2Z
22:30:13 × qqe quits (~qqq@185.54.22.255) (Remote host closed the connection)
22:34:45 × divlamir quits (~divlamir@user/divlamir) (Read error: Connection reset by peer)
22:34:58 divlamir joins (~divlamir@user/divlamir)
22:35:13 <monochrom> :)
22:35:34 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
22:39:55 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
22:45:38 <EvanR> type classes were invented so we could sanely overload specific operators like + for their cultural value
22:46:03 <EvanR> but when + means xor
22:47:02 × milan quits (~milan@88.212.61.169) (Quit: WeeChat 4.5.2)
22:47:07 <EvanR> somebody is going to get pissed off! (in math you'd just non-chalantly use a different operator for this ring, and rely on everyone's mental inference)
22:48:25 <EvanR> how many ways can you implement Monoid for Bool
22:49:00 × tromp quits (~textual@2001:1c00:3487:1b00:9176:7929:ae5a:d4f6) (Quit: My iMac has gone to sleep. ZZZzzz…)
22:50:24 tromp joins (~textual@2001:1c00:3487:1b00:9176:7929:ae5a:d4f6)
22:50:56 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
22:52:34 Dhark8 joins (~Shark8@c-174-56-102-109.hsd1.nm.comcast.net)
22:54:17 <geekosaur> (how many ways can you define it for Integer? 😛 )
22:54:35 <tomsmeding> % check (zero, a00, a01, a10, a11) = let f x y = [a00, a01, a10, a11] !! (2 * fromEnum x + fromEnum y) in and $ [f zero x == x && f x zero == x | x <- [False, True]] ++ [f x (f y z) == f (f x y) z | x <- [False, True], y <- [False, True], z <- [False, True]]
22:54:35 <yahb2> <no output>
22:54:43 <tomsmeding> % filter check (let l2 = [False, True] in (\a b c d e -> (a, b, c, d, e)) <$> l2 <*> l2 <*> l2 <*> l2 <*> l2)
22:54:43 <yahb2> [(False,False,True,True,False),(False,False,True,True,True),(True,False,False,False,True),(True,True,False,False,True)]
22:54:52 <tomsmeding> EvanR: xor, or, and, nand
22:55:20 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
22:55:24 × Shark8 quits (~Shark8@c-174-56-102-109.hsd1.nm.comcast.net) (Ping timeout: 244 seconds)
22:55:50 Sgeo_ joins (~Sgeo@user/sgeo)
22:59:01 × Sgeo quits (~Sgeo@user/sgeo) (Ping timeout: 244 seconds)
22:59:56 califax_ joins (~califax@user/califx)
23:01:08 × califax quits (~califax@user/califx) (Ping timeout: 272 seconds)
23:01:11 califax_ is now known as califax
23:01:55 <haskellbridge> <loonycyborg> I just wish you could customize typeclass operators
23:02:17 <haskellbridge> <loonycyborg> like you could declare group(*) and get a multiplicative group :P
23:03:04 <haskellbridge> <loonycyborg> I guess it's already possible with TH
23:03:05 <monochrom> Integers, if you just require semigroup, then there are plus, times, min, max.
23:03:43 <monochrom> For Word you can also throw in bitwise operations :)
23:04:01 <monochrom> at least and, or, xor, xnor
23:04:34 <EvanR> what just happened
23:04:48 <EvanR> you did an exhaustive check against the monoid laws?
23:04:55 <haskellbridge> <loonycyborg> Like you could make a TH splice that will make a (semi)group over an operator that you pass it
23:05:29 <EvanR> loonycyborg, it sounds like that would really fuel the "too many operators" crowd
23:05:46 <EvanR> defining new operators gets hate so you don't want to do it easily
23:06:08 <haskellbridge> <loonycyborg> but it doesn't count as new operator right?
23:06:18 <haskellbridge> <loonycyborg> if you only use those that are traditionally groups
23:06:19 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
23:06:23 <haskellbridge> <loonycyborg> like + *
23:06:52 <EvanR> was just watching an old Stand Up Maths where he goes over a totally bogus economic formula published by ... a certain government
23:07:04 <EvanR> it contains * in it as an operator, like, an asterisk
23:07:10 <EvanR> with fancy formatted math
23:07:27 <monochrom> I think I saw that, yeah.
23:07:34 <EvanR> as an aside he observed... that's not a thing you do xD
23:08:03 <EvanR> so no you don't usually see asterisk as a group operator
23:08:08 <haskellbridge> <loonycyborg> I remember reading somewhere about a window system that overloaded + to add new widgets or something :P
23:08:15 × tromp quits (~textual@2001:1c00:3487:1b00:9176:7929:ae5a:d4f6) (Quit: My iMac has gone to sleep. ZZZzzz…)
23:08:44 <EvanR> to be fair ascii doesn't have that many symbols so you might think that's why everything can be +-ed in designers minds
23:08:52 <EvanR> but I think it's a deeper psychosis
23:08:53 <haskellbridge> <loonycyborg> well multiplication is a group too in most cases.
23:10:35 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
23:11:06 <haskellbridge> <loonycyborg> I was just thinking that in many cases particular operator just happens to form a group
23:11:18 <haskellbridge> <loonycyborg> then you can save some typing by generating a group for it with TH
23:11:28 <haskellbridge> <loonycyborg> and then superclassing it
23:12:03 <monochrom> Until one says something like "$130 plus 5% plus 6%" OK OK that's group actions. :)
23:21:42 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
23:24:28 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
23:25:53 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds)
23:26:23 × takuan quits (~takuan@d8D86B9E9.access.telenet.be) (Remote host closed the connection)
23:28:43 Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net)
23:28:49 × jmcantrell quits (~weechat@user/jmcantrell) (Ping timeout: 264 seconds)
23:37:07 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
23:41:20 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
23:42:52 Square joins (~Square@user/square)
23:52:30 merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl)
23:54:14 humasect joins (~humasect@dyn-192-249-132-90.nexicom.net)
23:58:55 × merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)

All times are in UTC on 2025-11-28.