2024/11/19

Newest at the top

2024-11-19 16:40:30 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.4.2)
2024-11-19 16:37:01 +0100 <Leary> f-a: Guesswork: it does infer that much, but the constraint is not explicitly given so GHC tries to resolve it from top-level instances. `instance Mul a b c => Mul a [b] [c]` & `b ~ [c]` then put it into a loop.
2024-11-19 16:36:56 +0100 <f-a> adding f :: Mul a [b] b => Bool -> a -> b -> b
2024-11-19 16:36:11 +0100 <f-a> the example is take from the end of this paragraph, hellwolf https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/instances.html#instance-termination…
2024-11-19 16:35:57 +0100mari-estel(~mari-este@user/mari-estel) mari-estel
2024-11-19 16:35:47 +0100mari-estel(~mari-este@user/mari-estel) (Remote host closed the connection)
2024-11-19 16:35:26 +0100 <haskellbridge> <hellwolf> it seems a bottom is the only "valid" formular
2024-11-19 16:35:12 +0100 <haskellbridge> <hellwolf> Also, how "instance Mul a b c" can even have a parametric implementation? you know nothing about c
2024-11-19 16:34:17 +0100 <haskellbridge> <hellwolf> Perhaps removing the functional dependencies, since the first instance you have does not really comply with it?
2024-11-19 16:28:04 +0100weary-traveler(~user@user/user363627) user363627
2024-11-19 16:24:40 +0100son0p(~ff@2800:e6:4001:6cc3:2748:5c2a:65d9:57ac) son0p
2024-11-19 16:23:36 +0100 <f-a> https://pastebin.com/mzSwq1um UndecidableInstances question
2024-11-19 16:22:26 +0100alp(~alp@2001:861:8ca0:4940:789d:8e16:7be2:5e3) (Ping timeout: 248 seconds)
2024-11-19 16:21:15 +0100m5zs7k(aquares@web10.mydevil.net) m5zs7k
2024-11-19 16:21:14 +0100alp_(~alp@2001:861:8ca0:4940:483b:a21e:7fb4:76cd)
2024-11-19 16:20:51 +0100m5zs7k(aquares@web10.mydevil.net) (Read error: Connection reset by peer)
2024-11-19 16:18:26 +0100ubert(~Thunderbi@178.115.41.15.wireless.dyn.drei.com) ubert
2024-11-19 16:18:16 +0100f-a(ff2a@joined.irc.for-some.fun) f-a
2024-11-19 16:18:07 +0100ubert(~Thunderbi@178.115.41.15.wireless.dyn.drei.com) (Remote host closed the connection)
2024-11-19 16:18:00 +0100alp(~alp@2001:861:8ca0:4940:789d:8e16:7be2:5e3)
2024-11-19 16:17:37 +0100alp(~alp@2001:861:8ca0:4940:e2f7:5955:8ab2:2afc) (Remote host closed the connection)
2024-11-19 16:09:08 +0100divya`(~user@139.5.11.231) (Ping timeout: 244 seconds)
2024-11-19 16:00:08 +0100alexherbo2(~alexherbo@2a02-8440-3201-1725-d030-8edc-2b2b-9bf9.rev.sfr.net) (Remote host closed the connection)
2024-11-19 15:51:19 +0100tv(~tv@user/tv) tv
2024-11-19 15:50:45 +0100tv(~tv@user/tv) (Quit: derp)
2024-11-19 15:49:17 +0100euleritian(~euleritia@dynamic-176-001-192-221.176.1.pool.telefonica.de)
2024-11-19 15:48:39 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds)
2024-11-19 15:44:19 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de)
2024-11-19 15:43:33 +0100euleritian(~euleritia@ip4d16fc9f.dynamic.kabel-deutschland.de) (Ping timeout: 248 seconds)
2024-11-19 15:42:35 +0100ubert(~Thunderbi@178.115.41.15.wireless.dyn.drei.com) ubert
2024-11-19 15:42:18 +0100ubert(~Thunderbi@178.115.41.15.wireless.dyn.drei.com) (Read error: Connection reset by peer)
2024-11-19 15:37:04 +0100sawilagar(~sawilagar@user/sawilagar) sawilagar
2024-11-19 15:36:41 +0100sawilagar(~sawilagar@user/sawilagar) (Remote host closed the connection)
2024-11-19 15:34:18 +0100 <hellwolf> I bet vscode has it better.
2024-11-19 15:34:10 +0100 <hellwolf> emacs lsp haskell formatting just not ideal, not sure how to fix :/
2024-11-19 15:33:51 +0100 <haskellbridge> <hellwolf> https://kf8nh.com/_heisenbridge/media/matrix.org/UnZTcaLGKnpftQUaEXKifiUY/SmsNSH3-GDQ/image.png
2024-11-19 15:30:45 +0100 <bwe> dminuoso, mauke, Leary: Thanks for your inputs!
2024-11-19 15:24:08 +0100jinsun(~jinsun@user/jinsun) jinsun
2024-11-19 15:22:54 +0100jinsun(~jinsun@user/jinsun) (Ping timeout: 276 seconds)
2024-11-19 15:21:25 +0100mari-estel(~mari-este@user/mari-estel) mari-estel
2024-11-19 15:18:53 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-11-19 15:14:46 +0100 <bwe> dminuoso: wow, I've got it working now. It's magic.
2024-11-19 15:07:53 +0100 <dminuoso> With default implementations of sizeOfP
2024-11-19 15:07:28 +0100 <dminuoso> Though we could conceive a world of having `sizeOf :: Storable s => s -> Int`, `sizeOfP :: Storable s => proxy s -> Int`, `alignment :: Storable s => s -> Int` and `alignmentP :: Storable s => proxy s -> Int`
2024-11-19 15:05:30 +0100 <dminuoso> (Now in this particular example it could be argued, that sizeOf might also be applied to actual values not just undefined at a type)
2024-11-19 15:04:38 +0100 <dminuoso> Something like `sizeOf (Proxy :: Proxy T)` would have been cleaner.
2024-11-19 15:04:25 +0100 <dminuoso> You will find plenty of snippets like `sizeOf (undefined :: T)` in the wild.
2024-11-19 15:04:11 +0100 <dminuoso> bwe: Fun fact, the proxy pattern is what sizeOf in Storable should arguably use.
2024-11-19 15:02:26 +0100 <dminuoso> https://hackage.haskell.org/package/servant-server-0.20.2/docs/Servant-Server.html#t:HasServer
2024-11-19 15:02:23 +0100 <dminuoso> bwe: Take note that this is exactly how servant works its magic: