Home liberachat/#haskell: Logs Calendar

Logs: liberachat/#haskell

←Prev  Next→ 1,802,599 events total
2025-11-18 09:30:43 Googulator79 joins (~Googulato@2a01-036d-0106-0231-4475-80b4-5cdc-43d6.pool6.digikabel.hu)
2025-11-18 09:30:49 × Googulator62 quits (~Googulato@2a01-036d-0106-0231-4475-80b4-5cdc-43d6.pool6.digikabel.hu) (Quit: Client closed)
2025-11-18 09:35:29 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 260 seconds)
2025-11-18 09:36:47 × img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2025-11-18 09:38:07 img joins (~img@user/img)
2025-11-18 09:42:26 kuribas joins (~user@2a02:1808:e7:cecd:ef16:f030:ae55:9416)
2025-11-18 09:44:29 × econo_ quits (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity)
2025-11-18 09:46:57 merijn joins (~merijn@77.242.116.146)
2025-11-18 09:54:01 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 264 seconds)
2025-11-18 09:56:42 merijn joins (~merijn@77.242.116.146)
2025-11-18 09:58:09 srazkvt joins (~sarah@user/srazkvt)
2025-11-18 09:58:26 oneeyedalien joins (~oneeyedal@user/oneeyedalien)
2025-11-18 10:02:21 chromoblob joins (~chromoblo@user/chromob1ot1c)
2025-11-18 10:07:13 myxokephale joins (~myxos@2001:579:8380:f20:a8ed:41b7:d57f:8d02)
2025-11-18 10:09:55 × myxos quits (~myxos@2001:579:8380:f20:5f4f:3365:91ae:208d) (Ping timeout: 245 seconds)
2025-11-18 10:21:37 × xff0x_ quits (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 264 seconds)
2025-11-18 10:22:21 annamalai joins (~annamalai@157.33.250.15)
2025-11-18 10:30:54 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 256 seconds)
2025-11-18 10:36:49 × nek02 quits (~nek0@user/nek0) (Ping timeout: 246 seconds)
2025-11-18 10:40:23 merijn joins (~merijn@77.242.116.146)
2025-11-18 10:51:18 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 256 seconds)
2025-11-18 10:55:03 <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 10:59:43 <Leary> kaol: Looks like a "label": https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/overloaded_labels.html
2025-11-18 11:01:18 merijn joins (~merijn@77.242.116.146)
2025-11-18 11:02:36 × gustrb quits (~gustrb@191.243.134.87) (Changing host)
2025-11-18 11:02:36 gustrb joins (~gustrb@user/gustrb)
2025-11-18 11:03:00 nek0 joins (~nek0@user/nek0)
2025-11-18 11:04:27 <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 11:04:50 <kaol> I'm not seeing that extension mentioned anywhere in the library.
2025-11-18 11:04:59 <tomsmeding> kaol: c2hs?
2025-11-18 11:05:11 <tomsmeding> is this in a .chs file?
2025-11-18 11:05:13 kuribas` joins (~user@ip-188-118-57-242.reverse.destiny.be)
2025-11-18 11:06:18 <kaol> tomsmeding: Thanks, that explains what's going on. I suspect you mean .hsc because that's what they are using.
2025-11-18 11:06:37 <tomsmeding> ah yes, I misremembered
2025-11-18 11:06:42 × kuribas quits (~user@2a02:1808:e7:cecd:ef16:f030:ae55:9416) (Ping timeout: 252 seconds)
2025-11-18 11:06:52 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 256 seconds)
2025-11-18 11:07:35 <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 11:17:07 xff0x joins (~xff0x@2405:6580:b080:900:d0b4:2969:7511:437b)
2025-11-18 11:18:35 merijn joins (~merijn@77.242.116.146)
2025-11-18 11:24:55 <mauke> for reference, https://github.com/haskell/hsc2hs?tab=readme-ov-file#input-syntax
2025-11-18 11:25:20 × merijn quits (~merijn@77.242.116.146) (Ping timeout: 245 seconds)
2025-11-18 11:26:51 <mauke> and https://github.com/haskell/hsc2hs/blob/master/data/template-hsc.h
2025-11-18 11:30:23 × srazkvt quits (~sarah@user/srazkvt) (Quit: Konversation terminated!)
2025-11-18 11:30:38 srazkvt joins (~sarah@user/srazkvt)
2025-11-18 11:31:52 × srazkvt quits (~sarah@user/srazkvt) (Client Quit)
2025-11-18 11:32:20 __monty__ joins (~toonn@user/toonn)
2025-11-18 11:35:38 trickard_ is now known as trickard
2025-11-18 11:37:16 × Inline quits (~inlinE@2001-4dd7-ae97-0-4674-ae6d-2607-c022.ipv6dyn.netcologne.de) (Remote host closed the connection)
2025-11-18 11:37:39 merijn joins (~merijn@77.242.116.146)
2025-11-18 11:48:03 fp joins (~Thunderbi@2001:708:20:1406::10c5)
2025-11-18 11:56:58 <Leary> tomsmeding: Only by cheating egregiously: https://gist.github.com/LSLeary/91103a2fbb35d1c908802fa81d82c110
2025-11-18 11:57:57 <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 11:58:02 <Leary> involved*
2025-11-18 11:59:53 <tomsmeding> Leary: right -- I tried something like this too, and got the same warnings
2025-11-18 12:00:14 <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:00:22 <tomsmeding> beautiful!
2025-11-18 12:00:39 <tomsmeding> If it compiles, it works.
2025-11-18 12:02:46 Googulator79 is now known as Googulator
2025-11-18 12:08:23 srazkvt joins (~sarah@user/srazkvt)
2025-11-18 12:09:44 × srazkvt quits (~sarah@user/srazkvt) (Client Quit)
2025-11-18 12:09:59 srazkvt joins (~sarah@user/srazkvt)
2025-11-18 12:17:15 <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 12:18:57 <tomsmeding> yes
2025-11-18 12:19:40 <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 12:19:53 <tomsmeding> especially in the context of it being explicitly disallowed to write manual instances for Coercible
2025-11-18 12:33:24 wootehfoot joins (~wootehfoo@user/wootehfoot)
2025-11-18 12:34:41 L29Ah joins (~L29Ah@wikipedia/L29Ah)
2025-11-18 12:34:42 × Zemy_ quits (~Zemy@72.178.108.235) (Read error: Connection reset by peer)
2025-11-18 12:34:43 Zemy joins (~Zemy@2600:100c:b0ae:c0b:6c30:fdff:fe2e:3217)
2025-11-18 12:35:16 Zemy_ joins (~Zemy@72.178.108.235)
2025-11-18 12:37:59 <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 12:38:14 <tomsmeding> sure, they are public anyway :)
2025-11-18 12:39:05 × Zemy quits (~Zemy@2600:100c:b0ae:c0b:6c30:fdff:fe2e:3217) (Ping timeout: 245 seconds)
2025-11-18 12:40:40 <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 12:42:25 <tomsmeding> Leary: heh. Thanks for asking though, I appreciate it :)
2025-11-18 12:45:29 SlackCoder joins (~SlackCode@64-94-63-8.ip.weststar.net.ky)
2025-11-18 12:47:15 omidmash joins (~omidmash@user/omidmash)
2025-11-18 12:48:32 <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 12:48:32 <omidmash> instance with ansible?
2025-11-18 12:53:49 <omidmash> Ah I have just noticed the haskell-ops channel
2025-11-18 12:54:01 <tomsmeding> omidmash: solves only half of your problem, but the ghcup install script responds to the BOOTSTRAP_HASKELL_NONINTERACTIVE environment variable
2025-11-18 12:54:15 <kaol> If this is about a linux distribution going with the package provided by them is one option.
2025-11-18 13:05:43 × trickard quits (~trickard@cpe-62-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-11-18 13:05:57 trickard_ joins (~trickard@cpe-62-98-47-163.wireline.com.au)
2025-11-18 13:09:39 × trickard_ quits (~trickard@cpe-62-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-11-18 13:16:50 trickard_ joins (~trickard@cpe-62-98-47-163.wireline.com.au)
2025-11-18 13:25:56 × Nachtgespenst quits (~user@user/siracusa) (Quit: Bye!)
2025-11-18 13:26:40 × Googulator quits (~Googulato@2a01-036d-0106-0231-4475-80b4-5cdc-43d6.pool6.digikabel.hu) (Quit: Client closed)
2025-11-18 13:26:54 Square2 joins (~Square4@user/square)
2025-11-18 13:30:15 × fp quits (~Thunderbi@2001:708:20:1406::10c5) (Ping timeout: 252 seconds)
2025-11-18 13:35:56 fp joins (~Thunderbi@2001:708:150:10::7e06)
2025-11-18 13:44:47 Lycurgus joins (~juan@user/Lycurgus)
2025-11-18 13:51:02 spew joins (~spew@user/spew)
2025-11-18 13:54:15 <haskellbridge> <Morj> Is there no function in base to get the bit length of a positive Integer?
2025-11-18 13:54:30 <haskellbridge> <Morj> I would google myself but stackoverflow is down with cloudflare
2025-11-18 13:54:47 <lucabtz> isnt it just log2
2025-11-18 13:54:56 <lucabtz> with some flooring or ceiling
2025-11-18 13:55:23 <lucabtz> maybe not efficient though
2025-11-18 13:59:27 <haskellbridge> <Morj> There's logBase, but that's for Floating. I don't see a log2 function
2025-11-18 13:59:52 × bitdex_ quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")

All times are in UTC.