2024/06/17

2024-06-17 00:01:49 +0200 <monochrom> ObHaskell: I just lament (rejoice?) that C doesn't have binary syntax, GHC does. :)
2024-06-17 00:02:09 +0200 <EvanR> just to clarify, 10_10
2024-06-17 00:02:14 +0200 <EvanR> 10_10_10_10_...
2024-06-17 00:02:44 +0200 <monochrom> Proof by intimidation. Clarification by repetition. :)
2024-06-17 00:03:38 +0200 <EvanR> five = 12_10
2024-06-17 00:03:59 +0200segfaultfizzbuzz(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net) (Ping timeout: 252 seconds)
2024-06-17 00:04:13 +0200 <dolio> Yeah, that actually doesn't clarify anything.
2024-06-17 00:04:27 +0200 <monochrom> Hey people who like the Cantor set may like that too. :)
2024-06-17 00:04:31 +0200 <brett303> 31337 being the 3379th prime
2024-06-17 00:04:51 +0200hololeap(~quassel@user/hololeap) (Quit: Bye)
2024-06-17 00:05:36 +0200hololeap(~quassel@user/hololeap)
2024-06-17 00:06:17 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-06-17 00:06:26 +0200 <cheater> given that there are bugs about performance in monorepos, i'd guess hls does work in monorepos https://github.com/haskell/haskell-language-server/issues/2151
2024-06-17 00:07:11 +0200califax(~califax@user/califx) (Remote host closed the connection)
2024-06-17 00:07:14 +0200 <EvanR> on the scientific calculator log_10 means one thing, but the programmer's calculator it should be another xD
2024-06-17 00:07:48 +0200 <EvanR> 10 kinds of calculator
2024-06-17 00:07:53 +0200califax(~califax@user/califx)
2024-06-17 00:08:17 +0200 <brett303> does haskell just not work on arm64?
2024-06-17 00:08:35 +0200 <monochrom> Haha EvanR yes!
2024-06-17 00:08:50 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2024-06-17 00:09:32 +0200 <monochrom> I think haskell works on arm64. I heard people ran ghc on android phones. I don't know how easy though, probably not easy.
2024-06-17 00:09:48 +0200 <hololeap> I just guided someone to install ghc-9.4 on arm64 on Gentoo
2024-06-17 00:10:03 +0200 <hololeap> not sure how much pain remains for them though
2024-06-17 00:11:12 +0200 <brett303> Oh yeah Gentoo has building from source as a strength
2024-06-17 00:11:23 +0200 <brett303> I'm on Debian on my arm64
2024-06-17 00:11:45 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2024-06-17 00:11:57 +0200 <hololeap> they built ghc-9.4.8 with https://downloads.haskell.org/~ghc/9.4.3/ghc-9.4.3-aarch64-deb10-linux.tar.xz
2024-06-17 00:12:22 +0200 <hololeap> using https://downloads.haskell.org/~ghc/9.8.2/hadrian-bootstrap-sources/hadrian-bootstrap-sources-9.4.3…
2024-06-17 00:12:55 +0200 <hololeap> just saying it's possible
2024-06-17 00:13:07 +0200 <brett303> ok thank you
2024-06-17 00:13:12 +0200acidjnk_new(~acidjnk@p200300d6e714dc91484bcbbc96a78a6f.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2024-06-17 00:14:07 +0200 <hololeap> there's also a aarch64-deb10 tarball for other versions. I just wanted it to match the hadrian-bootstrap-sources version
2024-06-17 00:14:18 +0200 <monochrom> Tangentially, I teach a Unix course and I recommend students who prefer staying with Windows or Mac to install Ubuntu in VirtualBox. Except that it doesn't exist for M1/M2. Last year we were stuck. This year fortunately I stumbled across UTM (https://docs.getutm.app/installation/macos/), so that's something. But next up is Ubuntu simply doesn't make a desktop installer for arm64, you have to install server then "apt install ubuntu-desktop".
2024-06-17 00:15:06 +0200 <monochrom> I'm trying to say that a lot of software and people have not caught up to arm and M1/M2. It is a little bit shameful.
2024-06-17 00:15:36 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2024-06-17 00:19:41 +0200 <EvanR> students don't telnet into the mainframe?!
2024-06-17 00:20:05 +0200 <EvanR> for a unix course at a university
2024-06-17 00:20:18 +0200 <EvanR> a mainframe running, ahem... unix? lol
2024-06-17 00:20:29 +0200 <monochrom> Oh, a lot of them are too lazy to install anything, so they ssh into the school server. Close enough.
2024-06-17 00:21:14 +0200JamesMowery(~JamesMowe@ip98-167-207-182.ph.ph.cox.net)
2024-06-17 00:21:25 +0200 <haskellbridge> <sm> monochrom: multipass is/was very good for running ubuntu on macs. A mac firewall bug has been breaking it for a while but they might have a workaround now
2024-06-17 00:23:59 +0200oo_miguel(~Thunderbi@78-11-181-16.static.ip.netia.com.pl) (Ping timeout: 264 seconds)
2024-06-17 00:34:35 +0200segfaultfizzbuzz(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net)
2024-06-17 00:45:01 +0200xdminsy(~xdminsy@117.147.70.212)
2024-06-17 00:46:27 +0200segfaultfizzbuzz(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net) (Ping timeout: 264 seconds)
2024-06-17 00:53:39 +0200noumenon(~noumenon@113.51-175-156.customer.lyse.net)
2024-06-17 00:56:10 +0200jrm(~jrm@user/jrm)
2024-06-17 01:00:15 +0200joeyadams(~joeyadams@2603:6010:5100:2ed:1cec:9f59:c786:1af1)
2024-06-17 01:02:44 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com)
2024-06-17 01:06:55 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 255 seconds)
2024-06-17 01:10:58 +0200solaire(~solaire@syn-024-165-026-201.res.spectrum.com) (Ping timeout: 255 seconds)
2024-06-17 01:11:00 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com)
2024-06-17 01:11:09 +0200gmg(~user@user/gehmehgeh) (Quit: Leaving)
2024-06-17 01:15:44 +0200segfaultfizzbuzz(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net)
2024-06-17 01:19:28 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Remote host closed the connection)
2024-06-17 01:19:58 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com)
2024-06-17 01:20:03 +0200segfaultfizzbuzz(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net) (Ping timeout: 264 seconds)
2024-06-17 01:22:42 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Client Quit)
2024-06-17 01:22:43 +0200spenat(~spenat@c-1125235c.012-6-62726f1.bbcust.telenor.se)
2024-06-17 01:23:22 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com)
2024-06-17 01:30:55 +0200 <jjhoo> really no virtualbox for apple m2? I guess I want to keep my intel-based macbook pro as long as possible
2024-06-17 01:33:38 +0200 <geekosaur> apparently it's in beta and still has a lot of limitations
2024-06-17 01:34:53 +0200 <geekosaur> apple seems to have gone to a lot of effort to be as un-ARM as possible with their ARM-based products
2024-06-17 01:38:43 +0200solaire(~solaire@syn-024-165-026-201.res.spectrum.com)
2024-06-17 01:40:37 +0200 <cheater> is the hls integration in vim way worse than nvim, or are they pretty much the same?
2024-06-17 01:42:43 +0200segfaultfizzbuzz(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net)
2024-06-17 01:45:51 +0200solaire(~solaire@syn-024-165-026-201.res.spectrum.com) (Ping timeout: 264 seconds)
2024-06-17 01:46:46 +0200solaire(~solaire@syn-024-165-026-201.res.spectrum.com)
2024-06-17 01:46:58 +0200segfaultfizzbuzz(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net) (Ping timeout: 255 seconds)
2024-06-17 01:51:35 +0200waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 264 seconds)
2024-06-17 01:56:39 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 264 seconds)
2024-06-17 02:00:04 +0200solaire(~solaire@syn-024-165-026-201.res.spectrum.com) (Ping timeout: 256 seconds)
2024-06-17 02:00:20 +0200solaire(~solaire@syn-024-165-026-201.res.spectrum.com)
2024-06-17 02:01:45 +0200zzz(~yin@user/zero) (Ping timeout: 256 seconds)
2024-06-17 02:02:02 +0200Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
2024-06-17 02:03:17 +0200L29Ah(~L29Ah@wikipedia/L29Ah) (Read error: Connection reset by peer)
2024-06-17 02:06:27 +0200jinsun(~jinsun@user/jinsun) (Read error: Connection reset by peer)
2024-06-17 02:08:42 +0200L29Ah(~L29Ah@wikipedia/L29Ah)
2024-06-17 02:14:33 +0200joeyadams(~joeyadams@2603:6010:5100:2ed:1cec:9f59:c786:1af1) (Quit: Leaving)
2024-06-17 02:14:50 +0200dmj`(uid72307@id-72307.hampstead.irccloud.com)
2024-06-17 02:18:19 +0200 <Axman6> geekosaur: how so?
2024-06-17 02:18:39 +0200 <Axman6> Just don't use register 18 and you're all good =)
2024-06-17 02:29:17 +0200 <geekosaur> what about that whole thing about not promoting values that required a redesign of ghc's backend?
2024-06-17 02:30:12 +0200 <Axman6> not sure what you mean
2024-06-17 02:30:42 +0200 <geekosaur> ghc had to switch to using exact sizes for types because extending to word size violated Apple's special ABI
2024-06-17 02:30:45 +0200 <Axman6> I spent quite a lot of time spelunking in the aarch64 backend and haven't seen anything macos specific
2024-06-17 02:30:56 +0200 <geekosaur> no, they changed it across the board
2024-06-17 02:31:22 +0200 <Axman6> Oh, I thought that was an intentional thing, because being able to store Word8 in less than a full Word is great
2024-06-17 02:31:23 +0200 <geekosaur> but it was a fairly massive effort because a lot of ghc assumed that things were machien word-sized
2024-06-17 02:31:54 +0200 <geekosaur> it was something they wanted to do at some point but apple's ARM ABI forced it on them
2024-06-17 02:32:12 +0200 <Axman6> Sounds like a good thing to me =)
2024-06-17 02:34:08 +0200segfaultfizzbuzz(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net)
2024-06-17 02:35:17 +0200henry40408(~henry4040@175.182.111.183) (Quit: Ping timeout (120 seconds))
2024-06-17 02:35:42 +0200henry40408(~henry4040@175.182.111.183)
2024-06-17 02:39:39 +0200segfaultfizzbuzz(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net) (Ping timeout: 268 seconds)
2024-06-17 02:40:05 +0200k_hachig(~k_hachig@bras-base-mtrlpq42zf4-grc-08-65-94-221-127.dsl.bell.ca) (Ping timeout: 240 seconds)
2024-06-17 02:40:35 +0200mIRC-rockcavera(~mirc-rc@186.214.132.97)
2024-06-17 02:40:43 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com)
2024-06-17 02:40:51 +0200mIRC-rockcavera(~mirc-rc@186.214.132.97) ()
2024-06-17 02:45:54 +0200solaire(~solaire@syn-024-165-026-201.res.spectrum.com) (Ping timeout: 255 seconds)
2024-06-17 02:48:04 +0200solaire(~solaire@syn-024-165-026-201.res.spectrum.com)
2024-06-17 02:54:29 +0200solaire(~solaire@syn-024-165-026-201.res.spectrum.com) (Ping timeout: 240 seconds)
2024-06-17 02:56:03 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 264 seconds)
2024-06-17 02:56:18 +0200flounders(~flounders@24.246.176.178) (Ping timeout: 268 seconds)
2024-06-17 02:58:43 +0200xdminsy(~xdminsy@117.147.70.212) (Read error: Connection reset by peer)
2024-06-17 02:58:50 +0200solaire(~solaire@syn-024-165-026-201.res.spectrum.com)
2024-06-17 03:01:47 +0200segfaultfizzbuzz(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net)
2024-06-17 03:07:59 +0200segfaultfizzbuzz(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net) (Ping timeout: 272 seconds)
2024-06-17 03:10:07 +0200flounders(~flounders@24.246.176.178)
2024-06-17 03:10:13 +0200solaire(~solaire@syn-024-165-026-201.res.spectrum.com) (Ping timeout: 255 seconds)
2024-06-17 03:10:51 +0200solaire(~solaire@syn-024-165-026-201.res.spectrum.com)
2024-06-17 03:11:13 +0200 <monochrom> Poor GHC devs. But maybe it's a good thing in the long run.
2024-06-17 03:13:47 +0200CrunchyFlakes(~CrunchyFl@146.52.130.128) (Read error: Connection reset by peer)
2024-06-17 03:16:21 +0200CrunchyFlakes(~CrunchyFl@146.52.130.128)
2024-06-17 03:16:22 +0200xdminsy(~xdminsy@117.147.70.212)
2024-06-17 03:17:27 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com)
2024-06-17 03:30:28 +0200machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 255 seconds)
2024-06-17 03:31:21 +0200philopsos1(~caecilius@user/philopsos)
2024-06-17 03:33:33 +0200joeyadams(~joeyadams@2603:6010:5100:2ed:8567:b00e:a226:2242)
2024-06-17 03:34:43 +0200brett303(~brett@cpc91312-watf11-2-0-cust1213.15-2.cable.virginm.net) (Ping timeout: 246 seconds)
2024-06-17 03:35:30 +0200k_hachig(~k_hachig@bras-base-mtrlpq42zf4-grc-08-65-94-221-127.dsl.bell.ca)
2024-06-17 03:37:23 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-06-17 03:37:48 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-06-17 03:38:55 +0200philopsos1(~caecilius@user/philopsos) (Ping timeout: 246 seconds)
2024-06-17 03:39:02 +0200segfaultfizzbuzz(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net)
2024-06-17 03:41:03 +0200k_hachig(~k_hachig@bras-base-mtrlpq42zf4-grc-08-65-94-221-127.dsl.bell.ca) (Ping timeout: 264 seconds)
2024-06-17 03:43:27 +0200segfaultfizzbuzz(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net) (Ping timeout: 264 seconds)
2024-06-17 03:44:11 +0200segfaultfizzbuzz(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net)
2024-06-17 03:49:29 +0200segfaultfizzbuzz(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net) (Ping timeout: 252 seconds)
2024-06-17 03:53:19 +0200 <iqubic> Ugh... Haskell Layout Rules are being a pain. Why doesn't this work? https://gist.github.com/IQubic/f8262777ebc4f9b9afe6b6aec895ea46
2024-06-17 03:54:01 +0200 <iqubic> That's a snippet of my XMonad config that I'm trying to compile, and I can't seem to do so.
2024-06-17 03:55:27 +0200 <Leary> iqubic: That's not layout, you're just one ) short of an expression.
2024-06-17 03:55:43 +0200xff0x(~xff0x@2405:6580:b080:900:3ca7:5236:8f09:cdd0) (Quit: xff0x)
2024-06-17 03:56:09 +0200 <geekosaur> I told them that in #xmonad, they don't seem to have noticed yet
2024-06-17 03:57:07 +0200 <iqubic> I have noticed. I posted this in both locations like 20 seconds apart.
2024-06-17 03:57:29 +0200 <iqubic> Hmm... Now I'm running into a different issue.
2024-06-17 03:57:48 +0200 <geekosaur> that's probably the indentation issue I noted?
2024-06-17 03:58:17 +0200 <iqubic> No. It's a different issue. I'm trying to split up my code over two files and it's not working.
2024-06-17 03:58:17 +0200 <geekosaur> compare https://github.com/geekosaur/xmonad.hs/blob/hilfy-2023/xmonad.hs#L94-L132
2024-06-17 03:58:47 +0200 <geekosaur> mm, right, since that's not inside layout it might dtrt
2024-06-17 03:59:28 +0200 <geekosaur> in general indenting a continuation <= the start of an expression is asking for trouble; it's a bad habit because it'll bite you if layout is in effect at that point
2024-06-17 04:00:04 +0200 <geekosaur> can you gist an example of your current problem?
2024-06-17 04:01:58 +0200sudden(~cat@user/sudden) (Ping timeout: 255 seconds)
2024-06-17 04:05:23 +0200 <iqubic> I'm preparing that now.
2024-06-17 04:07:02 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-06-17 04:07:40 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-06-17 04:11:52 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2024-06-17 04:12:42 +0200euleritian(~euleritia@77.22.252.56)
2024-06-17 04:15:11 +0200sudden(~cat@user/sudden)
2024-06-17 04:17:03 +0200 <iqubic> These files are in a little bit of a weird order, but this should be the info that explains my issue: https://gist.github.com/IQubic/4651c2428459026d01df8677acd8495a
2024-06-17 04:19:27 +0200johnw(~johnw@69.62.242.138) (Ping timeout: 256 seconds)
2024-06-17 04:19:44 +0200segfaultfizzbuzz(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net)
2024-06-17 04:19:45 +0200 <geekosaur> (1) if you're using cabal, you should have Catppuccin in other-modules (2) case matters: the file must be named Catppuccin.hs
2024-06-17 04:20:25 +0200 <iqubic> Got it.
2024-06-17 04:24:35 +0200segfaultfizzbuzz(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net) (Ping timeout: 264 seconds)
2024-06-17 04:31:46 +0200madhavanmi(~madhavanm@2409:40f4:101d:c575:8000::)
2024-06-17 04:33:51 +0200solaire(~solaire@syn-024-165-026-201.res.spectrum.com) (Ping timeout: 264 seconds)
2024-06-17 04:34:12 +0200solaire(~solaire@syn-024-165-026-201.res.spectrum.com)
2024-06-17 04:34:36 +0200madhavanmi(~madhavanm@2409:40f4:101d:c575:8000::) (Client Quit)
2024-06-17 04:36:50 +0200xff0x(~xff0x@2405:6580:b080:900:3ca7:5236:8f09:cdd0)
2024-06-17 04:39:16 +0200segfaultfizzbuzz(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net)
2024-06-17 04:39:45 +0200 <iqubic> I now have this compiling. Thanks!
2024-06-17 04:41:03 +0200solaire(~solaire@syn-024-165-026-201.res.spectrum.com) (Ping timeout: 264 seconds)
2024-06-17 04:43:19 +0200segfaultfizzbuzz(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net) (Ping timeout: 246 seconds)
2024-06-17 04:46:16 +0200segfaultfizzbuzz(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net)
2024-06-17 04:51:51 +0200segfaultfizzbuzz(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net) (Ping timeout: 264 seconds)
2024-06-17 04:54:14 +0200ethantwardy(user@user/ethantwardy) (Quit: WeeChat 4.3.2)
2024-06-17 04:56:10 +0200ethantwardy(user@user/ethantwardy)
2024-06-17 04:59:20 +0200nkatte(~nkatte@user/nkatte) (Quit: nkatte)
2024-06-17 04:59:36 +0200 <Leary> Is there good name for fragments of module hierarchy? Like, if I have Foo.Bar.Quux, what do I call Bar?
2024-06-17 05:00:15 +0200td_(~td@i53870926.versanet.de) (Ping timeout: 264 seconds)
2024-06-17 05:01:38 +0200td_(~td@i53870910.versanet.de)
2024-06-17 05:02:24 +0200 <geekosaur> there isn't one, because in some sense Bar doesn't exist
2024-06-17 05:03:40 +0200 <geekosaur> there is a convention that if you have Foo.Bar.Baz and Foo.Bar.Quux then Baz.hs and Quux.hs are in Foo/Bar, but the two aren't related so Bar kinda isn't really a thing as far as Haskell is concerned
2024-06-17 05:05:46 +0200segfaultfizzbuzz(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net)
2024-06-17 05:10:11 +0200segfaultfizzbuzz(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net) (Ping timeout: 264 seconds)
2024-06-17 05:10:26 +0200bilegeek(~bilegeek@2600:1008:b016:b974:aae0:2a8c:3137:aa88)
2024-06-17 05:10:48 +0200 <Leary> Well, I'm discussing changes to module hierarchy in a commit message---it would be easier if we had words for these things. I'll just settle for "module namespace".
2024-06-17 05:13:52 +0200 <joeyadams> How about "segments"?
2024-06-17 05:14:20 +0200Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542)
2024-06-17 05:16:55 +0200 <monochrom> It would be easier if people accepted using numbers for these things. 1st, 2nd, 3rd.
2024-06-17 05:17:15 +0200 <geekosaur> it's not really a namespace, though, it's just a name qualifier component
2024-06-17 05:19:19 +0200 <geekosaur> the Report just calls them "conids" but that's a lexical concept
2024-06-17 05:19:47 +0200 <monochrom> 1st ID, 2nd ID, 3rd ID :)
2024-06-17 05:19:57 +0200 <cheater> segments of the module namespace
2024-06-17 05:24:52 +0200segfaultfizzbuzz(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net)
2024-06-17 05:25:02 +0200 <monochrom> You can be inspired by Western naming conventions and think of First Name, Middle Name, Last Name. >:)
2024-06-17 05:25:56 +0200 <monochrom> I am just not convinced that it is always a fixed number like 3. Look at the full names of British royalty...
2024-06-17 05:29:15 +0200segfaultfizzbuzz(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net) (Ping timeout: 255 seconds)
2024-06-17 05:30:01 +0200 <cheater> take a look at spanish names
2024-06-17 05:40:44 +0200aforemny_(~aforemny@i59F516FA.versanet.de)
2024-06-17 05:40:58 +0200aforemny(~aforemny@i59F516F9.versanet.de) (Ping timeout: 255 seconds)
2024-06-17 05:43:12 +0200brett303(~brett@cpc91312-watf11-2-0-cust1213.15-2.cable.virginm.net)
2024-06-17 05:44:33 +0200JimL(~quassel@89.162.16.26) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2024-06-17 05:45:28 +0200segfaultfizzbuzz(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net)
2024-06-17 05:45:42 +0200Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
2024-06-17 05:47:33 +0200JimL(~quassel@89.162.16.26)
2024-06-17 05:49:11 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 264 seconds)
2024-06-17 05:50:53 +0200segfaultfizzbuzz(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net) (Ping timeout: 240 seconds)
2024-06-17 05:57:19 +0200k_hachig(~k_hachig@bras-base-mtrlpq42zf4-grc-08-65-94-221-127.dsl.bell.ca)
2024-06-17 06:05:04 +0200segfaultfizzbuzz(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net)
2024-06-17 06:09:25 +0200segfaultfizzbuzz(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net) (Ping timeout: 246 seconds)
2024-06-17 06:10:31 +0200Square(~Square@user/square) (Ping timeout: 256 seconds)
2024-06-17 06:35:39 +0200philopsos(~caecilius@user/philopsos) (Quit: Lost terminal)
2024-06-17 06:38:21 +0200segfaultfizzbuzz(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net)
2024-06-17 06:43:50 +0200segfaultfizzbuzz(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net) (Ping timeout: 252 seconds)
2024-06-17 06:44:51 +0200euleritian(~euleritia@77.22.252.56) (Ping timeout: 255 seconds)
2024-06-17 06:45:34 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-06-17 06:47:58 +0200segfaultfizzbuzz(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net)
2024-06-17 06:54:05 +0200segfaultfizzbuzz(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net) (Ping timeout: 240 seconds)
2024-06-17 06:54:29 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds)
2024-06-17 06:54:51 +0200euleritian(~euleritia@dynamic-176-003-072-224.176.3.pool.telefonica.de)
2024-06-17 06:55:39 +0200euphores(~SASL_euph@user/euphores) (Quit: Leaving.)
2024-06-17 06:58:18 +0200michalz(~michalz@185.246.207.215)
2024-06-17 06:59:44 +0200euphores(~SASL_euph@user/euphores)
2024-06-17 07:02:39 +0200euleritian(~euleritia@dynamic-176-003-072-224.176.3.pool.telefonica.de) (Read error: Connection reset by peer)
2024-06-17 07:04:45 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-06-17 07:10:41 +0200segfaultfizzbuzz(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net)
2024-06-17 07:13:29 +0200 <segfaultfizzbuzz> lol: Haskell is a programming language invented sometime in the 20th century by Scottish logicians as a prank.¹ Fifteen years or so ago, for reasons I can no longer remotely recall, I started learning Haskell. Now, I have finally written a useful program in Haskell, and I am pretty sure I can do it again, if I ever need another computer program.
2024-06-17 07:14:10 +0200acidjnk_new(~acidjnk@p200300d6e714dc39d0437a9dd700f698.dip0.t-ipconnect.de)
2024-06-17 07:14:45 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com)
2024-06-17 07:17:09 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 268 seconds)
2024-06-17 07:17:17 +0200euleritian(~euleritia@dynamic-176-003-072-224.176.3.pool.telefonica.de)
2024-06-17 07:19:37 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 268 seconds)
2024-06-17 07:21:03 +0200euleritian(~euleritia@dynamic-176-003-072-224.176.3.pool.telefonica.de) (Read error: Connection reset by peer)
2024-06-17 07:21:30 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-06-17 07:22:22 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com)
2024-06-17 07:25:35 +0200michalz(~michalz@185.246.207.215) (Quit: ZNC 1.9.0 - https://znc.in)
2024-06-17 07:27:40 +0200 <iqubic> Is possible to tell cabal that my Haskell source files for my project are in the same directory as the cabal file itself?
2024-06-17 07:27:52 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2024-06-17 07:28:23 +0200michalz(~michalz@185.246.207.193)
2024-06-17 07:29:46 +0200solaire(~solaire@syn-024-165-026-201.res.spectrum.com)
2024-06-17 07:30:07 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2024-06-17 07:30:09 +0200 <iqubic> Like, I want to have foo.cabal, Bar.hs, and Baz.hs all in the same directory.
2024-06-17 07:30:18 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 255 seconds)
2024-06-17 07:31:06 +0200 <sclv> sure. just remove the src directory directive from the lib stanza iirc
2024-06-17 07:31:20 +0200 <sclv> or maybe set it to ., i forget if that works
2024-06-17 07:31:40 +0200euleritian(~euleritia@dynamic-176-003-072-224.176.3.pool.telefonica.de)
2024-06-17 07:31:58 +0200philopsos(~caecilius@user/philopsos)
2024-06-17 07:32:31 +0200 <sclv> old haskell packages all used to be like that. but once we started having libs and exes ant test suites separate and wanting to keep source code cleanly removed from build artifacts the conventions changed
2024-06-17 07:33:42 +0200 <iqubic> setting it to . doesn't seem to be working for me.
2024-06-17 07:34:26 +0200solaire(~solaire@syn-024-165-026-201.res.spectrum.com) (Ping timeout: 256 seconds)
2024-06-17 07:34:47 +0200solaire(~solaire@syn-024-165-026-201.res.spectrum.com)
2024-06-17 07:36:42 +0200 <iqubic> https://dpaste.com/HYGV5FWMS
2024-06-17 07:36:48 +0200 <iqubic> That doesn't seem to be working...
2024-06-17 07:37:12 +0200 <iqubic> Probably something weird with me trying to use cabal and nix.
2024-06-17 07:37:37 +0200 <iqubic> I'm trying to get cabal2nix to work for me, and it's giving me parse errors.
2024-06-17 07:38:47 +0200 <joeyadams> Try hs-source-dirs: ./
2024-06-17 07:39:34 +0200 <iqubic> https://dpaste.com/69KBH2ZB4
2024-06-17 07:40:41 +0200 <iqubic> Nope... I think this is a nix issue.
2024-06-17 07:46:34 +0200henry40408(~henry4040@175.182.111.183) (Quit: Ping timeout (120 seconds))
2024-06-17 07:46:59 +0200henry40408(~henry4040@175.182.111.183)
2024-06-17 07:49:13 +0200segfaultfizzbuzz(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net) (Ping timeout: 255 seconds)
2024-06-17 07:49:27 +0200tabemann(~tabemann@104-250-251-243.rockyridge.net) (Ping timeout: 264 seconds)
2024-06-17 07:50:34 +0200k_hachig(~k_hachig@bras-base-mtrlpq42zf4-grc-08-65-94-221-127.dsl.bell.ca) (Ping timeout: 246 seconds)
2024-06-17 07:51:15 +0200foul_owl(~kerry@157.97.134.167) (Ping timeout: 264 seconds)
2024-06-17 07:53:12 +0200foul_owl(~kerry@174-21-146-130.tukw.qwest.net)
2024-06-17 07:57:43 +0200segfaultfizzbuzz(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net)
2024-06-17 08:01:11 +0200TactfulCitrus(al@gateway/vpn/protonvpn/tactfulcitrus) (Ping timeout: 264 seconds)
2024-06-17 08:04:56 +0200joeyadams(~joeyadams@2603:6010:5100:2ed:8567:b00e:a226:2242) (Quit: Leaving)
2024-06-17 08:08:01 +0200madhavanmi(~madhavanm@2409:40f4:1a:21b5:8000::)
2024-06-17 08:08:55 +0200madhavanmi(~madhavanm@2409:40f4:1a:21b5:8000::) (Remote host closed the connection)
2024-06-17 08:36:32 +0200danse-nr3(~danse-nr3@151.37.209.49)
2024-06-17 08:37:19 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 272 seconds)
2024-06-17 08:38:43 +0200madhavanmi(~madhavanm@2409:40f4:1a:21b5:8000::)
2024-06-17 08:41:28 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com)
2024-06-17 08:45:36 +0200bilegeek(~bilegeek@2600:1008:b016:b974:aae0:2a8c:3137:aa88) (Quit: Leaving)
2024-06-17 08:46:37 +0200rosco(~rosco@175.136.155.137)
2024-06-17 08:48:25 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 268 seconds)
2024-06-17 08:49:12 +0200 <danse-nr3> good morning, i received a comment from a colleague that made me think. I wrote some code following intuition but i cannot pinpoint that it works correctly
2024-06-17 08:50:00 +0200sord937(~sord937@gateway/tor-sasl/sord937)
2024-06-17 08:50:00 +0200 <danse-nr3> i have a function `a -> b -> c -> d` which gets partially applied so that we can just use `c -> d` with `c` varying more often
2024-06-17 08:50:31 +0200 <danse-nr3> internally, the function does some expensive calculation that does not depend on `c`
2024-06-17 08:51:01 +0200 <Axman6> foo a b = let expensive = ... a ... b in \c -> theRest?
2024-06-17 08:51:01 +0200 <danse-nr3> my intuition is that the expensive computation would not be repeated for each varying `c`
2024-06-17 08:51:40 +0200 <Axman6> That may depend on how it's written - what I've written above should avoid any repeated calculateion (assuming c's type doesn't change bettween different calls)
2024-06-17 08:51:46 +0200 <danse-nr3> thanks axman, you get close to my question. Do i need to assign something with `let` or something else for my assumption to be true?
2024-06-17 08:51:49 +0200segfaultfizzbuzz(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net) (Ping timeout: 246 seconds)
2024-06-17 08:52:26 +0200 <danse-nr3> i thought non-strict evaluation would be enough
2024-06-17 08:53:56 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com)
2024-06-17 08:54:28 +0200euphores(~SASL_euph@user/euphores) (Quit: Leaving.)
2024-06-17 08:58:23 +0200 <Leary> danse-nr3: It's up to the whims of the optimiser whether or not to inline your lets, whether or not to float them out, etc. Since it's clever you'll usually see the better outcomes, but if you want to be sure then you need to /make/ sure. The way to get certain sharing is to write let before you take arguments or constraints and NOINLINE the binding.
2024-06-17 08:59:13 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-06-17 08:59:52 +0200euleritian(~euleritia@dynamic-176-003-072-224.176.3.pool.telefonica.de) (Read error: Connection reset by peer)
2024-06-17 08:59:57 +0200califax(~califax@user/califx) (Remote host closed the connection)
2024-06-17 09:00:35 +0200 <danse-nr3> thanks Leary. Do you know about any doc i could read to understand this better?
2024-06-17 09:01:12 +0200euleritian(~euleritia@dynamic-176-006-194-173.176.6.pool.telefonica.de)
2024-06-17 09:01:57 +0200euleritian(~euleritia@dynamic-176-006-194-173.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-06-17 09:02:15 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-06-17 09:03:00 +0200 <danse-nr3> i thoughts thunks will work so that an evaluated value gets reused regardless
2024-06-17 09:03:26 +0200 <danse-nr3> *would work
2024-06-17 09:04:35 +0200philopsos1(~caecilius@user/philopsos)
2024-06-17 09:04:59 +0200califax(~califax@user/califx)
2024-06-17 09:07:44 +0200madhavanmi(~madhavanm@2409:40f4:1a:21b5:8000::) (Quit: Quit)
2024-06-17 09:07:54 +0200 <danse-nr3> in my case, the expensive operations turn into a non-strict data type that is passed as an argument in the partial application, if that changes anything. So i assume that if a field is needed multiple times it will still get calculated only once?
2024-06-17 09:07:55 +0200 <probie> danse-nr3: If you write it naively, the thunk you're talking about won't exist until your function has all its arguments, so it can't possibly be shared. You need something like Axman6's suggestion to make it work
2024-06-17 09:08:48 +0200 <danse-nr3> thanks probie, having a thunk so that it can be reused, sounds like a simple criteria that can easily be learned
2024-06-17 09:08:55 +0200califax(~califax@user/califx) (Remote host closed the connection)
2024-06-17 09:09:20 +0200 <danse-nr3> so since as i said there is a passed argument, i guess my thunks already exist
2024-06-17 09:09:54 +0200henry40408(~henry4040@175.182.111.183) (Quit: Ping timeout (120 seconds))
2024-06-17 09:10:23 +0200henry40408(~henry4040@175.182.111.183)
2024-06-17 09:10:56 +0200kuribas(~user@ptr-17d51eokk4x6v7fmbmr.18120a2.ip6.access.telenet.be)
2024-06-17 09:11:01 +0200 <danse-nr3> this seems tricky territory anyways. Besides probie's useful criteria, learning resources are welcome
2024-06-17 09:11:23 +0200 <probie> If we have `f a b c = let thing = a + b in thing + c` and `g = f 3 4`, we've made a thunk for `g`, which if reduced to whnf would be `\c -> let thing = 3 + 4 in thing + c`. However, there is no thunk for `thing` yet
2024-06-17 09:11:43 +0200califax(~califax@user/califx)
2024-06-17 09:12:02 +0200 <Leary> danse-nr3: It's mostly a matter of understanding GHC's evaluation strategy and the optimisations it's free to make. For the former you can read up on STG, I guess, but I don't really have a good source for the latter. There are some good SPJ talks and lexi-lambda videos on GHC optimisations, and the -f flags in the User's Guide are a decent reference.
2024-06-17 09:13:23 +0200 <probie> If we have `f a b = let thing = a + b in \c -> thing + c` and `g = f 3 4`, we've made a thunk for `g`, which if reduced to whnf would be `\c -> thing + c` where `thing` is a thunk containing `3 + 4`
2024-06-17 09:13:47 +0200 <danse-nr3> thanks Leary... arguably there is a collapse of semantics there, or maybe evaluation is not part of denotational semantics
2024-06-17 09:14:16 +0200 <danse-nr3> thanks probie, seems to confirm your criteria is a valid one, and easy to internalize
2024-06-17 09:14:36 +0200 <Leary> This is one area where Haskell's beauty is kinda working against us---purity and referential transparency give rise to endless meaning-preserving transformations that the compiler is free to use in optimisation.
2024-06-17 09:15:13 +0200 <danse-nr3> so i gather referential transparency is part of denotational semantics while evaluation strategy is not?
2024-06-17 09:16:10 +0200peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 268 seconds)
2024-06-17 09:17:59 +0200euphores(~SASL_euph@user/euphores)
2024-06-17 09:23:16 +0200xff0x(~xff0x@2405:6580:b080:900:3ca7:5236:8f09:cdd0) (Ping timeout: 255 seconds)
2024-06-17 09:36:16 +0200solaire(~solaire@syn-024-165-026-201.res.spectrum.com) (Ping timeout: 256 seconds)
2024-06-17 09:37:56 +0200solaire(~solaire@syn-024-165-026-201.res.spectrum.com)
2024-06-17 09:43:47 +0200dcoutts_(~duncan@oxfd-27-b2-v4wan-164228-cust163.vm42.cable.virginm.net) (Ping timeout: 264 seconds)
2024-06-17 09:46:53 +0200rosco(~rosco@175.136.155.137) (Quit: Lost terminal)
2024-06-17 09:47:37 +0200solaire(~solaire@syn-024-165-026-201.res.spectrum.com) (Ping timeout: 268 seconds)
2024-06-17 09:48:53 +0200solaire(~solaire@syn-024-165-026-201.res.spectrum.com)
2024-06-17 09:53:03 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 264 seconds)
2024-06-17 09:53:33 +0200euleritian(~euleritia@dynamic-176-006-194-173.176.6.pool.telefonica.de)
2024-06-17 10:02:01 +0200machinedgod(~machinedg@node-1w7jr9yjxg4b9uiwhc1g848x6.ipv6.telus.net)
2024-06-17 10:08:31 +0200rosco(~rosco@175.136.155.137)
2024-06-17 10:19:39 +0200segfaultfizzbuzz(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net)
2024-06-17 10:21:17 +0200dcoutts_(~duncan@oxfd-27-b2-v4wan-164228-cust163.vm42.cable.virginm.net)
2024-06-17 10:22:43 +0200oo_miguel(~Thunderbi@78-11-181-16.static.ip.netia.com.pl)
2024-06-17 10:24:57 +0200sawilagar(~sawilagar@user/sawilagar)
2024-06-17 10:26:08 +0200gehmehgeh(~user@user/gehmehgeh)
2024-06-17 10:26:47 +0200waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
2024-06-17 10:26:53 +0200dcoutts_(~duncan@oxfd-27-b2-v4wan-164228-cust163.vm42.cable.virginm.net) (Ping timeout: 272 seconds)
2024-06-17 10:27:11 +0200gehmehgehgmg
2024-06-17 10:31:58 +0200euleritian(~euleritia@dynamic-176-006-194-173.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-06-17 10:32:16 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-06-17 10:38:46 +0200cfricke(~cfricke@user/cfricke)
2024-06-17 10:39:22 +0200chele(~chele@user/chele)
2024-06-17 10:44:37 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
2024-06-17 10:46:49 +0200target_i(~target_i@user/target-i/x-6023099)
2024-06-17 10:49:37 +0200chiselfuse(~chiselfus@user/chiselfuse) (Remote host closed the connection)
2024-06-17 10:50:53 +0200chiselfuse(~chiselfus@user/chiselfuse)
2024-06-17 10:52:51 +0200dcoutts_(~duncan@oxfd-27-b2-v4wan-164228-cust163.vm42.cable.virginm.net)
2024-06-17 10:55:40 +0200__monty__(~toonn@user/toonn)
2024-06-17 11:04:27 +0200segfaultfizzbuzz(~segfaultf@23-93-189-95.fiber.dynamic.sonic.net) (Ping timeout: 264 seconds)
2024-06-17 11:15:02 +0200econo_(uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity)
2024-06-17 11:22:27 +0200philopsos1(~caecilius@user/philopsos) (Ping timeout: 264 seconds)
2024-06-17 11:24:15 +0200ft(~ft@p3e9bcb39.dip0.t-ipconnect.de) (Quit: leaving)
2024-06-17 11:27:46 +0200tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
2024-06-17 11:28:11 +0200lxsameer(~lxsameer@Serene/lxsameer)
2024-06-17 11:30:51 +0200danse-nr3(~danse-nr3@151.37.209.49) (Ping timeout: 272 seconds)
2024-06-17 11:31:01 +0200danse-nr3(~danse-nr3@151.37.148.51)
2024-06-17 11:46:41 +0200noumenon(~noumenon@113.51-175-156.customer.lyse.net) (Quit: Leaving)
2024-06-17 11:54:05 +0200madhavanmi(~madhavanm@2409:40f4:10f2:43ac:8000::)
2024-06-17 11:58:58 +0200danse-nr3(~danse-nr3@151.37.148.51) (Ping timeout: 268 seconds)