Logs: liberachat/#haskell
| 2021-08-26 08:36:31 | <sm> | please don't discourage folks from using package.yaml if they want. It can be helpful, and there's no conflict with cabal users |
| 2021-08-26 08:36:35 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 2021-08-26 08:36:51 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:c68:9e4d:912c:4792) |
| 2021-08-26 08:37:01 | × | pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Client Quit) |
| 2021-08-26 08:37:26 | ← | jakalx parts (~jakalx@base.jakalx.net) (Error from remote client) |
| 2021-08-26 08:37:27 | <merijn> | "It can be helpful" <- agree to disagree :p |
| 2021-08-26 08:39:04 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 2021-08-26 08:39:22 | <sm> | sm: it lets you generate cabal files from a simpler and less redundant format, saving some work and for certain projects, removing a big source of errors (forgetting to mirror changes in all components, forgetting to declare new files, etc.) |
| 2021-08-26 08:40:19 | <sm> | and if you want to collaborate with non-stack users you should also commit the cabal file, obviously |
| 2021-08-26 08:40:35 | × | lordgrenville quits (~josh@188.120.142.132) (Quit: WeeChat 3.2) |
| 2021-08-26 08:40:46 | <sclv> | the format is no longer less redundant |
| 2021-08-26 08:40:53 | → | josh joins (~lordgrenv@188.120.142.132) |
| 2021-08-26 08:40:55 | <sclv> | cabal also has common stanzas |
| 2021-08-26 08:41:10 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:c68:9e4d:912c:4792) (Ping timeout: 240 seconds) |
| 2021-08-26 08:41:16 | josh | is now known as Guest9529 |
| 2021-08-26 08:41:34 | × | Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 250 seconds) |
| 2021-08-26 08:41:42 | <sm> | sm: yes, that's true nowadays, if you can require your builders to have a new-enough cabal-install |
| 2021-08-26 08:41:56 | <sm> | sclv didn't we have this chat a few days ago :) |
| 2021-08-26 08:42:39 | <sclv> | yes thats why I’m reminding you, you need to update your jingle :-) |
| 2021-08-26 08:43:49 | <sm> | sclv, I would say a less redundant format is still fair |
| 2021-08-26 08:44:21 | <sm> | to yaml fans at least. They can reuse what they know. |
| 2021-08-26 08:44:21 | <sclv> | ok why |
| 2021-08-26 08:44:55 | <sclv> | thats not less redundant. thats just different. and “more familiar to yaml users” |
| 2021-08-26 08:45:34 | × | burnsidesLlama quits (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Remote host closed the connection) |
| 2021-08-26 08:45:45 | <sm> | those folks don't have to learn the special .cabal format, so for them it's "redundant". I'm not calling it that, just defending my sincere attempt to summarise, which you call a jingle :) |
| 2021-08-26 08:46:01 | → | burnsidesLlama joins (~burnsides@dhcp168-011.wadham.ox.ac.uk) |
| 2021-08-26 08:46:49 | <maerwald[m]> | We may soon have cabal as toml format |
| 2021-08-26 08:46:58 | <Axman6> | :o |
| 2021-08-26 08:46:59 | <maerwald[m]> | Then we don't need these discussions anymore |
| 2021-08-26 08:47:10 | <Las[m]> | link? |
| 2021-08-26 08:47:38 | <sm> | is this the build-hpack-into-cabal idea ? |
| 2021-08-26 08:47:42 | → | dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net) |
| 2021-08-26 08:47:53 | <maerwald[m]> | https://github.com/haskell/cabal/issues/7548 |
| 2021-08-26 08:47:57 | <sm> | ..but better, so we don't have to admit we did that.. ? :) |
| 2021-08-26 08:48:08 | <sclv> | redundant used to mean it literally reduced redundancy. it doesn’t anymore. i think using that word is now more confusing than not for what you’re describing |
| 2021-08-26 08:48:11 | <maerwald[m]> | Hpack is irrelevant |
| 2021-08-26 08:48:26 | <maerwald[m]> | Redundant, so to speak |
| 2021-08-26 08:49:30 | <merijn> | sm: Hard disagree that "yaml" is simpler. Especially since it's an "undocumented, incomplete, partial schema that doesn't support all cabal features" |
| 2021-08-26 08:49:55 | <sm> | sclv: ok. I see your point, it's hard to get everything across in an IRC conversation. I acknowledged that you rightly point out cabal has a similar feature now, just not quite so reliably available (user must have cabal-install >=X) |
| 2021-08-26 08:50:17 | <sm> | I'm no yaml defender, I'll exit this topic now |
| 2021-08-26 08:50:22 | × | burnsidesLlama quits (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Ping timeout: 252 seconds) |
| 2021-08-26 08:51:01 | <maerwald[m]> | Tbf, anything is better than a fully custom format |
| 2021-08-26 08:51:35 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 2021-08-26 08:51:37 | → | burnsidesLlama joins (~burnsides@dhcp168-011.wadham.ox.ac.uk) |
| 2021-08-26 08:51:46 | <maerwald[m]> | E.g.: parsing stack resolvers just requires you to depend on a yaml lib |
| 2021-08-26 08:51:52 | <merijn> | sm: FWIW, common stanzas were added in 2.2, which means it's available on any machine that has a cabal-install less than 4 years old |
| 2021-08-26 08:51:55 | <maerwald[m]> | Parsing cabal stuff, good luck |
| 2021-08-26 08:52:08 | <merijn> | maerwald[m]: That's ingenous |
| 2021-08-26 08:52:28 | <merijn> | maerwald[m]: It requires you depend on a yaml lib *and* a custom rolled parser on top of that |
| 2021-08-26 08:52:41 | <merijn> | since yaml just gives you dictionaries without any schema |
| 2021-08-26 08:52:43 | <tdammers> | sm: that's not the commonly understood meaning of "redundant". "Redundant" here means that the same information is replicated multiple times in the configuration - whether you base a configuration file format on YAML or make it custom has nothing to do with that |
| 2021-08-26 08:52:49 | <maerwald[m]> | Which is dead simple |
| 2021-08-26 08:53:15 | <merijn> | maerwald[m]: Only if the input schema is trivial |
| 2021-08-26 08:53:34 | <tdammers> | I do think that making cabal a custom format was a mistake. But I also think YAML isn't the best choice. |
| 2021-08-26 08:53:52 | <merijn> | I think YAML is one of the worst possible choices :p |
| 2021-08-26 08:54:01 | <merijn> | Clearly we should just use Dhall :p |
| 2021-08-26 08:54:08 | <tdammers> | from an ergonomics perspective, YAML is better than XML |
| 2021-08-26 08:54:15 | <Hecate> | tdammers: you'll be happy to know that there is effort to go towards a better format, like TOML |
| 2021-08-26 08:54:19 | <sclv> | cabal format predates yaml and toml afaik, and also predates widespread json |
| 2021-08-26 08:54:45 | <Hecate> | sclv: yeah I think JSON only widely appeared with more JS in the browser |
| 2021-08-26 08:54:46 | <sclv> | at the time, the “standard” would have been, at best, xml |
| 2021-08-26 08:54:52 | <Hecate> | haha yeah |
| 2021-08-26 08:54:55 | <tdammers> | JSON is even worse than YAML in many ways. TOML seems like a viable candidate. |
| 2021-08-26 08:54:58 | × | burnsidesLlama quits (~burnsides@dhcp168-011.wadham.ox.ac.uk) (Read error: Connection reset by peer) |
| 2021-08-26 08:55:06 | → | burnsidesLlama joins (~burnsides@dhcp168-011.wadham.ox.ac.uk) |
| 2021-08-26 08:55:08 | <Hecate> | tdammers: TOML is definitely viewed as a better candidate |
| 2021-08-26 08:55:20 | <sclv> | be very thankful that a custom format was picked over xml, lol! |
| 2021-08-26 08:55:27 | Hecate | is thankful |
| 2021-08-26 08:55:56 | <merijn> | Hecate: Not convinced TOML atm, but I'm not too familiar with the details |
| 2021-08-26 08:55:57 | <Hecate> | Now it is time we give the Cabal format a honorable discharge, for services rendered to the Nation |
| 2021-08-26 08:56:03 | <tdammers> | OTOH, an XML-based format with a well-defined schema would make it much easier to migrate to a different representation |
| 2021-08-26 08:56:07 | → | banacorn joins (~banacorn@2001-b011-0003-1131-c802-b4b6-b5ea-5124.dynamic-ip6.hinet.net) |
| 2021-08-26 08:56:10 | <Hecate> | merijn: the details of your doubt or of the language? |
| 2021-08-26 08:56:20 | <merijn> | Hecate: of TOML |
| 2021-08-26 08:56:29 | <[exa]> | oh please guys don't XML :D |
| 2021-08-26 08:56:46 | <Hecate> | [exa]: nobody is thinking of this lol |
| 2021-08-26 08:56:50 | <merijn> | XML would incur the Wrath of Wadler :p |
| 2021-08-26 08:57:08 | <tdammers> | don't worry, nobody in their right minds would consider XML as a human-editable configuration format in 2021 |
| 2021-08-26 08:57:16 | tdammers | sobs |
| 2021-08-26 08:57:19 | <Hecate> | merijn: the Spec is quite readable! :) |
| 2021-08-26 08:57:29 | <merijn> | @quote Wadler XML |
| 2021-08-26 08:57:29 | <lambdabot> | Wadler says: So, the essence of XML is this: the problem it solves is not hard, and it does not solve the problem well. |
| 2021-08-26 08:57:31 | <sclv> | “an xml format with a well-defined schema” is almost as good a punchline as “the aristocrats!” |
| 2021-08-26 08:57:34 | <maerwald[m]> | Why have a file format at all? Just move a sqlite file around |
| 2021-08-26 08:57:40 | <merijn> | maerwald[m]: Yes! |
| 2021-08-26 08:57:45 | <merijn> | maerwald[m]: Did you hear the amazing news? |
| 2021-08-26 08:57:45 | <maerwald[m]> | Lol |
| 2021-08-26 08:57:51 | <[exa]> | good I'm happy now |
| 2021-08-26 08:58:09 | <merijn> | maerwald[m]: Next release of SQLite will have (opt-in) strict typing/schemas! |
| 2021-08-26 08:58:18 | <tdammers> | we could also just settle on the worst possible candidate: Python pickles |
| 2021-08-26 08:58:48 | <merijn> | SQLite now officially "best software" in existence :> |
| 2021-08-26 08:58:52 | <[exa]> | tdammers: you need to add more visual basic to get the actual worst candidate |
| 2021-08-26 08:59:11 | <sclv> | i suggest using the sbt format (scala source coupled to a specific version of scala) |
| 2021-08-26 08:59:11 | <tdammers> | [exa]: easy, just put an implementation of VB in your pickles |
| 2021-08-26 08:59:24 | <[exa]> | oh dumb me, that's true |
| 2021-08-26 08:59:28 | <tdammers> | [exa]: because you can do that. pickles can serialize arbitrary python objects, code and all |
| 2021-08-26 08:59:40 | <[exa]> | wonderful |
| 2021-08-26 08:59:43 | <merijn> | maerwald[m]: https://www.sqlite.org/draft/stricttables.html |
| 2021-08-26 08:59:44 | <tdammers> | it's "hilarious" |
| 2021-08-26 08:59:50 | <sclv> | oh wait its worse. Coupled to a pair of a scala version and an sbt lib version |
All times are in UTC.