2024-11-05 00:07:22 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-11-05 00:10:10 +0100 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 248 seconds) |
2024-11-05 00:11:57 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-11-05 00:14:48 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2024-11-05 00:15:54 +0100 | ocra8 | (ocra8@user/ocra8) ocra8 |
2024-11-05 00:15:55 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2024-11-05 00:16:46 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-11-05 00:17:42 +0100 | acidjnk | (~acidjnk@p200300d6e7283f93159bb6576a1c8c4b.dip0.t-ipconnect.de) (Ping timeout: 276 seconds) |
2024-11-05 00:19:20 +0100 | emfrom | (~emfrom@37.169.23.60) (Remote host closed the connection) |
2024-11-05 00:20:03 +0100 | emfrom | (~emfrom@37.169.23.60) |
2024-11-05 00:22:46 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-11-05 00:27:04 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-11-05 00:27:22 +0100 | emfrom | (~emfrom@37.169.23.60) (Remote host closed the connection) |
2024-11-05 00:29:20 +0100 | pie_ | (~pie_bnc@user/pie/x-2818909) () |
2024-11-05 00:37:27 +0100 | ljdarj1 | (~Thunderbi@user/ljdarj) ljdarj |
2024-11-05 00:38:08 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-11-05 00:40:48 +0100 | roosterphant_ | (~roosterph@185.21.217.76) |
2024-11-05 00:41:13 +0100 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 245 seconds) |
2024-11-05 00:41:14 +0100 | ljdarj1 | ljdarj |
2024-11-05 00:41:22 +0100 | roosterphant | (~roosterph@185.21.217.76) (Ping timeout: 252 seconds) |
2024-11-05 00:41:29 +0100 | Nachtgespenst | (~user@user/siracusa) siracusa |
2024-11-05 00:42:27 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-11-05 00:43:24 +0100 | hgolden_ | (~hgolden@23.162.40.69) hgolden |
2024-11-05 00:45:45 +0100 | hgolden__ | (~hgolden@23.162.40.28) (Ping timeout: 252 seconds) |
2024-11-05 00:47:42 +0100 | Sgeo | (~Sgeo@user/sgeo) Sgeo |
2024-11-05 00:49:10 +0100 | Versality | (~Versality@user/Versality) (Remote host closed the connection) |
2024-11-05 00:51:53 +0100 | misterfish | (~misterfis@84.53.85.146) (Ping timeout: 265 seconds) |
2024-11-05 00:53:32 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-11-05 00:56:42 +0100 | <haskellbridge> | <zwro> monochrom: main = print 1 |
2024-11-05 01:00:35 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds) |
2024-11-05 01:05:51 +0100 | gmg | (~user@user/gehmehgeh) (Ping timeout: 260 seconds) |
2024-11-05 01:11:34 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-11-05 01:13:26 +0100 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
2024-11-05 01:16:12 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-11-05 01:17:40 +0100 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 252 seconds) |
2024-11-05 01:23:47 +0100 | xff0x | (~xff0x@2405:6580:b080:900:26bf:a0f9:b4d:93d8) (Ping timeout: 265 seconds) |
2024-11-05 01:24:34 +0100 | rini | (~rini@user/rini) (Ping timeout: 260 seconds) |
2024-11-05 01:25:36 +0100 | rini | (~rini@user/rini) rini |
2024-11-05 01:26:53 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-11-05 01:31:13 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
2024-11-05 01:37:25 +0100 | sprotte24 | (~sprotte24@p200300d16f3c620054c3529ac9abaeb8.dip0.t-ipconnect.de) (Quit: Leaving) |
2024-11-05 01:37:56 +0100 | chiselfuse | (~chiselfus@user/chiselfuse) (Ping timeout: 260 seconds) |
2024-11-05 01:39:02 +0100 | chiselfuse | (~chiselfus@user/chiselfuse) chiselfuse |
2024-11-05 01:42:14 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-11-05 01:46:59 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
2024-11-05 01:48:04 +0100 | sroso | (~sroso@user/SrOso) SrOso |
2024-11-05 01:50:24 +0100 | Square | (~Square@user/square) (Ping timeout: 252 seconds) |
2024-11-05 01:54:48 +0100 | jess | (meow@libera/staff/cat/jess) (Quit: Lost terminal) |
2024-11-05 01:57:38 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-11-05 02:02:09 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
2024-11-05 02:02:59 +0100 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.) |
2024-11-05 02:04:38 +0100 | jess | (meow@libera/staff/cat/jess) jess |
2024-11-05 02:10:52 +0100 | gmg | (~user@user/gehmehgeh) gehmehgeh |
2024-11-05 02:12:16 +0100 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) |
2024-11-05 02:13:57 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-11-05 02:14:00 +0100 | <sclv> | Inst: servant has a special helper just for your use case of exposing a directory https://hackage.haskell.org/package/servant-server-0.20.2/docs/Servant-Server-StaticFiles.html#v:s… |
2024-11-05 02:16:43 +0100 | m5zs7k | (aquares@web10.mydevil.net) (Read error: Connection reset by peer) |
2024-11-05 02:17:08 +0100 | m5zs7k | (aquares@web10.mydevil.net) m5zs7k |
2024-11-05 02:18:32 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-11-05 02:20:36 +0100 | Square2 | (~Square4@user/square) Square |
2024-11-05 02:26:56 +0100 | chiselfuse | (~chiselfus@user/chiselfuse) (Ping timeout: 260 seconds) |
2024-11-05 02:28:13 +0100 | madhavanmiui | (~madhavanm@152.58.212.143) |
2024-11-05 02:28:16 +0100 | madhavanmiui | (~madhavanm@152.58.212.143) (Client Quit) |
2024-11-05 02:29:08 +0100 | chiselfuse | (~chiselfus@user/chiselfuse) chiselfuse |
2024-11-05 02:29:21 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-11-05 02:29:43 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Quit: peterbecich) |
2024-11-05 02:30:11 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2024-11-05 02:39:42 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
2024-11-05 02:48:14 +0100 | rvalue- | (~rvalue@user/rvalue) rvalue |
2024-11-05 02:48:18 +0100 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
2024-11-05 02:48:57 +0100 | rvalue | (~rvalue@user/rvalue) (Ping timeout: 252 seconds) |
2024-11-05 02:50:33 +0100 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 244 seconds) |
2024-11-05 02:50:49 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-11-05 02:52:22 +0100 | rvalue- | rvalue |
2024-11-05 02:52:38 +0100 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 255 seconds) |
2024-11-05 02:55:39 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
2024-11-05 03:06:11 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-11-05 03:10:36 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-11-05 03:13:33 +0100 | JuanDaugherty | (~juan@user/JuanDaugherty) JuanDaugherty |
2024-11-05 03:15:31 +0100 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
2024-11-05 03:18:25 +0100 | troojg | (~troojg@user/troojg) troojg |
2024-11-05 03:21:34 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-11-05 03:26:40 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds) |
2024-11-05 03:31:38 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-11-05 03:34:59 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 244 seconds) |
2024-11-05 03:35:24 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) L29Ah |
2024-11-05 03:36:14 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
2024-11-05 03:37:49 +0100 | spew | (~spew@201.141.99.170) (Quit: spew) |
2024-11-05 03:39:51 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Remote host closed the connection) |
2024-11-05 03:40:06 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-11-05 03:43:23 +0100 | morb | (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Quit: Leaving...) |
2024-11-05 03:51:35 +0100 | machinedgod | (~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 255 seconds) |
2024-11-05 03:52:25 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-11-05 03:53:51 +0100 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection) |
2024-11-05 03:56:59 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds) |
2024-11-05 03:59:25 +0100 | hgolden__ | (~hgolden@23.162.40.28) hgolden |
2024-11-05 04:01:51 +0100 | hgolden_ | (~hgolden@23.162.40.69) (Ping timeout: 252 seconds) |
2024-11-05 04:07:47 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-11-05 04:14:46 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-11-05 04:25:49 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-11-05 04:28:15 +0100 | <arahael> | I'm attempting to install haskell on debian trixie. However, ghcup installs the wrong version. |
2024-11-05 04:28:32 +0100 | <arahael> | It's installing the version for bookworm instead. |
2024-11-05 04:30:49 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
2024-11-05 04:38:57 +0100 | JuanDaugherty | (~juan@user/JuanDaugherty) (Ping timeout: 252 seconds) |
2024-11-05 04:41:06 +0100 | <geekosaur> | afaict there isn't one for trixie |
2024-11-05 04:41:11 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-11-05 04:41:26 +0100 | <arahael> | Hmm, so I should stick with the distro-provided ghc and cabal et al. |
2024-11-05 04:41:49 +0100 | <arahael> | Or use distrobox and get myself setup with bookworm I guess. |
2024-11-05 04:42:13 +0100 | <geekosaur> | there are two debian distributions in the ghcup metadata from what I saw, if neither is compatible then you'll have to file a bug about getting a compatible build |
2024-11-05 04:42:19 +0100 | terrorjack4 | (~terrorjac@2a01:4f8:c17:dc9f::) (Quit: The Lounge - https://thelounge.chat) |
2024-11-05 04:42:19 +0100 | Square2 | (~Square4@user/square) (Ping timeout: 260 seconds) |
2024-11-05 04:42:35 +0100 | <arahael> | What are those two debians? |
2024-11-05 04:43:04 +0100 | <arahael> | I suppose it's possible ghcup don't want to support a testing release until it's properly released as stable? |
2024-11-05 04:43:10 +0100 | <geekosaur> | I see "< 10" and ">= 10" |
2024-11-05 04:43:26 +0100 | <arahael> | That's... Interesting. |
2024-11-05 04:43:53 +0100 | <arahael> | By contrast, I saw that ghcup instructed me to install packages that no-longer exist, and tried to install for version 11. |
2024-11-05 04:43:59 +0100 | <arahael> | (And I'm on version 12 - trixie) |
2024-11-05 04:44:00 +0100 | terrorjack4 | (~terrorjac@2a01:4f8:c17:dc9f::) terrorjack |
2024-11-05 04:45:33 +0100 | troojg | (~troojg@user/troojg) (Ping timeout: 252 seconds) |
2024-11-05 04:45:46 +0100 | <geekosaur> | sorry, once I get to a modern version it's three (<10, 10, >=11) |
2024-11-05 04:45:49 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
2024-11-05 04:46:29 +0100 | <arahael> | Ah, that makes sense again, then. |
2024-11-05 04:46:45 +0100 | <arahael> | I could give it a go, regardless, and try the 'bookworm' version. |
2024-11-05 04:49:20 +0100 | <arahael> | Ah, it seems to be a little inconsistent - some of the packages are for bookworm, and some are for trixie. |
2024-11-05 04:49:53 +0100 | <arahael> | ghci> putStrLn "Hello World!" |
2024-11-05 04:49:55 +0100 | <arahael> | Hello World! |
2024-11-05 04:49:57 +0100 | <arahael> | All good! |
2024-11-05 04:53:33 +0100 | td_ | (~td@i53870904.versanet.de) (Ping timeout: 265 seconds) |
2024-11-05 04:54:55 +0100 | td_ | (~td@i53870915.versanet.de) |
2024-11-05 04:57:56 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-11-05 05:02:21 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-11-05 05:13:19 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-11-05 05:16:55 +0100 | migas977 | (~migas@static.140.65.63.178.clients.your-server.de) (Ping timeout: 264 seconds) |
2024-11-05 05:17:54 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
2024-11-05 05:28:27 +0100 | migas977 | (~migas@static.140.65.63.178.clients.your-server.de) migas |
2024-11-05 05:28:41 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-11-05 05:34:54 +0100 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
2024-11-05 05:36:54 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-11-05 05:47:49 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-11-05 05:54:43 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 264 seconds) |
2024-11-05 06:03:23 +0100 | nandv | (~nandv@2405:201:5c16:135:44cd:556f:6094:4e46) |
2024-11-05 06:05:51 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-11-05 06:10:16 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-11-05 06:21:53 +0100 | nandv | (~nandv@2405:201:5c16:135:44cd:556f:6094:4e46) (Ping timeout: 248 seconds) |
2024-11-05 06:25:21 +0100 | litharge | (litharge@libera/bot/litharge) (*.net *.split) |
2024-11-05 06:25:21 +0100 | td_ | (~td@i53870915.versanet.de) (*.net *.split) |
2024-11-05 06:25:21 +0100 | jess | (meow@libera/staff/cat/jess) (*.net *.split) |
2024-11-05 06:25:21 +0100 | roosterphant_ | (~roosterph@185.21.217.76) (*.net *.split) |
2024-11-05 06:25:21 +0100 | weary-traveler | (~user@user/user363627) (*.net *.split) |
2024-11-05 06:25:21 +0100 | Raito_Bezarius | (~Raito@wireguard/tunneler/raito-bezarius) (*.net *.split) |
2024-11-05 06:25:22 +0100 | tomboy64 | (~tomboy64@user/tomboy64) (*.net *.split) |
2024-11-05 06:25:22 +0100 | driib318 | (~driib@vmi931078.contaboserver.net) (*.net *.split) |
2024-11-05 06:25:23 +0100 | hololeap | (~quassel@user/hololeap) (*.net *.split) |
2024-11-05 06:25:23 +0100 | guygastineau | (~guygastin@137.184.131.156) (*.net *.split) |
2024-11-05 06:25:23 +0100 | ThePenguin | (~ThePengui@cust-95-80-24-166.csbnet.se) (*.net *.split) |
2024-11-05 06:25:23 +0100 | igemnace | (~igemnace@user/igemnace) (*.net *.split) |
2024-11-05 06:25:23 +0100 | tomsmeding | (~tomsmedin@2a01:4f8:c0c:5e5e::2) (*.net *.split) |
2024-11-05 06:25:23 +0100 | Techcable | (sid534393@user/Techcable) (*.net *.split) |
2024-11-05 06:25:23 +0100 | mrmonday | (~robert@what.i.hope.is.not.a.tabernaevagant.es) (*.net *.split) |
2024-11-05 06:25:23 +0100 | dibblego | (~dibblego@haskell/developer/dibblego) (*.net *.split) |
2024-11-05 06:25:24 +0100 | orcus | (~orcus@mail.brprice.uk) (*.net *.split) |
2024-11-05 06:25:24 +0100 | krei-se | (~krei-se@p5085d46e.dip0.t-ipconnect.de) (*.net *.split) |
2024-11-05 06:25:24 +0100 | gabiruh | (~gabiruh@vps19177.publiccloud.com.br) (*.net *.split) |
2024-11-05 06:25:24 +0100 | picnoir | (~picnoir@about/aquilenet/vodoo/NinjaTrappeur) (*.net *.split) |
2024-11-05 06:25:24 +0100 | berberman | (~berberman@user/berberman) (*.net *.split) |
2024-11-05 06:25:24 +0100 | nckhexen | (nckx@libera/staff/owl/nckx) (*.net *.split) |
2024-11-05 06:25:24 +0100 | smalltalkman | (uid545680@id-545680.hampstead.irccloud.com) (*.net *.split) |
2024-11-05 06:25:24 +0100 | dunj3 | (~dunj3@2a01:239:328:1600::1) (*.net *.split) |
2024-11-05 06:25:24 +0100 | Vajb | (~Vajb@n7m8bu6eaitlx0eukg2-1.v6.elisa-mobile.fi) (*.net *.split) |
2024-11-05 06:25:24 +0100 | mrvdb | (~mrvdb@2001:19f0:5000:8582:5400:ff:fe07:3df5) (*.net *.split) |
2024-11-05 06:25:24 +0100 | b20n | (sid115913@id-115913.uxbridge.irccloud.com) (*.net *.split) |
2024-11-05 06:25:25 +0100 | Moyst__ | (~moyst@user/moyst) (*.net *.split) |
2024-11-05 06:25:25 +0100 | c_wraith | (~c_wraith@adjoint.us) (*.net *.split) |
2024-11-05 06:25:25 +0100 | yushyin | (Uxh5EO4c9E@karif.server-speed.net) (*.net *.split) |
2024-11-05 06:25:25 +0100 | Ram-Z | (~Ram-Z@li1814-254.members.linode.com) (*.net *.split) |
2024-11-05 06:25:25 +0100 | ggVGc | (~ggVGc@a.lowtech.earth) (*.net *.split) |
2024-11-05 06:25:25 +0100 | rini | (~rini@user/rini) (*.net *.split) |
2024-11-05 06:25:25 +0100 | Digitteknohippie | (~user@user/digit) (*.net *.split) |
2024-11-05 06:25:25 +0100 | alphazone_ | (~alphazone@2.219.56.221) (*.net *.split) |
2024-11-05 06:25:25 +0100 | alp | (~alp@2001:861:e3d6:8f80:8ee1:f46d:3f90:227c) (*.net *.split) |
2024-11-05 06:25:25 +0100 | Leary | (~Leary@user/Leary/x-0910699) (*.net *.split) |
2024-11-05 06:25:26 +0100 | Eoco | (~ian@128.101.131.218) (*.net *.split) |
2024-11-05 06:25:26 +0100 | JamesMowery43 | (~JamesMowe@ip98-167-207-182.ph.ph.cox.net) (*.net *.split) |
2024-11-05 06:25:26 +0100 | gawen | (~gawen@user/gawen) (*.net *.split) |
2024-11-05 06:25:26 +0100 | haskellbridge | (~hackager@syn-024-093-192-219.res.spectrum.com) (*.net *.split) |
2024-11-05 06:25:26 +0100 | infinity0 | (~infinity0@pwned.gg) (*.net *.split) |
2024-11-05 06:25:26 +0100 | img | (~img@user/img) (*.net *.split) |
2024-11-05 06:25:26 +0100 | Pozyomka | (~pyon@user/pyon) (*.net *.split) |
2024-11-05 06:25:27 +0100 | ggb | (a62ffbaf4f@2a03:6000:1812:100::3ac) (*.net *.split) |
2024-11-05 06:25:27 +0100 | jakzale | (6291399afa@user/jakzale) (*.net *.split) |
2024-11-05 06:25:27 +0100 | ACuriousMoose | (~ACuriousM@156.34.161.188) (*.net *.split) |
2024-11-05 06:25:27 +0100 | pandeyan | (~pandeyan@135-180-52-227.fiber.dynamic.sonic.net) (*.net *.split) |
2024-11-05 06:25:27 +0100 | jrm | (~jrm@user/jrm) (*.net *.split) |
2024-11-05 06:25:27 +0100 | swistak | (~swistak@185.21.216.141) (*.net *.split) |
2024-11-05 06:25:28 +0100 | rembo10 | (~rembo10@main.remulis.com) (*.net *.split) |
2024-11-05 06:25:28 +0100 | Typedfern | (~Typedfern@59.red-83-37-27.dynamicip.rima-tde.net) (*.net *.split) |
2024-11-05 06:25:28 +0100 | mewra | (~aranea@wireguard/contributorcat/mira) (*.net *.split) |
2024-11-05 06:25:28 +0100 | tomku | (~tomku@user/tomku) (*.net *.split) |
2024-11-05 06:25:28 +0100 | haveo | (~weechat@pacamara.iuwt.fr) (*.net *.split) |
2024-11-05 06:25:28 +0100 | Rembane | (~Rembane@user/Rembane) (*.net *.split) |
2024-11-05 06:25:28 +0100 | tnks | (sid412124@id-412124.helmsley.irccloud.com) (*.net *.split) |
2024-11-05 06:25:28 +0100 | NemesisD | (sid24071@id-24071.lymington.irccloud.com) (*.net *.split) |
2024-11-05 06:25:28 +0100 | hovsater | (sid499516@user/hovsater) (*.net *.split) |
2024-11-05 06:25:28 +0100 | buhman | (sid411355@user/buhman) (*.net *.split) |
2024-11-05 06:25:29 +0100 | Hecate | (~mariposa@user/hecate) (*.net *.split) |
2024-11-05 06:25:29 +0100 | mniip_ | (mniip@libera/staff/mniip) (*.net *.split) |
2024-11-05 06:25:29 +0100 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (*.net *.split) |
2024-11-05 06:25:29 +0100 | mauke | (~mauke@user/mauke) (*.net *.split) |
2024-11-05 06:25:29 +0100 | Hafydd | (~Hafydd@user/hafydd) (*.net *.split) |
2024-11-05 06:25:29 +0100 | ouroboros | (~ouroboros@user/ouroboros) (*.net *.split) |
2024-11-05 06:25:29 +0100 | peutri | (~peutri@bobo.desast.re) (*.net *.split) |
2024-11-05 06:25:29 +0100 | farn__ | (~farn@2a03:4000:7:3cd:d4ab:85ff:feeb:f505) (*.net *.split) |
2024-11-05 06:25:29 +0100 | lbseale_ | (~quassel@user/ep1ctetus) (*.net *.split) |
2024-11-05 06:25:29 +0100 | ent-_ | (entgod@kapsi.fi) (*.net *.split) |
2024-11-05 06:25:29 +0100 | ringo_ | (~ringo@157.230.117.128) (*.net *.split) |
2024-11-05 06:25:29 +0100 | samhh__ | (7569f027cf@2a03:6000:1812:100::e4) (*.net *.split) |
2024-11-05 06:25:29 +0100 | tok | (da65c7b04b@user/tok) (*.net *.split) |
2024-11-05 06:25:29 +0100 | raghavgururajan | (ea769b8000@user/raghavgururajan) (*.net *.split) |
2024-11-05 06:25:29 +0100 | rselim | (ce261f06ff@user/milesrout) (*.net *.split) |
2024-11-05 06:25:30 +0100 | flocks | (~flocks@134.122.90.60) (*.net *.split) |
2024-11-05 06:25:30 +0100 | coldtom | (~coldtom@coldrick.cc) (*.net *.split) |
2024-11-05 06:25:30 +0100 | finsternis | (~X@23.226.237.192) (*.net *.split) |
2024-11-05 06:25:30 +0100 | arkeet | (~arkeet@moriya.ca) (*.net *.split) |
2024-11-05 06:25:30 +0100 | sm | (~znc@plaintextaccounting/sm) (*.net *.split) |
2024-11-05 06:25:31 +0100 | mhatta | (~mhatta@www21123ui.sakura.ne.jp) (*.net *.split) |
2024-11-05 06:25:31 +0100 | NiKaN | (sid385034@id-385034.helmsley.irccloud.com) (*.net *.split) |
2024-11-05 06:25:31 +0100 | Fangs | (sid141280@id-141280.hampstead.irccloud.com) (*.net *.split) |
2024-11-05 06:25:31 +0100 | cheater | (~Username@user/cheater) (*.net *.split) |
2024-11-05 06:25:31 +0100 | Maxdamantus | (~Maxdamant@user/maxdamantus) (*.net *.split) |
2024-11-05 06:25:31 +0100 | bsima | (~bsima@143.198.118.179) (*.net *.split) |
2024-11-05 06:25:31 +0100 | crazazy | (~crazazy@tilde.town) (*.net *.split) |
2024-11-05 06:25:31 +0100 | masterbuilder | (~quassel@user/masterbuilder) (*.net *.split) |
2024-11-05 06:25:31 +0100 | nisstyre | (wes@user/nisstyre) (*.net *.split) |
2024-11-05 06:25:31 +0100 | Athas | (athas@sigkill.dk) (*.net *.split) |
2024-11-05 06:25:31 +0100 | edwtjo | (~edwtjo@fsf/member/edwtjo) (*.net *.split) |
2024-11-05 06:25:32 +0100 | bcksl | (~bcksl@user/bcksl) (*.net *.split) |
2024-11-05 06:25:32 +0100 | edwardk | (sid47016@haskell/developer/edwardk) (*.net *.split) |
2024-11-05 06:25:32 +0100 | saolsen | (sid26430@id-26430.lymington.irccloud.com) (*.net *.split) |
2024-11-05 06:25:32 +0100 | acro | (~acro@user/acro) (*.net *.split) |
2024-11-05 06:25:32 +0100 | cjay | (cjay@nerdbox.nerd2nerd.org) (*.net *.split) |
2024-11-05 06:25:32 +0100 | teesquare_ | (~teesquare@user/teesquare) (*.net *.split) |
2024-11-05 06:25:32 +0100 | degraafk | (sid71464@id-71464.lymington.irccloud.com) (*.net *.split) |
2024-11-05 06:25:32 +0100 | liskin | (~liskin@xmonad/liskin) (*.net *.split) |
2024-11-05 06:25:32 +0100 | Patternmaster | (~georg@user/Patternmaster) (*.net *.split) |
2024-11-05 06:25:32 +0100 | sefidel | (~sefidel@user/sefidel) (*.net *.split) |
2024-11-05 06:25:32 +0100 | bgamari | (~bgamari@64.223.233.64) (*.net *.split) |
2024-11-05 06:25:33 +0100 | landonf | (landonf@mac68k.info) (*.net *.split) |
2024-11-05 06:25:33 +0100 | beaky | (~beaky@198.211.118.219) (*.net *.split) |
2024-11-05 06:25:33 +0100 | ncf | (~n@monade.li) (*.net *.split) |
2024-11-05 06:25:33 +0100 | ChanServ | (ChanServ@services.libera.chat) (*.net *.split) |
2024-11-05 06:25:51 +0100 | Sgeo_ | (~Sgeo@ool-45759c8b.dyn.optonline.net) |
2024-11-05 06:26:06 +0100 | ChanServ | (ChanServ@services.libera.chat) |
2024-11-05 06:26:06 +0100 | litharge | (litharge@libera/bot/litharge) litharge |
2024-11-05 06:26:06 +0100 | mercury.libera.chat | +o ChanServ |
2024-11-05 06:26:36 +0100 | biberu\ | (~biberu@user/biberu) biberu |
2024-11-05 06:26:55 +0100 | Ram-Z | (Ram-Z@2a01:7e01::f03c:91ff:fe57:d2df) Ram-Z |
2024-11-05 06:27:04 +0100 | samhh | 082AAS5CR |
2024-11-05 06:27:08 +0100 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) tzh |
2024-11-05 06:27:08 +0100 | mauke | (~mauke@user/mauke) mauke |
2024-11-05 06:27:08 +0100 | Hafydd | (~Hafydd@user/hafydd) Hafydd |
2024-11-05 06:27:08 +0100 | ouroboros | (~ouroboros@user/ouroboros) ouroboros |
2024-11-05 06:27:08 +0100 | peutri | (~peutri@bobo.desast.re) peutri |
2024-11-05 06:27:08 +0100 | farn__ | (~farn@2a03:4000:7:3cd:d4ab:85ff:feeb:f505) farn |
2024-11-05 06:27:08 +0100 | lbseale_ | (~quassel@user/ep1ctetus) ep1ctetus |
2024-11-05 06:27:08 +0100 | ent-_ | (entgod@kapsi.fi) ent |
2024-11-05 06:27:08 +0100 | ringo_ | (~ringo@157.230.117.128) ringo_ |
2024-11-05 06:27:08 +0100 | samhh | (7569f027cf@2a03:6000:1812:100::e4) samhh |
2024-11-05 06:27:08 +0100 | tok | (da65c7b04b@user/tok) tok |
2024-11-05 06:27:08 +0100 | raghavgururajan | (ea769b8000@user/raghavgururajan) raghavgururajan |
2024-11-05 06:27:08 +0100 | rselim | (ce261f06ff@user/milesrout) milesrout |
2024-11-05 06:27:08 +0100 | flocks | (~flocks@134.122.90.60) flocks |
2024-11-05 06:27:08 +0100 | coldtom | (~coldtom@coldrick.cc) coldtom |
2024-11-05 06:27:08 +0100 | finsternis | (~X@23.226.237.192) finsternis |
2024-11-05 06:27:08 +0100 | arkeet | (~arkeet@moriya.ca) arkeet |
2024-11-05 06:27:08 +0100 | sm | (~znc@plaintextaccounting/sm) sm |
2024-11-05 06:27:08 +0100 | mhatta | (~mhatta@www21123ui.sakura.ne.jp) mhatta |
2024-11-05 06:27:08 +0100 | NiKaN | (sid385034@id-385034.helmsley.irccloud.com) NiKaN |
2024-11-05 06:27:08 +0100 | Fangs | (sid141280@id-141280.hampstead.irccloud.com) Fangs |
2024-11-05 06:27:08 +0100 | cheater | (~Username@user/cheater) cheater |
2024-11-05 06:27:08 +0100 | Maxdamantus | (~Maxdamant@user/maxdamantus) Maxdamantus |
2024-11-05 06:27:08 +0100 | bsima | (~bsima@143.198.118.179) bsima |
2024-11-05 06:27:08 +0100 | crazazy | (~crazazy@tilde.town) crazazy |
2024-11-05 06:27:08 +0100 | masterbuilder | (~quassel@user/masterbuilder) masterbuilder |
2024-11-05 06:27:08 +0100 | nisstyre | (wes@user/nisstyre) nisstyre |
2024-11-05 06:27:08 +0100 | Athas | (athas@sigkill.dk) Athas |
2024-11-05 06:27:08 +0100 | edwtjo | (~edwtjo@fsf/member/edwtjo) edwtjo |
2024-11-05 06:27:08 +0100 | bcksl | (~bcksl@user/bcksl) bcksl |
2024-11-05 06:27:08 +0100 | edwardk | (sid47016@haskell/developer/edwardk) edwardk |
2024-11-05 06:27:08 +0100 | saolsen | (sid26430@id-26430.lymington.irccloud.com) saolsen |
2024-11-05 06:27:08 +0100 | acro | (~acro@user/acro) acro |
2024-11-05 06:27:08 +0100 | cjay | (cjay@nerdbox.nerd2nerd.org) cjay |
2024-11-05 06:27:08 +0100 | teesquare_ | (~teesquare@user/teesquare) teesquare |
2024-11-05 06:27:08 +0100 | ncf | (~n@monade.li) ncf |
2024-11-05 06:27:08 +0100 | degraafk | (sid71464@id-71464.lymington.irccloud.com) degraafk |
2024-11-05 06:27:08 +0100 | liskin | (~liskin@xmonad/liskin) Liskni_si |
2024-11-05 06:27:08 +0100 | Patternmaster | (~georg@user/Patternmaster) Patternmaster |
2024-11-05 06:27:08 +0100 | sefidel | (~sefidel@user/sefidel) sefidel |
2024-11-05 06:27:08 +0100 | bgamari | (~bgamari@64.223.233.64) bgamari |
2024-11-05 06:27:08 +0100 | landonf | (landonf@mac68k.info) |
2024-11-05 06:27:08 +0100 | beaky | (~beaky@198.211.118.219) beaky |
2024-11-05 06:27:35 +0100 | finsternis | (~X@23.226.237.192) (Max SendQ exceeded) |
2024-11-05 06:27:36 +0100 | Sgeo | (~Sgeo@user/sgeo) (Ping timeout: 243 seconds) |
2024-11-05 06:27:48 +0100 | rini | (~rini@user/rini) rini |
2024-11-05 06:27:48 +0100 | Digitteknohippie | (~user@user/digit) Digit |
2024-11-05 06:27:48 +0100 | alp | (~alp@2001:861:e3d6:8f80:8ee1:f46d:3f90:227c) |
2024-11-05 06:27:48 +0100 | Leary | (~Leary@user/Leary/x-0910699) Leary |
2024-11-05 06:27:48 +0100 | Eoco | (~ian@128.101.131.218) Eoco |
2024-11-05 06:27:48 +0100 | JamesMowery43 | (~JamesMowe@ip98-167-207-182.ph.ph.cox.net) JamesMowery |
2024-11-05 06:27:48 +0100 | gawen | (~gawen@user/gawen) gawen |
2024-11-05 06:27:48 +0100 | haskellbridge | (~hackager@syn-024-093-192-219.res.spectrum.com) hackager |
2024-11-05 06:27:48 +0100 | infinity0 | (~infinity0@pwned.gg) infinity0 |
2024-11-05 06:27:48 +0100 | img | (~img@user/img) img |
2024-11-05 06:27:48 +0100 | Pozyomka | (~pyon@user/pyon) pyon |
2024-11-05 06:27:48 +0100 | ggb | (a62ffbaf4f@2a03:6000:1812:100::3ac) |
2024-11-05 06:27:48 +0100 | jakzale | (6291399afa@user/jakzale) jakzale |
2024-11-05 06:27:48 +0100 | ACuriousMoose | (~ACuriousM@156.34.161.188) ACuriousMoose |
2024-11-05 06:27:48 +0100 | pandeyan | (~pandeyan@135-180-52-227.fiber.dynamic.sonic.net) |
2024-11-05 06:27:48 +0100 | jrm | (~jrm@user/jrm) jrm |
2024-11-05 06:27:48 +0100 | swistak | (~swistak@185.21.216.141) |
2024-11-05 06:27:48 +0100 | rembo10 | (~rembo10@main.remulis.com) rembo10 |
2024-11-05 06:27:48 +0100 | Typedfern | (~Typedfern@59.red-83-37-27.dynamicip.rima-tde.net) typedfern |
2024-11-05 06:27:48 +0100 | mewra | (~aranea@wireguard/contributorcat/mira) aranea |
2024-11-05 06:27:48 +0100 | tomku | (~tomku@user/tomku) tomku |
2024-11-05 06:27:48 +0100 | haveo | (~weechat@pacamara.iuwt.fr) haveo |
2024-11-05 06:27:48 +0100 | Rembane | (~Rembane@user/Rembane) Rembane |
2024-11-05 06:27:48 +0100 | tnks | (sid412124@id-412124.helmsley.irccloud.com) tnks |
2024-11-05 06:27:48 +0100 | NemesisD | (sid24071@id-24071.lymington.irccloud.com) NemesisD |
2024-11-05 06:27:48 +0100 | hovsater | (sid499516@user/hovsater) hovsater |
2024-11-05 06:27:48 +0100 | buhman | (sid411355@user/buhman) buhman |
2024-11-05 06:27:48 +0100 | Hecate | (~mariposa@user/hecate) Hecate |
2024-11-05 06:27:48 +0100 | mniip_ | (mniip@libera/staff/mniip) mniip |
2024-11-05 06:27:48 +0100 | mercury.libera.chat | +v haskellbridge |
2024-11-05 06:27:54 +0100 | briandaed | (~root@185.234.210.211) |
2024-11-05 06:28:11 +0100 | finsternis | (~X@23.226.237.192) finsternis |
2024-11-05 06:28:25 +0100 | td_ | (~td@i53870915.versanet.de) td_ |
2024-11-05 06:28:25 +0100 | jess | (meow@libera/staff/cat/jess) jess |
2024-11-05 06:28:25 +0100 | roosterphant_ | (~roosterph@185.21.217.76) |
2024-11-05 06:28:25 +0100 | weary-traveler | (~user@user/user363627) user363627 |
2024-11-05 06:28:25 +0100 | Raito_Bezarius | (~Raito@wireguard/tunneler/raito-bezarius) Raito_Bezarius |
2024-11-05 06:28:25 +0100 | tomboy64 | (~tomboy64@user/tomboy64) tomboy64 |
2024-11-05 06:28:25 +0100 | driib318 | (~driib@vmi931078.contaboserver.net) driib |
2024-11-05 06:28:25 +0100 | hololeap | (~quassel@user/hololeap) hololeap |
2024-11-05 06:28:25 +0100 | guygastineau | (~guygastin@137.184.131.156) RMSBach |
2024-11-05 06:28:25 +0100 | ThePenguin | (~ThePengui@cust-95-80-24-166.csbnet.se) ThePenguin |
2024-11-05 06:28:25 +0100 | igemnace | (~igemnace@user/igemnace) igemnace |
2024-11-05 06:28:25 +0100 | tomsmeding | (~tomsmedin@2a01:4f8:c0c:5e5e::2) tomsmeding |
2024-11-05 06:28:25 +0100 | Techcable | (sid534393@user/Techcable) Techcable |
2024-11-05 06:28:25 +0100 | mrmonday | (~robert@what.i.hope.is.not.a.tabernaevagant.es) mrmonday |
2024-11-05 06:28:25 +0100 | dibblego | (~dibblego@haskell/developer/dibblego) dibblego |
2024-11-05 06:28:25 +0100 | orcus | (~orcus@mail.brprice.uk) |
2024-11-05 06:28:25 +0100 | krei-se | (~krei-se@p5085d46e.dip0.t-ipconnect.de) krei-se |
2024-11-05 06:28:25 +0100 | gabiruh | (~gabiruh@vps19177.publiccloud.com.br) gabiruh |
2024-11-05 06:28:25 +0100 | picnoir | (~picnoir@about/aquilenet/vodoo/NinjaTrappeur) NinjaTrappeur |
2024-11-05 06:28:25 +0100 | berberman | (~berberman@user/berberman) berberman |
2024-11-05 06:28:25 +0100 | nckhexen | (nckx@libera/staff/owl/nckx) nckx |
2024-11-05 06:28:25 +0100 | smalltalkman | (uid545680@id-545680.hampstead.irccloud.com) smalltalkman |
2024-11-05 06:28:25 +0100 | dunj3 | (~dunj3@2a01:239:328:1600::1) dunj3 |
2024-11-05 06:28:25 +0100 | Vajb | (~Vajb@n7m8bu6eaitlx0eukg2-1.v6.elisa-mobile.fi) |
2024-11-05 06:28:25 +0100 | mrvdb | (~mrvdb@2001:19f0:5000:8582:5400:ff:fe07:3df5) mrvdb |
2024-11-05 06:28:25 +0100 | b20n | (sid115913@id-115913.uxbridge.irccloud.com) b20n |
2024-11-05 06:28:25 +0100 | Moyst__ | (~moyst@user/moyst) Moyst |
2024-11-05 06:28:25 +0100 | c_wraith | (~c_wraith@adjoint.us) c_wraith |
2024-11-05 06:28:25 +0100 | yushyin | (Uxh5EO4c9E@karif.server-speed.net) yushyin |
2024-11-05 06:28:25 +0100 | ggVGc | (~ggVGc@a.lowtech.earth) |
2024-11-05 06:28:34 +0100 | alphazone | (~alphazone@2.219.56.221) |
2024-11-05 06:28:48 +0100 | Me-me | (~me-me@kc.randomserver.name) (Changing host) |
2024-11-05 06:28:48 +0100 | Me-me | (~me-me@user/me-me) Me-me |
2024-11-05 06:28:50 +0100 | igemnace | (~igemnace@user/igemnace) (Max SendQ exceeded) |
2024-11-05 06:28:50 +0100 | Raito_Bezarius | (~Raito@wireguard/tunneler/raito-bezarius) (Max SendQ exceeded) |
2024-11-05 06:29:13 +0100 | igemnace | (~igemnace@user/igemnace) igemnace |
2024-11-05 06:29:59 +0100 | biberu | (~biberu@user/biberu) (Ping timeout: 255 seconds) |
2024-11-05 06:29:59 +0100 | biberu\ | biberu |
2024-11-05 06:31:33 +0100 | NiKaN | (sid385034@id-385034.helmsley.irccloud.com) (Ping timeout: 248 seconds) |
2024-11-05 06:32:15 +0100 | Techcable | (sid534393@user/Techcable) (Ping timeout: 252 seconds) |
2024-11-05 06:33:24 +0100 | Techcable | (sid534393@user/Techcable) Techcable |
2024-11-05 06:33:38 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-11-05 06:33:51 +0100 | NiKaN | (sid385034@id-385034.helmsley.irccloud.com) NiKaN |
2024-11-05 06:35:14 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2024-11-05 06:35:35 +0100 | litharge | (litharge@libera/bot/litharge) (Ping timeout: 630 seconds) |
2024-11-05 06:35:40 +0100 | Raito_Bezarius | (~Raito@wireguard/tunneler/raito-bezarius) Raito_Bezarius |
2024-11-05 06:36:19 +0100 | litharge | (litharge@libera/bot/litharge) litharge |
2024-11-05 06:38:01 +0100 | FinnBoat | (~user@29.118.67.37.rev.sfr.net) |
2024-11-05 06:40:54 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
2024-11-05 06:42:14 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) sord937 |
2024-11-05 06:43:02 +0100 | michalz | (~michalz@185.246.207.203) |
2024-11-05 06:46:08 +0100 | pabs3 | (~pabs3@user/pabs3) (Read error: Connection reset by peer) |
2024-11-05 06:46:52 +0100 | pabs3 | (~pabs3@user/pabs3) pabs3 |
2024-11-05 06:47:49 +0100 | nandv | (~nandv@2405:201:5c16:135:e925:789:fa7f:2328) |
2024-11-05 06:48:30 +0100 | byte | (~byte@149.28.222.189) (Ping timeout: 252 seconds) |
2024-11-05 06:48:36 +0100 | natoshi-sakamoto | (~natoshi-s@2405:201:5c16:135:7459:cd00:c885:3805) |
2024-11-05 06:49:58 +0100 | alp | (~alp@2001:861:e3d6:8f80:8ee1:f46d:3f90:227c) (Ping timeout: 272 seconds) |
2024-11-05 06:51:49 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-11-05 06:53:06 +0100 | byte | (~byte@149.28.222.189) |
2024-11-05 06:56:48 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
2024-11-05 06:57:17 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 265 seconds) |
2024-11-05 07:04:20 +0100 | FinnBoat | (~user@29.118.67.37.rev.sfr.net) (Remote host closed the connection) |
2024-11-05 07:06:34 +0100 | euleritian | (~euleritia@dynamic-176-007-145-160.176.7.pool.telefonica.de) |
2024-11-05 07:07:12 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-11-05 07:07:34 +0100 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 260 seconds) |
2024-11-05 07:09:29 +0100 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) |
2024-11-05 07:09:48 +0100 | nandv | (~nandv@2405:201:5c16:135:e925:789:fa7f:2328) (Ping timeout: 276 seconds) |
2024-11-05 07:11:03 +0100 | euleritian | (~euleritia@dynamic-176-007-145-160.176.7.pool.telefonica.de) (Ping timeout: 252 seconds) |
2024-11-05 07:11:36 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-11-05 07:14:14 +0100 | frxi | (~frxi@49.36.234.228) |
2024-11-05 07:14:34 +0100 | euleritian | (~euleritia@dynamic-176-006-131-070.176.6.pool.telefonica.de) |
2024-11-05 07:22:19 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2024-11-05 07:22:34 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-11-05 07:23:28 +0100 | misterfish | (~misterfis@84.53.85.146) misterfish |
2024-11-05 07:23:42 +0100 | euleritian | (~euleritia@dynamic-176-006-131-070.176.6.pool.telefonica.de) (Ping timeout: 252 seconds) |
2024-11-05 07:24:31 +0100 | euleritian | (~euleritia@dynamic-176-000-012-045.176.0.pool.telefonica.de) |
2024-11-05 07:28:00 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
2024-11-05 07:30:03 +0100 | Sgeo_ | (~Sgeo@ool-45759c8b.dyn.optonline.net) (Read error: Connection reset by peer) |
2024-11-05 07:32:56 +0100 | poscat0x04 | (~poscat@user/poscat) poscat |
2024-11-05 07:33:12 +0100 | poscat | (~poscat@user/poscat) (Ping timeout: 276 seconds) |
2024-11-05 07:34:39 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-11-05 07:35:53 +0100 | natoshi-sakamoto | (~natoshi-s@2405:201:5c16:135:7459:cd00:c885:3805) (Quit: CoreIRC for Android - www.coreirc.com) |
2024-11-05 07:35:57 +0100 | longlongdouble | (~longlongd@2405:201:5c16:135:7459:cd00:c885:3805) |
2024-11-05 07:36:11 +0100 | frxi | (~frxi@49.36.234.228) (Remote host closed the connection) |
2024-11-05 07:37:29 +0100 | mulk | (~mulk@pd95146e9.dip0.t-ipconnect.de) (Ping timeout: 255 seconds) |
2024-11-05 07:39:00 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-11-05 07:39:20 +0100 | mulk | (~mulk@pd95146e9.dip0.t-ipconnect.de) mulk |
2024-11-05 07:50:02 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-11-05 07:54:23 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-11-05 07:58:48 +0100 | acidjnk | (~acidjnk@p200300d6e7283f86fde9f223924bb8a1.dip0.t-ipconnect.de) acidjnk |
2024-11-05 08:02:53 +0100 | misterfish | (~misterfis@84.53.85.146) (Ping timeout: 245 seconds) |
2024-11-05 08:15:38 +0100 | weary-traveler | (~user@user/user363627) (Remote host closed the connection) |
2024-11-05 08:23:30 +0100 | l-Shane-l | (~l-Shane-l@171.33.234.132) |
2024-11-05 08:27:24 +0100 | hgolden_ | (~hgolden@169.150.203.36) hgolden |
2024-11-05 08:29:58 +0100 | hgolden__ | (~hgolden@23.162.40.28) (Ping timeout: 252 seconds) |
2024-11-05 08:38:24 +0100 | l-Shane-l | (~l-Shane-l@171.33.234.132) (Quit: Client closed) |
2024-11-05 08:44:58 +0100 | l-Shane-l | (~l-Shane-l@user/l-Shane-l) l-Shane-l |
2024-11-05 08:46:19 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 264 seconds) |
2024-11-05 08:47:08 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) Lord_of_Life |
2024-11-05 08:47:43 +0100 | nandv | (~nandv@2405:201:5c16:135:1dc1:6936:d420:250a) |
2024-11-05 08:51:13 +0100 | abyss | (~nandv@185.107.56.128) |
2024-11-05 08:54:07 +0100 | nandv | (~nandv@2405:201:5c16:135:1dc1:6936:d420:250a) (Ping timeout: 264 seconds) |
2024-11-05 09:00:00 +0100 | caconym | (~caconym@user/caconym) (Quit: bye) |
2024-11-05 09:00:39 +0100 | caconym | (~caconym@user/caconym) caconym |
2024-11-05 09:06:03 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) lortabac |
2024-11-05 09:06:20 +0100 | misterfish | (~misterfis@h239071.upc-h.chello.nl) misterfish |
2024-11-05 09:07:34 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-11-05 09:07:34 +0100 | youthlic | (~Thunderbi@user/youthlic) (Quit: youthlic) |
2024-11-05 09:08:58 +0100 | l-Shane-l | (~l-Shane-l@user/l-Shane-l) (Quit: Client closed) |
2024-11-05 09:09:22 +0100 | youthlic | (~Thunderbi@user/youthlic) youthlic |
2024-11-05 09:14:00 +0100 | simendsjo | (~user@79.161.5.185) |
2024-11-05 09:24:05 +0100 | nandv | (~nandv@2405:201:5c16:135:1dc1:6936:d420:250a) |
2024-11-05 09:25:42 +0100 | abyss | (~nandv@185.107.56.128) (Ping timeout: 252 seconds) |
2024-11-05 09:25:44 +0100 | youthlic | (~Thunderbi@user/youthlic) (Quit: youthlic) |
2024-11-05 09:25:56 +0100 | simendsjo | (~user@79.161.5.185) (Ping timeout: 255 seconds) |
2024-11-05 09:27:36 +0100 | youthlic | (~Thunderbi@user/youthlic) youthlic |
2024-11-05 09:27:57 +0100 | alp | (~alp@static-176-175-89-30.ftth.abo.bbox.fr) |
2024-11-05 09:28:16 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds) |
2024-11-05 09:33:48 +0100 | todi | (~todi@p57803331.dip0.t-ipconnect.de) todi |
2024-11-05 09:34:09 +0100 | notzmv | (~daniel@user/notzmv) (Ping timeout: 260 seconds) |
2024-11-05 09:38:39 +0100 | ubert | (~Thunderbi@178.115.51.39.wireless.dyn.drei.com) (Ping timeout: 276 seconds) |
2024-11-05 09:46:46 +0100 | merijn | (~merijn@77.242.116.146) merijn |
2024-11-05 09:48:31 +0100 | euleritian | (~euleritia@dynamic-176-000-012-045.176.0.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-11-05 09:48:47 +0100 | Versality | (~Versality@user/Versality) Versality |
2024-11-05 09:48:49 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-11-05 09:58:30 +0100 | machinedgod | (~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod |
2024-11-05 10:04:27 +0100 | enikar | (~enikar@user/enikar) (Quit: WeeChat 3.0) |
2024-11-05 10:04:43 +0100 | enikar | (~enikar@user/enikar) enikar |
2024-11-05 10:05:14 +0100 | abyss | (~nandv@37.19.205.154) |
2024-11-05 10:08:33 +0100 | nandv | (~nandv@2405:201:5c16:135:1dc1:6936:d420:250a) (Ping timeout: 276 seconds) |
2024-11-05 10:08:37 +0100 | ash3en | (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) ash3en |
2024-11-05 10:08:39 +0100 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz) |
2024-11-05 10:09:06 +0100 | <Inst> | is Text `Either` Bool cancerous? |
2024-11-05 10:09:13 +0100 | <Inst> | or is it an actually acceptable use of Haskell syntax? |
2024-11-05 10:10:02 +0100 | <Inst> | also, where's the config for default fixity / precedence when you backtick a function? |
2024-11-05 10:11:09 +0100 | <kaol> | I get "Illegal term-level use of the type constructor or class ‘Either’" when I try anything like that. |
2024-11-05 10:13:22 +0100 | <Leary> | Type level or not doesn't make a difference; infix is fine iff the identifier is suitably named. "a `Or` b" would be fine, but "a `Either` b" isn't. |
2024-11-05 10:13:44 +0100 | <Leary> | Anyway, you can always just `type (+) = Either`. |
2024-11-05 10:15:30 +0100 | <tomsmeding> | arahael: I guess ghcup doesn't provide versions for newer distro versions because 1. the older ones work and 2. fewer distribution artifacts lightens the load on release managers / CI infra etc. :) |
2024-11-05 10:19:24 +0100 | <geekosaur> | last I heard Julian was doing his own builds on the default channel, so I imagine adding extra ones would be even more work for him. (The vanilla channel contains upstream-provided builds.) |
2024-11-05 10:19:28 +0100 | <Inst> | I heard people complaining about `type ($) a b = a b |
2024-11-05 10:20:03 +0100 | <geekosaur> | how much of that is complaining about `($)` in general? |
2024-11-05 10:20:15 +0100 | <Inst> | kaol: try :k instead of :t |
2024-11-05 10:20:51 +0100 | <Inst> | I don't know, but tbh anti-parens crusade, and the ridiculously we do with crazy stuff like do bulleting |
2024-11-05 10:21:03 +0100 | <Inst> | *riduculousness |
2024-11-05 10:21:19 +0100 | <geekosaur> | anyway I think it's acceptable to the compiler (at type level, of course) but it makes code harder to read |
2024-11-05 10:21:36 +0100 | <Inst> | Haskell 98 apparently defaults to infixl 9, section seems missing in Haskell 2010, though |
2024-11-05 10:22:04 +0100 | <geekosaur> | I strongly prefer to save operator syntax for things that are actually operator-like |
2024-11-05 10:22:27 +0100 | <haskellbridge> | <hellwolf> I think there is beauty in '$ <$> <$ $> <_> <_ *> >>= >=> <=<` |
2024-11-05 10:22:38 +0100 | <haskellbridge> | <hellwolf> * >=< |
2024-11-05 10:22:46 +0100 | <haskellbridge> | <hellwolf> * "$ \<$> \<$ $> \<_\> \<_ \*> >>= >=\< \<=\<\" |
2024-11-05 10:22:53 +0100 | <haskellbridge> | <hellwolf> * <$> <$ $> <_> <_ *> >>= >=< <=<" |
2024-11-05 10:23:12 +0100 | <geekosaur> | https://www.haskell.org/onlinereport/haskell2010/haskellch4.html#x10-820004.4.2 |
2024-11-05 10:23:15 +0100 | <haskellbridge> | <hellwolf> * "$, <$>, <$, $>, <_>, <_, *>, >>=, >=<, |
2024-11-05 10:23:27 +0100 | <haskellbridge> | <hellwolf> * <*, |
2024-11-05 10:23:42 +0100 | <haskellbridge> | <hellwolf> * >=>, |
2024-11-05 10:23:55 +0100 | <geekosaur> | ugh, those edits are cancer IRC-side |
2024-11-05 10:24:09 +0100 | <haskellbridge> | <hellwolf> sorry, I forget this is IRC channel, I was aware of it. |
2024-11-05 10:24:28 +0100 | <tomsmeding> | (isn't "cancer" a bit overblown?) |
2024-11-05 10:24:46 +0100 | haskellbridge | hellwolf slaps myself with a large trout in good old IRC fashion |
2024-11-05 10:24:46 +0100 | <Inst> | (.) doesn't seem to work that well on type level, though |
2024-11-05 10:24:47 +0100 | <Inst> | sorry |
2024-11-05 10:24:53 +0100 | <tomsmeding> | (though yes it's ugly and fairly unreadable sometimes) |
2024-11-05 10:25:05 +0100 | <tomsmeding> | Inst: it's called Compose |
2024-11-05 10:25:06 +0100 | <Inst> | the problem is that Either is supposed to be the standard sum type |
2024-11-05 10:25:09 +0100 | <Inst> | ah |
2024-11-05 10:25:13 +0100 | <tomsmeding> | but it's a newtype |
2024-11-05 10:25:14 +0100 | <geekosaur> | it's too overloaded, I suspect, especially given `forall …. .` |
2024-11-05 10:25:51 +0100 | <arahael> | tomsmeding: That does make sense. Was just a bit confusing. |
2024-11-05 10:25:52 +0100 | <tomsmeding> | in general, in haskell, if a type synonym / family thing doesn't work too well in haskell, an extra newtype layer often fixes things |
2024-11-05 10:25:52 +0100 | <haskellbridge> | <hellwolf> "(.)" |
2024-11-05 10:25:52 +0100 | <haskellbridge> | ... long message truncated: https://kf8nh.com/_heisenbridge/media/kf8nh.com/KtvFpYdPnvlljZESVtlFKcjB/LggDqDvOMGc (7 lines) |
2024-11-05 10:25:58 +0100 | geekosaur | needs to try to go back to bed |
2024-11-05 10:26:04 +0100 | <haskellbridge> | <hellwolf> I alwsy remember when Edward Kmett blew my mind with those combinators |
2024-11-05 10:26:21 +0100 | <tomsmeding> | hellwolf: (.) = fmap, so (.) . (.) = fmap fmap fmap |
2024-11-05 10:26:30 +0100 | <Inst> | good luck, and don't stress too much today, it'll be over when it's over, and it's over in 4-8 years afterwards anyways |
2024-11-05 10:27:03 +0100 | Digitteknohippie | Digit |
2024-11-05 10:27:03 +0100 | <haskellbridge> | <hellwolf> no, (.) != fmap. I just double checked with hoogle ;) |
2024-11-05 10:27:30 +0100 | <tomsmeding> | :t (.) . (.) |
2024-11-05 10:27:31 +0100 | <lambdabot> | (b -> c) -> (a1 -> a2 -> b) -> a1 -> a2 -> c |
2024-11-05 10:27:33 +0100 | <tomsmeding> | :t fmap fmap fmap |
2024-11-05 10:27:34 +0100 | <lambdabot> | (Functor f1, Functor f2) => (a -> b) -> f1 (f2 a) -> f1 (f2 b) |
2024-11-05 10:27:35 +0100 | rvalue | (~rvalue@user/rvalue) (Read error: Connection reset by peer) |
2024-11-05 10:27:36 +0100 | <Inst> | (.) = fmap for instance Functor (r ->) |
2024-11-05 10:27:51 +0100 | <tomsmeding> | now set (f1 ~ (->) a1) and (f2 ~ (->) a2) |
2024-11-05 10:28:04 +0100 | rvalue | (~rvalue@user/rvalue) rvalue |
2024-11-05 10:31:48 +0100 | <haskellbridge> | <hellwolf> https://kf8nh.com/_heisenbridge/media/matrix.org/xKUfmoznwCHkVefPSdGMuRsW/vGfaLYyIYNk/image.png |
2024-11-05 10:31:53 +0100 | <haskellbridge> | <hellwolf> Hope screenshot works for IRC users too. |
2024-11-05 10:32:19 +0100 | <tomsmeding> | we get a link :) (wait a minute and it'll show up here https://ircbrowse.tomsmeding.com/browse/lchaskell?events_page=13963 ) |
2024-11-05 10:32:44 +0100 | <haskellbridge> | <hellwolf> sorry for not sorry for the digress. I figured it's an IRC channel, I can get away with some interjections. |
2024-11-05 10:32:46 +0100 | haskellbridge | hellwolf duck now |
2024-11-05 10:33:47 +0100 | <kaol> | Some people just want to see the world burn. Like by redefining map = fmap = (.). |
2024-11-05 10:35:22 +0100 | <kaol> | Just to get "(+1) . [1,2,3]". Not confusing at all. |
2024-11-05 10:35:45 +0100 | <Inst> | . is confusing, tbh |
2024-11-05 10:36:10 +0100 | <Inst> | you can remember it's supposed to resemble the composition operator in math, but there's a dozen other things it's used in computer science |
2024-11-05 10:36:21 +0100 | <Inst> | it's also used for Module.bindingInModule |
2024-11-05 10:36:33 +0100 | <Inst> | and RecordDotSyntax |
2024-11-05 10:38:23 +0100 | <kaol> | That's just syntax. I'm thinking of type level mayhem. |
2024-11-05 10:38:38 +0100 | <haskellbridge> | <hellwolf> . to ∘ is simplified chinese to traditional chinese. |
2024-11-05 10:38:52 +0100 | <merijn> | RecordDotSyntax exists solely to make Haskell's relatively clean grammar a confusing nightmare hellscape |
2024-11-05 10:39:17 +0100 | <kaol> | I'll happily never use it myself. |
2024-11-05 10:39:26 +0100 | <merijn> | It's a bad extension that should feel bad about itself >.< |
2024-11-05 10:41:02 +0100 | <Inst> | nice analogy, given that o takes forever to type whereas . is a keyboard default |
2024-11-05 10:41:26 +0100 | <Inst> | (since simplified Chinese, among other things, makes Chinese far faster to write in non-cursive forms) |
2024-11-05 10:42:30 +0100 | <haskellbridge> | <hellwolf> 书 / 書 (book) |
2024-11-05 10:42:30 +0100 | <haskellbridge> | 广 / 廣 (wide, adj.) |
2024-11-05 10:48:11 +0100 | rvalue- | (~rvalue@user/rvalue) rvalue |
2024-11-05 10:48:44 +0100 | rvalue | (~rvalue@user/rvalue) (Ping timeout: 272 seconds) |
2024-11-05 10:49:26 +0100 | chele | (~chele@user/chele) chele |
2024-11-05 10:49:56 +0100 | cyphase | (~cyphase@user/cyphase) (Read error: Connection reset by peer) |
2024-11-05 10:51:32 +0100 | cyphase | (~cyphase@user/cyphase) cyphase |
2024-11-05 10:54:04 +0100 | rvalue- | rvalue |
2024-11-05 10:58:31 +0100 | enikar | (~enikar@user/enikar) (Quit: WeeChat 3.0) |
2024-11-05 10:59:52 +0100 | ubert | (~Thunderbi@178.115.51.39.wireless.dyn.drei.com) ubert |
2024-11-05 11:08:05 +0100 | misterfish | (~misterfis@h239071.upc-h.chello.nl) (Ping timeout: 255 seconds) |
2024-11-05 11:08:44 +0100 | lxsameer | (~lxsameer@Serene/lxsameer) lxsameer |
2024-11-05 11:09:04 +0100 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 260 seconds) |
2024-11-05 11:09:34 +0100 | l-Shane-l | (~l-Shane-l@user/l-Shane-l) l-Shane-l |
2024-11-05 11:13:36 +0100 | ezzieyguywuf | (~Unknown@user/ezzieyguywuf) (Ping timeout: 252 seconds) |
2024-11-05 11:14:17 +0100 | ezzieyguywuf | (~Unknown@user/ezzieyguywuf) ezzieyguywuf |
2024-11-05 11:16:23 +0100 | emfrom | (~emfrom@37.171.102.197) |
2024-11-05 11:17:37 +0100 | libertyprime | (~libertypr@118-92-73-199.dsl.dyn.ihug.co.nz) libertyprime |
2024-11-05 11:17:48 +0100 | abyss | (~nandv@37.19.205.154) (Ping timeout: 265 seconds) |
2024-11-05 11:24:33 +0100 | misterfish | (~misterfis@31-161-39-137.biz.kpn.net) misterfish |
2024-11-05 11:24:51 +0100 | alp | (~alp@static-176-175-89-30.ftth.abo.bbox.fr) (Remote host closed the connection) |
2024-11-05 11:25:13 +0100 | alp | (~alp@2001:861:e3d6:8f80:86cd:f9bc:2fcc:950e) |
2024-11-05 11:29:18 +0100 | ash3en1 | (~Thunderbi@146.70.124.222) ash3en |
2024-11-05 11:29:24 +0100 | ash3en | (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Ping timeout: 265 seconds) |
2024-11-05 11:29:24 +0100 | kronicmage | (~kronicmag@neotame.csclub.uwaterloo.ca) (Ping timeout: 265 seconds) |
2024-11-05 11:29:25 +0100 | ash3en1 | ash3en |
2024-11-05 11:29:42 +0100 | <probie> | Handwriting is one thing, but it's the same amount of effort to type 马 as 馬 |
2024-11-05 11:31:32 +0100 | kronicmage | (~kronicmag@neotame.csclub.uwaterloo.ca) kronicmage |
2024-11-05 11:34:08 +0100 | <probie> | . is slightly easier to type than ∘, but with a proper input method, it's not _much_ harder. My normal setup for writing unicode maths characters in code is based on Agda's input method, so it's just `\o` (two key presses) |
2024-11-05 11:35:29 +0100 | longlongdouble | (~longlongd@2405:201:5c16:135:7459:cd00:c885:3805) (Ping timeout: 252 seconds) |
2024-11-05 11:40:25 +0100 | longlongdouble | (~longlongd@117.234.189.117) |
2024-11-05 11:42:45 +0100 | notzmv | (~daniel@user/notzmv) notzmv |
2024-11-05 11:43:27 +0100 | ash3en1 | (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) ash3en |
2024-11-05 11:44:52 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.2.2) |
2024-11-05 11:45:44 +0100 | ash3en | (~Thunderbi@146.70.124.222) (Ping timeout: 272 seconds) |
2024-11-05 11:45:45 +0100 | ash3en1 | ash3en |
2024-11-05 11:53:16 +0100 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) kuribas |
2024-11-05 11:53:53 +0100 | <kuribas> | Is an ADT a category? |
2024-11-05 11:54:00 +0100 | <kuribas> | Then mapping an ADT into another one would be a functor? |
2024-11-05 11:56:16 +0100 | supercode | (~supercode@user/supercode) supercode |
2024-11-05 12:03:14 +0100 | harveypwca | (~harveypwc@2601:246:d080:b40:1889:d9bf:2dd8:b288) HarveyPwca |
2024-11-05 12:03:15 +0100 | <tomsmeding> | kuribas: if it's a category, then what are its objects and its arrows? |
2024-11-05 12:04:53 +0100 | <kuribas> | tomsmeding: Arrows are the products and sums I suppose? |
2024-11-05 12:05:03 +0100 | <kuribas> | Objects are the types? |
2024-11-05 12:05:35 +0100 | <ncf> | ?? |
2024-11-05 12:05:35 +0100 | <tomsmeding> | the "standard" example of a category in the context of FP is: objects are types, arrows (morphisms) are functions |
2024-11-05 12:05:58 +0100 | <tomsmeding> | it works because the identity function is a thing at each type (i.e. on each object), and functions compose |
2024-11-05 12:06:10 +0100 | <tomsmeding> | an ADT would be one object in that category |
2024-11-05 12:06:53 +0100 | <tomsmeding> | kuribas: are you trying to encapsulate some kind of structure in a function from one ADT to another, more than there is in "any function"? |
2024-11-05 12:07:01 +0100 | merijn | (~merijn@77.242.116.146) (Ping timeout: 252 seconds) |
2024-11-05 12:07:59 +0100 | <tomsmeding> | if so, then perhaps the concept of an F-algebra is what you are looking for |
2024-11-05 12:08:04 +0100 | <kuribas> | tomsmeding: I am reading the "databases as categories" article: https://math.libretexts.org/Bookshelves/Applied_Mathematics/Seven_Sketches_in_Compositionality%3A_…(Fong_and_Spivak)/03%3A_Databases-_Categories_functors_and_(co)limits/3.03%3A_Functors_natural_transformations_and_databases |
2024-11-05 12:08:11 +0100 | <kuribas> | I wonder if that works for ADTs too. |
2024-11-05 12:08:28 +0100 | <kuribas> | So I could transform an ADT to a database table, using a functor. |
2024-11-05 12:08:42 +0100 | <tomsmeding> | how on Earth does an ADT correspond to a database table? :p |
2024-11-05 12:09:36 +0100 | <kuribas> | An ORM for example. |
2024-11-05 12:10:08 +0100 | tomsmeding | is out of comfort zone |
2024-11-05 12:10:31 +0100 | <Inst> | wait, do database tables support sum types? |
2024-11-05 12:10:43 +0100 | <Inst> | as in, can a database table be in one of two different schemas? |
2024-11-05 12:11:06 +0100 | tomsmeding | has no clue what's going on on that page |
2024-11-05 12:11:11 +0100 | tomsmeding | sneaks off |
2024-11-05 12:11:38 +0100 | xff0x | (~xff0x@2405:6580:b080:900:fc69:912f:320c:e811) |
2024-11-05 12:11:59 +0100 | <ncf> | this is the most programmer-brained introduction to presheaves i have ever seen |
2024-11-05 12:14:30 +0100 | supercode | (~supercode@user/supercode) (Quit: Client closed) |
2024-11-05 12:14:40 +0100 | <probie> | Inst: If it's not a normal relational database, then sum types may be easily supported :p. If you want to model it in a relational database and don't want to risk being two variants at once, you can have n columns, each being a nullable foreign key to that variant's table, and a constraint that exactly one of those columns is not null |
2024-11-05 12:14:44 +0100 | <ncf> | Inst: as long as you can come up with a notion of homomorphism between instances of different schemas, sure ("there are none" is a valid answer) |
2024-11-05 12:15:26 +0100 | <haskellbridge> | <hellwolf> I recalled a talk from "David Spivak: Categorical Databases". I appreciate people's relentless searches of composition, especially from mathematicians (Bartosz Milewski, et. al.) ... but sometimes someone just gotta find a concrete use case that others can understand and apply the insights. |
2024-11-05 12:17:20 +0100 | ash3en | (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Ping timeout: 244 seconds) |
2024-11-05 12:17:23 +0100 | ash3en1 | (~Thunderbi@146.70.124.222) ash3en |
2024-11-05 12:18:47 +0100 | emfrom | (~emfrom@37.171.102.197) (Remote host closed the connection) |
2024-11-05 12:19:01 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer) |
2024-11-05 12:19:09 +0100 | euleritian | (~euleritia@dynamic-176-006-146-045.176.6.pool.telefonica.de) |
2024-11-05 12:19:26 +0100 | euleritian | (~euleritia@dynamic-176-006-146-045.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-11-05 12:19:40 +0100 | ash3en1 | ash3en |
2024-11-05 12:19:42 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-11-05 12:20:31 +0100 | ash3en | (~Thunderbi@146.70.124.222) (Client Quit) |
2024-11-05 12:20:52 +0100 | ash3en | (~Thunderbi@146.70.124.222) ash3en |
2024-11-05 12:20:59 +0100 | lxsameer | (~lxsameer@Serene/lxsameer) (Ping timeout: 255 seconds) |
2024-11-05 12:21:55 +0100 | merijn | (~merijn@77.242.116.146) merijn |
2024-11-05 12:22:30 +0100 | longlongdouble | (~longlongd@117.234.189.117) (Ping timeout: 244 seconds) |
2024-11-05 12:25:54 +0100 | longlongdouble | (~longlongd@117.234.41.81) |
2024-11-05 12:27:45 +0100 | merijn | (~merijn@77.242.116.146) (Ping timeout: 248 seconds) |
2024-11-05 12:31:28 +0100 | ash3en1 | (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) ash3en |
2024-11-05 12:33:04 +0100 | ash3en | (~Thunderbi@146.70.124.222) (Ping timeout: 252 seconds) |
2024-11-05 12:33:04 +0100 | ash3en1 | ash3en |
2024-11-05 12:34:11 +0100 | merijn | (~merijn@77.242.116.146) merijn |
2024-11-05 12:42:42 +0100 | Guest0012 | (~Guest0012@2402:a00:401:f093:da9e:f3ff:fe4b:8a8b) |
2024-11-05 12:47:03 +0100 | Guest0012 | (~Guest0012@2402:a00:401:f093:da9e:f3ff:fe4b:8a8b) (Ping timeout: 256 seconds) |
2024-11-05 12:52:08 +0100 | libertyprime | (~libertypr@118-92-73-199.dsl.dyn.ihug.co.nz) (Remote host closed the connection) |
2024-11-05 12:52:40 +0100 | SlackCoder | (~SlackCode@64-94-63-8.ip.weststar.net.ky) SlackCoder |
2024-11-05 12:57:28 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) lortabac |
2024-11-05 12:59:58 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 245 seconds) |
2024-11-05 13:00:05 +0100 | caconym | (~caconym@user/caconym) (Quit: bye) |
2024-11-05 13:00:51 +0100 | euleritian | (~euleritia@dynamic-176-006-146-045.176.6.pool.telefonica.de) |
2024-11-05 13:01:24 +0100 | spenat | (~spenat@c-1125235c.012-6-62726f1.bbcust.telenor.se) (Ping timeout: 252 seconds) |
2024-11-05 13:02:07 +0100 | caconym | (~caconym@user/caconym) caconym |
2024-11-05 13:05:32 +0100 | longlongdouble | (~longlongd@117.234.41.81) (Ping timeout: 255 seconds) |
2024-11-05 13:08:41 +0100 | merijn | (~merijn@77.242.116.146) (Ping timeout: 255 seconds) |
2024-11-05 13:11:08 +0100 | merijn | (~merijn@77.242.116.146) merijn |
2024-11-05 13:12:17 +0100 | longlongdouble | (~longlongd@117.225.99.28) |
2024-11-05 13:13:30 +0100 | euleritian | (~euleritia@dynamic-176-006-146-045.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-11-05 13:13:48 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-11-05 13:20:48 +0100 | lxsameer | (~lxsameer@Serene/lxsameer) lxsameer |
2024-11-05 13:26:23 +0100 | longlongdouble | (~longlongd@117.225.99.28) (Ping timeout: 265 seconds) |
2024-11-05 13:26:42 +0100 | longlongdouble | (~longlongd@117.234.170.44) |
2024-11-05 13:31:13 +0100 | sroso | (~sroso@user/SrOso) (Quit: Leaving :)) |
2024-11-05 13:38:12 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-11-05 13:46:30 +0100 | JuanDaugherty | (~juan@user/JuanDaugherty) JuanDaugherty |
2024-11-05 13:49:45 +0100 | harveypwca | (~harveypwc@2601:246:d080:b40:1889:d9bf:2dd8:b288) (Quit: Leaving) |
2024-11-05 13:57:32 +0100 | ol0ck | (~quassel@user/ol0ck) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2024-11-05 13:57:46 +0100 | ol0ck | (~quassel@2001:41d0:2:8cda::1) |
2024-11-05 13:58:30 +0100 | ol0ck | (~quassel@2001:41d0:2:8cda::1) (Changing host) |
2024-11-05 13:58:30 +0100 | ol0ck | (~quassel@user/ol0ck) ol0ck |
2024-11-05 13:59:32 +0100 | ol0ck | (~quassel@user/ol0ck) (Client Quit) |
2024-11-05 14:00:14 +0100 | ol0ck | (~quassel@user/ol0ck) ol0ck |
2024-11-05 14:08:45 +0100 | ash3en | (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Quit: ash3en) |
2024-11-05 14:09:41 +0100 | Everything | (~Everythin@178-133-144-30.mobile.vf-ua.net) Everything |
2024-11-05 14:12:58 +0100 | spenat | (~spenat@c-92-35-37-17.bbcust.telenor.se) |
2024-11-05 14:15:48 +0100 | Versality | (~Versality@user/Versality) (Remote host closed the connection) |
2024-11-05 14:16:45 +0100 | Versality | (~Versality@user/Versality) Versality |
2024-11-05 14:19:56 +0100 | Square2 | (~Square4@user/square) Square |
2024-11-05 14:24:45 +0100 | Guest12 | (~Guest12@31.154.179.218) |
2024-11-05 14:25:11 +0100 | Guest12 | (~Guest12@31.154.179.218) (Quit: Client closed) |
2024-11-05 14:25:25 +0100 | Guest73 | (~Guest12@31.154.179.218) |
2024-11-05 14:33:44 +0100 | Versality | (~Versality@user/Versality) (Remote host closed the connection) |
2024-11-05 14:34:53 +0100 | Versality | (~Versality@user/Versality) Versality |
2024-11-05 14:42:09 +0100 | lxsameer | (~lxsameer@Serene/lxsameer) (Ping timeout: 248 seconds) |
2024-11-05 14:44:06 +0100 | lxsameer | (~lxsameer@Serene/lxsameer) lxsameer |
2024-11-05 14:45:03 +0100 | enikar | (~enikar@user/enikar) enikar |
2024-11-05 14:47:23 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-11-05 14:49:10 +0100 | bastelfreak | (bastelfrea@libera/staff/VoxPupuli.bastelfreak) (Quit: WeeChat 4.3.5) |
2024-11-05 14:49:52 +0100 | bastelfreak | (bastelfrea@libera/staff/VoxPupuli.bastelfreak) bastelfreak |
2024-11-05 14:50:19 +0100 | weary-traveler | (~user@user/user363627) user363627 |
2024-11-05 14:55:37 +0100 | Everything | (~Everythin@178-133-144-30.mobile.vf-ua.net) (Quit: leaving) |
2024-11-05 14:57:46 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-11-05 14:59:06 +0100 | longlongdouble | (~longlongd@117.234.170.44) (Ping timeout: 252 seconds) |
2024-11-05 15:00:12 +0100 | longlongdouble | (~longlongd@2405:201:5c16:135:7459:cd00:c885:3805) |
2024-11-05 15:05:35 +0100 | merijn | (~merijn@77.242.116.146) (Ping timeout: 252 seconds) |
2024-11-05 15:05:53 +0100 | Guest73 | (~Guest12@31.154.179.218) (Ping timeout: 256 seconds) |
2024-11-05 15:06:41 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-11-05 15:07:01 +0100 | Guest12 | (~Guest12@31.154.179.218) |
2024-11-05 15:07:54 +0100 | merijn | (~merijn@77.242.116.146) merijn |
2024-11-05 15:13:52 +0100 | emma-underscores | (~underscor@pool-108-54-214-254.nycmny.fios.verizon.net) emma-underscores |
2024-11-05 15:14:23 +0100 | mulk | (~mulk@pd95146e9.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
2024-11-05 15:16:52 +0100 | mulk | (~mulk@pd95146e9.dip0.t-ipconnect.de) mulk |
2024-11-05 15:18:30 +0100 | <iphy> | {-# LANGUAGE DeriveFunctor #-} |
2024-11-05 15:18:30 +0100 | <iphy> | {-# LANGUAGE DeriveGeneric #-} |
2024-11-05 15:18:30 +0100 | <iphy> | {-# LANGUAGE DerivingVia #-} |
2024-11-05 15:18:30 +0100 | <iphy> | {-# LANGUAGE StrictData #-} |
2024-11-05 15:18:30 +0100 | <iphy> | {-# LANGUAGE TypeOperators #-} |
2024-11-05 15:18:31 +0100 | <iphy> | module Language.Cimple.Annot |
2024-11-05 15:18:31 +0100 | <iphy> | ( AnnotF (..) |
2024-11-05 15:18:32 +0100 | <iphy> | ) where |
2024-11-05 15:18:33 +0100 | <iphy> | import Data.Fix (Fix, hoistFix) |
2024-11-05 15:18:33 +0100 | <iphy> | import Data.Functor.Classes (Eq1, Read1, Show1) |
2024-11-05 15:18:34 +0100 | <iphy> | import Data.Functor.Classes.Generic (FunctorClassesDefault (..)) |
2024-11-05 15:18:34 +0100 | <iphy> | import Data.Functor.Compose (Compose (..)) |
2024-11-05 15:18:35 +0100 | <iphy> | import GHC.Generics (Generic, Generic1) |
2024-11-05 15:18:36 +0100 | <iphy> | data AnnotF attr a = Annot { attr :: attr, unAnnot :: a } |
2024-11-05 15:18:36 +0100 | <iphy> | deriving (Functor, Generic, Generic1) |
2024-11-05 15:18:37 +0100 | <iphy> | deriving (Show1, Read1, Eq1) via FunctorClassesDefault (AnnotF attr) |
2024-11-05 15:18:42 +0100 | <iphy> | oops, sorry |
2024-11-05 15:18:50 +0100 | <iphy> | https://www.irccloud.com/pastebin/dwAsXj9Z/ |
2024-11-05 15:19:30 +0100 | <iphy> | this is not working on ghc 9.6.5 anymore, but it works on 9.4.3. am I doing something wrong? is there something new I need to do for this? |
2024-11-05 15:20:23 +0100 | <iphy> | this is the error https://www.irccloud.com/pastebin/VqT6CteH/error |
2024-11-05 15:22:59 +0100 | <tomsmeding> | iphy: is it the ghc version that makes the difference, or the version of some library? Are you using the same version of transformers-compat in both cases? |
2024-11-05 15:25:43 +0100 | Versality | (~Versality@user/Versality) (Remote host closed the connection) |
2024-11-05 15:29:37 +0100 | <tomsmeding> | iphy: compiles for me if I add (Show, Read, Eq) to the first deriving clause |
2024-11-05 15:32:45 +0100 | <tomsmeding> | my conjecture is that 9.6 changed its handling of quantified constraints, in particular the one in the superclass list of GEq1 https://hackage.haskell.org/package/transformers-compat-0.7.2/docs/Data-Functor-Classes-Generic-In… |
2024-11-05 15:42:07 +0100 | SlackCoder | (~SlackCode@64-94-63-8.ip.weststar.net.ky) (Ping timeout: 264 seconds) |
2024-11-05 15:43:00 +0100 | <iphy> | Good question, I haven't checked the versions |
2024-11-05 15:43:05 +0100 | <iphy> | But thanks, I'll try that |
2024-11-05 15:44:36 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 265 seconds) |
2024-11-05 15:48:10 +0100 | euleritian | (~euleritia@dynamic-176-006-148-028.176.6.pool.telefonica.de) |
2024-11-05 15:48:13 +0100 | SlackCoder | (~SlackCode@64-94-63-8.ip.weststar.net.ky) SlackCoder |
2024-11-05 15:49:26 +0100 | lxsameer | (~lxsameer@Serene/lxsameer) (Ping timeout: 265 seconds) |
2024-11-05 15:49:31 +0100 | Guest12 | (~Guest12@31.154.179.218) (Ping timeout: 256 seconds) |
2024-11-05 15:49:57 +0100 | misterfish | (~misterfis@31-161-39-137.biz.kpn.net) (Ping timeout: 248 seconds) |
2024-11-05 16:05:24 +0100 | benkard | (~mulk@pd95146e9.dip0.t-ipconnect.de) mulk |
2024-11-05 16:06:00 +0100 | mulk | (~mulk@pd95146e9.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
2024-11-05 16:06:00 +0100 | benkard | mulk |
2024-11-05 16:12:13 +0100 | alp | (~alp@2001:861:e3d6:8f80:86cd:f9bc:2fcc:950e) (Remote host closed the connection) |
2024-11-05 16:16:54 +0100 | longlongdouble | (~longlongd@2405:201:5c16:135:7459:cd00:c885:3805) (Read error: Connection reset by peer) |
2024-11-05 16:19:37 +0100 | Leonard26 | (~Leonard26@49.236.10.26) |
2024-11-05 16:21:38 +0100 | merijn | (~merijn@77.242.116.146) (Ping timeout: 245 seconds) |
2024-11-05 16:23:02 +0100 | <Leonard26> | Hello! =D I was wondering if in Haskell there is a way to simulate pointers like in C/C++? |
2024-11-05 16:23:02 +0100 | <Leonard26> | Particularly I am interested in reproducing this piece of code |
2024-11-05 16:23:03 +0100 | <Leonard26> | static GstElement *cur_effect; |
2024-11-05 16:23:03 +0100 | <Leonard26> | I'm not sure how it is even called in C, I've only learned Haskell up so far, from what I understand it's some type of static variable? |
2024-11-05 16:25:07 +0100 | <haskellbridge> | <hellwolf> IO MVar? |
2024-11-05 16:25:42 +0100 | <haskellbridge> | <hellwolf> unless you want to touch some unsafe stuff. |
2024-11-05 16:26:45 +0100 | <Leonard26> | It tells me that the package is deprecated in favour of another. |
2024-11-05 16:26:45 +0100 | <Leonard26> | https://hackage.haskell.org/package/strict-mvar |
2024-11-05 16:27:27 +0100 | <Leonard26> | I'm a bit concerned of the consequences of unsafe stuff, I think you mean unsafePerformIO? |
2024-11-05 16:27:41 +0100 | merijn | (~merijn@77.242.116.146) merijn |
2024-11-05 16:29:12 +0100 | <l-Shane-l> | {-# LANGUAGE ForeignFunctionInterface #-} |
2024-11-05 16:29:12 +0100 | <l-Shane-l> | and import Foreign.Ptr maybe? |
2024-11-05 16:30:00 +0100 | <haskellbridge> | <hellwolf> stuff from Foreign.Marshal.Array |
2024-11-05 16:30:01 +0100 | <haskellbridge> | <hellwolf> e.g. |
2024-11-05 16:30:56 +0100 | <haskellbridge> | <hellwolf> again, I'd probably start with what do you want to achieve, a lot of safe options will get you quite far in Haskell |
2024-11-05 16:31:30 +0100 | <haskellbridge> | <hellwolf> Retro fit Haskell with what you knew from other languages typically works poorly in Haskell. |
2024-11-05 16:32:55 +0100 | <Leonard26> | Yes, as I understand it Haskell doens't require pointers, that's just because I'm trying to reproduce some code from C I guess |
2024-11-05 16:32:57 +0100 | lxsameer | (~lxsameer@Serene/lxsameer) lxsameer |
2024-11-05 16:34:19 +0100 | <Leonard26> | https://paste.tomsmeding.com/iFRl46SM |
2024-11-05 16:34:19 +0100 | <Leonard26> | This is the code I'm trying to reproduce, I managed to get just about everything right but I can't get some variables to work in the functions outside of the main function. |
2024-11-05 16:34:20 +0100 | <Leonard26> | Mainly pad_probe_cb and event_probe_cb |
2024-11-05 16:34:42 +0100 | ash3en | (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) ash3en |
2024-11-05 16:34:50 +0100 | ash3en | (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Remote host closed the connection) |
2024-11-05 16:36:39 +0100 | <Leonard26> | https://paste.tomsmeding.com/9JN3hbuD |
2024-11-05 16:36:40 +0100 | <Leonard26> | This is my haskell code |
2024-11-05 16:36:40 +0100 | <Leonard26> | https://paste.tomsmeding.com/0FCFJiGp |
2024-11-05 16:36:41 +0100 | <Leonard26> | And this is the error log |
2024-11-05 16:37:31 +0100 | alexherbo2 | (~alexherbo@2a02-8440-3311-b70e-c993-5f39-72e6-f3a6.rev.sfr.net) alexherbo2 |
2024-11-05 16:38:36 +0100 | <Leonard26> | In C all those variables are defined at the beginning of the code, like so |
2024-11-05 16:38:36 +0100 | <Leonard26> | static GstPad *blockpad; |
2024-11-05 16:38:37 +0100 | <Leonard26> | static GstElement *conv_before; |
2024-11-05 16:38:37 +0100 | <Leonard26> | static GstElement *conv_after; |
2024-11-05 16:38:38 +0100 | <Leonard26> | static GstElement *cur_effect; |
2024-11-05 16:38:38 +0100 | <Leonard26> | static GstElement *pipeline; |
2024-11-05 16:38:39 +0100 | <Leonard26> | But in Haskell I can't figure out a way to reproduce this =( |
2024-11-05 16:40:45 +0100 | <geekosaur> | there are ways to do it, but we strongly prefer passing them in either `State` or `ReaderT` with a record of the "environment" (if they're mutable, it's `ReaderT Env IO` with `ENV` being a record of `IORef`s) |
2024-11-05 16:41:11 +0100 | <geekosaur> | and use `StateT`/`ReaderT` to transparently pass it around as needed |
2024-11-05 16:41:45 +0100 | <institor> | gtk on windows huh... |
2024-11-05 16:41:54 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-11-05 16:41:56 +0100 | <institor> | on a more concrete level, `source` and `pipeline` simply aren't defined |
2024-11-05 16:42:01 +0100 | <institor> | what are you expecting these to be |
2024-11-05 16:42:24 +0100 | <institor> | the names are just not in scope |
2024-11-05 16:43:50 +0100 | <Leonard26> | They are defined in main, row 148 and 156 |
2024-11-05 16:45:02 +0100 | <Leonard26> | I'll read on about `State` and `ReaderT`, thank you |
2024-11-05 16:45:18 +0100 | alp | (~alp@2001:861:e3d6:8f80:86cd:f9bc:2fcc:950e) |
2024-11-05 16:47:57 +0100 | Smiles | (uid551636@id-551636.lymington.irccloud.com) Smiles |
2024-11-05 16:51:34 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-11-05 16:58:36 +0100 | merijn | (~merijn@77.242.116.146) (Ping timeout: 272 seconds) |
2024-11-05 16:59:09 +0100 | longlongdouble | (~longlongd@2405:201:5c16:135:7459:cd00:c885:3805) |
2024-11-05 17:04:44 +0100 | tabaqui | (~root@91.73.194.130) tabaqui |
2024-11-05 17:04:45 +0100 | merijn | (~merijn@77.242.116.146) merijn |
2024-11-05 17:07:49 +0100 | ZLima12 | (~zlima12@user/meow/ZLima12) (Ping timeout: 260 seconds) |
2024-11-05 17:08:55 +0100 | alexherbo2 | (~alexherbo@2a02-8440-3311-b70e-c993-5f39-72e6-f3a6.rev.sfr.net) (Remote host closed the connection) |
2024-11-05 17:11:54 +0100 | spew | (~spew@155.133.15.183) spew |
2024-11-05 17:16:09 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.2.2) |
2024-11-05 17:19:02 +0100 | <institor> | Leonard26: then they are only in scope in `main` |
2024-11-05 17:19:22 +0100 | <institor> | Leonard26: you would do well to understand how `do` notation desugars into the bind operator |
2024-11-05 17:19:25 +0100 | <institor> | as a synopsis |
2024-11-05 17:21:47 +0100 | <institor> | foo :: IO () |
2024-11-05 17:21:51 +0100 | <institor> | foo = do |
2024-11-05 17:21:56 +0100 | <institor> | putSTr "Enter name: " |
2024-11-05 17:22:00 +0100 | <institor> | name <- getLine |
2024-11-05 17:22:07 +0100 | <institor> | putStrLn $ "Hello " ++ name |
2024-11-05 17:22:09 +0100 | <institor> | desugars to |
2024-11-05 17:22:13 +0100 | <merijn> | In fact, for educational purposes I would recommend avoiding do notation |
2024-11-05 17:22:40 +0100 | <institor> | putStr "Enter name: " >> getLine >>= (\name -> putStrLn $ "Hello " ++ name) |
2024-11-05 17:22:44 +0100 | <institor> | s/putSTr/putStr |
2024-11-05 17:22:51 +0100 | <institor> | sorry, i don't believe in copy/paste |
2024-11-05 17:23:02 +0100 | <institor> | i agree with merijn |
2024-11-05 17:23:21 +0100 | <institor> | in fact i usually consider do notation a mild code smell |
2024-11-05 17:23:27 +0100 | <institor> | it suggests there is too much orchestration going on |
2024-11-05 17:23:32 +0100 | <merijn> | I disagree with that, tbh |
2024-11-05 17:23:44 +0100 | <merijn> | I *love* do notation, it's amazing |
2024-11-05 17:23:59 +0100 | <merijn> | Just not for gaining understanding of what you're doing if you don't already know :) |
2024-11-05 17:24:09 +0100 | <institor> | maybe |
2024-11-05 17:24:13 +0100 | euleritian | (~euleritia@dynamic-176-006-148-028.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-11-05 17:24:15 +0100 | <institor> | in any case i also use it liberally myself |
2024-11-05 17:24:30 +0100 | euleritian | (~euleritia@77.22.252.56) |
2024-11-05 17:24:34 +0100 | <institor> | i suppose i am just lazy to find pointfree solutions |
2024-11-05 17:24:41 +0100 | <institor> | s/lazy/too lazy |
2024-11-05 17:24:57 +0100 | <institor> | eh maybe i don't mean pointfree |
2024-11-05 17:25:02 +0100 | <institor> | i will shut up now |
2024-11-05 17:26:24 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-11-05 17:29:00 +0100 | euleritian | (~euleritia@77.22.252.56) (Ping timeout: 272 seconds) |
2024-11-05 17:32:06 +0100 | <Leonard26> | I'm fairly new to coding, to be honest now that I'm here I'm thinking it would have been better if I started with C in the first place because the language bindings are such hell sometimes, but at the time I didn't really know where to begin with, so now I'm just trying to finish this project in Haskell and move on :] |
2024-11-05 17:33:10 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-11-05 17:33:20 +0100 | ash3en | (~Thunderbi@146.70.124.222) ash3en |
2024-11-05 17:35:12 +0100 | <geekosaur> | C has its own problems, mostly that it won't stop you from shooting yourself in the foot |
2024-11-05 17:35:18 +0100 | <geekosaur> | <-- longtime C programmer |
2024-11-05 17:37:10 +0100 | <kuribas> | It's good to know a bit of all, basics of C, functional programming in haskell, ... |
2024-11-05 17:37:56 +0100 | <c_wraith> | As far as I can tell, C makes it almost impossible to not shoot yourself in the foot. |
2024-11-05 17:38:50 +0100 | <c_wraith> | You have to make simplifying assumptions before you know that adding two ints together is safe. |
2024-11-05 17:40:13 +0100 | <merijn> | c_wraith: Just use unsigned :p |
2024-11-05 17:40:19 +0100 | JuanDaugherty | (~juan@user/JuanDaugherty) (Quit: JuanDaugherty) |
2024-11-05 17:40:37 +0100 | <Leonard26> | Well, now I'm feeling relieved! :') |
2024-11-05 17:40:40 +0100 | <c_wraith> | It's tempting, until you see all the bugs related to subtracting size_t values! |
2024-11-05 17:40:45 +0100 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-11-05 17:41:48 +0100 | <merijn> | Leonard26: I mean, I have written quite a lot of C/C++ professionally and I'm pretty sure I never wrote anything over 100 lines that didn't have at least several potential bugs in it despite my paranoia :p |
2024-11-05 17:43:13 +0100 | <dolio> | Doesn't really seem like a claim that C is better on its own merits. Just that there's some complicated system being used that's written in C and not Haskell. |
2024-11-05 17:43:52 +0100 | <haskellbridge> | <hellwolf> which makes them complicated |
2024-11-05 17:44:32 +0100 | <Leonard26> | merijn sucks :( |
2024-11-05 17:45:13 +0100 | <haskellbridge> | <hellwolf> but fair enough. I was a C++ person for a good decade or more. |
2024-11-05 17:50:48 +0100 | merijn | (~merijn@77.242.116.146) (Ping timeout: 245 seconds) |
2024-11-05 17:51:42 +0100 | <Rembane> | c_wraith: Is it totally safe to subtract size_ts until you wrap around? |
2024-11-05 17:52:11 +0100 | <c_wraith> | depends on your definition of "safe" |
2024-11-05 17:52:43 +0100 | <Rembane> | Pick a good one! |
2024-11-05 17:52:46 +0100 | <c_wraith> | it's not UB |
2024-11-05 17:52:48 +0100 | <Rembane> | \o/ |
2024-11-05 17:52:55 +0100 | <Rembane> | Is it derp in a defined way? |
2024-11-05 17:53:25 +0100 | <c_wraith> | I think it's implementation-defined |
2024-11-05 17:55:12 +0100 | <c_wraith> | but in either case, it doesn't make much sense with size_t, so it's very likely to result in logic bugs elsewhere. those are the kinds of issues I was referring to |
2024-11-05 17:55:23 +0100 | <Rembane> | Exciting! :D |
2024-11-05 17:55:43 +0100 | <Rembane> | Maybe size_t is one of those types of number that shouldn't have subtraction nor addition. |
2024-11-05 17:55:50 +0100 | <Rembane> | I don't really know, I'm just guessing. |
2024-11-05 17:57:49 +0100 | euphores | (~SASL_euph@user/euphores) (Quit: Leaving.) |
2024-11-05 18:03:17 +0100 | machinedgod | (~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 248 seconds) |
2024-11-05 18:03:51 +0100 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) |
2024-11-05 18:03:53 +0100 | euphores | (~SASL_euph@user/euphores) euphores |
2024-11-05 18:04:36 +0100 | spew | (~spew@155.133.15.183) (Quit: spew) |
2024-11-05 18:07:31 +0100 | ash3en1 | (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) ash3en |
2024-11-05 18:07:56 +0100 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Client Quit) |
2024-11-05 18:08:11 +0100 | ash3en | (~Thunderbi@146.70.124.222) (Ping timeout: 252 seconds) |
2024-11-05 18:08:11 +0100 | ash3en1 | ash3en |
2024-11-05 18:09:10 +0100 | <tomsmeding> | c_wraith: are you saying that you can't subtract size_t values? |
2024-11-05 18:09:32 +0100 | <tomsmeding> | ("can't" in the sense of "the implementation might decide to do something weird") |
2024-11-05 18:09:42 +0100 | <c_wraith> | no. |
2024-11-05 18:09:45 +0100 | <geekosaur> | UB if it would be negative |
2024-11-05 18:09:47 +0100 | Versality | (~Versality@user/Versality) Versality |
2024-11-05 18:09:59 +0100 | <c_wraith> | im pretty sure it's not UB, as it's an unsigned type |
2024-11-05 18:10:03 +0100 | <tomsmeding> | unsigned integer wraparound is defined in C; does that not extend to size_t? |
2024-11-05 18:10:43 +0100 | <tomsmeding> | c_wraith: "no" to "subtract" or "no" to "can't" :D |
2024-11-05 18:11:06 +0100 | <c_wraith> | just that the results are often going to violate assumptions made elsewhere on the program. that has been a recurring source of bugs in programs. arithmetic that would be right with a signed type being wrong with an unsigned type |
2024-11-05 18:11:18 +0100 | <tomsmeding> | because of wraparound? |
2024-11-05 18:11:23 +0100 | <c_wraith> | yeah |
2024-11-05 18:11:28 +0100 | <tomsmeding> | okay sure |
2024-11-05 18:11:43 +0100 | <tomsmeding> | so what did you mean with "implementation-defined"? |
2024-11-05 18:12:32 +0100 | <c_wraith> | I can't remember if C defines the results as wrapping, saturating, or makes it implementation-defined |
2024-11-05 18:12:45 +0100 | <tomsmeding> | for regular old unsigned types, it's wrapping |
2024-11-05 18:13:03 +0100 | <tomsmeding> | (certainly not saturating because then the common implementations would be wrong) |
2024-11-05 18:13:08 +0100 | <c_wraith> | in all cases it *is* defined! |
2024-11-05 18:13:24 +0100 | <tomsmeding> | and I'm fairly sure that it's actually _defined_ to wrap, not only implementation-defined |
2024-11-05 18:14:36 +0100 | Pozyomka | (~pyon@user/pyon) (Ping timeout: 272 seconds) |
2024-11-05 18:14:42 +0100 | <tomsmeding> | wikipedia agrees with me (last paragraph of the introduction) https://en.wikipedia.org/wiki/Integer_overflow |
2024-11-05 18:14:50 +0100 | <tomsmeding> | now I'm aware that wikipedia is not a definitive source :) |
2024-11-05 18:17:15 +0100 | spew | (~spew@201.141.99.170) spew |
2024-11-05 18:21:30 +0100 | lxsameer | (~lxsameer@Serene/lxsameer) (Ping timeout: 252 seconds) |
2024-11-05 18:22:19 +0100 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) |
2024-11-05 18:25:38 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-11-05 18:29:05 +0100 | ljdarj | (~Thunderbi@user/ljdarj) ljdarj |
2024-11-05 18:32:05 +0100 | mulk | (~mulk@pd95146e9.dip0.t-ipconnect.de) (Quit: ZNC - http://znc.in) |
2024-11-05 18:36:12 +0100 | mulk | (~mulk@pd95146e9.dip0.t-ipconnect.de) mulk |
2024-11-05 18:37:34 +0100 | tyzef | (~tyzef@user/tyzef) tyzef |
2024-11-05 18:38:15 +0100 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) (Ping timeout: 252 seconds) |
2024-11-05 18:39:34 +0100 | ash3en | (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Ping timeout: 265 seconds) |
2024-11-05 18:45:51 +0100 | lxsameer | (~lxsameer@Serene/lxsameer) lxsameer |
2024-11-05 18:49:31 +0100 | ash3en | (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) ash3en |
2024-11-05 18:51:58 +0100 | Leonard26 | (~Leonard26@49.236.10.26) (Quit: Client closed) |
2024-11-05 19:02:23 +0100 | tyzef | (~tyzef@user/tyzef) (Quit: WeeChat 3.8) |
2024-11-05 19:03:03 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-11-05 19:10:58 +0100 | wootehfoot | (~wootehfoo@user/wootehfoot) wootehfoot |
2024-11-05 19:13:08 +0100 | sprotte24 | (~sprotte24@134.245.44.86) |
2024-11-05 19:14:39 +0100 | chele | (~chele@user/chele) (Remote host closed the connection) |
2024-11-05 19:17:28 +0100 | l-Shane-l | (~l-Shane-l@user/l-Shane-l) (Quit: Client closed) |
2024-11-05 19:18:18 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2024-11-05 19:18:21 +0100 | BolzmannPain | (~BolzmannP@user/BolzmannPain) BolzmannPain |
2024-11-05 19:37:15 +0100 | Nachtgespenst | (~user@user/siracusa) (Quit: Bye!) |
2024-11-05 19:44:52 +0100 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) (Quit: So long and thanks for all the fish) |
2024-11-05 19:45:48 +0100 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) TheCoffeMaker |
2024-11-05 19:49:25 +0100 | <dolio> | I tried to look in my copy of the standard, but it's hard to find stuff in there. |
2024-11-05 19:49:55 +0100 | <tomsmeding> | dolio++ for even trying |
2024-11-05 19:50:14 +0100 | <dolio> | I probably don't know what term to search for. |
2024-11-05 19:50:25 +0100 | <tomsmeding> | the wikipedia article has a citation, perhaps that helps? |
2024-11-05 19:50:29 +0100 | <tomsmeding> | it refers to C11 |
2024-11-05 19:55:56 +0100 | SlackCoder | (~SlackCode@64-94-63-8.ip.weststar.net.ky) (Quit: Leaving) |
2024-11-05 19:56:18 +0100 | BolzmannPain | (~BolzmannP@user/BolzmannPain) (Quit: Client closed) |
2024-11-05 19:57:59 +0100 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) (Remote host closed the connection) |
2024-11-05 19:57:59 +0100 | SlackCoder | (~SlackCode@64-94-63-8.ip.weststar.net.ky) SlackCoder |
2024-11-05 19:58:52 +0100 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) TheCoffeMaker |
2024-11-05 19:59:24 +0100 | longlongdouble | (~longlongd@2405:201:5c16:135:7459:cd00:c885:3805) (Ping timeout: 276 seconds) |
2024-11-05 19:59:55 +0100 | <dolio> | I think that's probably the one I have, but they only appear to cite the entire document. |
2024-11-05 20:00:55 +0100 | <tomsmeding> | dolio: I suppose you have a physical copy? With a digital one, I would search for the quoted "a computation involving unsigned operands can never overflow" |
2024-11-05 20:01:07 +0100 | AWizzArd | (~code@gehrels.uberspace.de) (Changing host) |
2024-11-05 20:01:07 +0100 | AWizzArd | (~code@user/awizzard) AWizzard |
2024-11-05 20:01:46 +0100 | <dolio> | Oh okay. Yeah. |
2024-11-05 20:02:38 +0100 | <tomsmeding> | here (C11 draft: https://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf ) I find, in section 9.2.5 paragraph 9: "A computation involving unsigned operands can never overflow, because a result that cannot be represented by the resulting unsigned integer type is reduced modulo the number that is one greater than the largest value that can be represented by the resulting type." |
2024-11-05 20:02:48 +0100 | <dolio> | It's defined to be modular arithmetic. And apparently the reason I was having trouble is that C considers that to not be "overflow". |
2024-11-05 20:03:20 +0100 | <tomsmeding> | I agree it's somewhat confusing terminology |
2024-11-05 20:03:25 +0100 | <tomsmeding> | c_wraith: ^ |
2024-11-05 20:03:37 +0100 | <tomsmeding> | I guess also Rembane |
2024-11-05 20:03:40 +0100 | <dolio> | So if you look in the index for overflow, you won't get that page, I expect. |
2024-11-05 20:03:44 +0100 | <tomsmeding> | heh |
2024-11-05 20:04:43 +0100 | <Rembane> | tomsmeding: Lovely! Fun! I can't see how that every could go wrong. :D |
2024-11-05 20:05:07 +0100 | <tomsmeding> | Rembane: unsigned integers wrapping? What alternative would you suggest :p |
2024-11-05 20:05:17 +0100 | <dolio> | (And just searching for "overflow" in the document has too many hits.) |
2024-11-05 20:05:17 +0100 | <tomsmeding> | I guess the only other sensible alternative is trapping |
2024-11-05 20:05:31 +0100 | <Rembane> | tomsmeding: I think I'm more of the trapping school. |
2024-11-05 20:05:35 +0100 | <Rembane> | tomsmeding: But IIRC that's super slow. |
2024-11-05 20:05:47 +0100 | <tomsmeding> | Rembane: depends on the cpu, I think |
2024-11-05 20:05:55 +0100 | ZLima12 | (~zlima12@user/meow/ZLima12) ZLima12 |
2024-11-05 20:06:04 +0100 | <Rembane> | tomsmeding: Sweet. Maybe I have mixed it up with actually doing bounds checking before the fact. |
2024-11-05 20:06:10 +0100 | <tomsmeding> | x86 has an overflow (! naming ._.) flag that you can check for with a single conditional branch instruction |
2024-11-05 20:06:46 +0100 | <tomsmeding> | a very predictable branch, at that, so while it does increase your code size and increases the pressure on the branch predictor cache, it won't be _too_ egregious |
2024-11-05 20:07:31 +0100 | <tomsmeding> | bounds checking typically involves more than 1 instruction, perhaps even a memory load for the size of the array |
2024-11-05 20:07:57 +0100 | <Rembane> | Good point. Then that instruction shouldn't be too heavy. |
2024-11-05 20:08:10 +0100 | <tomsmeding> | and people have array accesses in the dependency chain (how is that called again?) in hot loops, but usually not unsigned integer arithmetic :p |
2024-11-05 20:08:31 +0100 | <tomsmeding> | well, I guess index arithmetic could be unsigned integer arithmetic, but it's _signed_ integer arithmetic in practice in C |
2024-11-05 20:11:12 +0100 | <monochrom> | BTW the unsigned modulo rule is (in C 2018) 6.2.5 item 9. |
2024-11-05 20:11:20 +0100 | <tomsmeding> | we found it :) |
2024-11-05 20:11:40 +0100 | <tomsmeding> | (though I found it in C11 -- apparently the section numbering didn't change significantly from C11 to C18?) |
2024-11-05 20:11:59 +0100 | <monochrom> | Hrm maybe I should also download the C11 and other versions. (University grants access.) |
2024-11-05 20:12:26 +0100 | <tomsmeding> | er -- I said "9.2.5 paragraph 9" but that was a typo/thinko, should have been 6.2.5 par 9, clearly |
2024-11-05 20:12:56 +0100 | <dolio> | I assume 2018 still isn't free? |
2024-11-05 20:13:07 +0100 | <tomsmeding> | are any free? |
2024-11-05 20:13:16 +0100 | <dolio> | Yeah, the one I have was free. |
2024-11-05 20:13:23 +0100 | <tomsmeding> | O.o |
2024-11-05 20:13:24 +0100 | <dolio> | I'm not going to pay for something like that. |
2024-11-05 20:13:34 +0100 | <tomsmeding> | where did you get it |
2024-11-05 20:13:47 +0100 | <monochrom> | Is it a draft? |
2024-11-05 20:14:34 +0100 | <tomsmeding> | drafts are free indeed, I have never seen anyone before claim that a _final_ version was free |
2024-11-05 20:14:43 +0100 | <tomsmeding> | ISO won't even sell me C11 any more -.- |
2024-11-05 20:15:01 +0100 | <dolio> | Ah, well, drafts are good enough for me. |
2024-11-05 20:15:19 +0100 | <tomsmeding> | they are enough for everyone by plain stupidity of charging for the actual version |
2024-11-05 20:15:27 +0100 | <tomsmeding> | the draft _becomes_ the de facto actual version |
2024-11-05 20:15:48 +0100 | <tomsmeding> | <insert further rant about pointlessness of charging for a _standard_> |
2024-11-05 20:16:30 +0100 | <dolio> | I mainly wanted it to go through and nitpick all the ways in which the supposedly glorious C standard wasn't as well defined as someone here was presenting it as. |
2024-11-05 20:16:46 +0100 | <dolio> | vs. Haskell. |
2024-11-05 20:16:52 +0100 | <tomsmeding> | glorious? |
2024-11-05 20:17:54 +0100 | <tomsmeding> | perhaps the authors of the 701-page document can feel self-satisfied with their volume of output, and therewith call the thing "glorious" |
2024-11-05 20:18:13 +0100 | flounders | (~flounders@173.246.200.74) flounders |
2024-11-05 20:19:26 +0100 | hgolden__ | (~hgolden@146.70.173.165) hgolden |
2024-11-05 20:19:42 +0100 | <monochrom> | Both extremes exists. There are also people who unconditionally claim "UB" and they are sometimes wrong. :) |
2024-11-05 20:21:35 +0100 | <dolio> | It was some complaint that the Haskell standard doesn't nail down the exact implementation behavior of enough things. But C really doesn't, either, for a lot of things if you actually look. |
2024-11-05 20:22:04 +0100 | hgolden_ | (~hgolden@169.150.203.36) (Ping timeout: 260 seconds) |
2024-11-05 20:22:19 +0100 | tomsmeding | was told at some point that the C standard actually guarantees very little about implementation details |
2024-11-05 20:23:04 +0100 | <tomsmeding> | due to wanting to support platforms with very unusual (or historical) pointer representations, etc. |
2024-11-05 20:23:20 +0100 | JuanDaugherty | (~juan@user/JuanDaugherty) JuanDaugherty |
2024-11-05 20:23:27 +0100 | swamp_ | (~zmt00@user/zmt00) zmt00 |
2024-11-05 20:24:42 +0100 | <dolio> | Yeah. There's no guarantee that differen't types inhabit the same memory, so things like casting between different pointer types isn't necessarily kosher. |
2024-11-05 20:25:13 +0100 | emma-underscores | (~underscor@pool-108-54-214-254.nycmny.fios.verizon.net) (Quit: WeeChat 4.4.3) |
2024-11-05 20:25:14 +0100 | <tomsmeding> | hence the cast-through-a-union dance |
2024-11-05 20:25:29 +0100 | <dolio> | Or exact representations of all the integer types. |
2024-11-05 20:25:29 +0100 | <tomsmeding> | because that, supposedly, _is_ defined (or so I was told) |
2024-11-05 20:25:40 +0100 | <tomsmeding> | hence undefined signed integer overflow |
2024-11-05 20:27:21 +0100 | zmt01 | (~zmt00@user/zmt00) (Ping timeout: 276 seconds) |
2024-11-05 20:31:01 +0100 | <dolio> | What is cast-through-a-union? I'd have to look, but I wouldn't necessarily expect a pointer to a union to be guaranteed to have the same address space as a pointer to either of its components. |
2024-11-05 20:31:12 +0100 | target_i | (~target_i@user/target-i/x-6023099) target_i |
2024-11-05 20:31:23 +0100 | <dolio> | Also, I think there's no guarantee that writing to one field of a union and reading from a different field actually works. |
2024-11-05 20:31:39 +0100 | <tomsmeding> | no it's not a general casting trick, it is essentially c++'s reinterpret_cast |
2024-11-05 20:32:04 +0100 | <tomsmeding> | int32_t float_to_int(float x) { union { int32_t i; float f; } u; u.f = x; return u.i; } |
2024-11-05 20:32:21 +0100 | <tomsmeding> | as opposed to what naive C enthousiasts might write: |
2024-11-05 20:32:25 +0100 | ham2 | (~ham@user/ham) ham |
2024-11-05 20:32:26 +0100 | hamster | (~ham@user/ham) (Read error: Connection reset by peer) |
2024-11-05 20:32:38 +0100 | <tomsmeding> | int32_t float_to_int_wrong(float x) { return *(int*)&x; } |
2024-11-05 20:32:53 +0100 | <tomsmeding> | er, *(int32_t*)&x |
2024-11-05 20:33:04 +0100 | <tomsmeding> | dolio: oh isn't there? That would be funny |
2024-11-05 20:33:20 +0100 | <tomsmeding> | I know people are doing this precisely to evade the "pointer casting is not necessarily defined" thing |
2024-11-05 20:33:25 +0100 | <dolio> | There might be special cases where unions like that are defined to work. But not in general, I think. |
2024-11-05 20:33:46 +0100 | <monochrom> | By 6.2.6.2 item 4, you get much guarantees by using memcpy(&dst, &src, the_size). |
2024-11-05 20:33:51 +0100 | Smiles | (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2024-11-05 20:34:59 +0100 | <tomsmeding> | monochrom: what standard version are you looking at? In my draft copy of C11, 6.2.6.2#4 is about bitwise operators applied to negative zero |
2024-11-05 20:35:03 +0100 | <tomsmeding> | (of all things) |
2024-11-05 20:35:25 +0100 | <monochrom> | OK OK nitpicking: It only says "copying to unsigned char[n] is OK", they probably forgot to say anything about "from". :) |
2024-11-05 20:35:31 +0100 | <monochrom> | 2018 |
2024-11-05 20:36:31 +0100 | <tomsmeding> | monochrom: same https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2310.pdf (page 48, pdfpage 35) |
2024-11-05 20:36:39 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) (Ping timeout: 260 seconds) |
2024-11-05 20:37:41 +0100 | <probie> | tomsmeding: I'm pretty sure that use of a union is also not kosher. I'm 90% sure that reading u.i after setting u.f is UB |
2024-11-05 20:37:55 +0100 | tomsmeding | is too lazy to actually go search in the standard myself |
2024-11-05 20:38:25 +0100 | <monochrom> | Oh! Oops, 6.2.6.1 rule 4. |
2024-11-05 20:38:26 +0100 | <tomsmeding> | probie: would that mean that memcpy() is the only defined way to look at the bits of a float value? |
2024-11-05 20:39:58 +0100 | <tomsmeding> | monochrom: that "e.g." is tantalising |
2024-11-05 20:40:41 +0100 | <monochrom> | Programmers probably don't make great lawyers. :) |
2024-11-05 20:42:06 +0100 | <tomsmeding> | and indeed it is funny that they don't say that "copying _from_ unsigned char[n]" is fine |
2024-11-05 20:42:32 +0100 | <monochrom> | "It is safe to copy your data to /dev/null" >:) |
2024-11-05 20:42:56 +0100 | flounders | (~flounders@173.246.200.74) (Ping timeout: 252 seconds) |
2024-11-05 20:44:20 +0100 | <tomsmeding> | probie: footnote 99 on page 72 (pdfpage 59) in section 6.5.2.3 item 3 is relevant here ( https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2310.pdf ) |
2024-11-05 20:44:35 +0100 | <tomsmeding> | (found by <ctrl-F> "object repr") |
2024-11-05 20:45:03 +0100 | flounders | (~flounders@2607:fb91:f6f:855:576:16c:1a7a:3eb2) flounders |
2024-11-05 20:45:30 +0100 | <tomsmeding> | monochrom: so I guess one can memcpy() to an unsigned char[n], put that in a union together with the original type, and take the original type out |
2024-11-05 20:45:45 +0100 | <tomsmeding> | if you don't change the value, it's not a trap representation, and you're safe -- if I'm reading this correctly |
2024-11-05 20:47:05 +0100 | <tomsmeding> | integer types can have trap representations according to the standard, so indeed probie: that union is not kosher! |
2024-11-05 20:47:25 +0100 | <tomsmeding> | (the float value might have an object representation that is a trap representation for int) |
2024-11-05 20:48:04 +0100 | <tomsmeding> | (then again, I used 'int32_t', not 'int' -- searching for "int32_t" doesn't have any hits, so that code was implementation-dependent anyway) |
2024-11-05 20:48:20 +0100 | <tomsmeding> | what a crappy language |
2024-11-05 20:49:49 +0100 | <probie> | At least you can 100% safely use unions to convert between a signed int and an unsigned int of the same size |
2024-11-05 20:50:37 +0100 | <tomsmeding> | probie: it says in 6.2.6.2#5 that every signed int object repr is also a valid object repr for the unsigned int of that size |
2024-11-05 20:50:45 +0100 | <tomsmeding> | it doesn't provide the reverse implication |
2024-11-05 20:50:55 +0100 | <tomsmeding> | do they give that elsewhere? |
2024-11-05 20:51:32 +0100 | <monochrom> | Yeah you don't even need union or memcpy for that special case. |
2024-11-05 20:51:43 +0100 | <tomsmeding> | (also that) |
2024-11-05 20:52:00 +0100 | weary-traveler | (~user@user/user363627) (Remote host closed the connection) |