2026/04/08

Newest at the top

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 +0000AlexNoo_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 +0000jmcantrell_(~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 +0000merijn(~merijn@77.242.116.146) (Ping timeout: 256 seconds)
2026-04-08 15:47:04 +0000Guest95(~Guest62@p200300ca8f150300cb59ac8b4a97ad67.dip0.t-ipconnect.de)
2026-04-08 15:46:12 +0000rainbyte(~rainbyte@181.47.219.3) rainbyte
2026-04-08 15:45:14 +0000rainbyte(~rainbyte@181.47.219.3) (Read error: Connection reset by peer)
2026-04-08 15:42:51 +0000Guest64(~Guest64@p200300d91f498053c05238efee75214e.dip0.t-ipconnect.de) (Quit: Client closed)
2026-04-08 15:32:48 +0000pavonia(~user@user/siracusa) (Quit: Bye!)
2026-04-08 15:31:44 +0000Guest64(~Guest64@p200300d91f498053c05238efee75214e.dip0.t-ipconnect.de)
2026-04-08 15:31:34 +0000Guest64(~Guest64@p200300d91f498053c05238efee75214e.dip0.t-ipconnect.de) (Client Quit)
2026-04-08 15:31:09 +0000Guest64(~Guest64@p200300d91f498053c05238efee75214e.dip0.t-ipconnect.de)
2026-04-08 15:30:00 +0000itaipu(~itaipu@168.121.97.28) itaipu
2026-04-08 15:29:40 +0000gentaurosource: 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 +0000szkl(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-
2026-04-08 15:20:42 +0000puke(~puke@user/puke) puke
2026-04-08 15:17:49 +0000itaipu(~itaipu@168.121.97.28) (Ping timeout: 272 seconds)
2026-04-08 15:07:49 +0000Square2(~Square4@user/square) (Ping timeout: 245 seconds)
2026-04-08 15:04:54 +0000Square3(~Square@user/square) Square
2026-04-08 14:59:41 +0000arandombit(~arandombi@user/arandombit) (Remote host closed the connection)
2026-04-08 14:57:45 +0000L29Ah(~L29Ah@wikipedia/L29Ah) L29Ah
2026-04-08 14:53:06 +0000danza(~danza@user/danza) danza
2026-04-08 14:49:48 +0000squid64(~user@fsf/member/squid64) squid64
2026-04-08 14:47:55 +0000Pozyomka(~pyon@user/pyon) pyon
2026-04-08 14:44:46 +0000Pozyomka(~pyon@user/pyon) (Client Quit)
2026-04-08 14:44:27 +0000Pozyomka(~pyon@user/pyon) pyon
2026-04-08 14:42:16 +0000machinedgod(~machinedg@d172-219-48-230.abhsia.telus.net) machinedgod
2026-04-08 14:39:20 +0000jmcantrell_(~weechat@user/jmcantrell) jmcantrell
2026-04-08 14:36:42 +0000L29Ah(~L29Ah@wikipedia/L29Ah) ()
2026-04-08 14:34:48 +0000DetourNetworkUK(~DetourNet@user/DetourNetworkUK) DetourNetworkUK
2026-04-08 14:33:23 +0000DetourNetworkUK(~DetourNet@user/DetourNetworkUK) (Read error: Connection reset by peer)
2026-04-08 14:28:47 +0000AlexZenon(~alzenon@178.34.150.135)