Logs: liberachat/#haskell
| 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.