Logs: liberachat/#haskell
| 2025-09-06 23:47:54 | <slondr> | ah you see, i have already done that. my ghc is from GHCup. |
| 2025-09-06 23:48:07 | <slondr> | I ran GHCup via the curl | bash command on the website |
| 2025-09-06 23:50:42 | × | fp quits (~Thunderbi@89-27-10-140.bb.dnainternet.fi) (Ping timeout: 260 seconds) |
| 2025-09-06 23:51:40 | <geekosaur> | okay, if Arch changed their glibc recently then ghcup's release builds probably need to be adjusted |
| 2025-09-06 23:52:00 | <slondr> | wait wait wait wait. the glibc error seems to be referencing a glibc version installed by nix |
| 2025-09-06 23:52:25 | <slondr> | which seems almost certainly wrong, I'd want ghc to reference the system glibc not some random nix derivation glibc |
| 2025-09-06 23:52:52 | <geekosaur> | https://github.com/NixOS/patchelf |
| 2025-09-06 23:53:43 | <geekosaur> | nix really wants to be hermetic, but that can break things pretty thoroughly when it comes to stuff like glibc |
| 2025-09-06 23:54:42 | <slondr> | I don't want ghc to reference anything nix-related at all |
| 2025-09-06 23:54:47 | <slondr> | I'm not sure why it does |
| 2025-09-06 23:55:42 | <geekosaur> | make sure nix isn't substituting its own ghc for the one you intended to use |
| 2025-09-06 23:55:56 | <geekosaur> | the ghc from ghcup won't know about nix |
| 2025-09-06 23:56:16 | <slondr> | 'which ghc' reports: $HOME/.ghcup/bin/ghc |
| 2025-09-06 23:56:44 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-09-06 23:57:07 | <slondr> | though 'echo $PATH' sure does report that the /nix bin directories are above the ghcup bin directories, hmm |
| 2025-09-06 23:57:44 | <geekosaur> | shells cache paths, but something run in a subshell or by a program you run from that shell won;t see the cache and will find the nix one first in that case |
| 2025-09-06 23:59:54 | <geekosaur> | that said, nix wouldn't insert a ghc into your path unless you're in a directorry with a shell.nix and something knows enough about nix to see that file and load the derivations it specifies |
| 2025-09-07 00:00:06 | × | Tuplanolla quits (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.) |
| 2025-09-07 00:00:14 | <slondr> | yeah that's definitely not the case here. I'm in a blank directory with one .hs file |
| 2025-09-07 00:00:48 | × | sprotte24 quits (~sprotte24@p200300d16f1ae200cce55c66184a5d60.dip0.t-ipconnect.de) (Quit: Leaving) |
| 2025-09-07 00:01:44 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 2025-09-07 00:06:53 | → | potato44 joins (uid421314@id-421314.lymington.irccloud.com) |
| 2025-09-07 00:10:09 | → | Guest62 joins (~Guest62@c-73-217-79-154.hsd1.co.comcast.net) |
| 2025-09-07 00:10:48 | × | trickard quits (~trickard@cpe-53-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-09-07 00:11:02 | → | trickard_ joins (~trickard@cpe-53-98-47-163.wireline.com.au) |
| 2025-09-07 00:12:17 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-09-07 00:14:30 | × | trickard_ quits (~trickard@cpe-53-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-09-07 00:17:02 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 2025-09-07 00:17:47 | × | Guest62 quits (~Guest62@c-73-217-79-154.hsd1.co.comcast.net) (Ping timeout: 250 seconds) |
| 2025-09-07 00:21:31 | → | trickard_ joins (~trickard@cpe-53-98-47-163.wireline.com.au) |
| 2025-09-07 00:24:54 | × | arandombit quits (~arandombi@user/arandombit) (Ping timeout: 252 seconds) |
| 2025-09-07 00:25:31 | × | otto_s quits (~user@p5de2f1c5.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
| 2025-09-07 00:27:02 | → | otto_s joins (~user@p5b044af8.dip0.t-ipconnect.de) |
| 2025-09-07 00:27:39 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-09-07 00:28:18 | <geekosaur> | there is one more thing you can try but it's a bit involved |
| 2025-09-07 00:30:21 | → | segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) |
| 2025-09-07 00:30:50 | × | ttybitnik quits (~ttybitnik@user/wolper) (Quit: Fading out...) |
| 2025-09-07 00:31:08 | × | trickard_ quits (~trickard@cpe-53-98-47-163.wireline.com.au) (Ping timeout: 258 seconds) |
| 2025-09-07 00:31:29 | <geekosaur> | ghcup's ghc "binary" is actually a shell script wrapper. you would need to extract the path to the actual ghc binary from it and run `LD_BIND_NOW=1 ldd` on it (at least, I think LD_BIND_NOW works there; not certain) and see if you get the same error. you will also get the path to the glibc (libc.so.6) it's trying to use, but it may be hidden among a bunch of Haskell shared objects. (but in my case it's actually right at the end of the list) |
| 2025-09-07 00:31:33 | → | trickard_ joins (~trickard@cpe-53-98-47-163.wireline.com.au) |
| 2025-09-07 00:32:17 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds) |
| 2025-09-07 00:32:59 | <geekosaur> | oh, looks like instead of the `LD_BIND_NOW=1` part you could use `ldd -r` |
| 2025-09-07 00:34:36 | × | segfaultfizzbuzz quits (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) (Ping timeout: 256 seconds) |
| 2025-09-07 00:35:29 | × | acidjnk quits (~acidjnk@p200300d6e7171913b85d875ab8253342.dip0.t-ipconnect.de) (Ping timeout: 250 seconds) |
| 2025-09-07 00:37:34 | trickard_ | is now known as trickard |
| 2025-09-07 00:38:54 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-09-07 00:43:24 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds) |
| 2025-09-07 00:45:07 | → | arandombit joins (~arandombi@2603:7000:4600:ffbe:2133:587c:64a5:1340) |
| 2025-09-07 00:45:07 | × | arandombit quits (~arandombi@2603:7000:4600:ffbe:2133:587c:64a5:1340) (Changing host) |
| 2025-09-07 00:45:07 | → | arandombit joins (~arandombi@user/arandombit) |
| 2025-09-07 00:46:15 | × | tremon quits (~tremon@83.80.159.219) (Quit: getting boxed in) |
| 2025-09-07 00:48:29 | × | EvanR quits (~EvanR@user/evanr) (Remote host closed the connection) |
| 2025-09-07 00:48:49 | → | EvanR joins (~EvanR@user/evanr) |
| 2025-09-07 00:49:05 | × | jespada quits (~jespada@2800:a4:2309:e000:7cc9:782d:9408:1f91) (Ping timeout: 244 seconds) |
| 2025-09-07 00:49:54 | × | arandombit quits (~arandombi@user/arandombit) (Ping timeout: 256 seconds) |
| 2025-09-07 00:51:40 | → | jespada joins (~jespada@2800:a4:22ff:7a00:f5ee:99f1:c7f5:1d5a) |
| 2025-09-07 00:54:18 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-09-07 00:58:58 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 2025-09-07 01:02:06 | → | arandombit joins (~arandombi@2603:7000:4600:ffbe:2133:587c:64a5:1340) |
| 2025-09-07 01:02:06 | × | arandombit quits (~arandombi@2603:7000:4600:ffbe:2133:587c:64a5:1340) (Changing host) |
| 2025-09-07 01:02:06 | → | arandombit joins (~arandombi@user/arandombit) |
| 2025-09-07 01:04:38 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 256 seconds) |
| 2025-09-07 01:05:13 | × | alienmind quits (~cmo@2604:3d09:207f:8000::d1dc) (Remote host closed the connection) |
| 2025-09-07 01:05:35 | → | alienmind joins (~cmo@2604:3d09:207f:8000::d1dc) |
| 2025-09-07 01:06:07 | → | segfaultfizzbuzz joins (~segfaultf@23-93-74-222.fiber.dynamic.sonic.net) |
| 2025-09-07 01:09:41 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-09-07 01:10:18 | × | alienmind quits (~cmo@2604:3d09:207f:8000::d1dc) (Ping timeout: 256 seconds) |
| 2025-09-07 01:16:32 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 2025-09-07 01:22:46 | × | trickard quits (~trickard@cpe-53-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-09-07 01:22:59 | → | trickard_ joins (~trickard@cpe-53-98-47-163.wireline.com.au) |
| 2025-09-07 01:25:50 | → | leungbk joins (~user@syn-104-032-221-175.res.spectrum.com) |
| 2025-09-07 01:27:43 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-09-07 01:30:48 | × | leungbk quits (~user@syn-104-032-221-175.res.spectrum.com) (Ping timeout: 260 seconds) |
| 2025-09-07 01:32:28 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds) |
| 2025-09-07 01:36:31 | → | srandomizer joins (~user@185.159.157.137) |
| 2025-09-07 01:39:00 | × | trickard_ quits (~trickard@cpe-53-98-47-163.wireline.com.au) (Read error: Connection reset by peer) |
| 2025-09-07 01:39:19 | → | trickard joins (~trickard@cpe-53-98-47-163.wireline.com.au) |
| 2025-09-07 01:43:06 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-09-07 01:45:45 | × | anselmschueler quits (~Thunderbi@user/schuelermine) (Ping timeout: 252 seconds) |
| 2025-09-07 01:47:48 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 258 seconds) |
| 2025-09-07 01:52:07 | → | notzmv joins (~umar@user/notzmv) |
| 2025-09-07 01:56:32 | <ski> | monochrom : fwiw, in Prolog, those are not identifiers, but a predicate indicator |
| 2025-09-07 01:58:36 | → | merijn joins (~merijn@host-vr.cgnat-g.v4.dfn.nl) |
| 2025-09-07 02:01:24 | <monochrom> | They indicate arities. But then, foo/1 and foo/2 can be completely unrelated, even though socially people try not to abuse that freedom. |
| 2025-09-07 02:03:00 | × | merijn quits (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 2025-09-07 02:03:16 | <ski> | yes |
| 2025-09-07 02:03:51 | <monochrom> | There is also a step of "inspiration" meaning distortion when I think about "what can this syntax do for Haskell?" |
| 2025-09-07 02:03:55 | <ski> | sometimes people use a higher arity, for a helper/worker predicate, e.g. introducing an accumulator |
| 2025-09-07 02:04:46 | <monochrom> | Arity is elusive in Haskell. So may as well "simplify" and just say this is additional syntax for moar identifiers! |
| 2025-09-07 02:05:03 | × | op_4 quits (~tslil@user/op-4/x-9116473) (Remote host closed the connection) |
| 2025-09-07 02:05:37 | → | op_4 joins (~tslil@user/op-4/x-9116473) |
| 2025-09-07 02:07:05 | <geekosaur> | people do that already with ticks |
| 2025-09-07 02:07:11 | <geekosaur> | not to say `go` |
| 2025-09-07 02:07:35 | <ski> | generally, i prefer a naming like e.g. sum_list_add/3, with the understanding that `sum_list_add(Numbers,Initial,Total) <=> sum_list(Numbers,Sum),Total is Initial + Sum'. or flatten_tree_append/3, with `flatten_tree_append(Tree,Suffix,List) <=> flatten_tree(Tree,Elements),append(Elements,Suffix,List)' |
| 2025-09-07 02:08:28 | <ski> | or, if there's no such reasonable naming, at least adding `_aux' or similar, to the end of the predicate name, to indicate that it's a worker/helper for the other predicate |
| 2025-09-07 02:09:59 | <ski> | in Haskell, we could have `reverse xs = revAppend xs []', where `revAppend' is specified (not implemented) by `revAppend xs suffix = reverse xs ++ suffix' |
| 2025-09-07 02:11:25 | <monochrom> | I empathize with not wanting to think up names for helpers. I too suffer from spending 10% time writing up the helper and 90% time finding a good name for it. |
| 2025-09-07 02:12:04 | <monochrom> | "go" works in Haskell because local scope. Prolog has no such luxury. |
| 2025-09-07 02:12:29 | <monochrom> | (One of two reasons I don't want to teach Prolog actually.) |
| 2025-09-07 02:13:18 | <Clint> | the other is harmful cuts? |
All times are in UTC.