2025/02/12

Newest at the top

2025-02-12 02:20:27 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-12 02:18:07 +0100 <monochrom> I actually forgot whether Rust has anything like our Read.
2025-02-12 02:16:45 +0100Googulator(~Googulato@2a01-036d-0106-4074-758c-12a1-cbb4-05eb.pool6.digikabel.hu)
2025-02-12 02:16:31 +0100Googulator(~Googulato@2a01-036d-0106-4074-758c-12a1-cbb4-05eb.pool6.digikabel.hu) (Quit: Client closed)
2025-02-12 02:15:59 +0100 <monochrom> more precisely, debugging messages for devs.
2025-02-12 02:15:31 +0100 <zungi> Thank you, monochrom.
2025-02-12 02:15:31 +0100rvalue(~rvalue@user/rvalue) rvalue
2025-02-12 02:15:26 +0100kittiesCatty
2025-02-12 02:15:01 +0100 <monochrom> OK OK. One type class is for end-users, the other is for debugging messages.
2025-02-12 02:14:52 +0100rvalue(~rvalue@user/rvalue) (Read error: Connection reset by peer)
2025-02-12 02:14:25 +0100 <zungi> Hey, Haskell has two typeclasses, too; Haskell has Read and Show. zo'o sai
2025-02-12 02:13:54 +0100 <monochrom> Yes. It has two such type classes instead of one. :)
2025-02-12 02:13:35 +0100sprotte24(~sprotte24@p200300d16f05dc00448362a75cf21d07.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
2025-02-12 02:13:31 +0100 <zungi> monochrom: Can you summarize the Rust situation?
2025-02-12 02:13:05 +0100 <monochrom> More precisely, learned from our quarrels. :)
2025-02-12 02:12:10 +0100 <monochrom> About Show. Rust learned from us and have two such type classes instead of one.
2025-02-12 02:11:09 +0100xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2025-02-12 02:09:37 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-02-12 02:05:05 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-12 02:04:27 +0100califax_califax
2025-02-12 02:04:24 +0100califax(~califax@user/califx) (Ping timeout: 264 seconds)
2025-02-12 02:03:15 +0100califax_(~califax@user/califx) califx
2025-02-12 02:02:51 +0100acidjnk_new3(~acidjnk@p200300d6e7283f949088022741b454a0.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2025-02-12 01:56:36 +0100zungi(~tory@user/andrewchawk) andrewchawk
2025-02-12 01:54:50 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds)
2025-02-12 01:49:44 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-12 01:48:45 +0100attk(~attk@bras-base-toroon4524w-grc-50-70-31-30-224.dsl.bell.ca) (Remote host closed the connection)
2025-02-12 01:48:37 +0100 <Leary> kaol: If your ghc is recent enough, you have "multi-repl"; you can list multiple components or just do `cabal repl all`. For older GHC and ghciwatch, which don't support it, there's a nice way to write your cabal file such that you have a `dev` component that effectively combines the others without interfering with them: https://gist.github.com/LSLeary/6551f1dc3e25fe0d0d629b4ddb385359
2025-02-12 01:45:02 +0100szkl(uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2025-02-12 01:39:17 +0100alfiee(~alfiee@user/alfiee) (Ping timeout: 252 seconds)
2025-02-12 01:38:13 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2025-02-12 01:34:52 +0100alfiee(~alfiee@user/alfiee) alfiee
2025-02-12 01:31:42 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-12 01:25:32 +0100euouae(~euouae@user/euouae) ()
2025-02-12 01:25:06 +0100xff0x(~xff0x@2405:6580:b080:900:36c:449b:42ad:5dc6) (Ping timeout: 252 seconds)
2025-02-12 01:21:46 +0100Googulator(~Googulato@2a01-036d-0106-4074-758c-12a1-cbb4-05eb.pool6.digikabel.hu)
2025-02-12 01:21:29 +0100Googulator(~Googulato@2a01-036d-0106-4074-758c-12a1-cbb4-05eb.pool6.digikabel.hu) (Quit: Client closed)
2025-02-12 01:20:54 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 260 seconds)
2025-02-12 01:17:58 +0100 <EvanR> an extreme example of manually passing a dictionary, but it's pretty doable for 1 string
2025-02-12 01:17:13 +0100 <EvanR> just pass the string form (lazily perhaps, if you might not use it)
2025-02-12 01:16:55 +0100 <EvanR> like most examples of trying to save or restore Show instances
2025-02-12 01:16:42 +0100 <EvanR> the example of forall a . Show a => being inflexible, this would be much better just as "pass in a string instead of using a constraint"
2025-02-12 01:16:18 +0100merijn(~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn
2025-02-12 01:15:28 +0100 <EvanR> I just ignore Show and wish that the interactive interpreter could just show anything without any code or deriving, and this one off feature
2025-02-12 01:15:12 +0100 <dminuoso> Im not convinced calling those instances "bad" is sensible at this point.
2025-02-12 01:15:04 +0100 <ski> yes. i see no reason to abandon that vision, still
2025-02-12 01:14:43 +0100 <dminuoso> ski: That was the original intent some decades ago. The reality of hackage tells a different story.
2025-02-12 01:14:32 +0100 <EvanR> and if there's a better tool we can invent that other tool
2025-02-12 01:14:14 +0100 <EvanR> for other purposes it might not be the best tool
2025-02-12 01:14:10 +0100 <ski> (`Show' and `Read' are not for custom formatting. the instances on different types are meant to play together (`instance Show a => Show (Maybe a)',&c.). this, imho means that if your instance doesn't use valid Haskell source code format (either data constructors, or exported abstract operations), your instance is bad)