Home liberachat/#haskell: Logs Calendar

Logs: liberachat/#haskell

←Prev  Next→ 1,798,444 events total
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.