Logs: liberachat/#haskell
| 2021-08-03 19:51:57 | <drakonis> | right, scheme does not behave the way that haskell does |
| 2021-08-03 19:52:30 | <drakonis> | reifying functions though? |
| 2021-08-03 19:52:32 | <mastarija> | sclv, yes, I wouldn't want to pollute the space with new operators, |
| 2021-08-03 19:52:49 | <mastarija> | but then again... }) |
| 2021-08-03 19:52:55 | <davean> | drakonis: what does this have to do with how haskell behaves? |
| 2021-08-03 19:53:05 | <davean> | And I know hwo scheme works |
| 2021-08-03 19:53:05 | <sclv> | its not like there's a lot of functions that people widely use that abstract well over Alternative or Alt, or certainly not enough that having those instances is really a killer feature for end users |
| 2021-08-03 19:53:12 | <davean> | I'm asking how *guix* works |
| 2021-08-03 19:53:19 | <drakonis> | it works like scheme does |
| 2021-08-03 19:53:29 | <sclv> | lambdas |
| 2021-08-03 19:53:42 | <drakonis> | hmm |
| 2021-08-03 19:53:44 | <davean> | drakonis: so the actional operations done on this structure ... |
| 2021-08-03 19:53:46 | <drakonis> | god damn it i'm losing myself |
| 2021-08-03 19:53:53 | <drakonis> | losing it |
| 2021-08-03 19:53:54 | <davean> | drakonis: like if it actually walks the structure, and its combinatorically large ... |
| 2021-08-03 19:54:07 | <drakonis> | it can do that, yes. |
| 2021-08-03 19:54:15 | <davean> | Right so then its a problem |
| 2021-08-03 19:54:19 | <mastarija> | is guix that nix alternative? |
| 2021-08-03 19:54:21 | <drakonis> | its not used often enough |
| 2021-08-03 19:54:23 | <drakonis> | rather |
| 2021-08-03 19:54:29 | <DigitalKiwi> | mastarija: yeah |
| 2021-08-03 19:54:29 | <drakonis> | its never used in guix definitions |
| 2021-08-03 19:54:32 | <drakonis> | but the option exists |
| 2021-08-03 19:54:45 | <drakonis> | because if you stop and think about it |
| 2021-08-03 19:54:50 | <mastarija> | Does it have static types? |
| 2021-08-03 19:54:56 | <drakonis> | it does not |
| 2021-08-03 19:55:09 | <mastarija> | Well then what's it's advantage over nix :D |
| 2021-08-03 19:55:13 | × | dhouthoo quits (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.2) |
| 2021-08-03 19:55:20 | <drakonis> | davean: its not used in the main repos |
| 2021-08-03 19:55:23 | <davean> | mastarija: its language isn't a train wreck? :-p |
| 2021-08-03 19:55:51 | <drakonis> | so you're not going to find six thousand computer generated packages for each available ghc version |
| 2021-08-03 19:55:52 | × | Guest802 quits (~chris@81.96.113.213) (Ping timeout: 250 seconds) |
| 2021-08-03 19:56:03 | <DigitalKiwi> | and nixpkgs lol |
| 2021-08-03 19:56:18 | <drakonis> | i think i'm mixing things up |
| 2021-08-03 19:56:19 | <davean> | DigitalKiwi: god nixpkgs |
| 2021-08-03 19:56:25 | <davean> | drakonis: I think you are too |
| 2021-08-03 19:56:44 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 2021-08-03 19:56:45 | <drakonis> | i definitely am mixing things up |
| 2021-08-03 19:56:45 | <mastarija> | davean, I'm not sure if not having six thousand packages for each GHC version is good or bad :) |
| 2021-08-03 19:57:03 | <mastarija> | drakonis, you I mean :D |
| 2021-08-03 19:57:16 | <drakonis> | there are no runtime generated packages on guix, everything there is handrolled i suppose |
| 2021-08-03 19:57:17 | × | qbt quits (~edun@user/edun) (Ping timeout: 258 seconds) |
| 2021-08-03 19:57:27 | <drakonis> | but it does not prevent anyone from doing something like that for their own consumption |
| 2021-08-03 19:57:48 | <drakonis> | mastarija: it is for making sure things work |
| 2021-08-03 19:58:17 | <mastarija> | drakonis, it is... what? |
| 2021-08-03 19:58:19 | <drakonis> | so, the perfect example for what you seem to want to do here is this |
| 2021-08-03 19:59:16 | <mastarija> | drakonis, does that mean Nix is failing it it's own task? |
| 2021-08-03 19:59:22 | <mastarija> | Making sure things work |
| 2021-08-03 19:59:29 | <drakonis> | mastarija: for example, elixir and erlang have broken packages because they have attribute sets that simply swap out the interpreter/runtime version for every package definition in the set |
| 2021-08-03 19:59:31 | <DigitalKiwi> | nixpkgs uses this https://haskell4nix.readthedocs.io/ which uses stackage and i think that has created a lot of the problems >.> |
| 2021-08-03 19:59:42 | <drakonis> | it breaks things and nobody actually finds out until someone goes and checks it |
| 2021-08-03 20:00:05 | <drakonis> | davean: https://guix.gnu.org/de/blog/2019/creating-and-using-a-custom-linux-kernel-on-guix-system/ |
| 2021-08-03 20:00:12 | <drakonis> | maybe this might help? |
| 2021-08-03 20:00:24 | <DigitalKiwi> | https://input-output-hk.github.io/haskell.nix/motivation/ solves some of them |
| 2021-08-03 20:00:25 | <drakonis> | it explains how to inherit a package to generate a new definition with modifications |
| 2021-08-03 20:01:08 | <drakonis> | want to spin up a new package that points to a different release or requires a different compiler version? use inherit and modify it on the definition |
| 2021-08-03 20:01:16 | <drakonis> | i swear to god though |
| 2021-08-03 20:01:33 | <drakonis> | i'm lost |
| 2021-08-03 20:01:38 | <DigitalKiwi> | the documentation for fixing something in nixpkgs was "go watch this youtube video" |
| 2021-08-03 20:01:47 | <mastarija> | Somehow I feel this whole "area" of engineering is over engineered. |
| 2021-08-03 20:01:50 | <drakonis> | i really want to help you out |
| 2021-08-03 20:01:58 | <davean> | drakonis: its ok, i'll read stuff and see |
| 2021-08-03 20:02:13 | <drakonis> | nixpkgs is dangerously overengineered because the language is disgustingly limited |
| 2021-08-03 20:02:19 | <DigitalKiwi> | drakonis: thank you for taking the time :D |
| 2021-08-03 20:02:56 | <drakonis> | ah right i remember now how to have a package with multiple versions now |
| 2021-08-03 20:03:47 | <drakonis> | it needs to have the same name for the package metadata, but not the same function name |
| 2021-08-03 20:03:57 | × | _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
| 2021-08-03 20:04:06 | <drakonis> | you can install it with <name>@<version> |
| 2021-08-03 20:04:26 | <davean> | AH, ok |
| 2021-08-03 20:04:36 | <davean> | So that covers some of it |
| 2021-08-03 20:04:58 | × | juhp quits (~juhp@128.106.188.220) (Ping timeout: 250 seconds) |
| 2021-08-03 20:06:41 | <drakonis> | now, as for the other question |
| 2021-08-03 20:06:46 | <drakonis> | no combinatorial explosions here |
| 2021-08-03 20:06:53 | <drakonis> | you have to explicitly opt into different versions for things |
| 2021-08-03 20:07:05 | <drakonis> | its a easy task on guix, which is why it hasnt been abused like in nixpkgs |
| 2021-08-03 20:07:10 | → | juhp joins (~juhp@128.106.188.220) |
| 2021-08-03 20:07:39 | <drakonis> | i feel that a significant number of nixpkgs design decisions have to do with how many hurdles there are to do things in it |
| 2021-08-03 20:07:53 | <drakonis> | https://guix.gnu.org/en/cookbook/en/guix-cookbook.html#Packaging |
| 2021-08-03 20:08:07 | <drakonis> | https://guix.gnu.org/en/cookbook/en/guix-cookbook.html#Programmable-and-automated-package-definition |
| 2021-08-03 20:08:20 | <mastarija> | Can we expect Guix to start competing with Nix in a few years time? Nix seems way too adopted to introduce some serious changes. |
| 2021-08-03 20:08:26 | <drakonis> | it already competes with it |
| 2021-08-03 20:08:41 | <davean> | drakonis: I mean one needs it in any system |
| 2021-08-03 20:09:08 | <sm> | to update the Change log shown on hackage, you have to upload a new package version, am I right ? |
| 2021-08-03 20:09:34 | → | fresheyeball joins (~fresheyeb@c-71-237-105-37.hsd1.co.comcast.net) |
| 2021-08-03 20:09:40 | <davean> | sm: its part of the packge, yes. |
| 2021-08-03 20:09:41 | <drakonis> | well, someone has to do the heavy lifting with regards to porting it to other systems though |
| 2021-08-03 20:10:27 | <davean> | drakonis: hum? |
| 2021-08-03 20:10:34 | <drakonis> | ie: mac and windows support i guess |
| 2021-08-03 20:10:37 | <drakonis> | oh |
| 2021-08-03 20:10:40 | <DigitalKiwi> | a lot of issues i saw with the bad nixpkgs decisions seemed to be because nix the language lol |
| 2021-08-03 20:10:48 | <drakonis> | making it needed on any system |
| 2021-08-03 20:10:50 | <drakonis> | right |
| 2021-08-03 20:10:57 | <drakonis> | nix the language is not a good language |
| 2021-08-03 20:11:05 | <drakonis> | something being fp does not automatically make it well designed |
| 2021-08-03 20:11:20 | <drakonis> | davean: misunderstood it |
| 2021-08-03 20:11:25 | <DigitalKiwi> | like nobody ever designed haskell4nix how it is because they wanted to heh |
| 2021-08-03 20:11:39 | → | MQ-17J joins (~MQ-17J@8.6.144.192) |
| 2021-08-03 20:11:42 | <drakonis> | nixpkgs has a mounting tech debt problem |
| 2021-08-03 20:13:13 | <drakonis> | also worth mentioning that guix is getting its very own home manager equivalent built into it |
| 2021-08-03 20:13:20 | <drakonis> | can be used without requiring the distribution |
All times are in UTC.