Newest at the top
| 2026-04-08 16:24:56 +0000 | <gentauro> | I'm just not aware if this only work for "very simple" logic |
| 2026-04-08 16:23:53 +0000 | <gentauro> | c_wraith: FP app -> de-Brujin index -> SKI -> normalize (optimal reduction/transformation): https://tromp.github.io/cl/cl.html |
| 2026-04-08 16:22:50 +0000 | acidjnk_new3 | (~acidjnk@p200300d6e700e5545ef09a087c16a42c.dip0.t-ipconnect.de) |
| 2026-04-08 16:22:19 +0000 | gmg | (~user@user/gehmehgeh) gehmehgeh |
| 2026-04-08 16:20:14 +0000 | gmg | (~user@user/gehmehgeh) (Ping timeout: 265 seconds) |
| 2026-04-08 16:18:09 +0000 | danza | (~danza@user/danza) (Remote host closed the connection) |
| 2026-04-08 16:17:30 +0000 | <c_wraith> | (some things you can canonicalize away, like fully saturated prefix vs infix application. But other things aren't so easy.) |
| 2026-04-08 16:16:18 +0000 | <c_wraith> | and even a small set of simple transformations results in a massive potential combinatoric explosion |
| 2026-04-08 16:15:40 +0000 | <c_wraith> | yes |
| 2026-04-08 16:14:33 +0000 | <raincomplex> | equivalence of two programs is undecidable in general, right |
| 2026-04-08 16:12:19 +0000 | arandombit | (~arandombi@user/arandombit) arandombit |
| 2026-04-08 16:11:43 +0000 | gentauro | I'm guessing they have someking of "common ground" (for the sake of the example https://en.wikipedia.org/wiki/De_Bruijn_index) and that's how they can see if two snippets are the same |
| 2026-04-08 16:11:40 +0000 | <danza> | well that's what c_wraith has been chatting about, content-addressing |
| 2026-04-08 16:10:43 +0000 | <gentauro> | c_wraith: and danza I recall from a talk (example). If somebody defineds additions as `sum x y = x + y` and another person does it as `add a b = (+) a b`, then they have the same semantic versioning and would result in the same number (hash) |
| 2026-04-08 16:10:33 +0000 | <c_wraith> | I really think gofmt is a better solution to the same problem. And I really don't like gofmt. |
| 2026-04-08 16:09:07 +0000 | <c_wraith> | *that doesn't |
| 2026-04-08 16:08:53 +0000 | <c_wraith> | I understand why. The problem quickly becomes intractable. But then you start to feel the limits in a way then doesn't seem much like an actual improvement. |
| 2026-04-08 16:08:18 +0000 | <gentauro> | danza: Elm has `syntactic versioning`. I think `unison` is the only one with "real" semantic versining |
| 2026-04-08 16:07:27 +0000 | <c_wraith> | It also has awkward limitations. I believe it supports alpha renaming when determining if code is "the same", but not most other trivial refactorings of the token sequence. |
| 2026-04-08 16:03:55 +0000 | <c_wraith> | this has its own downsides. If there's a bug in a function, fixing it means updating every place it was called by content. |
| 2026-04-08 16:02:48 +0000 | AlexNoo_ | AlexNoo |
| 2026-04-08 16:02:44 +0000 | <c_wraith> | function calls are content-addressable. |
| 2026-04-08 16:02:11 +0000 | <c_wraith> | the point of comparison, Unison, is an unusual one. It's not actually the version control that does that. It's the language itself. |
| 2026-04-08 16:01:30 +0000 | <danza> | but having a version control tool that is language-specific sounds too demanding to me. I would rather live without the feature |
| 2026-04-08 16:00:25 +0000 | <danza> | yeah makes sense |
| 2026-04-08 16:00:07 +0000 | jmcantrell_ | (~weechat@user/jmcantrell) (Ping timeout: 276 seconds) |
| 2026-04-08 15:59:48 +0000 | <geekosaur> | this wouldn't happen with semantics-aware VC |
| 2026-04-08 15:59:29 +0000 | <geekosaur> | so for a concrete example, cabal is still using an ancient fourmolu because if/when we upgrade and reformat the code base, backports will conflict due to whitespace changes and possibly line splitting |
| 2026-04-08 15:58:15 +0000 | <danza> | oh i see. Cheers geekosaur |
| 2026-04-08 15:56:46 +0000 | <geekosaur> | the former impacts compatibility, the latter is about VCS thrashing |
| 2026-04-08 15:55:25 +0000 | <geekosaur> | different application of "semantic": you're talking about exposed API, the usage here is code meaning whether exposed or not |
| 2026-04-08 15:53:09 +0000 | <danza> | some languages (elm?) have the version numbers calculated automatically depending on interface changes, but that's another story |
| 2026-04-08 15:52:20 +0000 | <danza> | haskell already has semantic versioning, as far as i understand it. Version numbers should reflect a version's compatibility |
| 2026-04-08 15:50:32 +0000 | merijn | (~merijn@77.242.116.146) (Ping timeout: 256 seconds) |
| 2026-04-08 15:47:04 +0000 | Guest95 | (~Guest62@p200300ca8f150300cb59ac8b4a97ad67.dip0.t-ipconnect.de) |
| 2026-04-08 15:46:12 +0000 | rainbyte | (~rainbyte@181.47.219.3) rainbyte |
| 2026-04-08 15:45:14 +0000 | rainbyte | (~rainbyte@181.47.219.3) (Read error: Connection reset by peer) |
| 2026-04-08 15:42:51 +0000 | Guest64 | (~Guest64@p200300d91f498053c05238efee75214e.dip0.t-ipconnect.de) (Quit: Client closed) |
| 2026-04-08 15:32:48 +0000 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
| 2026-04-08 15:31:44 +0000 | Guest64 | (~Guest64@p200300d91f498053c05238efee75214e.dip0.t-ipconnect.de) |
| 2026-04-08 15:31:34 +0000 | Guest64 | (~Guest64@p200300d91f498053c05238efee75214e.dip0.t-ipconnect.de) (Client Quit) |
| 2026-04-08 15:31:09 +0000 | Guest64 | (~Guest64@p200300d91f498053c05238efee75214e.dip0.t-ipconnect.de) |
| 2026-04-08 15:30:00 +0000 | itaipu | (~itaipu@168.121.97.28) itaipu |
| 2026-04-08 15:29:40 +0000 | gentauro | source: https://www.unison-lang.org/docs/what-problems-does-unison-solve/ |
| 2026-04-08 15:29:30 +0000 | <gentauro> | I wonder if it would be possible to have truly "semantic versining" in Haskell, just like `unison` has it -> «Semantic version control. Unison's version control is language-aware. There are no conflicts due to code formatting or whitespace, order of imports, order of definitions in a file, or any other differences that aren't semantically meaningful» |
| 2026-04-08 15:28:59 +0000 | <gentauro> | ski: likes to code one way, and I code another |
| 2026-04-08 15:28:37 +0000 | <gentauro> | Bowuigi: yes |
| 2026-04-08 15:26:52 +0000 | szkl | (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
| 2026-04-08 15:25:19 +0000 | <haskellbridge> | <Bowuigi> Certified spanglish moment |
| 2026-04-08 15:23:39 +0000 | <gentauro> | [exa]: oh yeah, that's the one -> https://hackage-content.haskell.org/package/base-4.22.0.0/docs/Data-Function.html#v:-38- |