Logs: freenode/#haskell
| 2021-05-04 11:51:37 | <maerwald> | merijn: no no... I'm not saying we can reasonably revert revisions |
| 2021-05-04 11:51:43 | <maerwald> | I'm saying they were a mistake though |
| 2021-05-04 11:51:56 | <merijn> | maerwald: The whole reason we need revisions is because people keep refusing to to add upperbounds at all, let alone proper PVP ones |
| 2021-05-04 11:52:12 | <merijn> | maerwald: And your solution is "it's not a problem if you have proper PVP bounds"? |
| 2021-05-04 11:52:30 | <merijn> | If we had that, we wouldn't need revisions in the first place |
| 2021-05-04 11:52:50 | → | supercoven_ joins (~Supercove@dsl-hkibng31-58c384-213.dhcp.inet.fi) |
| 2021-05-04 11:52:50 | × | supercoven_ quits (~Supercove@dsl-hkibng31-58c384-213.dhcp.inet.fi) (Max SendQ exceeded) |
| 2021-05-04 11:53:05 | → | supercoven_ joins (~Supercove@dsl-hkibng31-58c384-213.dhcp.inet.fi) |
| 2021-05-04 11:53:18 | <maerwald> | in-place updates have been frowned upon by anyone doing packaging in the last 30 years... we've successfully used revision bumps (as part of the actual package version) to fix metadata updates |
| 2021-05-04 11:53:29 | → | __minoru__shirae joins (~shiraeesh@46.34.207.226) |
| 2021-05-04 11:53:38 | <maerwald> | I can't see why haskell would be special here |
| 2021-05-04 11:53:52 | <merijn> | maerwald: The manpower to bump everything does not exist |
| 2021-05-04 11:54:10 | <joel135> | What's PVP? |
| 2021-05-04 11:54:37 | <hpc> | package versioning policy |
| 2021-05-04 11:54:42 | <joel135> | Ok |
| 2021-05-04 11:54:52 | <hpc> | https://pvp.haskell.org/ |
| 2021-05-04 11:55:45 | <cub3s_> | thanks to you today i realized i was barking up a wrong nix tree. turns out i don't need nix. i don't need stack either. all i need: cabal-install and ghc of my choice. |
| 2021-05-04 11:55:46 | × | supercoven quits (~Supercove@dsl-hkibng31-58c384-213.dhcp.inet.fi) (Ping timeout: 240 seconds) |
| 2021-05-04 11:55:48 | <cub3s_> | thanks a lot |
| 2021-05-04 11:56:33 | <cub3s_> | btw i sadly noticed cryptonite doesn't follow pvp |
| 2021-05-04 11:56:36 | <cub3s_> | causing some pain |
| 2021-05-04 11:57:26 | × | esp32_prog quits (~esp32_pro@89.45.7.186) (Ping timeout: 240 seconds) |
| 2021-05-04 11:57:55 | <maerwald> | merijn: you don't necessarily need mass updates... e.g. hackage could reject packages that pin micro versions |
| 2021-05-04 11:59:52 | <yushyin> | for reference in cargo/crates.io you can mark a published package as 'yunk', thus it is not considered in future build plans. No revisions and it seems to work for them. |
| 2021-05-04 12:00:15 | → | drbean_ joins (~drbean@TC210-63-209-53.static.apol.com.tw) |
| 2021-05-04 12:00:27 | <maerwald> | and then, as I've explained many times (again, this is what distros do since decades)... you could have CI that tests reverse dependencies (just the solving) when you release a new major API version |
| 2021-05-04 12:01:09 | <maerwald> | you won't have 100% coverage, but well |
| 2021-05-04 12:01:20 | <maerwald> | (due to flags/arches/...) |
| 2021-05-04 12:01:43 | <merijn> | yushyin: revision are just "selective yunking" :p |
| 2021-05-04 12:02:35 | <maerwald> | yushyin: yes, that's more reasonable |
| 2021-05-04 12:02:38 | <merijn> | yushyin: I mean "foo-1.0.0" is fine in principle, just not with "bar-2.0" so why invalidate it entirely, if you can just invalidate it in combination with bar-2.0 |
| 2021-05-04 12:03:33 | <maerwald> | yushyin: it also maintains the invariant that a tarball is a self-contained entity and a version fully describes the package |
| 2021-05-04 12:03:49 | <maerwald> | revisions are just a dirty hack |
| 2021-05-04 12:04:06 | <maerwald> | but then again, semver has actual revisions, PVP doesn't |
| 2021-05-04 12:04:31 | → | royal_screwup213 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) |
| 2021-05-04 12:07:02 | → | ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta) |
| 2021-05-04 12:09:12 | × | royal_screwup213 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds) |
| 2021-05-04 12:09:27 | → | Deide joins (~Deide@217.155.19.23) |
| 2021-05-04 12:10:53 | → | urodna joins (~urodna@unaffiliated/urodna) |
| 2021-05-04 12:11:58 | <maerwald> | now the only way to "pin" a revision is to pin the revision of ALL packages (hackage index) |
| 2021-05-04 12:12:01 | × | ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Ping timeout: 252 seconds) |
| 2021-05-04 12:12:07 | → | raym joins (~ray@45.64.220.116) |
| 2021-05-04 12:12:21 | <maerwald> | stack has a way to pin a revision, but it's really against PVP |
| 2021-05-04 12:12:40 | <maerwald> | so not sure what's good about this situation |
| 2021-05-04 12:12:53 | → | st8less joins (~st8less@2603:a060:11fd:0:ca9e:ebe6:5380:afd8) |
| 2021-05-04 12:14:16 | × | olligobber quits (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Ping timeout: 268 seconds) |
| 2021-05-04 12:16:07 | → | todda7 joins (~torstein@2a02:587:3724:f30b:d88b:b67e:116b:c170) |
| 2021-05-04 12:16:14 | × | star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 260 seconds) |
| 2021-05-04 12:16:22 | × | cub3s_ quits (bifunc2@gateway/vpn/protonvpn/bifunc2) (Quit: Leaving) |
| 2021-05-04 12:17:11 | × | cheater quits (~user@unaffiliated/cheater) (Ping timeout: 240 seconds) |
| 2021-05-04 12:17:26 | <tdammers> | at least pvp has a somewhat clear definition of what those numbers mean |
| 2021-05-04 12:17:32 | → | bis0lini joins (~bis0lini@87.254.161.69) |
| 2021-05-04 12:17:42 | → | thblt joins (~thblt@unaffiliated/thblt) |
| 2021-05-04 12:19:20 | <maerwald> | yeah, haskell specific meaning |
| 2021-05-04 12:19:50 | <tdammers> | of course. that's a big downside, it only really makes sense for languages with the same import/export/module semantics as Haskell |
| 2021-05-04 12:19:53 | <maerwald> | I haven't made up my mind whether that's a doog thing |
| 2021-05-04 12:20:01 | → | cheater joins (~user@unaffiliated/cheater) |
| 2021-05-04 12:20:02 | <maerwald> | *good |
| 2021-05-04 12:20:12 | <tdammers> | IMO the biggest issue with pvp is that it's still down to manual diligence |
| 2021-05-04 12:20:27 | <merijn> | Pretty sure everyone wants a machine based PVP |
| 2021-05-04 12:20:33 | <maerwald> | there seems to be a correlation between inhalation of soldering flux and my grammar... |
| 2021-05-04 12:20:35 | <merijn> | but making that is...non-trivial |
| 2021-05-04 12:20:44 | <tdammers> | merijn: indeed. |
| 2021-05-04 12:20:50 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 2021-05-04 12:20:52 | <merijn> | Entirely unrelatedly |
| 2021-05-04 12:21:03 | <yushyin> | btw. I also think it's just more common in cargo to use the semver operator '^x.y.z' (like cabals '>= ...') but in cargo the ^ operator is the default. if you specify = "x.y.y" it will be interpreted as "^x.y.z" |
| 2021-05-04 12:21:15 | <merijn> | Do any of you guys know if there's a convenient standard interface for doing ARP lookups? |
| 2021-05-04 12:21:25 | <maerwald> | yushyin: yeah, that's a preety nice hack imo |
| 2021-05-04 12:22:09 | <merijn> | Before I go through the insanity of writing my own ARP requests using raw sockets... >.> |
| 2021-05-04 12:22:14 | <tdammers> | I even suspect that a "machine based pvp" is practically impossible in Haskell, given the existence of TH and CPP and such |
| 2021-05-04 12:22:32 | → | star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
| 2021-05-04 12:22:33 | <merijn> | tdammers: CPP needs to die anyway |
| 2021-05-04 12:22:52 | <tdammers> | merijn: yes, but not until the remaining use cases have been dealt with |
| 2021-05-04 12:22:57 | <merijn> | It's completely untenable |
| 2021-05-04 12:23:13 | <merijn> | tdammers: Oh, we can probably keep most of the current functionality and semantics |
| 2021-05-04 12:23:23 | <maerwald> | merijn: apple thought so too with swift (no CPP)... and I can tell you, you won't like it |
| 2021-05-04 12:23:24 | <tdammers> | I'd even argue that reusing CPP as a source preprocessor language for Haskell was a mistake |
| 2021-05-04 12:23:27 | <merijn> | We should just built it into GHC and not pretend it's CPP |
| 2021-05-04 12:23:36 | <merijn> | tdammers: We don't use it |
| 2021-05-04 12:23:40 | <merijn> | That's the problem |
| 2021-05-04 12:24:01 | <tdammers> | I'm not talking about CPP the program, I'm talking about using CPP syntax |
| 2021-05-04 12:24:32 | <merijn> | It's on my list of pet problems I will work on whenever someone wants to pay me to work on GHC or whenever I have time somewhere in the next decade :p |
| 2021-05-04 12:24:50 | <yushyin> | like you said with revisions, it is sometimes a 'necessary evil' :P |
| 2021-05-04 12:24:55 | <merijn> | yushyin: No |
| 2021-05-04 12:25:11 | <merijn> | yushyin: CPP is different in that we are setting ourselves up for disaster |
| 2021-05-04 12:25:13 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds) |
| 2021-05-04 12:25:19 | <merijn> | There is no sane way to make CPP work with Haskell |
| 2021-05-04 12:25:27 | × | Zao_ quits (~Zao_@185.163.110.100) (Remote host closed the connection) |
| 2021-05-04 12:25:35 | <merijn> | Enabling CPP *will* make whole bunches of valid Haskell code fail to compile |
| 2021-05-04 12:25:48 | <merijn> | The CPP tokenization rules are fundamentally incompatible with Haskell |
| 2021-05-04 12:25:56 | → | nineonine joins (~nineonine@2604:3d08:7783:f200:10b9:8c10:5b66:dc51) |
| 2021-05-04 12:25:57 | <maerwald> | the most annoying thing about CPP is that it breaks so many tools |
| 2021-05-04 12:26:03 | <tdammers> | which is exactly why I'm saying that using CPP syntax for preprocessing Haskell code was not the right choice |
| 2021-05-04 12:26:04 | <merijn> | We already need use crazy legacy/-traditional switches to make GCC/clang work |
| 2021-05-04 12:26:29 | <maerwald> | find me a source code prettifier that can handle CPP (correctly) :p |
| 2021-05-04 12:26:39 | <merijn> | tdammers: CPP with Haskell specific tokenisation would be fine, and probably function unchanged for 98% of Hackage uses |
| 2021-05-04 12:26:47 | <tdammers> | on a completely unrelated side note, the semver spec is full of condescending bullshit |
| 2021-05-04 12:27:17 | <merijn> | Versioning is hell, but that's a boring topic. Let's get back to my question: How do I do ARP lookups? >.> |
| 2021-05-04 12:27:31 | <maerwald> | perl did some funny stuff with versioning |
| 2021-05-04 12:28:06 | <yushyin> | please don't start with that mess :D |
All times are in UTC.