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.