Home liberachat/#haskell: Logs Calendar

Logs on 2025-01-10 (liberachat/#haskell)

00:01:54 × orangeFlu quits (~orangeFlu@240-100-179-143.ftth.glasoperator.nl) (Ping timeout: 252 seconds)
00:03:54 orangeFlu joins (orangeFlu@gateway/vpn/protonvpn/orangeflu)
00:05:33 × itscaleb quits (~itscaleb@user/itscaleb) (Quit: away)
00:05:33 × rdcdr quits (~rdcdr@user/rdcdr) (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in)
00:05:47 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
00:06:16 itscaleb joins (~itscaleb@user/itscaleb)
00:06:18 rdcdr joins (~rdcdr@user/rdcdr)
00:08:40 × vanishingideal quits (~vanishing@user/vanishingideal) (Read error: Connection reset by peer)
00:10:45 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
00:20:37 × itscaleb quits (~itscaleb@user/itscaleb) (Read error: Connection reset by peer)
00:20:37 × rdcdr quits (~rdcdr@user/rdcdr) (Read error: Connection reset by peer)
00:20:55 itscaleb joins (~itscaleb@user/itscaleb)
00:20:58 rdcdr joins (~rdcdr@user/rdcdr)
00:21:07 × acidjnk_new quits (~acidjnk@p200300d6e7283f44e10a42b706ab358a.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
00:21:10 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
00:23:49 × Buliarous quits (~gypsydang@46.232.210.139) (Quit: leaving)
00:24:17 Buliarous joins (~gypsydang@46.232.210.139)
00:25:44 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
00:35:29 dysthesis joins (~dysthesis@user/dysthesis)
00:36:34 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
00:37:21 × agent314 quits (~quassel@37.19.210.25) (Ping timeout: 246 seconds)
00:38:19 × machinedgod quits (~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 252 seconds)
00:40:15 × OftenFaded1 quits (~OftenFade@user/tisktisk) (Quit: Client closed)
00:40:49 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
00:42:17 vanishingideal joins (~vanishing@user/vanishingideal)
00:42:52 Square2 joins (~Square4@user/square)
00:45:09 × Square quits (~Square@user/square) (Ping timeout: 252 seconds)
00:45:17 × haskellbridge quits (~hackager@syn-024-093-192-219.res.spectrum.com) (Remote host closed the connection)
00:46:30 haskellbridge joins (~hackager@syn-024-093-192-219.res.spectrum.com)
00:46:30 ChanServ sets mode +v haskellbridge
00:50:58 philopsos joins (~caecilius@user/philopsos)
00:51:56 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
00:52:16 × vanishingideal quits (~vanishing@user/vanishingideal) (Remote host closed the connection)
00:52:50 Jeanne-Kamikaze joins (~Jeanne-Ka@142.147.89.198)
00:53:58 vanishingideal joins (~vanishing@user/vanishingideal)
00:55:29 × nkatte quits (~nkatte@user/nkatte) (Remote host closed the connection)
00:56:41 emmanuelux joins (~emmanuelu@user/emmanuelux)
00:57:18 prasad joins (~Thunderbi@2601:243:c001:3f07::e5)
00:57:38 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
01:01:18 × sprotte24 quits (~sprotte24@p200300d16f253600c5a38787ced491fd.dip0.t-ipconnect.de) (Quit: Leaving)
01:03:17 × stiell quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
01:04:03 stiell joins (~stiell@gateway/tor-sasl/stiell)
01:06:46 × orangeFlu quits (orangeFlu@gateway/vpn/protonvpn/orangeflu) (Ping timeout: 272 seconds)
01:08:28 orangeFlu joins (~orangeFlu@240-100-179-143.ftth.glasoperator.nl)
01:08:54 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
01:10:55 × xff0x quits (~xff0x@2405:6580:b080:900:fcda:45c6:b5b3:4ead) (Ping timeout: 264 seconds)
01:15:36 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
01:18:07 × Tuplanolla quits (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
01:18:41 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 248 seconds)
01:26:43 × vanishingideal quits (~vanishing@user/vanishingideal) (Remote host closed the connection)
01:26:56 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
01:27:22 × supercode quits (~supercode@user/supercode) (Quit: Client closed)
01:31:22 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
01:32:08 euouae joins (~euouae@user/euouae)
01:32:41 <euouae> Hello why does `stack --stack-yaml stack.yaml exec ghc -- --numeric-version` return 9.8.4?
01:32:51 <euouae> for my project that I craeted with stack 3.1.1?
01:33:34 <euouae> I think it retunrs the version in ~/.stack/global-projects/stack.yaml as `resolver: nightly-2024-09-26` but how should I configure my setup to prevent this? I can't load lsp correclty
01:38:15 × otto_s quits (~user@p4ff270f4.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
01:38:33 <geekosaur> what's the snapshot (or resolver) in your stack.yaml?
01:38:38 Smiles joins (uid551636@id-551636.lymington.irccloud.com)
01:38:47 <euouae> there is none, I created the project with `stack new foo`
01:39:13 <euouae> it says snapshot: url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/23/3.yaml
01:39:36 <geekosaur> uh, there should always be one in there, if there isn't then it should use the one from the global as a default but it should always add one
01:39:55 <euouae> from the link I can see resolver: compiler: ghc-9.8.4
01:40:00 <geekosaur> yes, that5 LTS uses 9.8.4
01:40:14 otto_s joins (~user@p5de2f8cc.dip0.t-ipconnect.de)
01:40:18 <euouae> why is LTS 9.8.4 and ghcup recommended is different versions?
01:40:20 <geekosaur> if you want to change it, use a different resolver
01:40:28 × orangeFlu quits (~orangeFlu@240-100-179-143.ftth.glasoperator.nl) (Quit: Lost terminal)
01:40:33 Guest57 joins (~Guest57@2a00:fbc:ead6:daa8:3d67:28a5:8699:d1db)
01:40:42 <geekosaur> because stack does things its own way
01:41:01 <geekosaur> if you don't install the ghcup shim it even installs its own private ghcs instead of ghcup's
01:41:19 <geekosaur> (but then you have to build your own HLSs to work with them)
01:41:52 × HappyNewYear2025 quits (~newyear@2.219.56.221) (Ping timeout: 244 seconds)
01:42:19 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
01:42:21 <geekosaur> stack predates ghcup and was intended to be an all-in-one solution
01:43:28 <euouae> I just installed the shim like you said, but I guess that was anothe rthing
01:43:39 <geekosaur> also, while stack snapshots tend to be fairly recent, ghcup is quite conservative
01:43:49 <euouae> Yeah that makes sense, more stable
01:43:58 <euouae> I am new to this stuff (or it's been years) so I don't remember any of it
01:44:08 <geekosaur> although supposedly with the next patch release to 9.6 that will become ghcup recommended
01:44:30 <euouae> How do I figure out which snapshot to use with stack if I have ghc 9.4.8? Does it follow that version?
01:44:46 <geekosaur> stackage.org has a list
01:45:00 <geekosaur> it says the latest snapshot for 9.4.8 is 21.25
01:45:13 <euouae> nice! thank you!!!
01:47:12 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
01:47:52 _73 joins (~user@pool-173-76-100-193.bstnma.fios.verizon.net)
01:48:03 hawer joins (~newyear@2.219.56.221)
01:51:02 <euouae> how can I make this the default behavior?
01:51:10 <euouae> sigh this is difficult to figure out... I guess I can use stack new --resolver
01:52:05 <geekosaur> edit that file in ~/.stack to specify the snapshot you want by default
01:53:24 <geekosaur> you probably want to do that anyway as that's a relatively old nightly; if you want ghc 9.8 you want LTS 23.3
01:53:37 <geekosaur> and nightlies are not especially stable
01:54:00 housemate joins (~housemate@pa49-185-174-252.pa.vic.optusnet.com.au)
01:54:06 <geekosaur> oh right, that's what you got at first, sorry
01:54:23 <euouae> I've tried to edit ~/.stack/config.yaml and ~/.stack/global-projects/stack.yaml but neither works with `stack new`
01:54:46 <euouae> Maybe I shouldn't use stack?
01:55:48 <geekosaur> no, it just means I'm not actually a stack expert and don't know the exact place to edit off the top of my head 🙂
01:56:09 <geekosaur> (I'm mostly a cabal user and only use stack when debuggig an xmonad user's config that's stack-based)
01:56:27 <euouae> it does make me a little sekptical because I can't figure out in the docs where 'resolver' is mentioned
01:56:32 <haskellbridge> <sm> "stack new" is a command I think not many people use, do its docs say how to configure it ?
01:56:55 <haskellbridge> <sm> https://docs.haskellstack.org/en/stable/commands/new_command/
01:57:37 <euouae> apparently the value in ~/.stack/config.yaml must be indented to take effect
01:57:41 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
01:58:33 <haskellbridge> <sm> if I'm reading it right, https://github.com/commercialhaskell/stack-templates/blob/master/new-template.hsfiles seems to be the default template. But it doesn't seem to provide the stack.yaml file itself.
01:58:48 <geekosaur> it might not be mentioned because recent versions of stack renamed it to "snapshot"
01:58:55 <haskellbridge> <sm> #haskell-stack:matrix.org (https://matrix.to/#/#haskell-stack:matrix.org) will know for sure
01:59:33 <euouae> I don't use matrix though, I'm bothered by their encryption
02:00:05 <haskellbridge> <sm> ah. Well these are all FOSS rooms, unencrypted
02:00:29 <euouae> no, I meant to say that I dislike vector.im and their phony privacy thing
02:01:44 <euouae> interesting that I've specified GPL-3.0 in my ~/.stack/config.yaml template but it still gave me BSD too
02:01:53 <haskellbridge> <sm> I think you're right that "stack new" will use whatever snapshot you have in your global user config
02:02:10 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
02:02:23 <euouae> it also calls it copyright: ... when it's a license. o_O
02:02:58 <euouae> I'm wondering if that was me being an idiot back then. Well I've made up my mind, I'm switching to cabal before I go nuts
02:04:15 vanishingideal joins (~vanishing@user/vanishingideal)
02:09:24 <euouae> sm: if you care, <https://gitlab.com/libremonde-org/papers/research/privacy-matrix.org>, it's criticism of the privacy "features" of matrix
02:10:25 <haskellbridge> <sm> thank you. I don't use it for privacy currently
02:10:58 × rdcdr quits (~rdcdr@user/rdcdr) (Ping timeout: 252 seconds)
02:11:22 × itscaleb quits (~itscaleb@user/itscaleb) (Ping timeout: 265 seconds)
02:11:53 xff0x joins (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
02:12:50 <euouae> although `--resolver 21.25` works from the command line for `stack new`, and although `stack new` informs me that I can set parameters under ~/.stack/config.yaml uner templates: params: it does seem to get ignored
02:13:03 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
02:13:10 <euouae> I've tried both resolver: lts-21.25, resolver: compiler: ghc-9.4.8, resolver: ghc-9.4.8 and snapshot: lts-21.25
02:13:25 <haskellbridge> <sm> I can't test right now because of the usual transient network failures with some back end server :(
02:13:43 <haskellbridge> <sm> if I hear more, I'll cc it here
02:13:48 <euouae> When I read the message under `stack new` I see: "Selecting the best among 13 snapshots..."
02:13:56 <euouae> It seems like it's deciding based on some heuristic instead of my setting
02:14:35 <haskellbridge> <sm> euouae: the parameters you can set, might be just the parameters defined in the template you are using ? not sure
02:15:14 <haskellbridge> <sm> eg {{name}} and {{category}} in https://github.com/commercialhaskell/stack-templates/blob/master/new-template.hsfiles. The stack.yaml snapshot is not one of those
02:16:02 <euouae> sm, you must be right. this is so difficult lol.
02:16:25 <haskellbridge> <sm> oh yes, unless you specify it on command line it will probably look at the package.yaml generated from the template, and try to pick the snapshot that is likely to work with that
02:16:56 <haskellbridge> <sm> stack is well designed, but haskell tooling is a bit complex, it takes more than a few minutes to grok
02:17:00 orangeFlu joins (orangeFlu@gateway/vpn/protonvpn/orangeflu)
02:17:39 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
02:18:44 vanishing joins (~vanishing@user/vanishingideal)
02:19:36 × vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 272 seconds)
02:20:01 <euouae> alright thanks. I'll move on by just using the command line for nwo
02:20:53 <haskellbridge> <sm> (GHC's way of optimising and linking causes tight version sensitivities, which complicates everything else above. Also the tools have a long dev history.)
02:22:13 × euphores quits (~SASL_euph@user/euphores) (Read error: Connection reset by peer)
02:24:04 <haskellbridge> <sm> for the record, you can forget "resolver" and just use "snapshot:" and "--snapshot" everywhere now, if you are using any modern stack version
02:24:19 <euouae> with lts-21.25 as argument?
02:24:27 <haskellbridge> <sm> yup
02:24:27 × pja quits (~pja@2a02:8010:6098:0:e65f:1ff:fe1f:660f) (Ping timeout: 246 seconds)
02:24:28 × housemate quits (~housemate@pa49-185-174-252.pa.vic.optusnet.com.au) (Quit: Nothing to see here. I wasn't there. I take IRC seriously.)
02:25:44 pja joins (~pja@2a02:8010:6098:0:e65f:1ff:fe1f:660f)
02:27:01 <euouae> it's nto the same as --resolver?
02:27:15 <haskellbridge> <sm> it is
02:27:56 <haskellbridge> <sm> stack originally used both terms, modern stack has picked "snapshot"
02:28:26 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
02:30:10 × Guest57 quits (~Guest57@2a00:fbc:ead6:daa8:3d67:28a5:8699:d1db) (Ping timeout: 240 seconds)
02:32:53 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
02:34:14 × dysthesis quits (~dysthesis@user/dysthesis) (Remote host closed the connection)
02:35:07 <euouae> yay lsp works :D thank you sm!!!
02:35:45 <haskellbridge> <sm> congrats euouae. With which editor/ide ?
02:35:52 <euouae> emacs
02:36:01 <haskellbridge> <sm> nice
02:36:12 <euouae> I've been using it a long time and it's my thing now
02:43:48 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
02:47:30 weary-traveler joins (~user@user/user363627)
02:49:05 × vanishing quits (~vanishing@user/vanishingideal) (Ping timeout: 252 seconds)
02:51:00 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
02:51:03 vanishingideal joins (~vanishing@user/vanishingideal)
02:51:16 <sim590> After installing my package with cabal v2-install, and trying to run it, I get: "habanga-tui: /home/simon/.cabal/store/ghc-9.4.8/...fcfc097/share/resources/habanga-tui/Habanga-title.txt: openFile: does not exist (No such file or directory)". So, cabal didn't install my data-files. Why ?
02:52:43 <sim590> Here's my project: https://github.com/sim590/habanga
02:53:39 <sim590> I do use `Paths_mypackage` automatically generated module for resolving paths.
02:53:50 <sim590> It used to work, but Idk what I did and now it doesn't anymore.
02:54:46 <haskellbridge> <sm> is that file listed in data-files: in your .cabal file ?
02:55:40 <sim590> yeah, you can see the cabal file here: https://github.com/sim590/habanga/blob/01b1c1c41054c1a070841b5aa90bd42581bb3160/habanga.cabal#L35
02:55:45 × vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 248 seconds)
02:56:12 <haskellbridge> <sm> but it's not currently installed at that path mentioned in the error message ?
02:56:26 <sim590> Exactly. I see other files though.
02:56:33 <sim590> Just not the resources directory.
02:56:49 <haskellbridge> <sm> recently timestamped, eg from your latest "cabal install" ?
02:56:52 vanishingideal joins (~vanishing@user/vanishingideal)
02:57:48 <geekosaur> you have a case mismatch?
02:58:06 <geekosaur> Habanga-… vs. habanga-…
02:58:14 <sim590> Yeah. I just went and removed everything that mentioned "habanga" under ~/.cabal and tried to reinstall. It resintalled again and I got this: https://paste.debian.net/1344668/
02:58:32 <geekosaur> that will work on Windows or macOS but not Linux or probably WSL2
02:58:52 <sim590> But it works well when I just run the program in with `cabal v2-run habanga-tui`.
02:59:37 × rekahsoft quits (~rekahsoft@70.51.99.237) (Read error: Connection reset by peer)
02:59:40 <sim590> geekosaur: there's no mismatch. I don't think so.
02:59:47 <haskellbridge> <sm> where's the case mismatch ? using a capital should be ok, no ?
03:00:11 <haskellbridge> <sm> v2-run is just running files from the source tree I believe
03:00:18 <geekosaur> habanga.cabal uses lowercase "h" for the data files, resources/habanga-tui has uppercase
03:00:50 <geekosaur> this will cause problems on case-sensitive systems
03:01:22 <haskellbridge> <sm> I see line 35 saying "resources/habanga-tui/Habanga-title.txt"
03:01:34 menschenmensch joins (~menschenm@41.66.98.89)
03:01:52 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
03:01:57 <geekosaur> right, I just looked again after reloafding and maybe that is the only uppercase one
03:01:59 <geekosaur> I don't see why they didn't get sdisted then
03:02:00 <sim590> Yeah. Only the title file has a capital. I guess I forgot about it, but everything is consistent.
03:02:04 <geekosaur> cabal check?
03:02:43 <haskellbridge> <sm> I suggested checking the timestamps of those installed data files, in case they are leftovers from an older install, perhaps with a different ghc version or store path
03:02:58 <sim590> I get this: Warning: [parser-warning] habanga.cabal:28:1: Ignoring trailing fields after sections: "data-files"
03:03:12 <sim590> Seems related, but Idk what that means. I don't see any issue in the file.
03:03:38 housemate joins (~housemate@pa49-185-174-252.pa.vic.optusnet.com.au)
03:04:16 rekahsoft joins (~rekahsoft@70.51.99.237)
03:05:31 <sim590> Also, the tarball from `cabal sdist` doesn't have the data-files.
03:05:42 <monochrom> Shouldn't data-files belong to a libary or executable section, rather than "top level"?
03:06:14 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds)
03:06:30 <geekosaur> that was what I was thinking, but it's listed with the top level stuff
03:07:06 <monochrom> Err nevermind, it belongs to top level.
03:07:10 × menschenmensch quits (~menschenm@41.66.98.89) (Ping timeout: 240 seconds)
03:07:35 <haskellbridge> <sm> the files exist in your source tree I assume
03:07:36 menschenmensch joins (~menschenm@41.66.98.89)
03:08:01 <geekosaur> the next question might be indentation, since the warn9ing you got does suggest the entries are being misread as not being part of the value of `data-files`
03:08:34 user363627 joins (~user@user/user363627)
03:09:31 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
03:10:00 <geekosaur> you might want to not split it over lines and say `data-files: resources/habanga-tui/*.txt`
03:10:19 <sim590> I tried multiple indentation styles. ALl on the same line, with indentation of 2 under the line `data-files`, all files aligned together with the first one on the same line as `data-files`. It's all the same it seems.
03:12:11 <geekosaur> sm, they're in the source tree, they pointed to the git repo and it has them
03:12:12 × weary-traveler quits (~user@user/user363627) (Ping timeout: 252 seconds)
03:12:16 × orangeFlu quits (orangeFlu@gateway/vpn/protonvpn/orangeflu) (Quit: Lost terminal)
03:12:36 <sim590> I think that I need to fix the error that `cabal check` reports, but Idk how.
03:13:26 <geekosaur> OH
03:13:37 <geekosaur> you put data-files after source-repository
03:13:55 <sim590> This person had the same issue here: https://stackoverflow.com/questions/73258030/cabal-ignoring-trailing-fields-after-sections, but no answers were given.
03:13:56 <geekosaur> that ended the global fields, so data-files is ignored
03:14:06 <sim590> Hmmm
03:14:09 <sim590> Let me see
03:14:12 <euouae> it would be nice if a warning was given about data-files being ignored
03:14:32 <sim590> That's it
03:14:39 <sim590> god damn.
03:14:43 <monochrom> Like this? "Ignoring trailing fields after sections: "data-files""
03:14:56 <geekosaur> had to run cabal chrck to get that
03:15:05 <geekosaur> arguably should be default\
03:15:30 × rekahsoft quits (~rekahsoft@70.51.99.237) (Ping timeout: 252 seconds)
03:15:30 <sim590> That's because I added `source-repository` later in development and I didn't understand that it broke data-files section.
03:15:50 <sim590> Thanks for help everyone.
03:16:04 <haskellbridge> <sm> that's annoying. Just figured out the same thing
03:16:12 <geekosaur> not quite. source-repository is a section. it ended the top level (outside any section) fields, so data-files: was ignored from then on
03:17:14 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
03:17:30 <haskellbridge> <sm> is there a flag that would have turned that cabal data-files warning into an install error ?
03:18:00 × sabathan quits (~sabathan@acaen-652-1-335-197.w83-115.abo.wanadoo.fr) (Ping timeout: 246 seconds)
03:19:12 <geekosaur> no, I think
03:19:16 <sim590> I guess that would need to be an error, yeah because data-files are required at runtime by definition.
03:20:14 <geekosaur> I would file a cabal bug, it should (a) be noisier about such problems, not hide them under cabal check (b) perhaps specifically check for fields like data-files and complain even more loudly
03:21:30 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
03:22:05 sabathan joins (~sabathan@acaen-652-1-335-197.w83-115.abo.wanadoo.fr)
03:22:05 <geekosaur> also I think that used to be an error but then someone got the idea that the only errors should be the things preventing a package from being accepted on hackage. there's still some ongoing shakedown about that
03:25:20 <haskellbridge> <sm> also data-files is inherently fragile, I think. I prefer file-embed
03:26:58 rekahsoft joins (~rekahsoft@70.51.99.237)
03:28:04 <sim590> what's the advantage?
03:29:00 <haskellbridge> <sm> .cabal/store/ghc-9.4.8/...fcfc097/ is not a very durable place to store essential data. It typically gets wiped when your disk fills up or when you uninstall old ghc versions, then the app breaks
03:29:45 <haskellbridge> <sm> or if you copy the executable to a new machine, the data won't come along
03:30:06 <haskellbridge> <sm> it's excluded from backups. etc.
03:30:51 <haskellbridge> <sm> (whereas embedding files in your executable makes it more self-contained)
03:31:18 × rekahsoft quits (~rekahsoft@70.51.99.237) (Ping timeout: 246 seconds)
03:32:37 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
03:33:12 <sim590> Oh, so the files are embeded in the binary?
03:33:21 <haskellbridge> <sm> yup
03:34:42 <sim590> But, am I gonna have to change my approach of recovering the contents since it's not on the disk anymore? For data-files, I have Paths_mypackage automatic module which resolves paths. How does that play out with your approach?
03:36:21 × philopsos quits (~caecilius@user/philopsos) (Ping timeout: 248 seconds)
03:36:25 <haskellbridge> <sm> yes; there's a different api for reading the files. (If you absolutely need them to be in the file system, eg to pass to a legacy app, you can write them out to a temp file at runtime)
03:37:08 rongwey joins (~rongwey@user/rongwey)
03:37:27 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
03:37:53 <haskellbridge> <sm> I use https://hackage.haskell.org/package/file-embed-0.0.16.0/docs/Data-FileEmbed.html#v:embedFileRelative . The type signature is confusing, but basically it evaluates to a bytestring
03:38:14 <rongwey> https://justpaste.it/Naruto_Makes_Love_Samuel_Garcia
03:38:31 <rongwey> Naruto Has Ninja Sex with Nuevo Leon Governor Samuel Garcia
03:38:31 <rongwey> Naruto Uzumaki visits Monterrey and meets Governor Samuel Garcia and starts a romantic escapade with him.
03:38:35 ChanServ sets mode +o monochrom
03:38:39 monochrom sets mode +b *!*@user/rongwey
03:38:39 rongwey is kicked by monochrom (rongwey)
03:38:52 <haskellbridge> <sm> https://github.com/simonmichael/hledger/blob/master/hledger/Hledger/Cli/DocFiles.hs#L47
03:39:00 monochrom sets mode -o monochrom
03:39:55 haskellbridge sm high-fives monochrom
03:47:59 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
03:52:32 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
03:53:04 × OftenFaded quits (~OftenFade@user/tisktisk) (Quit: OftenFaded)
03:59:23 × euouae quits (~euouae@user/euouae) ()
04:03:17 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
04:04:16 × Feuermagier quits (~Feuermagi@user/feuermagier) (Ping timeout: 252 seconds)
04:05:21 OftenFaded joins (OftenFaded@user/tisktisk)
04:07:10 × menschenmensch quits (~menschenm@41.66.98.89) (Ping timeout: 240 seconds)
04:07:34 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
04:07:48 × OftenFaded quits (OftenFaded@user/tisktisk) (Client Quit)
04:18:40 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
04:18:44 × Smiles quits (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity)
04:25:33 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
04:29:25 weary-traveler joins (~user@user/user363627)
04:32:54 × user363627 quits (~user@user/user363627) (Ping timeout: 245 seconds)
04:36:43 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
04:41:24 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
04:56:08 × Jeanne-Kamikaze quits (~Jeanne-Ka@142.147.89.198) (Quit: Leaving)
04:57:31 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
04:58:33 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
05:02:28 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
05:12:56 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
05:17:36 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
05:28:38 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
05:33:09 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
05:44:01 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
05:46:27 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 265 seconds)
05:48:46 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
05:54:18 michalz joins (~michalz@185.246.207.217)
05:59:40 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
06:06:57 tnt2 joins (~Thunderbi@user/tnt1)
06:08:41 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
06:08:41 × tnt1 quits (~Thunderbi@user/tnt1) (Ping timeout: 265 seconds)
06:09:42 tnt1 joins (~Thunderbi@user/tnt1)
06:11:14 × tnt2 quits (~Thunderbi@user/tnt1) (Ping timeout: 245 seconds)
06:15:05 × housemate quits (~housemate@pa49-185-174-252.pa.vic.optusnet.com.au) (Quit: Nothing to see here. I wasn't there. I take IRC seriously.)
06:17:35 housemate joins (~housemate@pa49-183-112-187.pa.vic.optusnet.com.au)
06:17:44 takuan joins (~takuan@178-116-218-225.access.telenet.be)
06:19:27 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
06:21:57 × housemate quits (~housemate@pa49-183-112-187.pa.vic.optusnet.com.au) (Read error: Connection reset by peer)
06:26:24 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
06:27:00 housemate joins (~housemate@pa49-183-116-80.pa.vic.optusnet.com.au)
06:28:53 rvalue- joins (~rvalue@user/rvalue)
06:29:27 × rvalue quits (~rvalue@user/rvalue) (Ping timeout: 246 seconds)
06:30:32 × housemate quits (~housemate@pa49-183-116-80.pa.vic.optusnet.com.au) (Max SendQ exceeded)
06:31:51 housemate joins (~housemate@pa49-183-116-80.pa.vic.optusnet.com.au)
06:33:45 rvalue- is now known as rvalue
06:37:02 OftenFaded joins (~OftenFade@user/tisktisk)
06:37:30 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
06:42:03 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
06:44:09 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
06:47:21 × ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds)
06:52:50 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
06:57:19 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
06:57:25 × Square2 quits (~Square4@user/square) (Ping timeout: 248 seconds)
06:58:06 acidjnk_new joins (~acidjnk@p200300d6e7283f46bd50ad676bb48b83.dip0.t-ipconnect.de)
07:00:44 ljdarj joins (~Thunderbi@user/ljdarj)
07:05:16 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
07:09:45 × housemate quits (~housemate@pa49-183-116-80.pa.vic.optusnet.com.au) (Ping timeout: 260 seconds)
07:10:04 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
07:10:26 CiaoSen joins (~Jura@2a05:5800:2e7:b00:ca4b:d6ff:fec1:99da)
07:16:26 housemate joins (~housemate@pa49-183-116-80.pa.vic.optusnet.com.au)
07:20:39 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
07:21:19 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
07:25:19 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
07:26:11 ionut_f joins (~ionut_f@user/ionut-f:27329)
07:36:02 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
07:40:29 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds)
07:41:33 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
07:43:23 × housemate quits (~housemate@pa49-183-116-80.pa.vic.optusnet.com.au) (Quit: Nothing to see here. I wasn't there. I take IRC seriously.)
07:45:45 × forell quits (~forell@user/forell) (Ping timeout: 276 seconds)
07:47:23 × tcard_ quits (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Quit: Leaving)
07:50:52 × tomboy64 quits (~tomboy64@user/tomboy64) (Ping timeout: 252 seconds)
07:51:24 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
07:55:51 lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
07:55:54 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
08:00:01 × caconym quits (~caconym@user/caconym) (Quit: bye)
08:00:44 caconym joins (~caconym@user/caconym)
08:02:47 tcard joins (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303)
08:04:19 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 264 seconds)
08:05:27 vpan joins (~vpan@212.117.1.172)
08:05:43 × weary-traveler quits (~user@user/user363627) (Remote host closed the connection)
08:05:56 sord937 joins (~sord937@gateway/tor-sasl/sord937)
08:06:17 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
08:13:05 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
08:24:20 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
08:29:18 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
08:30:04 mari-estel joins (~mari-este@user/mari-estel)
08:37:00 × ionut_f quits (~ionut_f@user/ionut-f:27329) (Remote host closed the connection)
08:38:07 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
08:39:42 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
08:46:10 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
08:48:12 × Angelz quits (Angelz@user/angelz) (Remote host closed the connection)
08:51:25 Angelz joins (Angelz@Angelz.oddprotocol.org)
08:56:57 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
09:07:16 × Angelz quits (Angelz@Angelz.oddprotocol.org) (Remote host closed the connection)
09:09:28 × vanishingideal quits (~vanishing@user/vanishingideal) (Remote host closed the connection)
09:10:51 vanishingideal joins (~vanishing@user/vanishingideal)
09:11:40 Angelz joins (Angelz@2605:6400:30:fc15:9bd1:2217:41cd:bb15)
09:16:30 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
09:17:58 × Angelz quits (Angelz@2605:6400:30:fc15:9bd1:2217:41cd:bb15) (Remote host closed the connection)
09:19:57 × eL_Bart0 quits (eL_Bart0@dietunichtguten.org) (Ping timeout: 252 seconds)
09:21:31 ash3en joins (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207)
09:23:09 Angelz joins (Angelz@2605:6400:30:fc15:d55b:fa6c:bd14:9973)
09:23:21 × Angelz quits (Angelz@2605:6400:30:fc15:d55b:fa6c:bd14:9973) (Remote host closed the connection)
09:26:28 mange joins (~user@user/mange)
09:27:29 Angelz joins (Angelz@Angelz.oddprotocol.org)
09:35:44 × mari-estel quits (~mari-este@user/mari-estel) (Ping timeout: 252 seconds)
09:39:00 lxsameer joins (~lxsameer@Serene/lxsameer)
09:42:23 Smiles joins (uid551636@id-551636.lymington.irccloud.com)
09:44:40 × tzh quits (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
09:45:01 eL_Bart0 joins (eL_Bart0@dietunichtguten.org)
09:47:33 forell joins (~forell@user/forell)
09:48:00 mari-estel joins (~mari-este@user/mari-estel)
09:51:08 × xff0x quits (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 252 seconds)
09:52:49 alist joins (~alist@user/alist)
09:54:24 <alist> i have another question about the paper "theorems for free"
09:55:55 <alist> in the parametricity demonstration in section 3.1 on page 8, the author uses their trick of specializing the quantified relations to the case of set-theoretic functions
09:56:58 <alist> however, i'm confused, because i thought the relations we are quantifying over are inductively built from the constant types, which are represented as identity relations
09:57:26 <alist> as far as i can tell, none of the type constructors' relation analogs will give rise to relations which are also set-theoretic functions
09:58:54 <alist> so, then, is the author really is quantifying over all possible relations? i am just confused
10:00:39 <alist> any thoughts are appreciated
10:02:25 <merijn> Link? Because my copy has section 3.1 on page 5 :p
10:02:57 <alist> oh it is on page 5. sorry, it's 4am here
10:05:06 <alist> i will add that although the identity relations are functions, on page 1 the author says that the result holds for "all total functions" with the proper (co)domain
10:09:34 <merijn> I'm not really sure which part of the section you're referring too (and also, it's been a while since I read this xD)
10:09:51 <alist> ah no worries
10:11:03 <alist> in the paragraph preceding the fifth block of latex in section 3.1, the author says they are "specializing to the case where the relation[...]"
10:11:47 <alist> it begins with the phrase "This can be further expanded in terms of the definition[...]"
10:19:56 <merijn> alist: ah, I think you misinterpreted part of the intro stuff
10:20:15 <merijn> alist: "i thought the relations we are quantifying over are inductively built
10:20:22 <merijn> from the constant types, which are represented as identity relations
10:20:47 <merijn> I don't think that's intended anywhere in the paper
10:21:03 <alist> i see i see
10:21:26 <merijn> alist: The identity type is only mentioned as a special relation
10:21:32 <merijn> Not that everything is built in term of those
10:22:57 <merijn> alist: In section 2, on the bottom of page 4 the example is basically explaining an isomorphism between "types and functions" and "sets and relations"
10:23:36 <merijn> i.e. types as sets of elements and functions as relations between their input set and output set
10:24:57 <alist> ok now i am confused
10:26:07 <merijn> That sounds about right for reading type theory papers :D
10:27:42 <alist> lol
10:28:53 <merijn> What is the source of confusion?
10:30:11 <alist> sorry i was just trying to understand what you wrote and what the author wrote
10:30:35 <alist> so, what are the targets of this isomorphism you mention? what are the types mapped to?
10:31:08 <alist> i thought they were relations, at first. i thought the author was saying that because just naively modeling types as sets of their elements didn't work out, so we are going to use relations
10:31:17 <alist> *values, not elements
10:33:59 <geekosaur> types are sets, (mathematical) functions are relations between sets/types
10:35:30 <merijn> alist: ah, so I think the confusion is this: Wadler we want to specifically talk about *function* types for our theorems
10:35:30 <geekosaur> basically, to do anything with values of a type, you need relations saying what can be done with them
10:35:58 <merijn> alist: And the "type as set" view is inconvenient specifically for functions
10:37:25 <Athas> Hello Haskell friends.
10:37:28 ubert joins (~Thunderbi@2a02:8109:ab8a:5a00:6af7:7356:266e:a6fb)
10:38:25 <hellwolf> hello
10:39:07 <Athas> I need to parse git timestamps using the "strict ISO 8601 format". It produces timestamps that look like "2025-01-09T10:06:27+01:00" or "2025-01-09T10:06:27Z". That is, the timezone is either an offset or Z (which means 0). I can't find a simple way to do this with the 'time' library. Am I missing something?
10:39:20 <alist> merijn: i see. and so if the "type as set" view is inconvenient, what exactly is our view? "type as ..."?
10:39:48 <Athas> The ISO8601 instance for ZonedTime allows the offset (but not Z), while the instance for UTCTime allows Z (but not the offset).
10:41:24 <merijn> alist: we view types of functions as *relations* between sets, that's what that bit is about
10:42:04 <merijn> alist: Which, can be confusing, because in some sense relations are just "more sets" depending how you squint and how rigid you like your formalisms :p
10:42:47 <geekosaur> Athas, git is the one being annoying there, it should be consistent. I think the best you can do is try both and use the one that succeeds
10:42:53 <alist> ah yes, but the advantage i guess is that they are not the same "kind" of set as the just collections of values. they are actual mappings?
10:43:04 <merijn> Athas: Crazy talk: Why not replace Z with offset 0:00? :)
10:43:11 <geekosaur> ^
10:43:15 <geekosaur> probably easiest
10:43:19 <merijn> alist: That's beyond what I can skim from the paper and it's lunchtime
10:43:44 <alist> merijn: i see. well thank you anyway, you have been very kind
10:44:18 <alist> geekosaur: ive been staring at what you wrote for like 10 minutes now and i think maybe im starting to get it?
10:44:27 <geekosaur> so, mathematically a function is exactly a mapping of values in the domain (input, with some handwaving) to values in the codomain (output, with similar handwaving)
10:44:37 <Athas> merijn: yes, or just check for the Z and pick the right function. It feels a bit dumb, though.
10:45:13 <alist> geekosaur: right i understand this. i also understand how functions are relations. i have a mathematics background, but nothing related to type theory.
10:45:41 <geekosaur> I'm fairly weak on type theory myself but can generally follow this stuff to some extent
10:46:07 <geekosaur> that said, I got there by hanging out here for a couple decades 🙂
10:46:35 <alist> haha well i dont know if i have that kind of time
10:46:41 <alist> im hoping for the fast track
10:49:26 <haskellbridge> <sm> haha, the old "hang out for a couple of decades" manouver eh
10:50:15 <alist> to be honest it seems to really have worked, ive been here for two days and both times people were able to answer really specific questions about this paper really quickly
10:52:46 <alist> the paper is also sort of doubly confusing because it seems to use like an old version of set-builder notation? and it sometimes uses lambdas to describe set-theoretic functions haha
10:53:02 <alist> i think i can parse it but. idk sorry to flood the chat with like this one obsession i have
10:58:33 × alist quits (~alist@user/alist) (Quit: Leaving)
11:07:46 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
11:13:45 mari47944 joins (~mari-este@user/mari-estel)
11:14:37 <hellwolf> They look very similar to me, in forms and shapes. But probably someone here knows more can answer immediately, is ImpredicativeType possible to replace the common usage of existential types?
11:15:15 <hellwolf> say [forall a. D a] vs. [AnyD] where data AnyD = forall a. D a
11:15:49 × mari-estel quits (~mari-este@user/mari-estel) (Ping timeout: 252 seconds)
11:17:56 × son0p quits (~ff@2800:e6:4001:6cc3:2e2c:4b4e:bc2a:6f17) (Ping timeout: 272 seconds)
11:19:32 alist joins (~alist@user/alist)
11:20:51 × g00gler quits (uid125351@id-125351.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
11:21:07 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
11:24:09 × CiaoSen quits (~Jura@2a05:5800:2e7:b00:ca4b:d6ff:fec1:99da) (Ping timeout: 276 seconds)
11:25:16 <Leary> hellwolf: You should regard the syntax `data AnyD = forall a. D a` as a mistake and not be misled by it. One list has a universally quantified type, the other existentially---they're very different.
11:25:23 JuanDaugherty joins (~juan@user/JuanDaugherty)
11:26:34 <Leary> If you wish, you can encode the existential with `[forall r. (forall a. D a -> r) -> r]`, but I don't really think that's an improvement.
11:27:38 <Leary> (taking `D` as a type unrelated to the constructor)
11:27:51 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
11:28:19 × notzmv quits (~umar@user/notzmv) (Ping timeout: 245 seconds)
11:34:01 todi1 is now known as todi
11:41:10 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
11:41:52 × TMA quits (tma@twin.jikos.cz) (Ping timeout: 252 seconds)
11:46:09 × alist quits (~alist@user/alist) (Quit: Leaving)
11:46:40 <[exa]> if I have a datatype with 2 arguments, say `X a b`, and I want to make a Functor instance so that the thing is functorial in the `a` variable (i.e, not the last one as usual), is there some kind of adaptor that would allow me to fit this somewhat nicely, or do I always have to reorder the type arguments?
11:47:02 <hellwolf> Leary: thanks!
11:47:57 <[exa]> (background: I didn't write that type but it screams for a functor instance)
11:48:29 sprotte24 joins (~sprotte24@p200300d16f053e00ccd1db6c99978e80.dip0.t-ipconnect.de)
11:49:23 × sprotte24 quits (~sprotte24@p200300d16f053e00ccd1db6c99978e80.dip0.t-ipconnect.de) (Client Quit)
11:50:04 <mari47944> reorder or wrap it, not aware of anything better
11:50:07 × Smiles quits (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity)
11:53:22 <[exa]> "wrap" basically a newtype wrapper that would have to inherit all other instances too, right?
11:53:41 <merijn> alinab: Keep in mind that many papers like these are incredibly concisely written and truly grasping them can take a few reads to unpack
11:53:45 [exa] contemplates fmapAla
11:53:49 <merijn> s/alinab/alist
11:53:51 <mari47944> yeah, nest it
11:54:03 <[exa]> ok let's see
11:54:17 <merijn> [exa]: Bifunactor? :)
11:54:34 <merijn> [exa]: Then you can do functory things in both :p
11:54:42 <merijn> [exa]: That, or a newtype wrapper
11:55:27 <[exa]> merijn: yeah except it's not super functorial in the second arg, so the bifunctor would lie a lot
11:55:27 <mari47944> %:t fmapAla
11:55:42 mari47944 forgot that syntax again...
11:55:45 <[exa]> mari47944: no I don't think that exists
11:56:07 <[exa]> `ala` does something similar for lensy stuff
11:56:35 <merijn> [exa]: Then if you don't wanna swap the arguments the closest you can get is newtype shenanigans
11:57:23 <mari47944> i mean swapping technically fits into "fearless refactoring" ^^
12:01:41 <hellwolf> Am I crazy to envision that type class and type families (perhaps type family fundeps) too could achieve the module system that we deserve? Though, perhaps packaging around it would be needed to make it more close to module system, instead of boilerplated type classes.
12:03:31 <hellwolf> hmm, no, even with orphaned instance you can't swap it out later, since compiling the library would require such type class exist.
12:03:49 <hellwolf> nevermind.
12:07:20 <[exa]> hellwolf: "module system" we don't have one?
12:07:48 <mari47944> many consider it improvable
12:07:51 l_k joins (~student@85.172.110.73)
12:07:55 <[exa]> heretics!
12:08:02 <hellwolf> I think people wanted a module where you can swap implementations after distribution
12:08:06 <hellwolf> there is a specific name to it
12:08:18 <[exa]> ah, the backpacky stuff
12:08:18 <hellwolf> some referred to it as ML module maybe
12:08:41 l_k_ joins (~student@85.172.110.63)
12:09:01 <mari47944> hm not sure whether that feature requires a different module system or a different binary interface or both
12:09:23 <hellwolf> perhaps just a different build mechanism
12:09:31 <hellwolf> we don't usually distribute libraries binary form
12:09:38 <hellwolf> so there is room just to change how things are built
12:10:04 <[exa]> module-level forall, module monomorphization, yay, gogogo!
12:10:46 × l__k quits (~student@217.107.126.148) (Ping timeout: 252 seconds)
12:12:44 × l_k quits (~student@85.172.110.73) (Ping timeout: 264 seconds)
12:13:01 l_k joins (~student@217.107.126.75)
12:14:36 l__k joins (~student@85.172.110.137)
12:15:57 × l_k_ quits (~student@85.172.110.63) (Ping timeout: 246 seconds)
12:17:12 <hellwolf> Type theory people will laugh at our enthusiasm.
12:17:24 <hellwolf> It must be very complicated, theory wise :p
12:17:53 <hellwolf> CPP people just simply #define A TO_BE_B
12:17:58 <hellwolf> no theory needed
12:18:24 × l_k quits (~student@217.107.126.75) (Ping timeout: 244 seconds)
12:18:47 <mari47944> huh i think there are a few proposals aligned, but i might be wrong
12:20:11 × vpan quits (~vpan@212.117.1.172) (Quit: Leaving.)
12:21:24 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
12:21:57 tomboy64 joins (~tomboy64@user/tomboy64)
12:22:10 <merijn> hellwolf: monomorphising everything is (conceptually and theoretically) trivial
12:22:27 <merijn> But people already complain about binary sizes :p
12:22:39 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
12:22:55 <merijn> And did you look at backpack?
12:23:11 <hellwolf> I used mixins from cabal, if that's the same thing
12:23:54 <merijn> they're part of backpack, yeah
12:23:55 l_k joins (~student@81.177.127.117)
12:24:22 <hellwolf> I have watched a talk about backpack, awhile back. But I also heard that people behind backpack left.
12:25:15 <merijn> I think it was ezyang's baby?
12:26:21 <geekosaur> yes
12:26:26 <geekosaur> thesis project
12:26:40 × l__k quits (~student@85.172.110.137) (Ping timeout: 244 seconds)
12:28:18 l__k joins (~student@85.172.77.123)
12:30:44 mreh joins (~matthew@host86-146-25-121.range86-146.btcentralplus.com)
12:31:19 × l_k quits (~student@81.177.127.117) (Ping timeout: 264 seconds)
12:31:37 l_k joins (~student@85.172.76.97)
12:33:12 <mreh> before I delve into the literature, does anyone know if StableName equality is guaranteed when called on the same constructor? i.e. if I evaluate an object to WNHF will it always have the same StableName returned by makeStableName?
12:33:21 <hellwolf> the achilles' heel of of thesis project
12:34:13 <merijn> mreh: Very much no of the top of my head
12:34:25 × l__k quits (~student@85.172.77.123) (Ping timeout: 248 seconds)
12:34:33 <merijn> The creation of the StableName is what guarantees the stability
12:34:46 <mreh> merijn: okay
12:35:04 × l_k quits (~student@85.172.76.97) (Read error: Connection reset by peer)
12:35:12 <merijn> Wait, I'm confusing StableName and StablePtr
12:35:48 <merijn> mreh: But I would say it's certainly not guaranteed that "stableNameOf Foo == stableNameOf Foo" (with Foo being a constructor), it seems likely they will be the same
12:35:56 l_k joins (~student@213.24.133.111)
12:35:58 <merijn> but hard guarantees are hard ;)
12:36:24 <merijn> mreh: See also the note in the haddocks
12:36:27 <merijn> "The reverse is not necessarily true: if two stable names are not equal, then the objects they name may still be equal. Note in particular that makeStableName may return a different StableName after an object is evaluated."
12:37:00 <merijn> So StableName guarantees no false positives, but does not guarantee no false negatives
12:38:11 <mreh> merijn: a luke-warm guarantee is probably enough for my purposes
12:38:14 <merijn> For WHNF constructors it seems *likely* they will be the same, but no guarantees
12:38:59 <mreh> it seems to work for Gpipe and the way it builds GLSL expressions, but I haven't ever inspected the GLSL it outputs
12:39:04 <mreh> https://hackage.haskell.org/package/GPipe-2.2.5/docs/src/Data.SNMap.html#local-6989586621679049777
12:39:55 xff0x joins (~xff0x@2405:6580:b080:900:8710:a51a:14b3:2b97)
12:40:03 <merijn> mreh: It depends on "how bad is a false negative * probability of false negative"
12:40:31 <mreh> I think in my case, it would be a performance issue, so not terrible
12:40:48 <mreh> gpipe uses them to prevent recomputation of intermediate expressions
12:40:57 <mreh> I *think* at least
12:42:29 CiaoSen joins (~Jura@2a05:5800:2e7:b00:ca4b:d6ff:fec1:99da)
12:42:31 ubert1 joins (~Thunderbi@2a02:8109:ab8a:5a00:84ab:2b5:da25:e47f)
12:42:39 <merijn> mreh: Yeah, so small impact * low probability of happening = your probably fine
12:43:57 × ubert quits (~Thunderbi@2a02:8109:ab8a:5a00:6af7:7356:266e:a6fb) (Ping timeout: 246 seconds)
12:43:57 ubert1 is now known as ubert
12:48:01 <mreh> I think it does CSE, but it might have a more important role than that, not sure
12:48:34 <mreh> so yeah, pretty low impact definitely
12:54:09 × JuanDaugherty quits (~juan@user/JuanDaugherty) (Ping timeout: 248 seconds)
13:03:40 LearnHaskell joins (~LearnHask@88.197.71.220)
13:15:55 Smiles joins (uid551636@id-551636.lymington.irccloud.com)
13:22:26 lisbeths joins (uid135845@id-135845.lymington.irccloud.com)
13:24:44 jespada joins (~jespada@2800:a4:161:4200:1503:f643:a41c:4d0c)
13:25:25 son0p joins (~ff@2800:e6:4001:6cc3:2e2c:4b4e:bc2a:6f17)
13:25:58 rynite joins (~bwkam@user/rynite)
13:25:59 × jespada quits (~jespada@2800:a4:161:4200:1503:f643:a41c:4d0c) (Client Quit)
13:26:59 jespada joins (~jespada@2800:a4:161:4200:1503:f643:a41c:4d0c)
13:28:17 × iamsleepy quits (~weechat@2a01:4f9:3070:feff:e108:469f:fb3b:55a7) (Ping timeout: 248 seconds)
13:29:25 LearnHaskell26 joins (~LearnHask@88.197.71.220)
13:29:33 iamsleepy joins (~weechat@2a01:4f9:3070:feff:bd6e:6edf:b3ad:783f)
13:29:39 × LearnHaskell26 quits (~LearnHask@88.197.71.220) (Client Quit)
13:29:51 × mange quits (~user@user/mange) (Quit: Zzz...)
13:30:08 LearnHaskell69 joins (~LearnHask@88.197.71.220)
13:32:52 TMA joins (tma@twin.jikos.cz)
13:33:10 × LearnHaskell quits (~LearnHask@88.197.71.220) (Ping timeout: 240 seconds)
13:33:59 × LearnHaskell69 quits (~LearnHask@88.197.71.220) (Client Quit)
13:34:13 LearnHaskell joins (~LearnHask@88.197.71.220)
13:34:25 × acidjnk_new quits (~acidjnk@p200300d6e7283f46bd50ad676bb48b83.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
13:37:43 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
13:38:15 l__k joins (~student@85.172.110.44)
13:39:12 l_k_ joins (~student@217.107.126.203)
13:39:21 × l_k_ quits (~student@217.107.126.203) (Client Quit)
13:41:34 × l_k quits (~student@213.24.133.111) (Ping timeout: 265 seconds)
13:42:02 housemate joins (~housemate@pa49-199-179-125.pa.vic.optusnet.com.au)
13:42:45 × l__k quits (~student@85.172.110.44) (Ping timeout: 246 seconds)
13:52:40 × LearnHaskell quits (~LearnHask@88.197.71.220) (Ping timeout: 240 seconds)
14:17:48 × CiaoSen quits (~Jura@2a05:5800:2e7:b00:ca4b:d6ff:fec1:99da) (Ping timeout: 252 seconds)
14:20:48 acidjnk_new joins (~acidjnk@p200300d6e7283f46bd50ad676bb48b83.dip0.t-ipconnect.de)
14:28:41 × rynite quits (~bwkam@user/rynite) (Quit: WeeChat 4.4.1)
14:57:29 × acidjnk_new quits (~acidjnk@p200300d6e7283f46bd50ad676bb48b83.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
14:59:04 SlackCoder joins (~SlackCode@64-94-63-8.ip.weststar.net.ky)
14:59:41 × ft quits (~ft@p4fc2a354.dip0.t-ipconnect.de) (Quit: leaving)
15:00:21 Sgeo joins (~Sgeo@user/sgeo)
15:06:47 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.4.2)
15:13:27 mari-estel joins (~mari-este@user/mari-estel)
15:15:38 × mari47944 quits (~mari-este@user/mari-estel) (Ping timeout: 252 seconds)
15:20:18 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
15:30:56 tnt2 joins (~Thunderbi@user/tnt1)
15:31:39 × tnt1 quits (~Thunderbi@user/tnt1) (Ping timeout: 245 seconds)
15:31:39 tnt2 is now known as tnt1
15:35:46 × tnt1 quits (~Thunderbi@user/tnt1) (Ping timeout: 244 seconds)
15:36:11 tnt1 joins (~Thunderbi@user/tnt1)
15:38:43 × housemate quits (~housemate@pa49-199-179-125.pa.vic.optusnet.com.au) (Read error: Connection reset by peer)
15:39:56 <sim590> sm: thanks. I'll look into Data-FileEmbed
15:40:09 housemate joins (~housemate@pa49-199-179-125.pa.vic.optusnet.com.au)
15:44:57 halloy1022 joins (~halloy102@2a02:810b:489a:f200:989e:2ff7:7ae0:de5)
15:48:20 ft joins (~ft@p4fc2a354.dip0.t-ipconnect.de)
15:52:10 acidjnk_new joins (~acidjnk@p200300d6e7283f46e96610344c895098.dip0.t-ipconnect.de)
15:55:20 × ash3en quits (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Ping timeout: 272 seconds)
15:59:45 × alecs quits (~alecs@nat16.software.imdea.org) (Ping timeout: 276 seconds)
16:00:13 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
16:01:49 × tnt1 quits (~Thunderbi@user/tnt1) (Ping timeout: 260 seconds)
16:05:01 tnt1 joins (~Thunderbi@user/tnt1)
16:07:24 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
16:24:36 × Digit quits (~user@user/digit) (Remote host closed the connection)
16:25:28 Digit joins (~user@user/digit)
16:26:44 <sim590> sm: I just changed it: https://github.com/sim590/habanga/commit/1e66cb11ee70e990270517661422e72bbc4c92ad. It worked like a charm. I like i!
16:26:47 <sim590> it*
16:27:14 <sim590> It removed alot of code which I didn't need.
16:30:11 weary-traveler joins (~user@user/user363627)
16:31:36 × halloy1022 quits (~halloy102@2a02:810b:489a:f200:989e:2ff7:7ae0:de5) (Ping timeout: 276 seconds)
16:46:16 × ubert quits (~Thunderbi@2a02:8109:ab8a:5a00:84ab:2b5:da25:e47f) (Remote host closed the connection)
16:53:41 × jespada quits (~jespada@2800:a4:161:4200:1503:f643:a41c:4d0c) (Ping timeout: 248 seconds)
16:57:41 jespada joins (~jespada@2800:a4:17b:1400:759f:3d74:e37f:8445)
17:10:01 alecs joins (~alecs@61.pool85-58-154.dynamic.orange.es)
17:11:08 × jespada quits (~jespada@2800:a4:17b:1400:759f:3d74:e37f:8445) (Quit: My Mac has gone to sleep. ZZZzzz…)
17:12:48 mchav joins (~mchav@197.221.254.145)
17:13:56 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
17:14:43 × alecs quits (~alecs@61.pool85-58-154.dynamic.orange.es) (Ping timeout: 265 seconds)
17:16:37 target_i joins (~target_i@user/target-i/x-6023099)
17:16:48 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
17:20:17 × acidjnk_new quits (~acidjnk@p200300d6e7283f46e96610344c895098.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
17:26:32 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
17:29:58 × housemate quits (~housemate@pa49-199-179-125.pa.vic.optusnet.com.au) (Read error: Connection reset by peer)
17:31:43 housemate joins (~housemate@pa49-199-179-125.pa.vic.optusnet.com.au)
17:32:34 × housemate quits (~housemate@pa49-199-179-125.pa.vic.optusnet.com.au) (Read error: Connection reset by peer)
17:32:47 Square joins (~Square@user/square)
17:36:41 housemate joins (~housemate@pa49-199-188-98.pa.vic.optusnet.com.au)
17:36:53 × zmt01 quits (~zmt00@user/zmt00) (Ping timeout: 248 seconds)
17:38:10 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
17:42:06 sprotte24 joins (~sprotte24@p200300d16f053e002de39e6a7dd83ed5.dip0.t-ipconnect.de)
17:44:18 machinedgod joins (~machinedg@d108-173-18-100.abhsia.telus.net)
17:45:09 × mchav quits (~mchav@197.221.254.145) (Quit: Client closed)
17:45:42 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
17:49:54 euphores joins (~SASL_euph@user/euphores)
17:50:46 JuanDaugherty joins (~juan@user/JuanDaugherty)
17:54:15 halloy1022 joins (~halloy102@2a02:810b:489a:f200:989e:2ff7:7ae0:de5)
17:55:02 × Smiles quits (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity)
17:55:12 × housemate quits (~housemate@pa49-199-188-98.pa.vic.optusnet.com.au) (Read error: Connection reset by peer)
17:56:14 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
17:57:22 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
17:57:45 housemate joins (~housemate@pa49-185-71-102.pa.vic.optusnet.com.au)
18:00:01 tzh joins (~tzh@c-76-115-131-146.hsd1.or.comcast.net)
18:01:20 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 264 seconds)
18:02:18 × housemate quits (~housemate@pa49-185-71-102.pa.vic.optusnet.com.au) (Read error: Connection reset by peer)
18:03:45 housemate joins (~housemate@pa49-183-109-231.pa.vic.optusnet.com.au)
18:05:45 × housemate quits (~housemate@pa49-183-109-231.pa.vic.optusnet.com.au) (Read error: Connection reset by peer)
18:09:41 × halloy1022 quits (~halloy102@2a02:810b:489a:f200:989e:2ff7:7ae0:de5) (Remote host closed the connection)
18:11:36 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
18:16:35 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
18:17:26 × cowboy8625 quits (~cowboy@2605-4A80-7405-640-6874-3892-A3C7-18B3-dynamic.midco.net) (Quit: WeeChat 3.5)
18:17:45 housemate joins (~housemate@pa49-183-115-133.pa.vic.optusnet.com.au)
18:28:16 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
18:28:32 __monty__ joins (~toonn@user/toonn)
18:29:49 zmt00 joins (~zmt00@user/zmt00)
18:31:53 pavonia joins (~user@user/siracusa)
18:32:28 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
18:32:35 zmt01 joins (~zmt00@user/zmt00)
18:35:32 swamp_ joins (~zmt00@user/zmt00)
18:35:38 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
18:35:45 × zmt00 quits (~zmt00@user/zmt00) (Ping timeout: 260 seconds)
18:36:24 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 276 seconds)
18:38:09 × zmt01 quits (~zmt00@user/zmt00) (Ping timeout: 244 seconds)
18:38:35 Lord_of_Life_ is now known as Lord_of_Life
18:38:46 × michalz quits (~michalz@185.246.207.217) (Remote host closed the connection)
18:38:56 mceresa_ joins (~mceresa@user/mceresa)
18:39:15 × mceresa quits (~mceresa@user/mceresa) (Read error: Connection reset by peer)
18:39:15 mceresa_ is now known as mceresa
18:39:30 jespada joins (~jespada@2800:a4:17b:1400:759f:3d74:e37f:8445)
18:39:31 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
18:40:26 mchav joins (~mchav@197.221.254.145)
18:41:42 × mceresa quits (~mceresa@user/mceresa) (Read error: Connection reset by peer)
18:41:53 mceresa joins (~mceresa@user/mceresa)
18:43:19 × jespada quits (~jespada@2800:a4:17b:1400:759f:3d74:e37f:8445) (Client Quit)
18:43:38 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
18:43:40 × housemate quits (~housemate@pa49-183-115-133.pa.vic.optusnet.com.au) (Read error: Connection reset by peer)
18:46:29 housemate joins (~housemate@pa49-185-91-130.pa.vic.optusnet.com.au)
18:47:57 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
18:58:51 Smiles joins (uid551636@id-551636.lymington.irccloud.com)
18:59:00 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
19:03:57 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
19:07:22 wootehfoot joins (~wootehfoo@user/wootehfoot)
19:12:35 × housemate quits (~housemate@pa49-185-91-130.pa.vic.optusnet.com.au) (Read error: Connection reset by peer)
19:13:07 × mari-estel quits (~mari-este@user/mari-estel) (Read error: Connection reset by peer)
19:13:12 mari51520 joins (~mari-este@user/mari-estel)
19:14:23 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
19:16:21 philopsos joins (~caecilius@user/philopsos)
19:18:03 × lxsameer quits (~lxsameer@Serene/lxsameer) (Ping timeout: 246 seconds)
19:21:17 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
19:24:06 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
19:28:11 acidjnk_new joins (~acidjnk@p200300d6e7283f46e96610344c895098.dip0.t-ipconnect.de)
19:28:37 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
19:35:43 × weary-traveler quits (~user@user/user363627) (Remote host closed the connection)
19:38:56 Guest70 joins (~Guest70@197.3.121.34)
19:39:27 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
19:39:32 housemate joins (~housemate@pa49-184-16-169.pa.vic.optusnet.com.au)
19:40:21 × housemate quits (~housemate@pa49-184-16-169.pa.vic.optusnet.com.au) (Max SendQ exceeded)
19:40:50 × Guest70 quits (~Guest70@197.3.121.34) (Client Quit)
19:41:09 housemate joins (~housemate@pa49-184-16-169.pa.vic.optusnet.com.au)
19:42:42 × JuanDaugherty quits (~juan@user/JuanDaugherty) (Quit: JuanDaugherty)
19:43:22 housemate_ joins (~housemate@146.70.66.228)
19:43:47 ahisho joins (~ahisoooo@88.90.222.87.dynamic.jazztel.es)
19:43:58 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
19:44:10 × housemate_ quits (~housemate@146.70.66.228) (Max SendQ exceeded)
19:44:58 housemate_ joins (~housemate@146.70.66.228)
19:44:58 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
19:45:19 × housemate quits (~housemate@pa49-184-16-169.pa.vic.optusnet.com.au) (Ping timeout: 244 seconds)
19:46:13 × housemate_ quits (~housemate@146.70.66.228) (Max SendQ exceeded)
19:46:47 housemate_ joins (~housemate@146.70.66.228)
19:48:49 × housemate_ quits (~housemate@146.70.66.228) (Max SendQ exceeded)
19:49:59 housemate_ joins (~housemate@146.70.66.228)
19:51:12 × housemate_ quits (~housemate@146.70.66.228) (Max SendQ exceeded)
19:52:58 housemate_ joins (~housemate@146.70.66.228)
19:54:04 × housemate_ quits (~housemate@146.70.66.228) (Max SendQ exceeded)
19:54:49 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
19:55:29 housemate_ joins (~housemate@146.70.66.228)
19:56:53 × housemate_ quits (~housemate@146.70.66.228) (Max SendQ exceeded)
19:57:27 housemate_ joins (~housemate@146.70.66.228)
19:59:23 × housemate_ quits (~housemate@146.70.66.228) (Max SendQ exceeded)
19:59:32 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
19:59:57 housemate_ joins (~housemate@146.70.66.228)
20:00:02 × caconym quits (~caconym@user/caconym) (Quit: bye)
20:00:40 caconym joins (~caconym@user/caconym)
20:01:35 × housemate_ quits (~housemate@146.70.66.228) (Max SendQ exceeded)
20:02:59 housemate_ joins (~housemate@146.70.66.228)
20:03:04 × housemate_ quits (~housemate@146.70.66.228) (Remote host closed the connection)
20:08:05 housemate joins (~housemate@146.70.66.228)
20:08:48 × housemate quits (~housemate@146.70.66.228) (Max SendQ exceeded)
20:09:32 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
20:09:48 housemate joins (~housemate@146.70.66.228)
20:10:11 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
20:11:18 × housemate quits (~housemate@146.70.66.228) (Max SendQ exceeded)
20:12:02 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
20:13:08 housemate joins (~housemate@146.70.66.228)
20:14:04 × housemate quits (~housemate@146.70.66.228) (Remote host closed the connection)
20:14:34 housemate joins (~housemate@146.70.66.228)
20:14:41 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
20:15:31 × housemate quits (~housemate@146.70.66.228) (Max SendQ exceeded)
20:17:53 housemate joins (~housemate@146.70.66.228)
20:18:59 × housemate quits (~housemate@146.70.66.228) (Max SendQ exceeded)
20:19:33 housemate joins (~housemate@146.70.66.228)
20:20:45 × housemate quits (~housemate@146.70.66.228) (Max SendQ exceeded)
20:22:04 housemate joins (~housemate@146.70.66.228)
20:23:28 × housemate quits (~housemate@146.70.66.228) (Max SendQ exceeded)
20:25:05 housemate joins (~housemate@146.70.66.228)
20:25:33 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
20:26:13 × housemate quits (~housemate@146.70.66.228) (Max SendQ exceeded)
20:27:34 housemate joins (~housemate@146.70.66.228)
20:29:45 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds)
20:30:27 × housemate quits (~housemate@146.70.66.228) (Max SendQ exceeded)
20:30:49 × philopsos quits (~caecilius@user/philopsos) (Ping timeout: 245 seconds)
20:31:03 housemate joins (~housemate@146.70.66.228)
20:32:26 × housemate quits (~housemate@146.70.66.228) (Max SendQ exceeded)
20:33:40 housemate joins (~housemate@146.70.66.228)
20:35:00 × housemate quits (~housemate@146.70.66.228) (Max SendQ exceeded)
20:36:47 housemate joins (~housemate@146.70.66.228)
20:38:01 × housemate quits (~housemate@146.70.66.228) (Max SendQ exceeded)
20:39:44 housemate joins (~housemate@146.70.66.228)
20:40:33 × housemate quits (~housemate@146.70.66.228) (Remote host closed the connection)
20:40:58 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
20:42:39 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
20:44:27 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
20:45:33 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
20:56:19 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
20:59:08 supercode joins (~supercode@user/supercode)
21:01:32 × kimiamania quits (~65804703@user/kimiamania) (Quit: PegeLinux)
21:01:52 × lisbeths quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
21:01:55 kimiamania joins (~65804703@user/kimiamania)
21:03:13 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
21:12:22 jinsun joins (~jinsun@user/jinsun)
21:14:23 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
21:18:43 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds)
21:22:31 housemate joins (~housemate@2a04:9dc0:0:162::5d91:d7ed)
21:23:19 × housemate quits (~housemate@2a04:9dc0:0:162::5d91:d7ed) (Max SendQ exceeded)
21:23:39 × acidjnk_new quits (~acidjnk@p200300d6e7283f46e96610344c895098.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
21:24:23 alecs joins (~alecs@61.pool85-58-154.dynamic.orange.es)
21:24:29 housemate joins (~housemate@146.70.66.228)
21:25:29 × housemate quits (~housemate@146.70.66.228) (Max SendQ exceeded)
21:26:15 housemate joins (~housemate@146.70.66.228)
21:26:29 × housemate quits (~housemate@146.70.66.228) (Remote host closed the connection)
21:28:11 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
21:29:44 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
21:31:48 housemate joins (~housemate@146.70.66.228)
21:32:04 × prasad quits (~Thunderbi@2601:243:c001:3f07::e5) (Read error: Connection reset by peer)
21:32:09 acidjnk joins (~acidjnk@p200300d6e7283f46ed3dd32d3de732cf.dip0.t-ipconnect.de)
21:32:15 prasad joins (~Thunderbi@c-73-75-25-251.hsd1.in.comcast.net)
21:32:37 × housemate quits (~housemate@146.70.66.228) (Max SendQ exceeded)
21:34:16 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
21:34:24 × alecs quits (~alecs@61.pool85-58-154.dynamic.orange.es) (Ping timeout: 252 seconds)
21:42:29 × ahisho quits (~ahisoooo@88.90.222.87.dynamic.jazztel.es) (Ping timeout: 265 seconds)
21:43:40 housemate joins (~housemate@146.70.66.228)
21:43:47 × housemate quits (~housemate@146.70.66.228) (Max SendQ exceeded)
21:44:26 housemate joins (~housemate@146.70.66.228)
21:44:37 × housemate quits (~housemate@146.70.66.228) (Max SendQ exceeded)
21:44:53 × SlackCoder quits (~SlackCode@64-94-63-8.ip.weststar.net.ky) (Quit: Leaving)
21:45:08 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
21:45:13 housemate joins (~housemate@146.70.66.228)
21:45:25 × housemate quits (~housemate@146.70.66.228) (Max SendQ exceeded)
21:46:06 housemate joins (~housemate@146.70.66.228)
21:46:17 × housemate quits (~housemate@146.70.66.228) (Max SendQ exceeded)
21:47:47 × Smiles quits (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity)
21:49:55 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
21:53:46 euouae joins (~euouae@user/euouae)
21:55:01 <euouae> Hello, I've never done this before & I'm wondering if anyone has advice: If want to try some scientific computations of very specific number-crunching stuff I have in mind, how can I pay a reasonable amount to get access to some computing power? In particular haskell-friendly becuase I want to write it in haskell
21:56:19 <mari51520> huh i would advice starting from your personal machine
21:56:56 <euouae> I mean I've done that much
21:57:24 <euouae> I know that on 6 cores my operation for (say n=6) takes around an hour? I want to run it for say 1000 data points
21:57:47 <euouae> it would be nice to go higher too, I haven't yet done any calculations that tell me roughly what n=7 or general 'n' look like, n=8 might not be feasible e.g.
21:59:18 <euouae> Specifically those were the numbers with C++, fixed width integers, and openmp. With MPI in place and bignum stuff, it'll probably take longer
22:00:06 <mari51520> cool. Well i do not know many providers, everyone obviously is craze about amazon services while i have heard good reports about haskell&digitalocean in the past. I am too curious not to ask though: which lib are you relying on?
22:00:23 <haskellbridge> <sm> sim590: 👍️
22:01:03 <haskellbridge> <magic_rb> mari51520 i dont know what you mean by compute friendly hardware. Hardware is hardware, but for compute id look at hetzner dedicated servers.
22:01:18 <haskellbridge> <magic_rb> Or equinix
22:01:28 <mari51520> huh for euouae prob
22:01:35 <euouae> magic_rb: some supercomputers don't run ghc ... it depends on their setups
22:01:50 <euouae> and it might not be supercomputers I need, maybe just amazon's cloud is fine
22:02:00 <euouae> but it depends on the level of control, that's what I mean by friendly
22:02:31 <haskellbridge> <magic_rb> On amazon cloud if you get a dedicated machine. You get a remote kvm and you can do whatever. Install freebsd if you want
22:02:40 <euouae> mari51520: I don't depend on anything, it's all my own code. In C++ it was with OpenMP and libgmp/libmpfr.
22:02:55 <euouae> magic_rb: a single dedicated machine though?
22:03:02 <mari51520> why do you need haskell-friendly then?
22:03:14 <haskellbridge> <magic_rb> But id recommend equinix or hetznee, theyre cheaper and more simple. Also youre not helping jeff bazos
22:03:18 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
22:03:24 <euouae> openMP is for single-host. if you want multi-host you need MPI. I don't have that code
22:03:29 <euouae> I'm expecting Haskell to simplify the MPI integration
22:03:43 <euouae> also, for fun
22:04:24 <mchav> Haskell is really heavy-handed for this sort of thing. It'll be costly just to have Haskell running on each instance.
22:04:32 <mchav> *GHC
22:04:37 <mari51520> well but it makes sense to have a server for crunching and another for haskell
22:04:49 <euouae> mchav, OK but what do you mean costly? If my computations need 1+hr each?
22:05:00 <euouae> does the jumpstart matter?
22:05:31 <mchav> Memory and as result money, I guess. Have you profiled a sample implementation on your computer?
22:06:01 <euouae> Ah -- memory-wise. hm... OK fine. Maybe I'll do it in C++.
22:07:35 <mari51520> the interface will not need much logic anyways
22:08:20 <mchav> Well I would still profile the run. I've been working on a dataframe library and I find I REALLY have to be careful to avoid copies. Intuitive/readable Haskell ends up being a memory hog. Or maybe I'm not that good at writing it. I don't know how this changes when you use something that FFIs to C and how GHC will then deal with pinned memory etc.
22:09:13 <euouae> Yeah fair enough. I'm fairly good at reasoning with C++ so I don't need to involve Haskell to end up having to write expert-level Haskell for it
22:09:54 <euouae> I was reading this paper <https://www.cs.ox.ac.uk/people/jeremy.gibbons/publications/rationals.pdf> which I need in some small part in my code, and it sort of made me think about doing it all in Haskell for the fun of it
22:10:21 <euouae> because the paper has Haskell pseudo-code to explain its concepts... call me easily influenceable
22:10:46 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
22:11:23 <mchav> Well if you try it and get the performance under control it'll make for a lot of learning. I would still say do a prototype on your machine and profile it.
22:11:34 <mchav> That'll give you a sense of how the approach will scale.
22:11:44 <mari51520> do you need that to be in the middle of the crunching euouae?
22:12:29 <mari51520> that looks like it could be just another input to it
22:14:09 <euouae> mari51520: yes that's true. it's just an enumeration of the rationals, it doesn't need to be in the middle of it
22:14:36 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
22:14:44 <euouae> & it won't be -- I still wanted to know (perhaps curiosity) how to produce the rationals without duplicates
22:14:49 ahisho joins (~ahisoooo@88.90.222.87.dynamic.jazztel.es)
22:15:45 housemate joins (~housemate@2a04:9dc0:0:162::5d91:d7ed)
22:16:50 × housemate quits (~housemate@2a04:9dc0:0:162::5d91:d7ed) (Max SendQ exceeded)
22:17:46 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
22:17:48 housemate joins (~housemate@2a04:9dc0:0:162::5d91:d7ed)
22:18:23 × housemate quits (~housemate@2a04:9dc0:0:162::5d91:d7ed) (Remote host closed the connection)
22:18:58 housemate joins (~housemate@2a04:9dc0:0:162::5d91:d7ed)
22:19:53 × housemate quits (~housemate@2a04:9dc0:0:162::5d91:d7ed) (Remote host closed the connection)
22:20:30 housemate joins (~housemate@2a04:9dc0:0:162::5d91:d7ed)
22:21:24 × housemate quits (~housemate@2a04:9dc0:0:162::5d91:d7ed) (Remote host closed the connection)
22:22:34 housemate joins (~housemate@2a04:9dc0:0:162::5d91:d7ed)
22:22:53 × housemate quits (~housemate@2a04:9dc0:0:162::5d91:d7ed) (Remote host closed the connection)
22:25:39 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
22:27:14 peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com)
22:28:34 Tuplanolla joins (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi)
22:28:49 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
22:33:26 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
22:40:45 × mari51520 quits (~mari-este@user/mari-estel) (Remote host closed the connection)
22:41:11 JuanDaugherty joins (~juan@user/JuanDaugherty)
22:44:11 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
22:46:29 × target_i quits (~target_i@user/target-i/x-6023099) (Quit: leaving)
22:49:11 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
22:51:23 × peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
22:51:29 × mchav quits (~mchav@197.221.254.145) (Quit: Client closed)
22:53:01 <c_wraith> euouae: did you ever get an answer to that? It turns out there are very sneaky ways.
22:59:33 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
23:03:52 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
23:05:36 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Ping timeout: 264 seconds)
23:06:14 saulosilva joins (~saulosilv@181.216.220.21)
23:06:30 alecs joins (~alecs@61.pool85-58-154.dynamic.orange.es)
23:07:12 <euouae> c_wraith: answer to what?
23:08:00 <c_wraith> how to enumerate rationals efficiently
23:08:14 ChaiTRex joins (~ChaiTRex@user/chaitrex)
23:11:25 <euouae> c_wraith: well a straightforward way is a simple generator formula that I extracted from that paper
23:11:44 <euouae> I'm not going for 100% efficiency in terms of flops and all that -- just an O(1) memory/time generating formula
23:13:02 <euouae> c_wraith: <https://termbin.com/barw> here's my Haskell code of that paper. `rats7` is the fast implementation and it only relies on `inverse` and `next`.
23:14:55 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
23:16:51 <euouae> not "fast". I should say "cheap" like O(1) memory/time
23:18:24 <c_wraith> ... to be clear, that's not O(1), because Rational isn't constant-space or constant-time
23:19:01 <c_wraith> But arbitrary-precision prevents those in general. It's not an issue with Rational.
23:19:38 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
23:20:23 <euouae> yes
23:20:56 avdb13 joins (~avdb13@2001-14ba-a0a9-f200--18c.rev.dnainternet.fi)
23:21:25 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
23:22:32 × alecs quits (~alecs@61.pool85-58-154.dynamic.orange.es) (Ping timeout: 265 seconds)
23:30:18 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
23:32:48 × saulosilva quits (~saulosilv@181.216.220.21) (Quit: Client closed)
23:34:41 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds)
23:37:59 × TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Remote host closed the connection)
23:38:57 TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker)
23:42:40 × euouae quits (~euouae@user/euouae) (Ping timeout: 252 seconds)
23:45:40 merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl)
23:46:27 × mreh quits (~matthew@host86-146-25-121.range86-146.btcentralplus.com) (Ping timeout: 276 seconds)
23:52:59 × merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
23:54:41 SlackCoder joins (~SlackCode@64-94-63-8.ip.weststar.net.ky)
23:59:10 × ahisho quits (~ahisoooo@88.90.222.87.dynamic.jazztel.es) (Quit: Leaving)

All times are in UTC on 2025-01-10.