Home liberachat/#haskell: Logs Calendar

Logs: liberachat/#haskell

←Prev  Next→ 1,804,001 events total
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.