2026/02/23

Newest at the top

2026-02-23 16:01:00 +0100 <Milan_Vanca> Yeah interesting package.. Thank you again! :)
2026-02-23 15:58:29 +0100 <merijn> And that was the first code change since, like, I first made it in 2015 :p
2026-02-23 15:57:23 +0100 <merijn> I'm not super actively maintaining that package. On the other hand it's so damn simple it hasn't needed any code changes since 2019, so you should be fine using it :p
2026-02-23 15:55:15 +0100machinedgod(~machinedg@d172-219-48-230.abhsia.telus.net) machinedgod
2026-02-23 15:53:26 +0100Square2(~Square4@user/square) (Ping timeout: 268 seconds)
2026-02-23 15:52:24 +0100jakesyl_____(sid56879@id-56879.hampstead.irccloud.com)
2026-02-23 15:52:06 +0100jakesyl_____(sid56879@id-56879.hampstead.irccloud.com) (Server closed connection)
2026-02-23 15:47:37 +0100meinside(bnc4free@ip68.orange.bnc4free.com)
2026-02-23 15:47:26 +0100meinside(bnc4free@ip68.orange.bnc4free.com) (Server closed connection)
2026-02-23 15:46:05 +0100 <merijn> Milan_Vanca: So for recent enough ByteString (0.11.2.0) you don't have to implement liftResult (it has a default implementation using Lift), and you can just implement fromLiteralWithError or fromLiteral and it should just work
2026-02-23 15:43:45 +0100petrichor(~jez@user/petrichor) (Client Quit)
2026-02-23 15:41:37 +0100jle`(~jle`@2603:8001:3b00:11::1156) jle`
2026-02-23 15:40:54 +0100jle`(~jle`@2603:8001:3b00:11:e067:5c4c:c17c:7150) (Ping timeout: 260 seconds)
2026-02-23 15:40:48 +0100driib3180(~driib@vmi931078.contaboserver.net) driib
2026-02-23 15:40:26 +0100petrichor(~jez@user/petrichor) petrichor
2026-02-23 15:38:04 +0100 <Milan_Vanca> merijn: Interesting thanks :)
2026-02-23 15:25:58 +0100lortabac(~lortabac@mx1.fracta.dev) lortabac
2026-02-23 15:21:38 +0100Franciman(~Franciman@mx1.fracta.dev) Franciman
2026-02-23 15:21:00 +0100ec(~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
2026-02-23 15:20:49 +0100ec_(~ec@gateway/tor-sasl/ec) ec
2026-02-23 15:20:03 +0100driib3180(~driib@vmi931078.contaboserver.net) (Quit: Ping timeout (120 seconds))
2026-02-23 15:18:31 +0100Franciman(~Franciman@mx1.fracta.dev) (Read error: Connection reset by peer)
2026-02-23 15:18:24 +0100lortabac(~lortabac@mx1.fracta.dev) (Read error: Connection reset by peer)
2026-02-23 15:17:12 +0100 <merijn> Bytestring shipping it's own Lift is a MAJOR buff to that library though
2026-02-23 15:16:35 +0100 <merijn> Sure, but the examples are currently also my test :p
2026-02-23 15:16:32 +0100 <tomsmeding> if you explicitly say that this example works well only for bytestring >= ...
2026-02-23 15:16:21 +0100 <tomsmeding> I don't think it's necessary for examples in the documentation prose to compile with old dependencies
2026-02-23 15:15:53 +0100 <merijn> tomsmeding: Only if I bump the lower bound by a lot, though
2026-02-23 15:15:38 +0100 <merijn> Milan_Vanca: Well, that you go. You can just use validated-literals and get whatever implementation you want, efficient embedding AND compile time validation
2026-02-23 15:15:31 +0100 <tomsmeding> (I'll stop now)
2026-02-23 15:15:23 +0100 <tomsmeding> at that point there's little to maintain in two places any more, right, and you can just put the simplified instance in the haddocks, right? :)
2026-02-23 15:14:45 +0100 <merijn> So you can literally just not implement liftResult and it's instantly good
2026-02-23 15:14:40 +0100 <tomsmeding> :D
2026-02-23 15:14:33 +0100 <merijn> ByteString now just has it's own Lift instance using BytesPrimL :p
2026-02-23 15:14:21 +0100 <merijn> Cool beans
2026-02-23 15:14:18 +0100 <merijn> oh, wait
2026-02-23 15:13:42 +0100 <merijn> Since everything with a native `Lift` instance will just work
2026-02-23 15:13:28 +0100 <merijn> That said, you should only really need `liftResult` if you have weird datatype like ByteString to begin with
2026-02-23 15:13:14 +0100 <tomsmeding> have an extra build step that injects the example into haddocks!
2026-02-23 15:13:00 +0100 <tomsmeding> yes that's the downside
2026-02-23 15:12:54 +0100 <merijn> tomsmeding: The problem is that I don't wanna maintain the example in two places (docs and examples) :p
2026-02-23 15:12:50 +0100 <tomsmeding> (it's not like I practice what I preach all that well either)
2026-02-23 15:12:39 +0100 <merijn> It's just been years since I actually looked at it :p
2026-02-23 15:12:23 +0100 <tomsmeding> I'm not saying that you must or anything, but I think it would make the package more accessible if you wish
2026-02-23 15:12:09 +0100 <tomsmeding> also Even doesn't have the actual definition, does it?
2026-02-23 15:11:33 +0100 <merijn> ah, now, just the `Even` one
2026-02-23 15:11:25 +0100 <tomsmeding> there is "See the ByteString example module for an example." but it doesn't point to anything
2026-02-23 15:11:12 +0100 <tomsmeding> is it?
2026-02-23 15:11:03 +0100 <merijn> I thought?
2026-02-23 15:10:57 +0100 <merijn> tomsmeding: It is :p