2025/11/18

Newest at the top

2025-11-18 13:48:32 +0100 <omidmash> instance with ansible?
2025-11-18 13:48:32 +0100 <omidmash> Good day. I need to install Haskell on lots of PCs that I manage using ansible playbooks. These computers are in computer labors, so I need GHC/I to work reliably. The official instruction installs in home folder (which I have set to reset on reboot), and needs user prompts. Is there a way to install Haskell systemwide that is automatable, for
2025-11-18 13:47:15 +0100omidmash(~omidmash@user/omidmash) omidmash
2025-11-18 13:45:29 +0100SlackCoder(~SlackCode@64-94-63-8.ip.weststar.net.ky) SlackCoder
2025-11-18 13:42:25 +0100 <tomsmeding> Leary: heh. Thanks for asking though, I appreciate it :)
2025-11-18 13:40:40 +0100 <Leary> There is a certain irony in asking that of the guy who hosts public logs of the whole channel, but it just felt a bit rude to quote a casual conversation somewhere less transient without asking.
2025-11-18 13:39:05 +0100Zemy(~Zemy@2600:100c:b0ae:c0b:6c30:fdff:fe2e:3217) (Ping timeout: 245 seconds)
2025-11-18 13:38:14 +0100 <tomsmeding> sure, they are public anyway :)
2025-11-18 13:37:59 +0100 <Leary> tomsmeding: I want to include (lightly edited) logs of this conversation in the gist as a warning to posterity; do you mind?
2025-11-18 13:35:16 +0100Zemy_(~Zemy@72.178.108.235)
2025-11-18 13:34:43 +0100Zemy(~Zemy@2600:100c:b0ae:c0b:6c30:fdff:fe2e:3217)
2025-11-18 13:34:42 +0100Zemy_(~Zemy@72.178.108.235) (Read error: Connection reset by peer)
2025-11-18 13:34:41 +0100L29Ah(~L29Ah@wikipedia/L29Ah) L29Ah
2025-11-18 13:33:24 +0100wootehfoot(~wootehfoo@user/wootehfoot) wootehfoot
2025-11-18 13:19:53 +0100 <tomsmeding> especially in the context of it being explicitly disallowed to write manual instances for Coercible
2025-11-18 13:19:40 +0100 <tomsmeding> we'd need some kind of guarantee from GHC that conjuring up custom Coercible evidence is okay and respected by GHC, and there is no such guarantee currently, I think
2025-11-18 13:18:57 +0100 <tomsmeding> yes
2025-11-18 13:17:15 +0100 <Leary> tomsmeding: Looking at the core under optimisation, it does compile just fine on my GHC 9.10. But I don't see why a future GHC could not choose to treat it as: `archWS = case wordSize of { 32 -> case unsafeWord32 of {}; 64 -> case unsafeWord64 of {}; _ -> UNK }`, producing core `archWS = case patError "ArchWS.hs:20:66-88|case"# of {}`.
2025-11-18 13:09:59 +0100srazkvt(~sarah@user/srazkvt) srazkvt
2025-11-18 13:09:44 +0100srazkvt(~sarah@user/srazkvt) (Client Quit)
2025-11-18 13:08:23 +0100srazkvt(~sarah@user/srazkvt) srazkvt
2025-11-18 13:02:46 +0100Googulator79Googulator
2025-11-18 13:00:39 +0100 <tomsmeding> If it compiles, it works.
2025-11-18 13:00:22 +0100 <tomsmeding> beautiful!
2025-11-18 13:00:14 +0100 <Leary> I mean, it considers the (useful) RHSs of `archWS` as unreachable, so it's free to compile them away. `_test` works in the REPL, but might segfault in actual use.
2025-11-18 12:59:53 +0100 <tomsmeding> Leary: right -- I tried something like this too, and got the same warnings
2025-11-18 12:58:02 +0100 <Leary> involved*
2025-11-18 12:57:57 +0100 <Leary> Worse, since GHC can actually see the declarations for all types involves, it /knows/ the `Coercible` instances are bogus and raises all kinds of warnings ... not sure if that will cause issues in practice.
2025-11-18 12:56:58 +0100 <Leary> tomsmeding: Only by cheating egregiously: https://gist.github.com/LSLeary/91103a2fbb35d1c908802fa81d82c110
2025-11-18 12:48:03 +0100fp(~Thunderbi@2001:708:20:1406::10c5) fp
2025-11-18 12:37:39 +0100merijn(~merijn@77.242.116.146) merijn
2025-11-18 12:37:16 +0100Inline(~inlinE@2001-4dd7-ae97-0-4674-ae6d-2607-c022.ipv6dyn.netcologne.de) (Remote host closed the connection)
2025-11-18 12:35:38 +0100trickard_trickard
2025-11-18 12:32:20 +0100__monty__(~toonn@user/toonn) toonn
2025-11-18 12:31:52 +0100srazkvt(~sarah@user/srazkvt) (Client Quit)
2025-11-18 12:30:38 +0100srazkvt(~sarah@user/srazkvt) srazkvt
2025-11-18 12:30:23 +0100srazkvt(~sarah@user/srazkvt) (Quit: Konversation terminated!)
2025-11-18 12:26:51 +0100 <mauke> and https://github.com/haskell/hsc2hs/blob/master/data/template-hsc.h
2025-11-18 12:25:20 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 245 seconds)
2025-11-18 12:24:55 +0100 <mauke> for reference, https://github.com/haskell/hsc2hs?tab=readme-ov-file#input-syntax
2025-11-18 12:18:35 +0100merijn(~merijn@77.242.116.146) merijn
2025-11-18 12:17:07 +0100xff0x(~xff0x@2405:6580:b080:900:d0b4:2969:7511:437b)
2025-11-18 12:07:35 +0100 <kaol> I need to do something similar but my use is limited enough that I think I'll just use capi for what I need.
2025-11-18 12:06:52 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 256 seconds)
2025-11-18 12:06:42 +0100kuribas(~user@2a02:1808:e7:cecd:ef16:f030:ae55:9416) (Ping timeout: 252 seconds)
2025-11-18 12:06:37 +0100 <tomsmeding> ah yes, I misremembered
2025-11-18 12:06:18 +0100 <kaol> tomsmeding: Thanks, that explains what's going on. I suspect you mean .hsc because that's what they are using.
2025-11-18 12:05:13 +0100kuribas`(~user@ip-188-118-57-242.reverse.destiny.be) kuribas
2025-11-18 12:05:11 +0100 <tomsmeding> is this in a .chs file?
2025-11-18 12:04:59 +0100 <tomsmeding> kaol: c2hs?