Logs: liberachat/#haskell
| 2026-02-23 12:12:18 | → | shawwwn joins (uid6132@id-6132.helmsley.irccloud.com) |
| 2026-02-23 12:12:55 | × | Frostillicus quits (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) (Ping timeout: 265 seconds) |
| 2026-02-23 12:19:57 | × | oppili quits (~oppili@user/nerdypepper) (Server closed connection) |
| 2026-02-23 12:20:13 | → | oppili joins (~oppili@lewi-27-b2-v4wan-165682-cust505.vm4.cable.virginm.net) |
| 2026-02-23 12:20:13 | × | oppili quits (~oppili@lewi-27-b2-v4wan-165682-cust505.vm4.cable.virginm.net) (Changing host) |
| 2026-02-23 12:20:13 | → | oppili joins (~oppili@user/nerdypepper) |
| 2026-02-23 12:20:18 | <gentauro> | How does `Stackage` get packages? Do they just replicate those from `Hackage`? |
| 2026-02-23 12:24:57 | <Milan_Vanca> | gentauro: Isn't it just metadata? with some proxy to hackage? |
| 2026-02-23 12:31:59 | <gentauro> | Milan_Vanca: could be :) |
| 2026-02-23 12:32:16 | <gentauro> | or at least, that's what I'm hopping for :) |
| 2026-02-23 12:32:30 | × | myxos quits (~myxos@174-18-58-141.tcso.qwest.net) (Remote host closed the connection) |
| 2026-02-23 12:32:54 | → | myxos joins (~myxos@174-18-58-141.tcso.qwest.net) |
| 2026-02-23 12:36:25 | <Milan_Vanca> | gentauro: https://www.reddit.com/r/haskell/comments/5d27c2/whats_the_difference_between_stackage_and_hackage/ |
| 2026-02-23 12:37:35 | <Milan_Vanca> | One user comments that all packages are in hackage only. But who knows. You probably need to look at sources or intercept requests to see where they go. |
| 2026-02-23 12:40:39 | <kaol> | It's funny to see that the next big thing in AI is apparently comonads. |
| 2026-02-23 12:45:20 | → | haritz joins (~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8) |
| 2026-02-23 12:45:20 | × | haritz quits (~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8) (Changing host) |
| 2026-02-23 12:45:20 | → | haritz joins (~hrtz@user/haritz) |
| 2026-02-23 12:46:21 | <int-e> | or maybe it's just category theorists trying to attach themselves to an ongoing hype |
| 2026-02-23 12:49:49 | × | ec quits (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
| 2026-02-23 12:50:15 | → | ec joins (~ec@gateway/tor-sasl/ec) |
| 2026-02-23 12:56:26 | × | erty quits (~user@user/aeroplane) (Ping timeout: 256 seconds) |
| 2026-02-23 12:58:29 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 2026-02-23 13:02:48 | × | tromp quits (~textual@2001:1c00:3487:1b00:309d:e3b0:b1c4:2c66) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2026-02-23 13:04:18 | <kaol> | I just asked Gemini to explain EBMs and after staring at some code I asked that isn't this a comonad and it spouted an instance for it then. I haven't tried any of it yet. |
| 2026-02-23 13:05:31 | × | comerijn quits (~merijn@77.242.116.146) (Ping timeout: 268 seconds) |
| 2026-02-23 13:05:38 | <kaol> | I hate it when the text generation box compliments me. "Absolutely brilliant leap to make" yeah right. |
| 2026-02-23 13:06:57 | <kuribas> | I liked it much better when interactive with AI felt more like a conversation. |
| 2026-02-23 13:07:52 | → | tromp joins (~textual@2001:1c00:3487:1b00:309d:e3b0:b1c4:2c66) |
| 2026-02-23 13:09:57 | × | dibblego quits (~dibblego@haskell/developer/dibblego) (Server closed connection) |
| 2026-02-23 13:10:10 | → | dibblego joins (~dibblego@116-255-1-119.ip4.superloop.au) |
| 2026-02-23 13:10:10 | × | dibblego quits (~dibblego@116-255-1-119.ip4.superloop.au) (Changing host) |
| 2026-02-23 13:10:10 | → | dibblego joins (~dibblego@haskell/developer/dibblego) |
| 2026-02-23 13:11:29 | → | philopsos1 joins (~caecilius@user/philopsos) |
| 2026-02-23 13:12:26 | <int-e> | . o O ( Not only is this a truly astonishing insight, it's also absolutely brilliant! ) |
| 2026-02-23 13:14:46 | × | mrvdb quits (~mrvdb@185.92.221.186) (Server closed connection) |
| 2026-02-23 13:15:00 | → | mrvdb joins (~mrvdb@2001:19f0:5000:8582:5400:ff:fe07:3df5) |
| 2026-02-23 13:15:47 | → | merijn joins (~merijn@77.242.116.146) |
| 2026-02-23 13:19:42 | → | dyniec joins (~dyniec@dybiec.info) |
| 2026-02-23 13:20:54 | → | califax_ joins (~califax@user/califx) |
| 2026-02-23 13:24:37 | × | GoldsteinQ quits (~goldstein@goldstein.lol) (Server closed connection) |
| 2026-02-23 13:24:52 | → | GoldsteinQ joins (~goldstein@goldstein.lol) |
| 2026-02-23 13:25:06 | × | califax quits (~califax@user/califx) (Ping timeout: 252 seconds) |
| 2026-02-23 13:26:12 | × | califax_ quits (~califax@user/califx) (Ping timeout: 252 seconds) |
| 2026-02-23 13:26:58 | × | tromp quits (~textual@2001:1c00:3487:1b00:309d:e3b0:b1c4:2c66) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2026-02-23 13:27:02 | × | dyniec quits (~dyniec@dybiec.info) (Remote host closed the connection) |
| 2026-02-23 13:28:21 | → | califax joins (~califax@user/califx) |
| 2026-02-23 13:30:37 | → | dyniec joins (~dyniec@dybiec.info) |
| 2026-02-23 13:38:37 | × | CloneOfNone quits (~CloneOfNo@user/CloneOfNone) (Server closed connection) |
| 2026-02-23 13:38:52 | → | CloneOfNone joins (~CloneOfNo@user/CloneOfNone) |
| 2026-02-23 13:42:20 | <merijn> | Milan_Vanca: What are you using the IsString for bytestring for anyway? |
| 2026-02-23 13:49:55 | <Milan_Vanca> | merijn: If you look here https://www.stackage.org/package/wai it uses OverloadedStrings |
| 2026-02-23 13:50:41 | <merijn> | I mean, that's just an example |
| 2026-02-23 13:50:45 | <merijn> | You're not required to use that |
| 2026-02-23 13:51:17 | × | DragonMaus quits (~DragonMau@user/dragonmaus) (Server closed connection) |
| 2026-02-23 13:51:32 | → | DragonMaus joins (~DragonMau@user/dragonmaus) |
| 2026-02-23 13:54:33 | <Milan_Vanca> | Yes I know, but isn't problem about Wai/Warp using ByteStrings? SO I have to provide ByteString. So Either I create my own function String -> ByteString, and use it everywhere. Or I use OverloadedStrings and use default implementation of IsString instance. (Which don't work for all UTF8 chars that could be specified in String) |
| 2026-02-23 13:54:42 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 2026-02-23 13:55:57 | <Milan_Vanca> | Question... even with using OverloadedStrings there are still String instances that are converted to ByteString in runtime right? Compiler is not smart enough to "bake" ByteStrings to executable right? |
| 2026-02-23 13:56:45 | <__monty__> | Are there any that are converted at compile time? |
| 2026-02-23 13:57:15 | × | raincomplex quits (~rain@user/raincomplex) (Read error: Connection reset by peer) |
| 2026-02-23 13:58:36 | <int-e> | __monty__: kind of, because of https://github.com/haskell/bytestring/blob/master/Data/ByteString/Internal/Type.hs#L423-L426 |
| 2026-02-23 13:58:56 | <int-e> | (`unpackCstring#` is used by GHC to compile string literals) |
| 2026-02-23 13:58:57 | <Milan_Vanca> | __monty__: It is something that could theoretically be done. But had I been developer of GHC I would not do it. |
| 2026-02-23 13:59:10 | → | raincomplex joins (~rain@user/raincomplex) |
| 2026-02-23 13:59:35 | <c_wraith> | You can use Addr# literals with -XMagicHash, and then use them with unsafePackAddress |
| 2026-02-23 13:59:50 | <Milan_Vanca> | If I were... |
| 2026-02-23 13:59:57 | × | forell quits (~forell@user/forell) (Server closed connection) |
| 2026-02-23 14:00:15 | → | forell joins (~forell@user/forell) |
| 2026-02-23 14:00:19 | <c_wraith> | see https://hackage-content.haskell.org/package/bytestring-0.12.2.0/docs/Data-ByteString-Unsafe.html#v:unsafePackAddress |
| 2026-02-23 14:01:03 | <int-e> | (And I believe `unpackCString` exists because the amount of code generated for large string literals would otherwise be quite substantial.) |
| 2026-02-23 14:02:10 | <c_wraith> | I guess you could do some TH stuff to wrap unsafePackAddressLen at compile time, so it's O(1) at runtime |
| 2026-02-23 14:04:04 | <merijn> | __monty__: Yes |
| 2026-02-23 14:04:10 | <merijn> | Well, I guess not quite |
| 2026-02-23 14:04:30 | <merijn> | There's an inline conversion from the dense binary String representation of GHC directly to ByteString |
| 2026-02-23 14:04:46 | × | sm2n quits (ae95cb1267@user/sm2n) (Server closed connection) |
| 2026-02-23 14:04:54 | → | sm2n joins (ae95cb1267@user/sm2n) |
| 2026-02-23 14:04:58 | <merijn> | Also |
| 2026-02-23 14:05:49 | <merijn> | I have a package that does the conversion at compile time for you |
| 2026-02-23 14:06:19 | <merijn> | Although that still compiles a List[Word8] into your executable and I dunno how GHC bakes that :p |
| 2026-02-23 14:06:49 | <c_wraith> | you could update your package to use BytesPrimL |
| 2026-02-23 14:06:50 | tomsmeding | suspects a `[Word8]` is worse than a `String` literal because of GHC's UTF-8 packing |
| 2026-02-23 14:07:10 | <merijn> | c_wraith: My code doesn't do anything directly |
| 2026-02-23 14:07:24 | <merijn> | the ByteString thing is just an example usecase |
| 2026-02-23 14:07:35 | → | tromp joins (~textual@2001:1c00:3487:1b00:309d:e3b0:b1c4:2c66) |
| 2026-02-23 14:07:39 | → | Frostillicus joins (~Frostilli@pool-71-174-119-69.bstnma.fios.verizon.net) |
| 2026-02-23 14:07:45 | <merijn> | So using BytesPrimL is left as an exercise for the reader :p |
| 2026-02-23 14:08:10 | <tomsmeding> | merijn: "that still compiles a List[Word8] into your executable" -- is that also the user and not your package, then? |
| 2026-02-23 14:08:24 | <tomsmeding> | (I assume this is validated-literals?) |
| 2026-02-23 14:08:25 | <merijn> | tomsmeding: That's just my ByteString example, yeah |
| 2026-02-23 14:08:33 | <merijn> | tomsmeding: Yeah, I was thinking of this example: https://github.com/merijn/validated-literals/blob/master/examples/ByteString.hs |
| 2026-02-23 14:09:24 | <merijn> | If you "simply" rewrite `liftResult` to use BytesPrimL, then it should "Just Work (TM)" |
| 2026-02-23 14:10:19 | <tomsmeding> | merijn: suggestion: put that example (and perhaps others that you consider important) in the haddocks |
| 2026-02-23 14:10:45 | <tomsmeding> | I do not typically go to the repository looking for an examples/ directory when looking at documentation |
| 2026-02-23 14:10:57 | <merijn> | tomsmeding: It is :p |
| 2026-02-23 14:11:03 | <merijn> | I thought? |
| 2026-02-23 14:11:12 | <tomsmeding> | is it? |
| 2026-02-23 14:11:25 | <tomsmeding> | there is "See the ByteString example module for an example." but it doesn't point to anything |
| 2026-02-23 14:11:33 | <merijn> | ah, now, just the `Even` one |
| 2026-02-23 14:12:09 | <tomsmeding> | also Even doesn't have the actual definition, does it? |
All times are in UTC.