2025/03/17

2025-03-17 00:04:22 +0100 <jackdk> I think he means things like https://www.gnu.org/prep/standards/standards.html#Style-of-Change-Logs
2025-03-17 00:09:26 +0100 <mauke> as usual with gnu, that "standard" is nuts
2025-03-17 00:10:30 +0100 <mauke> and (in practical terms) useless as a changes file
2025-03-17 00:11:59 +0100machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod
2025-03-17 00:14:28 +0100 <davean> mauke: the other one is https://keepachangelog.com/en/1.1.0/ but usually https://common-changelog.org/ which is what most tools process
2025-03-17 00:14:35 +0100 <davean> As I said I dobut anyone does the GNU one.
2025-03-17 00:14:38 +0100 <davean> It is infact dumb
2025-03-17 00:15:26 +0100MyNetAz(~MyNetAz@user/MyNetAz) MyNetAz
2025-03-17 00:23:35 +0100 <mauke> only one of those specifies a format, and it is incompatible with hackage
2025-03-17 00:24:36 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-03-17 00:28:54 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 252 seconds)
2025-03-17 00:32:36 +0100 <juri_> there's also a debian changelog specification, for package changelogs.
2025-03-17 00:36:47 +0100 <davean> Oh from memory I thought that was a specification of the GNU one
2025-03-17 00:41:10 +0100ezzieyguywuf(~Unknown@user/ezzieyguywuf) (Ping timeout: 268 seconds)
2025-03-17 00:43:51 +0100SoF(~skius@user/skius) skius
2025-03-17 00:46:42 +0100 <juri_> it's a bit more specialized. https://manpages.debian.org/testing/dpkg-dev/deb-changelog.5.en.html
2025-03-17 01:01:39 +0100SoF(~skius@user/skius) (Quit: The Lounge - https://thelounge.chat)
2025-03-17 01:07:44 +0100Googulator(~Googulato@2a01-036d-0106-4b74-b88c-ff83-9891-e272.pool6.digikabel.hu)
2025-03-17 01:10:20 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-03-17 01:12:58 +0100SoF(~skius@user/skius) skius
2025-03-17 01:15:08 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 265 seconds)
2025-03-17 01:24:33 +0100infinity0(~infinity0@pwned.gg) (Ping timeout: 245 seconds)
2025-03-17 01:26:16 +0100tabaqui(~tabaqui@167.71.80.236) tabaqui
2025-03-17 01:27:33 +0100acidjnk(~acidjnk@p200300d6e71c4f06309b9617c0b564b2.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
2025-03-17 01:28:41 +0100sprotte24(~sprotte24@p200300d16f093b001519da6143e769d5.dip0.t-ipconnect.de) (Quit: Leaving)
2025-03-17 01:30:34 +0100xatirig(~xatirig@81.215.239.1) (Quit: xatirig)
2025-03-17 01:33:51 +0100werneta(~werneta@syn-071-083-160-242.res.spectrum.com) werneta
2025-03-17 01:41:03 +0100Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
2025-03-17 01:44:33 +0100infinity0(~infinity0@pwned.gg) infinity0
2025-03-17 01:48:14 +0100fris(sid7259@id-7259.helmsley.irccloud.com) fris
2025-03-17 01:56:04 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-03-17 01:57:55 +0100ezzieyguywuf(~Unknown@user/ezzieyguywuf) ezzieyguywuf
2025-03-17 02:00:11 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 252 seconds)
2025-03-17 02:00:37 +0100xff0x(~xff0x@2405:6580:b080:900:3552:f799:4331:aaa8) (Ping timeout: 248 seconds)
2025-03-17 02:02:29 +0100weary-traveler(~user@user/user363627) user363627
2025-03-17 02:24:12 +0100ftzm7(~ftzm@085081035209.dynamic.telenor.dk) ftzm
2025-03-17 02:26:10 +0100ftzm(~ftzm@085081056141.dynamic.telenor.dk) (Ping timeout: 248 seconds)
2025-03-17 02:26:10 +0100ftzm7ftzm
2025-03-17 02:42:08 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-03-17 02:42:09 +0100MyNetAz(~MyNetAz@user/MyNetAz) (Remote host closed the connection)
2025-03-17 02:46:58 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 268 seconds)
2025-03-17 02:48:26 +0100j1n37(~j1n37@user/j1n37) j1n37
2025-03-17 02:49:01 +0100myxos(~myxos@syn-065-028-251-121.res.spectrum.com) myxokephale
2025-03-17 02:49:09 +0100MyNetAz(~MyNetAz@user/MyNetAz) MyNetAz
2025-03-17 02:49:20 +0100j1n37-(~j1n37@user/j1n37) (Ping timeout: 252 seconds)
2025-03-17 02:50:23 +0100machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 245 seconds)
2025-03-17 02:56:09 +0100xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2025-03-17 03:02:56 +0100 <haskellbridge> <Liamzee> has anyone tried writing Haskell in braces before, besides SPJ?
2025-03-17 03:04:49 +0100mange(~user@user/mange) (Ping timeout: 260 seconds)
2025-03-17 03:08:20 +0100mange(~user@user/mange) mange
2025-03-17 03:08:46 +0100bilegeek(~bilegeek@2600:1008:b041:b61:4489:3f6f:340a:78f6) bilegeek
2025-03-17 03:17:32 +0100euandreh(~Thunderbi@189.6.105.228) (Ping timeout: 244 seconds)
2025-03-17 03:18:54 +0100machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod
2025-03-17 03:19:25 +0100jmcantrell(~weechat@user/jmcantrell) jmcantrell
2025-03-17 03:21:06 +0100tremon(~tremon@83.80.159.219) (Quit: getting boxed in)
2025-03-17 03:22:27 +0100ljdarj1(~Thunderbi@user/ljdarj) ljdarj
2025-03-17 03:24:25 +0100 <haskellbridge> <Liamzee> there's a point to it, since I like treating Haskell as a scripting language and non-idiomatic Haskell, if you're writing in braces you're implying you're being serious and actually caring about engineering quality. But then again, braces aren't that idiomatic either.
2025-03-17 03:25:38 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds)
2025-03-17 03:25:38 +0100ljdarj1ljdarj
2025-03-17 03:27:53 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-03-17 03:27:53 +0100MyNetAz(~MyNetAz@user/MyNetAz) (Remote host closed the connection)
2025-03-17 03:29:34 +0100 <haskellbridge> <dmjio> Well braces automatically get inserted after the layout pass, so you might be saving the layout pass some work.
2025-03-17 03:29:35 +0100 <haskellbridge> Now if you wanted to build your own Haskell compiler that only uses braces you could bypass the layout pass (and dreaded parse-error case)
2025-03-17 03:31:39 +0100 <monochrom> I tried that, but that's only when my editor haskell mode was primitive and couldn't do good indentation without braces.
2025-03-17 03:32:24 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 265 seconds)
2025-03-17 03:32:26 +0100 <haskellbridge> <Liamzee> So, there's actually a pragmatic reason to use braces in Haskell, simply to make your code compile less than 1% faster. Got it.
2025-03-17 03:32:43 +0100 <monochrom> I am talking about 20 years ago.
2025-03-17 03:33:00 +0100 <monochrom> Today no editor has an issue. Come on this is 2025 already.
2025-03-17 03:33:16 +0100 <monochrom> And with that, also out with "layout means script kiddies".
2025-03-17 03:34:42 +0100 <geekosaur> the popularity of python for scientific programming shoots that one down anyway
2025-03-17 03:34:53 +0100MyNetAz(~MyNetAz@user/MyNetAz) MyNetAz
2025-03-17 03:35:23 +0100 <haskellbridge> <Liamzee> No, but braces are fully supported by GHC and the Haskell report. Optional braces can be used as a means of expressing... something.
2025-03-17 03:36:15 +0100 <haskellbridge> <Liamzee> I mean, you could use braces to indicate prototyping, but that should slow down prototyping, no? But you could make an alternative argument that significant whitespace is idiomatic in Haskell, and stubbornly insisting on braces means you're doing improper Haskell for pragmatic reasons.
2025-03-17 03:36:50 +0100 <geekosaur> or not so pragmatic
2025-03-17 03:37:05 +0100 <geekosaur> imo they make code harder to read (sorry SPJ)
2025-03-17 03:37:17 +0100 <geekosaur> although even SPJ doesn't use braces religiously
2025-03-17 03:37:26 +0100 <monochrom> You're overthinking it. I quit.
2025-03-17 03:38:31 +0100notdabs(~Owner@2600:1700:69cf:9000:8c4a:1bad:bb61:8f8d) (Read error: Connection reset by peer)
2025-03-17 03:38:49 +0100 <monochrom> "SPJ wears a blue shirt in his picture. There must be either a category theory reason or a software engineering reason!"
2025-03-17 03:39:14 +0100Square(~Square@user/square) (Ping timeout: 260 seconds)
2025-03-17 03:39:52 +0100 <monochrom> "blue shirt means blue collar right? but is software engineering blue collar? or is category theory blue collar? or is SPJ a burgeous middle class who pretends to befriend blue collars?"
2025-03-17 03:40:20 +0100 <haskellbridge> <dmjio> I think the braces were just to make the syntax context free, to make happy happy
2025-03-17 03:40:22 +0100 <int-e> (it seems that monochrom knows a lot about overthinking)
2025-03-17 03:40:35 +0100Guest23(~Guest23@2601:45:500:5c10:39d7:6224:4126:8f39)
2025-03-17 03:40:36 +0100 <haskellbridge> <Liamzee> No, I'm trying to build a prototype of an Upwork clone (major feature: having the lowest fees attached) in Haskell. One of the plans is to have a team that does prototyping as well as a team that does engineering. This would distinguish whether the code is intended to be kept or needs to be eventually rewritten.
2025-03-17 03:42:14 +0100 <int-e> braces are also nice for lazy code generators... and I seem to recall an account that they have an accessibility benefit in connection with screen readers (which IIUC basically skip whitespace)
2025-03-17 03:43:46 +0100 <monochrom> Yeah mechanical output of Haskell code is vastly simpler with {;}.
2025-03-17 03:44:13 +0100 <monochrom> Although, I have only done the opposite: A Haskell program that outputs Java code. :)
2025-03-17 03:48:31 +0100 <monochrom> I don't think you will have any luck enforcing a black-and-white divide between prototyping and production by any means except... The one single success story I ever heard was with entirely two different languages, matlab for prototyping and C++ for production.
2025-03-17 03:48:50 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds)
2025-03-17 03:49:21 +0100 <EvanR> haskell code fully braced and semicoloned out could indicate you didn't intend for anyone to actually read your code, in which case they could stop reading if they knew this convention, saving time, or if they just hate it
2025-03-17 03:50:14 +0100 <EvanR> it has the advantage of naturally triggering the stop reading reflex without prior agreement
2025-03-17 03:51:03 +0100 <monochrom> I am happy to read {;} code if it also uses layout (doesn't have to strictly follow Haskell layout rules) to help me. Like, I have been reading C like that all my life already.
2025-03-17 03:51:12 +0100 <EvanR> the parsing stage that inserters semicolons and braces still has to run even if you put them
2025-03-17 03:51:27 +0100 <int-e> { IRC does have that effect `on` people; }
2025-03-17 03:51:28 +0100 <EvanR> so I don't know about the performance narrative there
2025-03-17 03:54:33 +0100 <haskellbridge> <Liamzee> well, thanks for the vote of approval, even if the procedure is different: prototype in braces, be serious in traditional layout
2025-03-17 03:54:43 +0100 <int-e> you can't switch back to layout mode inside explicit braces
2025-03-17 03:55:13 +0100 <EvanR> why is your bait so bad
2025-03-17 03:55:32 +0100 <int-e> but the premise that layout has a noticable cost compared to all the other things that the compiler is doing is quite laughable
2025-03-17 03:56:42 +0100 <davean> lol I find the idea of making prototype code visually distinct amusing
2025-03-17 03:57:25 +0100 <geekosaur> unless you count the different-languages thing
2025-03-17 03:57:29 +0100 <haskellbridge> <Liamzee> also, you're more likely to have juniors and people you trained be more used to braces, so it makes things easier for them to adjust to while simultaneously letting everyone know who wrote it
2025-03-17 03:57:45 +0100 <geekosaur> (as I've mentioned before, I've done that oen as well: Prolog prototype, C production)
2025-03-17 03:58:08 +0100 <davean> Liamzee: How many seconds can you honestly expect it to take for people to convert between braces and indentation style?
2025-03-17 03:58:25 +0100 <davean> If it takes over 600 seconds to get comfortable with one from the other I'd be shocked.
2025-03-17 03:58:41 +0100 <davean> I don't think it took me that long
2025-03-17 03:58:43 +0100 <haskellbridge> <Liamzee> 1, 5 if there's a CLI (I think there already is one) that does so automatically
2025-03-17 03:59:52 +0100 <haskellbridge> <Liamzee> and yeah, there are non-haskellers who regularly exclaim their reason for hating Haskell is significant whitespace
2025-03-17 04:00:49 +0100 <geekosaur> do they say the same about Python? about make? if not, I call BS
2025-03-17 04:00:52 +0100 <davean> I didn't say I liked significant whitespace
2025-03-17 04:00:56 +0100 <haskellbridge> <Liamzee> yes, they did as well
2025-03-17 04:01:19 +0100 <int-e> davean: wdym?! everybody loves significant whitespace!!!1eleven
2025-03-17 04:01:45 +0100 <davean> I have very mixed feelings on significant whitespace. It sure isn't hard to move between though
2025-03-17 04:02:36 +0100 <haskellbridge> <Liamzee> anyways, conclusion: braces and semicolons can be used to mark code within a Haskell codebase, what braced code (use parens for pure functions) means is up to you
2025-03-17 04:03:11 +0100 <monochrom> Economically, I would not hire people who spend time exclaiming things instead of getting things done. Like, are you hiring them for programming or are you hiring them for Fox News?
2025-03-17 04:03:24 +0100bilegeek__(~bilegeek@2600:1008:b042:764a:da27:cd1a:86b4:69a4) bilegeek
2025-03-17 04:04:44 +0100bilegeek(~bilegeek@2600:1008:b041:b61:4489:3f6f:340a:78f6) (Ping timeout: 260 seconds)
2025-03-17 04:05:16 +0100Guest16(~Guest16@168.92.227.70)
2025-03-17 04:05:34 +0100 <davean> monochrom: I feel Fox News has gotten a lot done.
2025-03-17 04:06:19 +0100Guest16(~Guest16@168.92.227.70) (Client Quit)
2025-03-17 04:13:56 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-03-17 04:14:08 +0100Guest23(~Guest23@2601:45:500:5c10:39d7:6224:4126:8f39) (Quit: Client closed)
2025-03-17 04:14:28 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2025-03-17 04:14:52 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) bitdex
2025-03-17 04:16:30 +0100 <ski> "I seem to recall an account that they have an accessibility benefit in connection with screen readers" -- yes, there was a blind user here, years ago, who used curly brackets for Haskell
2025-03-17 04:17:59 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 244 seconds)