Home liberachat/#haskell: Logs Calendar

Logs: liberachat/#haskell

←Prev  Next→ 1,803,463 events total
2021-07-25 18:42:16 <vaibhavsagar[m]> you can use it to write systems programs
2021-07-25 18:42:24 <vaibhavsagar[m]> but that's definitely not where its focus is
2021-07-25 18:43:04 <arkanoid> I know. https://programatica.cs.pdx.edu//House/
2021-07-25 18:43:21 <dsal> You can represent all your numbers as `String`s and have all kinds of bizarre problems. Being able to to use the wrong type isn't a bug.
2021-07-25 18:45:06 <dsal> "`Int` does the thing your processor does with ints" doesn't seem like a misfeature.
2021-07-25 18:46:08 <DigitalKiwi> https://en.wikipedia.org/wiki/Boeing_737_MAX#Accidents_and_incidents
2021-07-25 18:46:21 <davean> Just going to say, this seems like the world's most boring argument
2021-07-25 18:46:25 <arkanoid> proving the whole input domain is a solution available in all languages used the industry, but that's not always feasible and kinda last resort. Modern languages use to have checks at program level
2021-07-25 18:46:33 <davean> "Thing that does the thing it was selected to do, doesn't do the thing I want it to do"
2021-07-25 18:46:40 <davean> So, uh, use the thing that does the thing you want it to do
2021-07-25 18:46:52 <arkanoid> davean: you're missing the point
2021-07-25 18:47:17 <DigitalKiwi> davean: https://twitter.com/leftpaddotpy/status/1416279646253895680?s=20 lol
2021-07-25 18:47:31 <arkanoid> Ints do overflow, it's normal. Check that your program does not overflow, that's also desiderable. Doing that early is an indistry requirement
2021-07-25 18:47:41 × peterhil quits (~peterhil@mobile-access-5d6af6-209.dhcp.inet.fi) (Ping timeout: 252 seconds)
2021-07-25 18:47:57 × fef quits (~thedawn@user/thedawn) (Ping timeout: 244 seconds)
2021-07-25 18:48:12 × hrnz quits (~ulli@irc.plumbing) (Quit: das ist mir zu bld hier; bb)
2021-07-25 18:48:26 hrnz joins (~ulli@irc.plumbing)
2021-07-25 18:49:30 × lavaman quits (~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
2021-07-25 18:49:40 <arkanoid> whatever, I got my answer. Haskell is not better on this than C, but hopefully it is easier to assure later on in production than C
2021-07-25 18:49:41 × drd quits (~drd@93-39-151-19.ip76.fastwebnet.it) (Quit: ZNC 1.8.2 - https://znc.in)
2021-07-25 18:50:07 <dsal> I don't think that "I'd like to use the wrong type and then also enforce a property that it doesn't have the wrong behavior" is a solution that makes sense. We have different types with different properties. You can't say the entire language is bad because it lets someone use the wrong type for a problem.
2021-07-25 18:50:29 drd joins (~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4)
2021-07-25 18:50:35 <davean> dsal: as I said, this is the stupidest argument ever
2021-07-25 18:50:52 <arkanoid> language is not bad, lack of compiler option or linter tool to solve this is
2021-07-25 18:51:04 <davean> arkanoid: if you want a tool for this, use liquid haskell?
2021-07-25 18:51:11 <davean> But no, theres no linting or anything that makes sense here
2021-07-25 18:51:17 <davean> Int *is* correct for a bunch of stuff
2021-07-25 18:51:44 <davean> You'd need a spec to show when it might be wrong, I SPECIFICLY overflow Int all the time, on purpose - its a ring
2021-07-25 18:51:51 <davean> if you want a spec, use liquid Haskell
2021-07-25 18:51:56 <davean> then you can check you don't violate it
2021-07-25 18:52:27 × drd quits (~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Read error: Connection reset by peer)
2021-07-25 18:53:12 drd joins (~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4)
2021-07-25 18:53:26 <DigitalKiwi> davean: https://dpaste.com/8Z6NE5XXT#wrap
2021-07-25 18:54:24 <davean> DigitalKiwi: *cries tears of hours lost to not quite getting something as good as debian via nixos*
2021-07-25 18:54:34 <davean> DigitalKiwi: I've lost production data to having used nix though
2021-07-25 18:54:40 <DigitalKiwi> :(
2021-07-25 18:54:40 <davean> specificly nixpkgs though
2021-07-25 18:54:55 <davean> because IT VIOLATED ALL SANITY AND SPECIFICLY STRIPPED OUT MY DEPENDENCY REQUIREMENTS ON ME
2021-07-25 18:55:17 <davean> TO be specific, I said "I MUST have a version of directory at least as new as this patch level"
2021-07-25 18:55:21 <DigitalKiwi> i have a very much love hate relationship with it
2021-07-25 18:55:30 <davean> and it went "Nah, lier, you'll take what the compiler ships and I'll just do that instead"
2021-07-25 18:56:45 <davean> They claimed all constraints on packages shipped with GHC were bogus and unneccissary and thus to be ignored
2021-07-25 18:56:51 <davean> which is frankly ... insane
2021-07-25 18:57:12 <davean> So instead of not building something, nixpkgs decided it was ok to just force it to build wrong
2021-07-25 18:57:31 <davean> which of *course* it didn't work right under
2021-07-25 18:57:51 <DigitalKiwi> oh yeah i spend a lot of time fighting haskel4nix ;(
2021-07-25 18:57:52 <davean> I required that damn patch because it fixed a bug I was impacted by!
2021-07-25 18:58:29 <c_wraith> I really like the idea of nix, but every time I've tried to use it I end up confused by how they can take a good idea and implement it with so many gotchas
2021-07-25 18:58:46 <davean> c_wraith: yah, nix is a wonderful idea, but the actual implimentation is fucked
2021-07-25 18:58:58 <davean> I want nix's successor
2021-07-25 18:59:02 <DigitalKiwi> https://github.com/pulls?q=is%3Apr+author%3AKiwi+archived%3Afalse+is%3Aclosed
2021-07-25 19:00:34 <davean> c_wraith: I mean, a lot of nix's issues seem to come from its limitations, of not being built *quite* well enough
2021-07-25 19:00:40 × drd quits (~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Ping timeout: 268 seconds)
2021-07-25 19:00:42 <davean> c_wraith: So like, I get why it has them
2021-07-25 19:00:46 <davean> but that doesn't mean it doesn't have them
2021-07-25 19:00:58 <davean> And I don't know how you fix the core engenering at the bottom of it all
2021-07-25 19:01:25 nate3 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-07-25 19:01:33 <DigitalKiwi> a lot of the trouble i've had with nix is more directly because of just how broken everything else is >.>
2021-07-25 19:01:54 <davean> DigitalKiwi: fair, theres some of that too
2021-07-25 19:01:59 pera joins (~pera@user/pera)
2021-07-25 19:03:47 dagit_ joins (~dagit@2601:1c2:1b7f:9fa0:54b1:3520:a1d6:48b1)
2021-07-25 19:03:47 × fradet_ quits (~fradet@216.252.75.247) (Read error: Connection reset by peer)
2021-07-25 19:03:56 <davean> DigitalKiwi: though I've realized I've got a 3rd problem with nix, and thats that everything is done entirely differently so every time I have to fix something in nix, its always "learn an entire new thing from scratch" because nothing shares approaches in nixpkgs
2021-07-25 19:04:30 <davean> and its not like Haskell where theres some pretty clear cut interface signaling
2021-07-25 19:04:44 <DigitalKiwi> haskell.nix is a lot better than haskell4nix for versions i think
2021-07-25 19:04:49 <davean> you have to get under the hood and into the implimentation of every package, and from there every seperate ecosystem
2021-07-25 19:04:53 <davean> to have a hope of getting anything fixed
2021-07-25 19:05:27 dagit_ is now known as dagit
2021-07-25 19:05:40 <DigitalKiwi> yeah like i have a lot of electron apps i maintain and at least 3 different ways they're packaged lol >.>
2021-07-25 19:06:01 <davean> yah, and you maintain those
2021-07-25 19:06:17 <davean> I know of very few nix pkgs that have actually worked for me directly
2021-07-25 19:06:21 <davean> they've ALMOST all had bugs
2021-07-25 19:06:21 <juri_> rewrite electron in haskell. *runs*
2021-07-25 19:06:31 <davean> juri_: I'd prefer to rewrite nix in Haskell
2021-07-25 19:07:01 <juri_> fair enough.
2021-07-25 19:07:16 <DigitalKiwi> https://github.com/haskell-nix/hnix done
2021-07-25 19:07:24 <davean> I think the weaknesses of nix as a language - and as a system - get to the core of a lot of why nix has so many issues
2021-07-25 19:07:28 <DigitalKiwi> (needs work lol)
2021-07-25 19:07:33 Null_A joins (~null_a@2601:645:8700:2290:707f:6ddd:516:dcea)
2021-07-25 19:07:45 <davean> DigitalKiwi: Thats the language, I mean I think nix as a language spec is a large portion of the problem
2021-07-25 19:08:10 doyougnu joins (~user@c-73-25-202-122.hsd1.or.comcast.net)
2021-07-25 19:08:14 <davean> There are a lot of things that are hard to solve in it
2021-07-25 19:08:21 <davean> and its very expensive to have a lot of nix code
2021-07-25 19:08:35 <davean> it also doesn't really allow pushing stuff to being data
2021-07-25 19:08:50 zebrag joins (~chris@user/zebrag)
2021-07-25 19:09:30 <davean> Its abstraction budget is near zero
2021-07-25 19:11:05 <davean> You really have to translate tihngs *into* nix instead of have nix reference stuff also
2021-07-25 19:11:38 <flounders> I don't have any real experience with either Nix or Guix, but how does Guix compare?
2021-07-25 19:12:04 <davean> flounders: no idea, does anyone have experience with Guix?
2021-07-25 19:12:22 <DigitalKiwi> i know some people do
2021-07-25 19:12:46 <DigitalKiwi> at least one of them seems to like it
2021-07-25 19:13:21 <davean> DigitalKiwi: wow, well thats infinitely more people than I know of even having tried Guix!
2021-07-25 19:15:00 berberman_ joins (~berberman@user/berberman)
2021-07-25 19:15:54 × berberman quits (~berberman@user/berberman) (Ping timeout: 240 seconds)
2021-07-25 19:16:11 zeenk joins (~zeenk@2a02:2f04:a008:d600:18f2:3421:bac6:8f38)
2021-07-25 19:16:48 drakonis joins (drakonis@user/drakonis)
2021-07-25 19:16:49 <Clint> i know more guix people than nix people
2021-07-25 19:16:50 <Clint> different circles
2021-07-25 19:17:25 shapr joins (~user@pool-100-36-247-68.washdc.fios.verizon.net)
2021-07-25 19:17:55 DigitalKiwi hugs shapr

All times are in UTC.