Home liberachat/#haskell: Logs Calendar

Logs: liberachat/#haskell

←Prev  Next→
Page 1 .. 17897 17898 17899 17900 17901 17902 17903
1,790,225 events total
2026-04-08 13:16:47 × mangoiv quits (~mangoiv@2a01:4f9:c012:6c0e::) (Changing host)
2026-04-08 13:16:47 mangoiv joins (~mangoiv@user/mangoiv)
2026-04-08 13:18:59 ski would simply not use `$' at all, there
2026-04-08 13:20:19 tomsmeding too
2026-04-08 13:21:46 szkl joins (uid110435@id-110435.uxbridge.irccloud.com)
2026-04-08 13:41:40 <gentauro> ski: what's F# pipe-opeator in Haskell? I recall they ported it so you could read code from left-to-right, top-down, just like you read "plain inglés"
2026-04-08 13:41:59 <[exa]> gentauro: (&) ?
2026-04-08 13:54:54 rscastilho1 joins (~rscastilh@user/rscastilho1)
2026-04-08 14:03:07 × fp1 quits (~Thunderbi@staff237.kora-dyn.aalto.fi) (Ping timeout: 276 seconds)
2026-04-08 14:11:42 <ski> "plain inglés" ?
2026-04-08 14:11:45 × puke quits (~puke@user/puke) (Remote host closed the connection)
2026-04-08 14:12:11 puke joins (~puke@user/puke)
2026-04-08 14:13:26 × rscastilho1 quits (~rscastilh@user/rscastilho1) ()
2026-04-08 14:13:35 × puke quits (~puke@user/puke) (Max SendQ exceeded)
2026-04-08 14:14:05 puke joins (~puke@user/puke)
2026-04-08 14:19:04 × Pozyomka quits (~pyon@user/pyon) (Quit: WeeChat 4.9.0)
2026-04-08 14:19:15 AlexNoo_ joins (~AlexNoo@178.34.150.135)
2026-04-08 14:19:50 × puke quits (~puke@user/puke) (Remote host closed the connection)
2026-04-08 14:22:15 × AlexZenon quits (~alzenon@85.174.183.185) (Ping timeout: 268 seconds)
2026-04-08 14:23:07 × AlexNoo quits (~AlexNoo@85.174.183.185) (Ping timeout: 264 seconds)
2026-04-08 14:23:51 qqq joins (~qqq@185.54.23.237)
2026-04-08 14:24:22 × Dirk48 quits (~Dirk48@2a02:3100:89f6:c400:ee84:4a50:9d4c:364c) (Ping timeout: 245 seconds)
2026-04-08 14:26:58 × CiaoSen quits (~Jura@p549cb690.dip0.t-ipconnect.de) (Ping timeout: 265 seconds)
2026-04-08 14:28:47 AlexZenon joins (~alzenon@178.34.150.135)
2026-04-08 14:33:23 × DetourNetworkUK quits (~DetourNet@user/DetourNetworkUK) (Read error: Connection reset by peer)
2026-04-08 14:34:48 DetourNetworkUK joins (~DetourNet@user/DetourNetworkUK)
2026-04-08 14:36:42 L29Ah parts (~L29Ah@wikipedia/L29Ah) ()
2026-04-08 14:39:20 jmcantrell_ joins (~weechat@user/jmcantrell)
2026-04-08 14:42:16 machinedgod joins (~machinedg@d172-219-48-230.abhsia.telus.net)
2026-04-08 14:44:27 Pozyomka joins (~pyon@user/pyon)
2026-04-08 14:44:46 × Pozyomka quits (~pyon@user/pyon) (Client Quit)
2026-04-08 14:47:55 Pozyomka joins (~pyon@user/pyon)
2026-04-08 14:49:48 squid64 joins (~user@fsf/member/squid64)
2026-04-08 14:53:06 danza joins (~danza@user/danza)
2026-04-08 14:57:45 L29Ah joins (~L29Ah@wikipedia/L29Ah)
2026-04-08 14:59:41 × arandombit quits (~arandombi@user/arandombit) (Remote host closed the connection)
2026-04-08 15:04:54 Square3 joins (~Square@user/square)
2026-04-08 15:07:49 × Square2 quits (~Square4@user/square) (Ping timeout: 245 seconds)
2026-04-08 15:17:49 × itaipu quits (~itaipu@168.121.97.28) (Ping timeout: 272 seconds)
2026-04-08 15:20:42 puke joins (~puke@user/puke)
2026-04-08 15:23:39 <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:25:19 <haskellbridge> <Bowuigi> Certified spanglish moment
2026-04-08 15:26:52 × szkl quits (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2026-04-08 15:28:37 <gentauro> Bowuigi: yes
2026-04-08 15:28:59 <gentauro> ski: likes to code one way, and I code another
2026-04-08 15:29:30 <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:29:40 gentauro source: https://www.unison-lang.org/docs/what-problems-does-unison-solve/
2026-04-08 15:30:00 itaipu joins (~itaipu@168.121.97.28)
2026-04-08 15:31:09 Guest64 joins (~Guest64@p200300d91f498053c05238efee75214e.dip0.t-ipconnect.de)
2026-04-08 15:31:34 × Guest64 quits (~Guest64@p200300d91f498053c05238efee75214e.dip0.t-ipconnect.de) (Client Quit)
2026-04-08 15:31:44 Guest64 joins (~Guest64@p200300d91f498053c05238efee75214e.dip0.t-ipconnect.de)
2026-04-08 15:32:48 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
2026-04-08 15:42:51 × Guest64 quits (~Guest64@p200300d91f498053c05238efee75214e.dip0.t-ipconnect.de) (Quit: Client closed)
2026-04-08 15:45:14 × rainbyte quits (~rainbyte@181.47.219.3) (Read error: Connection reset by peer)
2026-04-08 15:46:12 rainbyte joins (~rainbyte@181.47.219.3)
2026-04-08 15:47:04 Guest95 joins (~Guest62@p200300ca8f150300cb59ac8b4a97ad67.dip0.t-ipconnect.de)
2026-04-08 15:50:32 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 256 seconds)
2026-04-08 15:52:20 <danza> haskell already has semantic versioning, as far as i understand it. Version numbers should reflect a version's compatibility
2026-04-08 15:53:09 <danza> some languages (elm?) have the version numbers calculated automatically depending on interface changes, but that's another story
2026-04-08 15:55:25 <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:56:46 <geekosaur> the former impacts compatibility, the latter is about VCS thrashing
2026-04-08 15:58:15 <danza> oh i see. Cheers geekosaur
2026-04-08 15:59:29 <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:59:48 <geekosaur> this wouldn't happen with semantics-aware VC
2026-04-08 16:00:07 × jmcantrell_ quits (~weechat@user/jmcantrell) (Ping timeout: 276 seconds)
2026-04-08 16:00:25 <danza> yeah makes sense
2026-04-08 16:01:30 <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:02:11 <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:02:44 <c_wraith> function calls are content-addressable.
2026-04-08 16:02:48 AlexNoo_ is now known as AlexNoo
2026-04-08 16:03:55 <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:07:27 <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:08:18 <gentauro> danza: Elm has `syntactic versioning`. I think `unison` is the only one with "real" semantic versining
2026-04-08 16:08:53 <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:09:07 <c_wraith> *that doesn't
2026-04-08 16:10:33 <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:10:43 <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:11:40 <danza> well that's what c_wraith has been chatting about, content-addressing
2026-04-08 16:11:43 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:12:19 arandombit joins (~arandombi@user/arandombit)
2026-04-08 16:14:33 <raincomplex> equivalence of two programs is undecidable in general, right
2026-04-08 16:15:40 <c_wraith> yes
2026-04-08 16:16:18 <c_wraith> and even a small set of simple transformations results in a massive potential combinatoric explosion
2026-04-08 16:17:30 <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:18:09 × danza quits (~danza@user/danza) (Remote host closed the connection)
2026-04-08 16:20:14 × gmg quits (~user@user/gehmehgeh) (Ping timeout: 265 seconds)
2026-04-08 16:22:19 gmg joins (~user@user/gehmehgeh)
2026-04-08 16:22:50 acidjnk_new3 joins (~acidjnk@p200300d6e700e5545ef09a087c16a42c.dip0.t-ipconnect.de)
2026-04-08 16:23:53 <gentauro> c_wraith: FP app -> de-Brujin index -> SKI -> normalize (optimal reduction/transformation): https://tromp.github.io/cl/cl.html
2026-04-08 16:24:56 <gentauro> I'm just not aware if this only work for "very simple" logic
2026-04-08 16:28:42 <c_wraith> It works decently well for structural changes, even things like pulling a subexpression into a local binding.
2026-04-08 16:29:29 <c_wraith> But it can't handle any kind of change that relies on semantic properties.
2026-04-08 16:29:37 qqq_ joins (~qqq@185.54.23.237)
2026-04-08 16:31:05 <c_wraith> Is a + b the same as b + a? How about a + a and 2 * a?
2026-04-08 16:31:36 <EvanR> pulls out a cross indexed table of "kinds of sameness"
2026-04-08 16:32:03 <c_wraith> oh, deMorgan's laws!
2026-04-08 16:32:33 <EvanR> definitional equality, propositional equality, etc
2026-04-08 16:32:59 × qqq quits (~qqq@185.54.23.237) (Ping timeout: 267 seconds)
2026-04-08 16:34:02 <c_wraith> It's not tractable to handle most of those equivalences in practical terms... well before you reach the undecidable cases.
2026-04-08 16:35:07 × qqq_ quits (~qqq@185.54.23.237) (Ping timeout: 264 seconds)

All times are in UTC.