2025/11/18

Newest at the top

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?
2025-11-18 12:04:50 +0100 <kaol> I'm not seeing that extension mentioned anywhere in the library.
2025-11-18 12:04:27 +0100 <tomsmeding> is there some way I can obtain a Coercible Int Int64? I'm fine if it's in a Maybe that is Nothing whenever this is not a 64-bit system or something
2025-11-18 12:03:00 +0100nek0(~nek0@user/nek0) nek0
2025-11-18 12:02:36 +0100gustrb(~gustrb@user/gustrb) gustrb
2025-11-18 12:02:36 +0100gustrb(~gustrb@191.243.134.87) (Changing host)
2025-11-18 12:01:18 +0100merijn(~merijn@77.242.116.146) merijn
2025-11-18 11:59:43 +0100 <Leary> kaol: Looks like a "label": https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/overloaded_labels.html
2025-11-18 11:55:03 +0100 <kaol> I'm looking at network library's source and I see lines like "sizeOf ~_ = #const sizeof(struct addrinfo)" in it. What's that #const thing?
2025-11-18 11:51:18 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 256 seconds)
2025-11-18 11:40:23 +0100merijn(~merijn@77.242.116.146) merijn
2025-11-18 11:36:49 +0100nek02(~nek0@user/nek0) (Ping timeout: 246 seconds)
2025-11-18 11:30:54 +0100merijn(~merijn@77.242.116.146) (Ping timeout: 256 seconds)
2025-11-18 11:22:21 +0100annamalai(~annamalai@157.33.250.15) annamalai
2025-11-18 11:21:37 +0100xff0x_(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 264 seconds)
2025-11-18 11:09:55 +0100myxos(~myxos@2001:579:8380:f20:5f4f:3365:91ae:208d) (Ping timeout: 245 seconds)
2025-11-18 11:07:13 +0100myxokephale(~myxos@2001:579:8380:f20:a8ed:41b7:d57f:8d02) myxokephale
2025-11-18 11:02:21 +0100chromoblob(~chromoblo@user/chromob1ot1c) chromoblob\0