Logs: liberachat/#haskell
| 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.