Newest at the top
| 2026-02-23 15:38:04 +0100 | <Milan_Vanca> | merijn: Interesting thanks :) |
| 2026-02-23 15:25:58 +0100 | lortabac | (~lortabac@mx1.fracta.dev) lortabac |
| 2026-02-23 15:21:38 +0100 | Franciman | (~Franciman@mx1.fracta.dev) Franciman |
| 2026-02-23 15:21:00 +0100 | ec | (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
| 2026-02-23 15:20:49 +0100 | ec_ | (~ec@gateway/tor-sasl/ec) ec |
| 2026-02-23 15:20:03 +0100 | driib3180 | (~driib@vmi931078.contaboserver.net) (Quit: Ping timeout (120 seconds)) |
| 2026-02-23 15:18:31 +0100 | Franciman | (~Franciman@mx1.fracta.dev) (Read error: Connection reset by peer) |
| 2026-02-23 15:18:24 +0100 | lortabac | (~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 |
| 2026-02-23 15:10:45 +0100 | <tomsmeding> | I do not typically go to the repository looking for an examples/ directory when looking at documentation |
| 2026-02-23 15:10:19 +0100 | <tomsmeding> | merijn: suggestion: put that example (and perhaps others that you consider important) in the haddocks |
| 2026-02-23 15:09:24 +0100 | <merijn> | If you "simply" rewrite `liftResult` to use BytesPrimL, then it should "Just Work (TM)" |
| 2026-02-23 15:08:33 +0100 | <merijn> | tomsmeding: Yeah, I was thinking of this example: https://github.com/merijn/validated-literals/blob/master/examples/ByteString.hs |
| 2026-02-23 15:08:25 +0100 | <merijn> | tomsmeding: That's just my ByteString example, yeah |
| 2026-02-23 15:08:24 +0100 | <tomsmeding> | (I assume this is validated-literals?) |
| 2026-02-23 15:08:10 +0100 | <tomsmeding> | merijn: "that still compiles a List[Word8] into your executable" -- is that also the user and not your package, then? |
| 2026-02-23 15:07:45 +0100 | <merijn> | So using BytesPrimL is left as an exercise for the reader :p |
| 2026-02-23 15:07:39 +0100 | Frostillicus | (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) |
| 2026-02-23 15:07:35 +0100 | tromp | (~textual@2001:1c00:3487:1b00:309d:e3b0:b1c4:2c66) |
| 2026-02-23 15:07:24 +0100 | <merijn> | the ByteString thing is just an example usecase |
| 2026-02-23 15:07:10 +0100 | <merijn> | c_wraith: My code doesn't do anything directly |
| 2026-02-23 15:06:50 +0100 | tomsmeding | suspects a `[Word8]` is worse than a `String` literal because of GHC's UTF-8 packing |
| 2026-02-23 15:06:49 +0100 | <c_wraith> | you could update your package to use BytesPrimL |
| 2026-02-23 15:06:19 +0100 | <merijn> | Although that still compiles a List[Word8] into your executable and I dunno how GHC bakes that :p |