Home liberachat/#haskell: Logs Calendar

Logs: liberachat/#haskell

←Prev  Next→ 1,801,124 events total
2025-12-20 15:47:21 × dolio quits (~dolio@130.44.140.168) (Client Quit)
2025-12-20 15:51:25 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds)
2025-12-20 15:51:25 × trickard_ quits (~trickard@cpe-81-98-47-163.wireline.com.au) (Ping timeout: 246 seconds)
2025-12-20 15:51:46 trickard_ joins (~trickard@cpe-81-98-47-163.wireline.com.au)
2025-12-20 15:58:36 × trickard_ quits (~trickard@cpe-81-98-47-163.wireline.com.au) (Read error: Connection reset by peer)
2025-12-20 15:59:29 jmcantrell_ joins (~weechat@user/jmcantrell)
2025-12-20 16:02:20 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2025-12-20 16:02:22 trickard_ joins (~trickard@cpe-81-98-47-163.wireline.com.au)
2025-12-20 16:07:09 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2025-12-20 16:07:44 × DragonMaus quits (~dragonmau@user/dragonmaus) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2025-12-20 16:08:32 DragonMaus joins (~dragonmau@user/dragonmaus)
2025-12-20 16:10:03 × jmcantrell_ quits (~weechat@user/jmcantrell) (Ping timeout: 265 seconds)
2025-12-20 16:10:54 × bggd_ quits (~bgg@2a01:e0a:fd5:f510:ef44:34df:8bf4:c9da) (Remote host closed the connection)
2025-12-20 16:12:09 Anarchos joins (~Anarchos@91-161-254-16.subs.proxad.net)
2025-12-20 16:16:23 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2025-12-20 16:16:38 × rainbyte quits (~rainbyte@186.22.19.214) (Quit: rainbyte)
2025-12-20 16:20:25 × annamalai quits (~annamalai@157.32.142.48) (Ping timeout: 264 seconds)
2025-12-20 16:20:48 annamalai joins (~annamalai@157.32.143.203)
2025-12-20 16:20:55 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-20 16:21:10 Anarchos parts (~Anarchos@91-161-254-16.subs.proxad.net) ()
2025-12-20 16:23:00 × lucabtz quits (~lucabtz@user/lucabtz) (Read error: Connection reset by peer)
2025-12-20 16:23:21 rainbyte joins (~rainbyte@186.22.19.214)
2025-12-20 16:25:53 Googulator19 joins (~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu)
2025-12-20 16:25:53 × Googulator24 quits (~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed)
2025-12-20 16:28:19 × CiaoSen quits (~Jura@2a02:8071:64e1:da0:5a47:caff:fe78:33db) (Ping timeout: 260 seconds)
2025-12-20 16:29:26 × rainbyte quits (~rainbyte@186.22.19.214) (Quit: rainbyte)
2025-12-20 16:30:09 rainbyte joins (~rainbyte@186.22.19.214)
2025-12-20 16:32:11 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2025-12-20 16:37:13 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-12-20 16:38:23 lambda_gibbon joins (~lambda_gi@2603:7080:ee00:37d8:dcc4:d31b:c3d9:56cd)
2025-12-20 16:44:55 × lambda_gibbon quits (~lambda_gi@2603:7080:ee00:37d8:dcc4:d31b:c3d9:56cd) (Ping timeout: 245 seconds)
2025-12-20 16:47:59 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2025-12-20 16:48:01 lambda_gibbon joins (~lambda_gi@2603:7080:ee00:37d8:dcc4:d31b:c3d9:56cd)
2025-12-20 16:52:25 × lambda_gibbon quits (~lambda_gi@2603:7080:ee00:37d8:dcc4:d31b:c3d9:56cd) (Ping timeout: 245 seconds)
2025-12-20 16:52:50 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2025-12-20 16:55:39 Googulator28 joins (~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu)
2025-12-20 16:56:14 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2025-12-20 16:56:29 × Googulator19 quits (~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed)
2025-12-20 16:58:31 haritz joins (~hrtz@140.228.70.141)
2025-12-20 16:58:31 × haritz quits (~hrtz@140.228.70.141) (Changing host)
2025-12-20 16:58:31 haritz joins (~hrtz@user/haritz)
2025-12-20 17:00:24 <monochrom> Oh w00t new GHC!
2025-12-20 17:00:55 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-20 17:02:34 <monochrom> What is LoongArch? Is it like this: LongArch means 64 bits, LoongArch means 128 bits?
2025-12-20 17:05:11 <ski> and `LngArch' is `32' bits
2025-12-20 17:06:07 <monochrom> Ah, a new RISC arch. (Ironically, it has two 32-bit versions and a 64-bit version.)
2025-12-20 17:07:31 <monochrom> https://en.wikipedia.org/wiki/Loongson Ah, Loong is the Chinese character for dragon.
2025-12-20 17:08:08 <Franciman> hi, do FRP and logic programming mix well? Do you know of any approach to FRP based on logic programming in haskell?
2025-12-20 17:08:28 <Franciman> i wonder whether arrows are more conveniently seen as logic programs
2025-12-20 17:08:33 <monochrom> Then again, dragons in Chinese mythology are long, too. :)
2025-12-20 17:12:00 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2025-12-20 17:14:29 machinedgod joins (~machinedg@d75-159-126-101.abhsia.telus.net)
2025-12-20 17:14:39 <monochrom> If you have so much as Alternative, you can already think <|> as or on steroid, <*> as and on steroid, so yeah, especially true for parsing.
2025-12-20 17:15:31 trickard_ is now known as trickard
2025-12-20 17:15:38 <monochrom> (Arrow is stronger than Applicative.)
2025-12-20 17:16:14 <Franciman> true, Arrows are a strange beast
2025-12-20 17:16:23 <Franciman> each pure function is an arrow
2025-12-20 17:16:29 <monochrom> (Then the HXT library (for XML) adds <|> to Arrow so you get Alternative+Arrow)
2025-12-20 17:19:37 <Franciman> thanks
2025-12-20 17:19:42 <Franciman> for the pointer, monochrom
2025-12-20 17:19:59 <Franciman> I was thinking about arrows, because yampa uses them to define FRP networks
2025-12-20 17:24:01 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2025-12-20 17:35:26 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2025-12-20 17:36:02 × deptype quits (~deptype@2406:b400:3a:2dd5:aace:ec7b:7bb3:d2d8) (Remote host closed the connection)
2025-12-20 17:40:39 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-12-20 17:41:03 fp joins (~Thunderbi@130.233.70.102)
2025-12-20 17:42:44 × fp quits (~Thunderbi@130.233.70.102) (Client Quit)
2025-12-20 17:43:05 fp joins (~Thunderbi@2001:708:20:1406::1370)
2025-12-20 17:43:53 <hololeap> is there a typeclass that abstracts over maps, namely things like insert, lookup, union, singleton etc?
2025-12-20 17:44:56 <haskellbridge> <Morj> There is https://hackage.haskell.org/package/mono-traversable-1.0.21.0/docs/Data-Containers.html#t:IsMap
2025-12-20 17:45:00 <haskellbridge> <Morj> Also there are lenses
2025-12-20 17:45:54 Lycurgus joins (~juan@user/Lycurgus)
2025-12-20 17:46:20 <hololeap> mostly, I'd like to wrap maps in a newtype and be able to use generalized newtype deriving to get that stuff for free
2025-12-20 17:46:47 × Pozyomka quits (~pyon@user/pyon) (Quit: WeeChat 4.8.1)
2025-12-20 17:47:34 <hololeap> but, yeah that looks about right
2025-12-20 17:47:50 <monochrom> Okasaki used to have defined classes for that.
2025-12-20 17:48:51 <monochrom> Look for "edison".
2025-12-20 17:49:08 <monochrom> But it didn't take off. Nobody or too few people used it.
2025-12-20 17:50:17 <monochrom> It turns out that the extremely low tech way of "just change 'import qualified Data.X" to 'import qualified Data.Y'" is sufficient for abstraction and hot-swapping.
2025-12-20 17:51:07 <int-e> The `as Foo` renaming feature is really helpful for that
2025-12-20 17:51:11 merijn joins (~merijn@host-cl.cgnat-g.v4.dfn.nl)
2025-12-20 17:51:26 <haskellbridge> <Morj> Harder to derive a module from existing module though
2025-12-20 17:52:59 <monochrom> IMO ideally it is SML parametrizable modules, equivalently Haskell Backpack, not classes, that is the right mechanism for this kind of abstraction. Unfortunately, Backpack arrived too late, long after people had discovered and widely use the low-tech method. (Cf bytesting and text.)
2025-12-20 17:55:05 × itaipu quits (~itaipu@168.121.97.28) (Ping timeout: 256 seconds)
2025-12-20 17:55:44 × Googulator28 quits (~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu) (Quit: Client closed)
2025-12-20 17:55:48 <monochrom> But I can be talked into classes if it comes with associated data families or type families. :)
2025-12-20 17:55:51 itaipu joins (~itaipu@168.121.97.28)
2025-12-20 17:55:51 Googulator28 joins (~Googulato@2a01-036d-0106-48e4-3c18-a4bd-1bda-7c8b.pool6.digikabel.hu)
2025-12-20 17:55:55 × merijn quits (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds)
2025-12-20 17:57:10 <haskellbridge> <Morj> Given a module Data.HashMap sig Map, and I want to write a module MyHashMap that newtype-wraps the old one, like hоloleap is saying. To make MyHashMap implement Map, I don't think sml or ocaml have any solutions
2025-12-20 17:57:24 <haskellbridge> <Morj> Rust requires macros for a similar thing for examples
2025-12-20 17:57:39 <haskellbridge> <Morj> GeneralizedNewtypeDeriving is magic that replaces macros, but it's very useful magic
2025-12-20 17:59:51 <monochrom> Do you rule out hand-written forwarding? Because in SML I can write "module MyHashMap sig Map where insert = wrap . insert . unwrap; etc".
2025-12-20 18:00:16 <monochrom> But I can understand if you desire automation.
2025-12-20 18:00:27 <tomsmeding> yin geekosaur: re ghcup's bootstrap script, I made a PR https://github.com/haskell/ghcup-hs/pull/1301
2025-12-20 18:00:44 × fp quits (~Thunderbi@2001:708:20:1406::1370) (Ping timeout: 256 seconds)
2025-12-20 18:01:26 <monochrom> But ocaml has m4 so it's "OK". >:)
2025-12-20 18:02:14 <monochrom> Yeah GND is benovolent magic :)
2025-12-20 18:03:28 × chromoblob quits (~chromoblo@user/chromob1ot1c) (Remote host closed the connection)
2025-12-20 18:03:44 chromoblob joins (~chromoblo@user/chromob1ot1c)

All times are in UTC.