2024/04/12

2024-04-12 00:07:38 +0200stiell_(~stiell@gateway/tor-sasl/stiell) (Ping timeout: 260 seconds)
2024-04-12 00:08:24 +0200tri(~tri@ool-18bbef1a.static.optonline.net) (Remote host closed the connection)
2024-04-12 00:17:43 +0200YoungFrog(~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be) (Ping timeout: 272 seconds)
2024-04-12 00:18:37 +0200sawilagar(~sawilagar@user/sawilagar)
2024-04-12 00:22:50 +0200yin(~yin@user/zero)
2024-04-12 00:24:16 +0200stiell_(~stiell@gateway/tor-sasl/stiell)
2024-04-12 00:24:57 +0200YoungFrog(~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be)
2024-04-12 00:26:51 +0200sord937(~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
2024-04-12 00:30:48 +0200n8n(n8n@user/n8n) (Quit: WeeChat 4.2.2)
2024-04-12 00:33:29 +0200[Leary](~Leary]@user/Leary/x-0910699)
2024-04-12 00:36:26 +0200YoungFrog(~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be) (Ping timeout: 252 seconds)
2024-04-12 00:39:00 +0200YoungFrog(~youngfrog@2a02:a03f:c9db:fc00:dfc3:9e72:7820:1411)
2024-04-12 00:40:29 +0200johnw(~johnw@69.62.242.138) (Ping timeout: 240 seconds)
2024-04-12 00:41:15 +0200johnw(~johnw@69.62.242.138)
2024-04-12 00:52:23 +0200sagax(~sagax@user/sagax)
2024-04-12 00:56:33 +0200madeleine-sydney(~madeleine@c-76-155-235-153.hsd1.co.comcast.net)
2024-04-12 01:00:55 +0200acidjnk(~acidjnk@p200300d6e714dc13ec2e195541a6ee52.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2024-04-12 01:04:40 +0200sawilagar(~sawilagar@user/sawilagar) (Ping timeout: 260 seconds)
2024-04-12 01:08:20 +0200Noinia(~Frank@77-162-168-71.fixed.kpn.net) (Ping timeout: 268 seconds)
2024-04-12 01:09:28 +0200yin(~yin@user/zero) (Ping timeout: 256 seconds)
2024-04-12 01:09:42 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 260 seconds)
2024-04-12 01:10:34 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2024-04-12 01:14:25 +0200 <jackdk> monochrom: how is Arrow "between" Applicative and Monad when the kinds are different?
2024-04-12 01:14:37 +0200noumenon(~noumenon@113.51-175-156.customer.lyse.net) (Read error: Connection reset by peer)
2024-04-12 01:31:28 +0200pavonia(~user@user/siracusa)
2024-04-12 01:33:35 +0200 <monochrom> Short answer: If T is a Monad, then K a b = a -> T b makes K an Arrow. If K is an arrow, then K () is an Applicative (IIRC).
2024-04-12 01:34:04 +0200sroso(~sroso@user/SrOso)
2024-04-12 01:35:18 +0200 <monochrom> Long answer: https://homepages.inf.ed.ac.uk/wadler/topics/monads.html#arrows-and-idioms
2024-04-12 01:35:45 +0200 <jackdk> Thanks
2024-04-12 01:56:10 +0200mei(~mei@user/mei) (Remote host closed the connection)
2024-04-12 01:57:32 +0200talismanick(~user@2601:644:937c:ed10::ae5) (Remote host closed the connection)
2024-04-12 01:58:34 +0200mei(~mei@user/mei)
2024-04-12 02:02:29 +0200califax(~califax@user/califx) (Remote host closed the connection)
2024-04-12 02:03:53 +0200yaroot(~yaroot@p2987138-ipngn7501souka.saitama.ocn.ne.jp) (Remote host closed the connection)
2024-04-12 02:04:33 +0200yaroot(~yaroot@p2987138-ipngn7501souka.saitama.ocn.ne.jp)
2024-04-12 02:04:39 +0200califax(~califax@user/califx)
2024-04-12 02:06:24 +0200Ptival(~Ptival@64.16.51.186)
2024-04-12 02:10:53 +0200gmg(~user@user/gehmehgeh) (Quit: Leaving)
2024-04-12 02:13:31 +0200hgolden(~hgolden@2603-8000-9d00-3ed1-2678-8497-aa5c-7fa9.res6.spectrum.com) (Remote host closed the connection)
2024-04-12 02:15:11 +0200hgolden(~hgolden@2603-8000-9d00-3ed1-2678-8497-aa5c-7fa9.res6.spectrum.com)
2024-04-12 02:16:35 +0200 <Ptival> I'm trying something a bit too wizardy and could use some smart ideas. In my framework, there are a lot of newtypes `WrappedX` that are just wrapping instances of data types `RawX` with some metadata. Now I was writing too many `viewRawX :: WrappedX -> RawX` to my liking, so I decided to make a `HasRaw` type class with an associated `Raw` type
2024-04-12 02:16:35 +0200 <Ptival> family s.t. `Raw WrappedX = RawX`. All good, but now I'm still writing many `HasRaw` instances that are super boring. So I've been toying with using TH to generate `Wrapped`. Unfortunately, many of my raw datatypes contain recursive instances of the wrapped datatype. But now that I want to stage things, the raw datatype cannot be defined in terms
2024-04-12 02:16:36 +0200 <Ptival> of the to-be-generated wrapped one. I managed to work around this by introducing a reverse type family, `Wrapped`, so that in recursive instances within a `RawX` definition I can ask for a `Wrapped RawX`. But now comes the trouble of deriving standard stuff like Eq, Ord, Show... Now because nothing is known, a priori, about `Wrapped RawX`, I can no
2024-04-12 02:16:36 +0200 <Ptival> longer add the deriving clauses to the data type definition. What I can do, however, is have the TH generate paired standalong instances `deriving instance Eq RawX; deriving instance Eq WrappedX`. Everything works, but is there a simpler way to go about all this? :)
2024-04-12 02:17:26 +0200 <jackdk> https://hackage.haskell.org/package/lens-5.2.3/docs/Control-Lens-Wrapped.html and `makeWrapped` in Control.Lens.TH?
2024-04-12 02:17:36 +0200nuh^(~cd@c-98-242-74-66.hsd1.ga.comcast.net) (Remote host closed the connection)
2024-04-12 02:17:45 +0200 <jackdk> I don't know if that solves your recursive case
2024-04-12 02:29:40 +0200sp1ff(~user@c-24-21-45-157.hsd1.wa.comcast.net)
2024-04-12 02:33:05 +0200 <Ptival> Also, I cannot figure out how to write a TH newtype instance using the `d` quasiquoter, and a spliced type declaration. [d| newtype Concrete = ... |] works, but the moment I try to [d| newtype $(return name) = ... |] I get a "Malformed head of type or class declaration" error...
2024-04-12 02:34:56 +0200Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
2024-04-12 02:41:49 +0200 <Axman6> definitely feels like Wrapped to me. Also, Coerce
2024-04-12 02:47:18 +0200 <c_wraith> Ptival: you can't just splice into arbitrary positions. You can splice a pattern, a type, a declaration, or an expression. The name of a newtype is none of the above.
2024-04-12 02:50:45 +0200Square2(~Square4@user/square)
2024-04-12 02:52:39 +0200Square(~Square@user/square) (Ping timeout: 255 seconds)
2024-04-12 02:55:44 +0200waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 260 seconds)
2024-04-12 02:56:47 +0200 <Ptival> ah, that's the catch, thanks! so you pretty much have to use `newtypeD` for anything where the name is user-defined?
2024-04-12 02:57:27 +0200 <c_wraith> yeah, you'll have to construct it by hand.
2024-04-12 03:00:29 +0200doyougnu(~doyougnu@45.46.170.68)
2024-04-12 03:03:38 +0200Noinia(~Frank@77-162-168-71.fixed.kpn.net)
2024-04-12 03:07:31 +0200philopsos(~caecilius@user/philopsos)
2024-04-12 03:11:14 +0200aforemny(~aforemny@2001:9e8:6cdd:9e00:4b8:3ff7:6e54:7c55)
2024-04-12 03:12:19 +0200juri_(~juri@implicitcad.org) (Ping timeout: 260 seconds)
2024-04-12 03:12:31 +0200aforemny_(~aforemny@2001:9e8:6cc8:c200:892:31c9:646a:fd40) (Ping timeout: 256 seconds)
2024-04-12 03:22:27 +0200juri_(~juri@implicitcad.org)
2024-04-12 03:24:16 +0200Ptival(~Ptival@64.16.51.186) (Ping timeout: 250 seconds)
2024-04-12 03:34:03 +0200raehik(~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net)
2024-04-12 03:50:16 +0200otto_s(~user@p4ff2773c.dip0.t-ipconnect.de) (Ping timeout: 255 seconds)
2024-04-12 03:50:47 +0200crook1389(uid581388@id-581388.ilkley.irccloud.com)
2024-04-12 03:51:46 +0200otto_s(~user@p4ff27d41.dip0.t-ipconnect.de)
2024-04-12 04:15:07 +0200SteelBlueSilk(~SteelBlue@user/SteelBlueSilk) (Quit: ZNC 1.8.2+deb3.1 - https://znc.in)
2024-04-12 04:15:46 +0200[Leary](~Leary]@user/Leary/x-0910699) (Remote host closed the connection)
2024-04-12 04:15:57 +0200SteelBlueSilk(~SteelBlue@c-98-42-249-36.hsd1.ca.comcast.net)
2024-04-12 04:16:00 +0200[Leary](~Leary]@user/Leary/x-0910699)
2024-04-12 04:16:06 +0200SteelBlueSilk(~SteelBlue@c-98-42-249-36.hsd1.ca.comcast.net) (Changing host)
2024-04-12 04:16:06 +0200SteelBlueSilk(~SteelBlue@user/SteelBlueSilk)
2024-04-12 04:17:13 +0200mrmr1553343(~mrmr@user/mrmr)
2024-04-12 04:17:33 +0200raehik(~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) (Ping timeout: 252 seconds)
2024-04-12 04:18:35 +0200mrmr155334(~mrmr@user/mrmr) (Ping timeout: 264 seconds)
2024-04-12 04:18:35 +0200mrmr1553343mrmr155334
2024-04-12 04:20:06 +0200ChaiTRex(~ChaiTRex@user/chaitrex) (Ping timeout: 260 seconds)
2024-04-12 04:22:17 +0200ChaiTRex(~ChaiTRex@user/chaitrex)
2024-04-12 04:26:17 +0200machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 268 seconds)
2024-04-12 04:28:56 +0200Square2(~Square4@user/square) (Remote host closed the connection)
2024-04-12 04:29:35 +0200Square2(~Square4@user/square)
2024-04-12 04:29:53 +0200tri(~tri@ool-18bc2e74.dyn.optonline.net)
2024-04-12 04:34:37 +0200tri(~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 268 seconds)
2024-04-12 04:35:25 +0200madeleine-sydney(~madeleine@c-76-155-235-153.hsd1.co.comcast.net) (Quit: Konversation terminated!)
2024-04-12 04:37:22 +0200halloy4906(~halloy490@broadband-5-228-80-43.ip.moscow.rt.ru)
2024-04-12 04:37:54 +0200halloy4906reki
2024-04-12 04:40:58 +0200 <reki> Hi all! Can you recommend a place to showcase a project? I've been doing some research with Haskell UI
2024-04-12 04:42:01 +0200Square2(~Square4@user/square) (Ping timeout: 268 seconds)
2024-04-12 04:43:55 +0200AkechiShiro(~licht@user/akechishiro) (Quit: WeeChat 4.2.2)
2024-04-12 04:44:15 +0200terrorjack(~terrorjac@2a01:4f8:c17:87f8::) (Quit: The Lounge - https://thelounge.chat)
2024-04-12 04:48:42 +0200terrorjack(~terrorjac@2a01:4f8:c17:87f8::)
2024-04-12 04:49:41 +0200td_(~td@i5387091E.versanet.de) (Ping timeout: 240 seconds)
2024-04-12 04:51:54 +0200td_(~td@i53870902.versanet.de)
2024-04-12 04:58:02 +0200ddellacosta(~ddellacos@ool-44c73d29.dyn.optonline.net)
2024-04-12 05:06:54 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2024-04-12 05:08:41 +0200ubert(~Thunderbi@2a02:8109:ab8a:5a00:b96:446c:954e:ac70) (Ping timeout: 256 seconds)
2024-04-12 05:15:38 +0200euleritian(~euleritia@dynamic-176-006-187-251.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-04-12 05:15:56 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-04-12 05:17:38 +0200vnogueira_(~vnogueira@user/vnogueira) (Remote host closed the connection)
2024-04-12 05:18:01 +0200vnogueira(~vnogueira@user/vnogueira)
2024-04-12 05:19:11 +0200lockywolf(~lockywolf@public.lockywolf.net) (Quit: ZNC 1.8.2 - https://znc.in)
2024-04-12 05:20:49 +0200lockywolf(~lockywolf@public.lockywolf.net)
2024-04-12 05:25:11 +0200Ptival(~Ptival@2601:1c0:4580:7650:dc80:9d56:2b92:31a4)
2024-04-12 05:29:38 +0200 <sm> hi reki. The haskell discourse, haskell reddit if you like, and #haskell rooms on Libera and Matrix are good places.
2024-04-12 05:30:00 +0200 <sm> Also the #haskell tag on mastodon.
2024-04-12 05:30:37 +0200Ptival(~Ptival@2601:1c0:4580:7650:dc80:9d56:2b92:31a4) (Quit: Client closed)
2024-04-12 05:37:47 +0200dsrt^(~cd@c-98-242-74-66.hsd1.ga.comcast.net)
2024-04-12 05:46:34 +0200 <reki> awesome, thank you!
2024-04-12 05:47:41 +0200aforemny(~aforemny@2001:9e8:6cdd:9e00:4b8:3ff7:6e54:7c55) (Ping timeout: 272 seconds)
2024-04-12 05:47:50 +0200aforemny_(~aforemny@i59F516ED.versanet.de)
2024-04-12 05:48:08 +0200 <energizer> Num says "The Haskell Report defines no laws for Num. However, (+) and (*) are customarily expected to define a ring and have the following properties: Associativity of (+) ..."
2024-04-12 05:48:27 +0200 <reki> Here's the project I've been working on. It's Haskell wrapper for Iced (a Rust gui library).
2024-04-12 05:48:30 +0200 <reki> https://github.com/ibaryshnikov/iced-hs
2024-04-12 05:49:04 +0200 <energizer> but + isnt associative on Float. what are we to make of this violation?
2024-04-12 05:52:23 +0200lockywolf(~lockywolf@public.lockywolf.net) (Quit: ZNC 1.8.2 - https://znc.in)
2024-04-12 05:53:57 +0200lockywolf(~lockywolf@public.lockywolf.net)
2024-04-12 05:54:27 +0200 <energizer> like, what's the point of having + be *usually* associative if you can't write code that assumes it's associative?
2024-04-12 05:54:36 +0200 <energizer> (because sometimes it isn't associative)
2024-04-12 05:55:57 +0200chiselfuse(~chiselfus@user/chiselfuse) (Remote host closed the connection)
2024-04-12 05:57:20 +0200mei(~mei@user/mei) (Remote host closed the connection)
2024-04-12 05:57:21 +0200chiselfuse(~chiselfus@user/chiselfuse)
2024-04-12 05:59:45 +0200mei(~mei@user/mei)
2024-04-12 06:05:11 +0200peterbecich(~Thunderbi@47.229.123.186)
2024-04-12 06:12:42 +0200michalz(~michalz@185.246.207.218)
2024-04-12 06:22:32 +0200 <c_wraith> energizer: in fact, I'd expect "usually" is there because that's not true for floating-point.
2024-04-12 06:30:12 +0200peterbecich(~Thunderbi@47.229.123.186) (Ping timeout: 256 seconds)
2024-04-12 06:45:46 +0200incertia(~incertia@209.122.137.252)
2024-04-12 06:48:11 +0200 <sm> reki: sounds possibly exciting!
2024-04-12 06:48:20 +0200 <sm> thanks for sharing it
2024-04-12 06:48:38 +0200 <sm> #haskell-game may also be interested
2024-04-12 06:55:13 +0200tri(~tri@ool-18bc2e74.dyn.optonline.net)
2024-04-12 06:55:33 +0200lockywolf(~lockywolf@public.lockywolf.net) (Quit: ZNC 1.8.2 - https://znc.in)
2024-04-12 06:56:41 +0200madeleine-sydney(~madeleine@c-76-155-235-153.hsd1.co.comcast.net)
2024-04-12 06:57:05 +0200lockywolf(~lockywolf@public.lockywolf.net)
2024-04-12 06:59:25 +0200tri(~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 246 seconds)
2024-04-12 07:02:29 +0200down200(~down200@shell.lug.mtu.edu) (Ping timeout: 240 seconds)
2024-04-12 07:05:11 +0200zetef(~quassel@5.2.182.99)
2024-04-12 07:10:03 +0200mrmr155334(~mrmr@user/mrmr) (Quit: Ping timeout (120 seconds))
2024-04-12 07:10:28 +0200mrmr155334(~mrmr@user/mrmr)
2024-04-12 07:12:56 +0200 <[Leary]> energizer: The Num docs ditheringly fail to assert the "customarily expected properties" as true laws, but you should take them as such in defacto modern Haskell, absent an updated Report to make them official.
2024-04-12 07:13:14 +0200 <[Leary]> And it's morally correct to assume the typeclass laws hold when taking a constraint.
2024-04-12 07:13:23 +0200 <energizer> except for Float?
2024-04-12 07:13:26 +0200 <reki> @sm awesome, thanks!
2024-04-12 07:13:26 +0200lambdabotsmashes a lamp on awesome, thanks!'s head
2024-04-12 07:13:33 +0200 <reki> woops
2024-04-12 07:13:40 +0200 <reki> what do I type to reply?
2024-04-12 07:13:46 +0200 <energizer> just the name, no @
2024-04-12 07:13:58 +0200 <reki> sm thanks!
2024-04-12 07:14:04 +0200 <reki> didn't work
2024-04-12 07:14:07 +0200 <energizer> it worked
2024-04-12 07:14:12 +0200 <[Leary]> Float violates the Ord laws too. That's not ideal, but it is pragmatic.
2024-04-12 07:14:31 +0200 <reki> nice. I don't see it in the ui
2024-04-12 07:14:41 +0200 <geekosaur> this is IRC, not Discord
2024-04-12 07:14:51 +0200 <geekosaur> the UI is… undramatic
2024-04-12 07:14:59 +0200 <reki> gonna learn it
2024-04-12 07:15:09 +0200 <reki> I've heard some great communities are here
2024-04-12 07:15:15 +0200 <reki> like Lisp
2024-04-12 07:15:30 +0200 <reki> I also came here for Haskell :3
2024-04-12 07:15:49 +0200 <[Leary]> energizer: Unlawful instances are like unsafe functions. When writing an unlawful instance, it's the programmer's responsibility to document violations in detail. When selecting an unlawful instance, it's the programmers responsibility to ensure the violations don't threaten the correctness of their program. But everyone else gets to assume safety.
2024-04-12 07:16:09 +0200 <[Leary]> (and lawfulness)
2024-04-12 07:17:38 +0200 <jackdk> It's more complicated than that though, because if you write some code that uses a typeclass, then the presence/absence of the instance is the thing that tells you whether or not it works. You can't write `foo :: (SomeConstraint a, a is not any of these unlawful instances X Y Z) => a -> whatever`
2024-04-12 07:17:39 +0200 <energizer> how do you ensure violations don't cause incorrectness if you're violating the documented assumptions of your dependencies?
2024-04-12 07:18:04 +0200 <mauke> reki: IRC doesn't really have replies, but most clients highlight messages that start with your nick
2024-04-12 07:18:36 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 255 seconds)
2024-04-12 07:18:39 +0200 <jackdk> energizer: my view is that you don't write law-violating instances
2024-04-12 07:18:54 +0200 <jackdk> energizer: and I try not to think about Num too much because otherwise I get sad
2024-04-12 07:19:27 +0200 <reki> mauke: that's cool! The UI looks cosy
2024-04-12 07:19:58 +0200 <mauke> which client are you using?
2024-04-12 07:21:16 +0200euleritian(~euleritia@dynamic-176-006-187-251.176.6.pool.telefonica.de)
2024-04-12 07:24:07 +0200 <reki> Halloy, the one written in Rust
2024-04-12 07:24:34 +0200 <reki> it also built in Iced, I feel like using it :)
2024-04-12 07:26:24 +0200tcard_(~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Quit: Leaving)
2024-04-12 07:26:59 +0200 <[Leary]> jackdk: You don't need to write that, you just make the only sane decision you can: defer responsibility to the usage site where `SomeConstraint A` is actually selected and supplied to `foo`. A programmer who supplies an unlawful instance must read your implementation details or perform extensive testing to know whether or not /they'll/ break /their/ program. /Yours/ is perfectly correct.
2024-04-12 07:27:44 +0200 <jackdk> I don't disagree, but then you enter a world where fearless coding against abstractions becomes more and more difficult
2024-04-12 07:27:51 +0200 <jackdk> And I'd rather not enter that world
2024-04-12 07:28:31 +0200tcard(~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303)
2024-04-12 07:32:46 +0200euphores(~SASL_euph@user/euphores)
2024-04-12 07:33:27 +0200euphores(~SASL_euph@user/euphores) (Client Quit)
2024-04-12 07:34:21 +0200 <haskellbridge> <s​m> savage, lambdabot!
2024-04-12 07:35:05 +0200 <haskellbridge> <s​m> we need a bot tamer
2024-04-12 07:36:15 +0200 <haskellbridge> <s​m> reki: I was just looking at the iced sample apps. Have you built any with you haskell lib yet ?
2024-04-12 07:39:51 +0200euphores(~SASL_euph@user/euphores)
2024-04-12 07:40:47 +0200down200(~down200@shell.lug.mtu.edu)
2024-04-12 07:41:27 +0200 <reki> sm: only the examples so far
2024-04-12 07:41:54 +0200 <reki> I'm porting original iced examples to Haskell, it's possible to build and run them
2024-04-12 07:42:11 +0200 <haskellbridge> <s​m> excellent
2024-04-12 07:42:32 +0200 <haskellbridge> <s​m> some screenshots in the readme will help (even if the same as iced's)
2024-04-12 07:43:00 +0200 <reki> all the layout examples are good to go, one of the next priorities is handling IO/networking
2024-04-12 07:43:10 +0200 <reki> will do, thank you for the feedback!
2024-04-12 07:43:41 +0200 <haskellbridge> <s​m> code looks very nice: https://github.com/ibaryshnikov/iced-hs/blob/master/examples/textEditor/main.hs
2024-04-12 07:44:24 +0200 <reki> that was the goal
2024-04-12 07:44:48 +0200 <reki> I also recommend responsive example
2024-04-12 07:44:50 +0200 <reki> https://github.com/ibaryshnikov/iced-hs/blob/master/examples/responsive/main.hs
2024-04-12 07:45:52 +0200 <reki> you can decide if you want to show the contents depenging on the container size
2024-04-12 07:56:14 +0200sord937(~sord937@gateway/tor-sasl/sord937)
2024-04-12 07:57:37 +0200bilegeek(~bilegeek@2600:1008:b018:559d:69a9:fcad:2125:36b1)
2024-04-12 08:00:03 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2024-04-12 08:06:07 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2024-04-12 08:06:49 +0200[Leary](~Leary]@user/Leary/x-0910699) (Remote host closed the connection)
2024-04-12 08:08:34 +0200ridcully(~ridcully@p508accab.dip0.t-ipconnect.de) (Ping timeout: 255 seconds)
2024-04-12 08:10:35 +0200[Leary](~Leary]@user/Leary/x-0910699)
2024-04-12 08:13:59 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-04-12 08:26:07 +0200son0p(~ff@191.104.17.254) (Ping timeout: 255 seconds)
2024-04-12 08:37:23 +0200ridcully(~ridcully@p508accab.dip0.t-ipconnect.de)
2024-04-12 08:37:46 +0200danza_(~francesco@fi-19-196-66.service.infuturo.it)
2024-04-12 08:39:50 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
2024-04-12 08:44:06 +0200bliminse(~bliminse@user/bliminse) (Ping timeout: 255 seconds)
2024-04-12 08:45:54 +0200yeitrafferin(~user@2a04:4540:720c:aa00:1829:9d43:6f92:10c3)
2024-04-12 08:45:54 +0200bliminse(~bliminse@user/bliminse)
2024-04-12 08:46:51 +0200igemnace(~ian@user/igemnace)
2024-04-12 08:48:03 +0200zetef(~quassel@5.2.182.99) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2024-04-12 08:52:40 +0200igemnace(~ian@user/igemnace) (Read error: Connection reset by peer)
2024-04-12 09:01:58 +0200bgt32(~keutoi@182.65.26.208)
2024-04-12 09:05:45 +0200 <bgt32> Is there are website that hosts previous versions of ghc, I want 8.10? something like tio.run...
2024-04-12 09:09:53 +0200igemnace(~ian@user/igemnace)
2024-04-12 09:11:27 +0200euleritian(~euleritia@dynamic-176-006-187-251.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-04-12 09:11:47 +0200euleritian(~euleritia@77.22.252.56)
2024-04-12 09:11:49 +0200SteelBlueSilk(~SteelBlue@user/SteelBlueSilk) (Quit: ZNC 1.8.2+deb3.1 - https://znc.in)
2024-04-12 09:14:05 +0200SteelBlueSilk(~SteelBlue@c-98-42-249-36.hsd1.ca.comcast.net)
2024-04-12 09:14:13 +0200SteelBlueSilk(~SteelBlue@c-98-42-249-36.hsd1.ca.comcast.net) (Changing host)
2024-04-12 09:14:13 +0200SteelBlueSilk(~SteelBlue@user/SteelBlueSilk)
2024-04-12 09:14:50 +0200m1dnight(~christoph@82.146.125.185) (Quit: WeeChat 4.2.1)
2024-04-12 09:15:17 +0200m1dnight(~christoph@82.146.125.185)
2024-04-12 09:18:29 +0200acidjnk(~acidjnk@p200300d6e714dc90b8d1e6ddf67ed27c.dip0.t-ipconnect.de)
2024-04-12 09:20:33 +0200crook1389(uid581388@id-581388.ilkley.irccloud.com) (Quit: Connection closed for inactivity)
2024-04-12 09:22:36 +0200 <dminuoso> lyxia: Thanks! The suggestion was spot on: https://gist.github.com/dminuoso/8904237b4a8c6b30265b32e748766af2 b
2024-04-12 09:24:41 +0200 <dminuoso> bgt32: ghcup or nix can both provide 8.10
2024-04-12 09:24:49 +0200 <dminuoso> bgt32: Alternatively you can download GHC directly from https://www.haskell.org/ghc/download.html if you want to manage it manually
2024-04-12 09:27:20 +0200ft(~ft@p4fc2a20e.dip0.t-ipconnect.de) (Quit: leaving)
2024-04-12 09:30:23 +0200target_i(~target_i@user/target-i/x-6023099)
2024-04-12 09:33:49 +0200 <sm> stack, too
2024-04-12 09:35:15 +0200 <sm> https://play.haskell.org too
2024-04-12 09:36:24 +0200ridcully(~ridcully@p508accab.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
2024-04-12 09:37:39 +0200dsrt^(~cd@c-98-242-74-66.hsd1.ga.comcast.net) (Ping timeout: 252 seconds)
2024-04-12 09:45:10 +0200vpan(~vpan@212.117.1.172)
2024-04-12 09:45:28 +0200vpanGuest5116
2024-04-12 09:45:48 +0200Guest5116vpan
2024-04-12 09:48:48 +0200danza_(~francesco@fi-19-196-66.service.infuturo.it) (Ping timeout: 268 seconds)
2024-04-12 09:49:12 +0200 <albet70> how to get two item combination in a list like [1,2,3] -> [1,2] [1,3], [2,3]
2024-04-12 09:50:01 +0200 <c_wraith> you want to preserve order?
2024-04-12 09:50:59 +0200 <ski> > [[x,y] | x:xs <- [0,1,2,3],y <- xs]
2024-04-12 09:51:00 +0200 <lambdabot> error:
2024-04-12 09:51:01 +0200 <lambdabot> • No instance for (Num [()]) arising from a use of ‘e_10123’
2024-04-12 09:51:01 +0200 <lambdabot> • In the expression: e_10123
2024-04-12 09:51:12 +0200 <ski> > [[x,y] | x:xs <- tails [0,1,2,3],y <- xs]
2024-04-12 09:51:13 +0200 <lambdabot> [[0,1],[0,2],[0,3],[1,2],[1,3],[2,3]]
2024-04-12 09:52:24 +0200 <ski> (you could also use `StateT [t] []' for this)
2024-04-12 09:55:31 +0200CiaoSen(~Jura@2a05:5800:297:7200:e6b9:7aff:fe80:3d03)
2024-04-12 10:04:46 +0200econo_(uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity)
2024-04-12 10:05:42 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-04-12 10:07:22 +0200Franciman(~Franciman@mx1.fracta.dev) (Ping timeout: 255 seconds)
2024-04-12 10:15:20 +0200haskell_(~haskell@75-164-217-161.ptld.qwest.net)
2024-04-12 10:15:35 +0200philopsos(~caecilius@user/philopsos) (Ping timeout: 272 seconds)
2024-04-12 10:16:22 +0200haskell_(~haskell@75-164-217-161.ptld.qwest.net) (Remote host closed the connection)
2024-04-12 10:19:05 +0200CiaoSen(~Jura@2a05:5800:297:7200:e6b9:7aff:fe80:3d03) (Quit: CiaoSen)
2024-04-12 10:30:49 +0200danse-nr3(~danse-nr3@fi-19-195-0.service.infuturo.it)
2024-04-12 10:31:24 +0200danse-nr3(~danse-nr3@fi-19-195-0.service.infuturo.it) (Remote host closed the connection)
2024-04-12 10:31:49 +0200danse-nr3(~danse-nr3@fi-19-195-0.service.infuturo.it)
2024-04-12 10:33:00 +0200destituion(~destituio@2a02:2121:107:22da:b93a:2071:f42:9bef) (Ping timeout: 255 seconds)
2024-04-12 10:33:42 +0200destituion(~destituio@85.221.111.174)
2024-04-12 10:33:58 +0200son0p(~ff@167.0.178.102)
2024-04-12 10:41:06 +0200yeitrafferin(~user@2a04:4540:720c:aa00:1829:9d43:6f92:10c3) (Ping timeout: 255 seconds)
2024-04-12 10:42:25 +0200Etabeta1(~Etabeta1@176.207.241.56) (Changing host)
2024-04-12 10:42:25 +0200Etabeta1(~Etabeta1@user/meow/Etabeta1)
2024-04-12 10:43:52 +0200ridcully(~ridcully@p508accab.dip0.t-ipconnect.de)
2024-04-12 10:44:15 +0200yeitrafferin(~user@149.224.94.221.dynamic-pppoe.dt.ipv4.wtnet.de)
2024-04-12 10:54:44 +0200tzh(~tzh@c-73-164-206-160.hsd1.or.comcast.net) (Quit: zzz)
2024-04-12 10:58:45 +0200pyooque(~puke@user/puke)
2024-04-12 10:58:45 +0200puke(~puke@user/puke) (Killed (tantalum.libera.chat (Nickname regained by services)))
2024-04-12 10:58:45 +0200pyooquepuke
2024-04-12 11:01:49 +0200ridcully(~ridcully@p508accab.dip0.t-ipconnect.de) (Quit: WeeChat 4.2.1)
2024-04-12 11:02:56 +0200ridcully(~ridcully@p508accab.dip0.t-ipconnect.de)
2024-04-12 11:03:15 +0200ridcully(~ridcully@p508accab.dip0.t-ipconnect.de) (Client Quit)
2024-04-12 11:05:16 +0200ridcully(~ridcully@p508accab.dip0.t-ipconnect.de)
2024-04-12 11:10:08 +0200danse-nr3(~danse-nr3@fi-19-195-0.service.infuturo.it) (Ping timeout: 256 seconds)
2024-04-12 11:10:30 +0200danse-nr3(~danse-nr3@151.43.242.233)
2024-04-12 11:12:13 +0200bilegeek(~bilegeek@2600:1008:b018:559d:69a9:fcad:2125:36b1) (Quit: Leaving)
2024-04-12 11:13:03 +0200sagax(~sagax@user/sagax) (Ping timeout: 256 seconds)
2024-04-12 11:15:29 +0200actioninja5(~actioninj@user/actioninja)
2024-04-12 11:16:07 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-04-12 11:17:36 +0200actioninja(~actioninj@user/actioninja) (Ping timeout: 268 seconds)
2024-04-12 11:17:37 +0200actioninja5actioninja
2024-04-12 11:21:17 +0200chele(~chele@user/chele)
2024-04-12 11:21:36 +0200bgt32(~keutoi@182.65.26.208) (Read error: Connection reset by peer)
2024-04-12 11:31:46 +0200jorj(~jorj@user/jorj)
2024-04-12 11:32:56 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-04-12 11:41:40 +0200madeleine-sydney(~madeleine@c-76-155-235-153.hsd1.co.comcast.net) (Quit: Konversation terminated!)
2024-04-12 11:42:52 +0200driib(~driib@vmi931078.contaboserver.net) (Quit: The Lounge - https://thelounge.chat)
2024-04-12 11:43:29 +0200driib(~driib@vmi931078.contaboserver.net)
2024-04-12 11:44:46 +0200reki(~halloy490@broadband-5-228-80-43.ip.moscow.rt.ru) (Remote host closed the connection)
2024-04-12 11:47:40 +0200sawilagar(~sawilagar@user/sawilagar)
2024-04-12 11:48:10 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 255 seconds)
2024-04-12 11:48:27 +0200cfricke(~cfricke@user/cfricke)
2024-04-12 11:54:53 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
2024-04-12 11:57:05 +0200bgt32(~keutoi@182.65.26.208)
2024-04-12 11:57:35 +0200flukiluke(~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962) (Remote host closed the connection)
2024-04-12 11:58:51 +0200flukiluke(~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962)
2024-04-12 12:01:16 +0200 <bgt32> I'm solving a competative programming problem and am having a hard time pinning down a bug. Everything works fine on my machine, and on other online compilers. It is giving a different answer on the actual site.
2024-04-12 12:01:33 +0200 <bgt32> https://codeforces.com/contest/1955/submission/256217090
2024-04-12 12:04:26 +0200 <bgt32> on a different platform, https:tinyurl.com/yp79ye8u
2024-04-12 12:05:02 +0200yeitrafferin(~user@149.224.94.221.dynamic-pppoe.dt.ipv4.wtnet.de) (Remote host closed the connection)
2024-04-12 12:05:17 +0200 <bgt32> * https://tinyurl.com/yp79ye8u
2024-04-12 12:13:57 +0200zniftla(~user@p4fdbd1b1.dip0.t-ipconnect.de)
2024-04-12 12:19:28 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 260 seconds)
2024-04-12 12:24:24 +0200 <ncf> wild guess: CRLF is messing with your (== '1') logic
2024-04-12 12:30:02 +0200 <bgt32> ncf: That's it! thanks. I never had a problem with CRLF before using ByteString.
2024-04-12 12:33:39 +0200euleritian(~euleritia@77.22.252.56) (Read error: Connection reset by peer)
2024-04-12 12:34:25 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-04-12 12:36:59 +0200Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2024-04-12 12:37:46 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 268 seconds)
2024-04-12 12:38:21 +0200Lord_of_Life_Lord_of_Life
2024-04-12 12:44:27 +0200zniftla(~user@p4fdbd1b1.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2024-04-12 12:53:18 +0200ubert(~Thunderbi@2a02:8109:ab8a:5a00:dc48:221d:3f95:7ce6)
2024-04-12 12:53:33 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4)
2024-04-12 13:05:18 +0200puke(~puke@user/puke) (Remote host closed the connection)
2024-04-12 13:05:42 +0200puke(~puke@user/puke)
2024-04-12 13:13:02 +0200noumenon(~noumenon@113.51-175-156.customer.lyse.net)
2024-04-12 13:14:11 +0200danse-nr3(~danse-nr3@151.43.242.233) (Ping timeout: 256 seconds)
2024-04-12 13:16:59 +0200n8n(n8n@user/n8n)
2024-04-12 13:23:03 +0200danse-nr3(~danse-nr3@151.43.242.233)
2024-04-12 13:28:29 +0200SteelBlueSilk(~SteelBlue@user/SteelBlueSilk) (Read error: Connection reset by peer)
2024-04-12 13:31:58 +0200SteelBlueSilk(~SteelBlue@c-98-42-249-36.hsd1.ca.comcast.net)
2024-04-12 13:31:58 +0200SteelBlueSilk(~SteelBlue@c-98-42-249-36.hsd1.ca.comcast.net) (Changing host)
2024-04-12 13:31:58 +0200SteelBlueSilk(~SteelBlue@user/SteelBlueSilk)
2024-04-12 13:35:27 +0200nickiminjaj(~kvirc@188.146.120.15)
2024-04-12 13:36:00 +0200nickiminjaj(~kvirc@188.146.120.15) (Changing host)
2024-04-12 13:36:00 +0200nickiminjaj(~kvirc@user/laxhh)
2024-04-12 13:36:38 +0200 <cheater> having problems installing pcre-light (with stack). what sort of linux lib do i need to install for it? it doesn't mention anything on the hackage docs.
2024-04-12 13:38:39 +0200 <cheater> i tried all the ones i could think of
2024-04-12 13:42:29 +0200 <lyxia> cheater: the doc says "If installation fails with missing pcre/pkg-config, try installing the libpcre3-dev package (linux)" https://hackage.haskell.org/package/pcre-light
2024-04-12 13:43:51 +0200anpad(~pandeyan@user/anpad) (Quit: ZNC 1.8.2 - https://znc.in)
2024-04-12 13:46:19 +0200anpad(~pandeyan@user/anpad)
2024-04-12 13:50:03 +0200sroso(~sroso@user/SrOso) (Quit: Leaving :))
2024-04-12 13:54:27 +0200haocrcmt^(~cd@c-98-242-74-66.hsd1.ga.comcast.net)
2024-04-12 13:55:57 +0200bgt32(~keutoi@182.65.26.208) (Quit: leaving)
2024-04-12 14:00:10 +0200qqq(~qqq@92.43.167.61) (Remote host closed the connection)
2024-04-12 14:09:42 +0200machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net)
2024-04-12 14:10:47 +0200ddellacosta(~ddellacos@ool-44c73d29.dyn.optonline.net) (Ping timeout: 260 seconds)
2024-04-12 14:15:08 +0200cheater_(~Username@user/cheater)
2024-04-12 14:17:05 +0200cheater(~Username@user/cheater) (Ping timeout: 256 seconds)
2024-04-12 14:17:13 +0200cheater_cheater
2024-04-12 14:22:55 +0200danse-nr3(~danse-nr3@151.43.242.233) (Ping timeout: 260 seconds)
2024-04-12 14:23:52 +0200raehik(~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net)
2024-04-12 14:31:37 +0200danse-nr3(~danse-nr3@151.43.242.233)
2024-04-12 14:34:11 +0200L29Ah(~L29Ah@wikipedia/L29Ah) (Ping timeout: 264 seconds)
2024-04-12 14:34:49 +0200L29Ah(~L29Ah@wikipedia/L29Ah)
2024-04-12 14:35:27 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-04-12 14:36:26 +0200 <cheater> lyxia: i have that installed
2024-04-12 14:37:03 +0200bgt32(~keutoi@182.65.26.208)
2024-04-12 14:37:05 +0200 <cheater> libpcre3-dev is already the newest version (2:8.39-13ubuntu0.22.04.1).
2024-04-12 14:37:09 +0200alexherbo2(~alexherbo@2a02-8440-3440-0c06-f91a-c702-40ff-7bd4.rev.sfr.net)
2024-04-12 14:37:52 +0200 <cheater> it's a fresh install. i installed it a couple hours ago.
2024-04-12 14:41:27 +0200Square2(~Square4@user/square)
2024-04-12 14:41:34 +0200Hafydd(~Hafydd@user/hafydd) (Quit: WeeChat 3.5)
2024-04-12 14:42:57 +0200 <bgt32> Are mutable arrays better during initial construction, than a simple Data.Array? I have some data that will only be read after initial construction, will mutable arrays provide any speed up?
2024-04-12 14:43:52 +0200 <cheater> the only answer is "benchmark in production"
2024-04-12 14:45:27 +0200 <bgt32> Hmm, so no simple answer...
2024-04-12 14:45:29 +0200 <nullie> bgt32: where's no fundamental reason why mutable array should be faster if you do not change it
2024-04-12 14:50:38 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-04-12 14:51:14 +0200causal(~eric@50.35.88.207) (Quit: WeeChat 4.1.1)
2024-04-12 14:53:53 +0200destituion(~destituio@85.221.111.174) (Ping timeout: 252 seconds)
2024-04-12 14:55:10 +0200nickiminjaj(~kvirc@user/laxhh) (Quit: KVIrc 5.2.2 Quasar http://www.kvirc.net/)
2024-04-12 14:55:25 +0200nickiminjaj(~kvirc@188.146.120.15)
2024-04-12 14:55:25 +0200nickiminjaj(~kvirc@188.146.120.15) (Changing host)
2024-04-12 14:55:25 +0200nickiminjaj(~kvirc@user/laxhh)
2024-04-12 14:57:14 +0200nickiminjaj(~kvirc@user/laxhh) (Client Quit)
2024-04-12 14:58:08 +0200destituion(~destituio@2a02:2121:107:22da:94a0:4297:56fa:10c9)
2024-04-12 15:02:32 +0200alexherbo2(~alexherbo@2a02-8440-3440-0c06-f91a-c702-40ff-7bd4.rev.sfr.net) (Remote host closed the connection)
2024-04-12 15:03:43 +0200cross(~cross@spitfire.i.gajendra.net)
2024-04-12 15:07:21 +0200sawilagar(~sawilagar@user/sawilagar) (Remote host closed the connection)
2024-04-12 15:07:40 +0200sawilagar(~sawilagar@user/sawilagar)
2024-04-12 15:09:35 +0200danse-nr3(~danse-nr3@151.43.242.233) (Ping timeout: 260 seconds)
2024-04-12 15:10:07 +0200danse-nr3(~danse-nr3@151.35.220.15)
2024-04-12 15:11:28 +0200xdminsy(~xdminsy@117.147.70.203)
2024-04-12 15:12:37 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 256 seconds)
2024-04-12 15:13:51 +0200euleritian(~euleritia@dynamic-176-006-181-023.176.6.pool.telefonica.de)
2024-04-12 15:17:52 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-04-12 15:18:58 +0200simendsjo(~user@84.209.170.3)
2024-04-12 15:24:05 +0200sawilagar(~sawilagar@user/sawilagar) (Ping timeout: 256 seconds)
2024-04-12 15:27:44 +0200sawilagar(~sawilagar@user/sawilagar)
2024-04-12 15:36:20 +0200mei(~mei@user/mei) (Remote host closed the connection)
2024-04-12 15:38:57 +0200mei(~mei@user/mei)
2024-04-12 15:57:23 +0200sawilagar(~sawilagar@user/sawilagar) (Read error: Connection reset by peer)
2024-04-12 15:58:40 +0200sawilagar(~sawilagar@user/sawilagar)
2024-04-12 16:00:38 +0200vnogueira(~vnogueira@user/vnogueira) (Remote host closed the connection)
2024-04-12 16:01:00 +0200vnogueira(~vnogueira@user/vnogueira)
2024-04-12 16:17:02 +0200ft(~ft@p4fc2a20e.dip0.t-ipconnect.de)
2024-04-12 16:20:17 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.1.1)
2024-04-12 16:24:06 +0200jorj(~jorj@user/jorj) (Quit: jorj)
2024-04-12 16:26:48 +0200qqq(~qqq@92.43.167.61)
2024-04-12 16:31:17 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-04-12 16:33:56 +0200Sgeo(~Sgeo@user/sgeo)
2024-04-12 16:39:47 +0200euleritian(~euleritia@dynamic-176-006-181-023.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-04-12 16:40:26 +0200euleritian(~euleritia@77.22.252.56)
2024-04-12 16:42:03 +0200gehmehgeh(~user@user/gehmehgeh)
2024-04-12 16:50:11 +0200igemnace(~ian@user/igemnace) (Read error: Connection reset by peer)
2024-04-12 16:56:54 +0200cfricke(~cfricke@user/cfricke) (Quit: WeeChat 4.2.2)
2024-04-12 17:06:49 +0200igemnace(~ian@user/igemnace)
2024-04-12 17:07:11 +0200euleritian(~euleritia@77.22.252.56) (Ping timeout: 264 seconds)
2024-04-12 17:07:39 +0200euleritian(~euleritia@dynamic-176-006-181-023.176.6.pool.telefonica.de)
2024-04-12 17:14:51 +0200 <cheater> what's the simplest way to turn a Text into a lazy BS?
2024-04-12 17:15:44 +0200 <Rembane> cheater: Have you tried asking Hoogle? Text -> Lazy.ByteString
2024-04-12 17:16:21 +0200 <cheater> oh i didn't know you could qualify like that
2024-04-12 17:16:23 +0200 <cheater> thanks
2024-04-12 17:16:30 +0200rekahsoft(~rekahsoft@bras-base-orllon1103w-grc-13-184-148-6-204.dsl.bell.ca)
2024-04-12 17:16:51 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-04-12 17:16:57 +0200 <cheater> ok erll
2024-04-12 17:17:01 +0200 <cheater> that's not what i wanted
2024-04-12 17:17:10 +0200 <cheater> i get Data.Text.Lezy.Encoding.encodeUtf8
2024-04-12 17:17:15 +0200 <cheater> but my Text is not lazy
2024-04-12 17:17:18 +0200 <cheater> my BS is lazy
2024-04-12 17:17:19 +0200euleritian(~euleritia@dynamic-176-006-181-023.176.6.pool.telefonica.de) (Read error: Connection reset by peer)
2024-04-12 17:18:40 +0200simendsjo(~user@84.209.170.3) (Ping timeout: 268 seconds)
2024-04-12 17:19:02 +0200 <Rembane> cheater: Does this one do what you want? https://hackage.haskell.org/package/text-2.1.1/docs/Data-Text-Encoding.html#v:encodeUtf8
2024-04-12 17:19:17 +0200 <Rembane> Hm... no, not really. A Lazy is missing.
2024-04-12 17:19:45 +0200 <cheater> yeah it's apparently going to be encodeUtf8 . fromStrict
2024-04-12 17:19:47 +0200 <cheater> no shorter
2024-04-12 17:20:12 +0200 <Rembane> That seems reasonable.
2024-04-12 17:20:59 +0200euleritian(~euleritia@tmo-118-99.customers.d1-online.com)
2024-04-12 17:21:02 +0200 <c_wraith> It's not going to work how you want, either way
2024-04-12 17:21:23 +0200 <c_wraith> Unless you take the steps to explicitly chunk the Text
2024-04-12 17:22:15 +0200 <c_wraith> If you don't, it's going to give you a lazy text with a single chunk, and it'll convert that to a lazy bytestring with a single chunk.
2024-04-12 17:23:52 +0200ubert(~Thunderbi@2a02:8109:ab8a:5a00:dc48:221d:3f95:7ce6) (Remote host closed the connection)
2024-04-12 17:24:03 +0200 <Rembane> cheater: Out of curiosity. Why do you need a lazy bytestring?
2024-04-12 17:24:17 +0200 <cheater> trying to decode with aeson
2024-04-12 17:24:38 +0200 <cheater> i have a json that i decoded with aeson. it contains a string field. that string field contains an escaped json.
2024-04-12 17:24:51 +0200 <cheater> i need to decode *that* and get a field out of it.
2024-04-12 17:25:06 +0200 <cheater> so, when i look up the field in the outer json, aeson gives me a Text.
2024-04-12 17:25:15 +0200 <cheater> but to use Aeson.decode, i need an LBS
2024-04-12 17:25:40 +0200tri(~tri@ool-18bc2e74.dyn.optonline.net)
2024-04-12 17:25:43 +0200 <c_wraith> I don't know why aeson is using lazy bytestrings for input in the first place... It's not like it's an online parser. It needs to consume the whole thing to identify decoding errors.
2024-04-12 17:25:52 +0200ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2024-04-12 17:26:20 +0200 <c_wraith> I guess it's more memory-efficient if your data type throws away a lot of the content, or something.
2024-04-12 17:27:27 +0200 <cheater> shruggity mcshrug
2024-04-12 17:32:19 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-04-12 17:40:05 +0200vpan(~vpan@212.117.1.172) (Quit: Leaving.)
2024-04-12 17:47:34 +0200 <monochrom> Yeah most cases throw away the whole bytestring, e.g., converting to Text instead at least.
2024-04-12 17:48:15 +0200 <c_wraith> ok, this turns out to be really funny with lens-aeson
2024-04-12 17:49:13 +0200 <c_wraith> which lambdabot doesn't have installed, so I guess c/p
2024-04-12 17:49:31 +0200 <c_wraith> ("{\"foo\":\"{\\\"bar\\\":2}\"}" :: Text) ^? key "foo" . _String . key "ba
2024-04-12 17:49:31 +0200 <c_wraith> r" . _IntegerJust 2
2024-04-12 17:49:37 +0200 <c_wraith> ... good work, me.
2024-04-12 17:49:49 +0200 <monochrom> It was also coming from the last days when people used lazy bytestring's readFile.
2024-04-12 17:49:55 +0200 <c_wraith> ("{\"foo\":\"{\\\"bar\\\":2}\"}" :: Text) ^? key "foo" . _String . key "bar" . Integer ---> Just 2
2024-04-12 17:50:08 +0200 <monochrom> (Well, I still use it today.)
2024-04-12 17:50:42 +0200 <c_wraith> lens-aeson just lets you treat either text or either bytestring as json data.
2024-04-12 17:51:01 +0200 <c_wraith> So, like.. just index into a string by key, it'll work!
2024-04-12 17:51:39 +0200 <monochrom> haha that is deep magic
2024-04-12 17:53:07 +0200 <ncf> ("{\"foo\":\"{\\\"bar\\\":2}\"}" :: Text) & key "foo" . _String . key "bar" . _Integer +~ 1
2024-04-12 17:53:08 +0200 <ncf> "{\"foo\":\"{\\\"bar\\\":3}\"}"
2024-04-12 17:53:49 +0200 <c_wraith> You know. For when you want to modify a string as if it's nested JSON
2024-04-12 17:55:25 +0200 <monochrom> Python and TCL dream come true.
2024-04-12 17:56:15 +0200chele(~chele@user/chele) (Remote host closed the connection)
2024-04-12 17:58:30 +0200euleritian(~euleritia@tmo-118-99.customers.d1-online.com) (Ping timeout: 255 seconds)
2024-04-12 17:59:15 +0200euleritian(~euleritia@dynamic-176-004-207-187.176.4.pool.telefonica.de)
2024-04-12 18:01:49 +0200Guest93(~Guest99@84.54.73.75)
2024-04-12 18:01:58 +0200Hafydd(~Hafydd@user/hafydd)
2024-04-12 18:02:04 +0200Guest93(~Guest99@84.54.73.75) (Client Quit)
2024-04-12 18:02:20 +0200Guest48(~Guest99@84.54.73.75)
2024-04-12 18:02:42 +0200Guest48(~Guest99@84.54.73.75) (Client Quit)
2024-04-12 18:03:17 +0200danse-nr3(~danse-nr3@151.35.220.15) (Ping timeout: 240 seconds)
2024-04-12 18:03:54 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-04-12 18:04:12 +0200raehik(~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) (Ping timeout: 252 seconds)
2024-04-12 18:08:21 +0200waleee(~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
2024-04-12 18:13:44 +0200vnogueira_(~vnogueira@user/vnogueira)
2024-04-12 18:15:21 +0200 <cheater> > ("{\"foo\":\"{\\\"bar\\\":2}\"}" :: Text) ^? key "foo" . _String . key "bar" . Integer
2024-04-12 18:15:23 +0200 <lambdabot> error:
2024-04-12 18:15:23 +0200 <lambdabot> Not in scope: type constructor or class ‘Text’
2024-04-12 18:15:23 +0200 <lambdabot> Perhaps you meant ‘T.Text’ (imported from Data.Text)
2024-04-12 18:15:32 +0200 <cheater> > ("{\"foo\":\"{\\\"bar\\\":2}\"}" :: T.Text) ^? key "foo" . _String . key "bar" . Integer
2024-04-12 18:15:37 +0200 <lambdabot> error:
2024-04-12 18:15:37 +0200 <lambdabot> • Variable not in scope:
2024-04-12 18:15:37 +0200 <lambdabot> key :: [Char] -> b0 -> T.Text -> Const (First a) T.Text
2024-04-12 18:15:53 +0200 <cheater> lmao...
2024-04-12 18:16:29 +0200 <cheater> c_wraith: wow i didn't even know.
2024-04-12 18:16:29 +0200 <c_wraith> I did mention lambdabot doesn't have lens-aeson installed. Can't even import it.
2024-04-12 18:16:32 +0200 <cheater> that makes it easier btw
2024-04-12 18:16:38 +0200 <cheater> you did?
2024-04-12 18:16:40 +0200 <cheater> i missed it
2024-04-12 18:16:44 +0200 <cheater> in all the lens spam
2024-04-12 18:16:50 +0200vnogueira(~vnogueira@user/vnogueira) (Ping timeout: 260 seconds)
2024-04-12 18:16:50 +0200 <cheater> not a fan of lens myself
2024-04-12 18:17:03 +0200 <cheater> oh yeah you did say that
2024-04-12 18:17:04 +0200 <cheater> cool
2024-04-12 18:20:09 +0200 <cheater> what do you call a directed graph where you can color the nodes one of n colors?
2024-04-12 18:20:34 +0200 <cheater> speicifcally if the nodes all start white and you're allowed to color one node at a time black, then that's a finite state machine
2024-04-12 18:22:20 +0200 <cheater> but i'm looking for more than two colors (probably like 3-4: true, false and not allowed to becomne true, false but allowed to become true)
2024-04-12 18:23:01 +0200 <cheater> and i want more than one state at a time (e.g. i want to start in state A and i want to be able to reach state Z using one of multiple paths that exist in the directed graph)
2024-04-12 18:23:21 +0200 <ncf> i don't understand
2024-04-12 18:23:27 +0200 <cheater> me either.
2024-04-12 18:23:31 +0200 <cheater> but what do you not understand?
2024-04-12 18:23:41 +0200 <ncf> your description of a finite state machine
2024-04-12 18:23:48 +0200 <ncf> what are the states?
2024-04-12 18:25:02 +0200 <cheater> a finite state machine is a collection of states, call them A...Z, and allowed transitions between those states, call them t1...tn
2024-04-12 18:25:36 +0200 <cheater> you have an initial state that is colored black. let's say the node called A is the initial state, and is colored black.
2024-04-12 18:25:39 +0200 <cheater> all other nodes are white.
2024-04-12 18:26:00 +0200 <cheater> as you transition from A to one of the other allowed states, A becomes white and the other new state becomes black
2024-04-12 18:26:07 +0200 <cheater> so you have:
2024-04-12 18:26:12 +0200 <cheater> - 2 colors (black and white)
2024-04-12 18:26:23 +0200machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 264 seconds)
2024-04-12 18:26:43 +0200 <cheater> - exactly one node must be colored black at any time (no more, no less)
2024-04-12 18:26:53 +0200 <cheater> does that make sense?
2024-04-12 18:26:59 +0200 <cheater> that's a finite state machine.
2024-04-12 18:27:09 +0200 <cheater> think of like
2024-04-12 18:27:14 +0200 <cheater> a stick gear shifter
2024-04-12 18:27:24 +0200 <cheater> you can transition from some positions to some others
2024-04-12 18:27:32 +0200 <cheater> where the stick is, is a black node
2024-04-12 18:27:37 +0200 <cheater> where the stick isn't, is a white node
2024-04-12 18:27:44 +0200 <sm> morning all
2024-04-12 18:27:47 +0200 <cheater> that's an FSM
2024-04-12 18:27:58 +0200 <sm> solved your pcre-light install cheater ?
2024-04-12 18:28:02 +0200 <cheater> no
2024-04-12 18:28:19 +0200 <sm> want to share the error output ?
2024-04-12 18:28:23 +0200 <cheater> sure
2024-04-12 18:28:53 +0200 <ncf> so that's a FSM on a one-letter alphabet, yes?
2024-04-12 18:29:07 +0200 <ncf> i mean, what you're describing is just a directed graph
2024-04-12 18:29:16 +0200 <cheater> yes
2024-04-12 18:29:31 +0200 <cheater> well
2024-04-12 18:29:36 +0200 <dolio> Except graphs don't even have to be finite.
2024-04-12 18:29:36 +0200 <cheater> idk what you mean by one-letter alphabet
2024-04-12 18:29:39 +0200 <ncf> finite* directed graph with a chosen initial state i guess
2024-04-12 18:29:55 +0200 <cheater> sm: ok i actually noticed... The program 'pkg-config' version pcre-light > >=0.9.0 is required but it could not be found.
2024-04-12 18:29:56 +0200 <cheater> duh
2024-04-12 18:30:02 +0200 <cheater> so i need to figure out how to get that
2024-04-12 18:30:12 +0200 <haskellbridge> <s​m> 👍️
2024-04-12 18:30:18 +0200 <cheater> The program 'pkg-config' version >=0.9.0 is required but it could not be found.
2024-04-12 18:30:23 +0200 <cheater> that's the actual error
2024-04-12 18:30:55 +0200 <ncf> well an FSM is an automaton that recognises words from some language by applying transitions for each letter of the word from an initial state
2024-04-12 18:31:40 +0200 <ncf> if all your transitions are treated on an equal footing then i guess your alphabet is a singleton, so you're effectively recognising numbers instead of words
2024-04-12 18:31:46 +0200 <cheater> sm: so someone told me that "stack setup" might install pkg-config, can you corroborate?
2024-04-12 18:32:16 +0200 <geekosaur> only on windows if it installs an msys2 environment
2024-04-12 18:32:17 +0200 <cheater> ncf: i didn't understand anything you said there
2024-04-12 18:32:21 +0200 <cheater> geekosaur: ah
2024-04-12 18:32:28 +0200 <geekosaur> otherwise it's an OS package you need to install
2024-04-12 18:32:34 +0200 <cheater> geekosaur: i'm on GNU/Linux
2024-04-12 18:32:39 +0200 <cheater> cool
2024-04-12 18:32:42 +0200 <sm> geekosaur knows all! :)
2024-04-12 18:33:07 +0200 <geekosaur> on my ubuntu it's the pkg-config package
2024-04-12 18:33:14 +0200 <sm> googling for that error message is also often helpful
2024-04-12 18:33:22 +0200 <cheater> sweet tyvm
2024-04-12 18:33:24 +0200 <cheater> i did google it!
2024-04-12 18:33:28 +0200 <sm> s/googling/kagi-ing/
2024-04-12 18:33:31 +0200 <cheater> i was reading through that stuff from top to bottom
2024-04-12 18:33:35 +0200 <ncf> cheater: https://en.wikipedia.org/wiki/Finite-state_machine#Mathematical_model
2024-04-12 18:34:21 +0200 <sm> cheater bad luck I guess.. for me the first google hit was https://groups.google.com/g/haskell-stack/c/E6zGmRnT3Ls which gave geekosaur's answer
2024-04-12 18:34:32 +0200 <cheater> lol
2024-04-12 18:35:10 +0200 <cheater> i'm reading that too
2024-04-12 18:35:11 +0200 <cheater> and
2024-04-12 18:35:15 +0200 <cheater> i didn't see it.
2024-04-12 18:35:49 +0200 <sm> I'm talking about the first answer https://groups.google.com/g/haskell-stack/c/E6zGmRnT3Ls/m/SksReP9RBwAJ
2024-04-12 18:36:07 +0200 <sm> it's not the final answer you are seeking, you still need to do a bit more work
2024-04-12 18:36:17 +0200 <cheater> ah, yes, i just saw it too
2024-04-12 18:36:21 +0200 <cheater> my eyes glanced over it
2024-04-12 18:36:39 +0200smdoesn't need to install pkg-config often & doesn't remember the deal with it
2024-04-12 18:36:41 +0200 <cheater> love to be made blind by my own stupidity
2024-04-12 18:36:51 +0200 <sm> it's human :)
2024-04-12 18:36:57 +0200 <cheater> :)
2024-04-12 18:40:59 +0200sord937(~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
2024-04-12 18:41:43 +0200bgt32(~keutoi@182.65.26.208) (Ping timeout: 255 seconds)
2024-04-12 18:41:59 +0200tzh(~tzh@c-73-164-206-160.hsd1.or.comcast.net)
2024-04-12 18:45:17 +0200peterbecich(~Thunderbi@47.229.123.186)
2024-04-12 18:46:40 +0200mikoto(~mikoto@ip-83-134-169-166.dsl.scarlet.be)
2024-04-12 18:47:47 +0200euleritian(~euleritia@dynamic-176-004-207-187.176.4.pool.telefonica.de) (Read error: Connection reset by peer)
2024-04-12 18:48:00 +0200euleritian(~euleritia@tmo-118-99.customers.d1-online.com)
2024-04-12 18:49:01 +0200raehik(~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net)
2024-04-12 18:52:23 +0200peterbecich(~Thunderbi@47.229.123.186) (Ping timeout: 272 seconds)
2024-04-12 18:53:01 +0200euleritian(~euleritia@tmo-118-99.customers.d1-online.com) (Ping timeout: 272 seconds)
2024-04-12 18:53:17 +0200euleritian(~euleritia@dynamic-176-004-207-187.176.4.pool.telefonica.de)
2024-04-12 18:55:12 +0200mikoto(~mikoto@ip-83-134-169-166.dsl.scarlet.be) (Quit: WeeChat 4.0.4)
2024-04-12 19:01:30 +0200EvanR(~EvanR@user/evanr) (Quit: Leaving)
2024-04-12 19:02:25 +0200ChaiTRex(~ChaiTRex@user/chaitrex)
2024-04-12 19:10:17 +0200euleritian(~euleritia@dynamic-176-004-207-187.176.4.pool.telefonica.de) (Read error: Connection reset by peer)
2024-04-12 19:10:26 +0200yeitrafferin(~user@2a04:4540:7212:e100:ffdb:291e:88d:8f3a)
2024-04-12 19:10:36 +0200euleritian(~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
2024-04-12 19:20:23 +0200puke(~puke@user/puke) (Remote host closed the connection)
2024-04-12 19:21:33 +0200xdminsy(~xdminsy@117.147.70.203) (Read error: Connection reset by peer)
2024-04-12 19:22:34 +0200vulpine(xfnw@user/meow/xfnw) (Quit: Connection reset by purr)
2024-04-12 19:24:13 +0200vulpine(xfnw@user/meow/xfnw)
2024-04-12 19:27:49 +0200puke(~puke@user/puke)
2024-04-12 19:28:06 +0200gehmehgehgmg
2024-04-12 19:33:01 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-04-12 19:43:43 +0200hueso(~root@user/hueso) (Quit: No Ping reply in 180 seconds.)
2024-04-12 19:44:54 +0200hueso(~root@user/hueso)
2024-04-12 19:45:11 +0200igemnace(~ian@user/igemnace) (Quit: WeeChat 4.2.2)
2024-04-12 19:45:29 +0200__monty__(~toonn@user/toonn)
2024-04-12 19:47:47 +0200EvanR(~EvanR@user/evanr)
2024-04-12 19:50:29 +0200Square2(~Square4@user/square) (Ping timeout: 240 seconds)
2024-04-12 19:55:23 +0200puke(~puke@user/puke) (Remote host closed the connection)
2024-04-12 20:01:47 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-04-12 20:02:18 +0200puke(~puke@user/puke)
2024-04-12 20:26:29 +0200sudden(~cat@user/sudden) (Ping timeout: 240 seconds)
2024-04-12 20:39:25 +0200sudden(~cat@user/sudden)
2024-04-12 20:44:01 +0200haocrcmt^(~cd@c-98-242-74-66.hsd1.ga.comcast.net) (Ping timeout: 268 seconds)
2024-04-12 20:44:16 +0200haocrcmt^(~cd@c-98-242-74-66.hsd1.ga.comcast.net)
2024-04-12 21:01:32 +0200philopsos(~caecilius@user/philopsos)
2024-04-12 21:09:00 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-04-12 21:11:39 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-04-12 21:17:07 +0200michalz(~michalz@185.246.207.218) (Ping timeout: 256 seconds)
2024-04-12 21:25:00 +0200raehik(~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) (Ping timeout: 260 seconds)
2024-04-12 21:30:29 +0200yeitrafferin(~user@2a04:4540:7212:e100:ffdb:291e:88d:8f3a) (Quit: Leaving)
2024-04-12 21:44:36 +0200econo_(uid147250@id-147250.tinside.irccloud.com)
2024-04-12 21:45:30 +0200Hafydd(~Hafydd@user/hafydd) (Quit: WeeChat 3.5)
2024-04-12 21:45:55 +0200Hafydd(~Hafydd@user/hafydd)
2024-04-12 21:46:12 +0200tri(~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection)
2024-04-12 21:46:44 +0200tri(~tri@ool-18bc2e74.dyn.optonline.net)
2024-04-12 21:47:40 +0200michalz(~michalz@185.246.207.215)
2024-04-12 21:49:54 +0200Square(~Square@user/square)
2024-04-12 22:07:19 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection)
2024-04-12 22:14:40 +0200akegalj(~akegalj@85.114.55.14)
2024-04-12 22:15:53 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer)
2024-04-12 22:15:56 +0200 <akegalj> If I have `newtype F = F Int` how can I derive Show instance that would be the same as for Int (without printing constructor name)
2024-04-12 22:16:02 +0200Achylles(~Achylles@45.182.57.23)
2024-04-12 22:16:30 +0200 <akegalj> can I autoderive it somehow without manually implementing Show class
2024-04-12 22:16:52 +0200 <tomsmeding> akegalj: https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/deriving_via.html#extension-Derivin…
2024-04-12 22:17:08 +0200 <tomsmeding> `deriving Show via Int`
2024-04-12 22:18:13 +0200euphores(~SASL_euph@user/euphores) (Ping timeout: 272 seconds)
2024-04-12 22:19:41 +0200 <geekosaur> note however that this is not recommended, since a Show instance should match a Read instance
2024-04-12 22:20:16 +0200 <tomsmeding> and even if you're not interested in Read: Show instances are meant for _debugging_ and showing data structures _as they are_
2024-04-12 22:20:33 +0200 <tomsmeding> Show is not meant for pretty-printing (notwithstanding the fact that some people use it like that)
2024-04-12 22:21:04 +0200 <tomsmeding> the reason for that is not that Show is unsuited for it (the class works decently well for basic pretty printing), but that there is only one Show!
2024-04-12 22:21:29 +0200 <tomsmeding> i.e. if you've written pretty Show instances and you now want to debug your programs, you have no derived Show anymore to see how your data actually looks
2024-04-12 22:21:34 +0200 <tomsmeding> (how do you debug your pretty printer?)
2024-04-12 22:21:58 +0200 <monochrom> This is where Rust has two type classes instead of one.
2024-04-12 22:22:22 +0200tomsmedingwants that in haskell too
2024-04-12 22:22:50 +0200 <tomsmeding> python has it too, even if in the (untyped) OOP way instead of using type classes (repr() vs str())
2024-04-12 22:22:59 +0200 <akegalj> tomsmeding: I can't use `deriving via` with data, only for newtypes?
2024-04-12 22:23:09 +0200 <monochrom> I think that even two is not enough. There are like 5 standard ways to print a natural number.
2024-04-12 22:23:53 +0200 <tomsmeding> akegalj: `deriving via` only works if the data type itself, and the "via" target, can be coerced to each other
2024-04-12 22:23:57 +0200 <akegalj> what should I use then for pretty printing ?
2024-04-12 22:24:06 +0200 <tomsmeding> (if you're interested, read the link I posted)
2024-04-12 22:24:09 +0200tri(~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection)
2024-04-12 22:24:15 +0200 <akegalj> ok thny
2024-04-12 22:24:18 +0200 <akegalj> thnx
2024-04-12 22:24:22 +0200tri(~tri@ool-18bc2e74.dyn.optonline.net)
2024-04-12 22:24:58 +0200 <tomsmeding> I usually just make my own Pretty class (class Pretty a where { prettysPrec :: Int -> a -> ShowS } ; pretty :: a -> String ; pretty x = prettysPrec 0 x "")
2024-04-12 22:25:09 +0200 <tomsmeding> but there may be something on hackage already
2024-04-12 22:26:37 +0200 <EvanR> ironically, there is only one Show is the reason I sometimes did quick and dirty newtype F = F Whatever to quickly "show" a different representation
2024-04-12 22:26:49 +0200sawilagar(~sawilagar@user/sawilagar) (Ping timeout: 256 seconds)
2024-04-12 22:27:17 +0200 <EvanR> > x -- shows one thing
2024-04-12 22:27:18 +0200 <lambdabot> x
2024-04-12 22:27:20 +0200 <EvanR> > F x -- shows another
2024-04-12 22:27:22 +0200 <lambdabot> error:
2024-04-12 22:27:22 +0200 <lambdabot> Data constructor not in scope: F :: Expr -> t
2024-04-12 22:27:23 +0200 <EvanR> uhg
2024-04-12 22:27:49 +0200michalz(~michalz@185.246.207.215) (Quit: ZNC 1.8.2 - https://znc.in)
2024-04-12 22:27:50 +0200 <tomsmeding> prefix it with a color-reset byte (ctrl-C, O in weechat)
2024-04-12 22:27:57 +0200 <tomsmeding> > lambdabot be silent
2024-04-12 22:38:19 +0200 <mauke> use /notice >:)
2024-04-12 22:42:26 +0200 <c_wraith> that sounds like effort. I'm more likely to use /oblivious
2024-04-12 22:43:11 +0200 <monochrom> I have a binary search tree library for teaching purpose, and I gave it multiple output formats: a parenthesized infix notation, a vertical format, Java code, two LaTeX codes (tikz, forest). I made none of them Show, I just made one function for each.
2024-04-12 22:44:39 +0200 <tomsmeding> monochrom: but does the tree data type have a normal, derived Show instance?
2024-04-12 22:44:51 +0200 <monochrom> Yes.
2024-04-12 22:44:59 +0200 <tomsmeding> Perfect!
2024-04-12 22:45:08 +0200 <monochrom> But I seldom use it.
2024-04-12 22:46:05 +0200 <tomsmeding> that is mostly immaterial :)
2024-04-12 23:05:31 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2024-04-12 23:13:51 +0200AlexZenon(~alzenon@178.34.160.182) (Ping timeout: 256 seconds)
2024-04-12 23:15:11 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2024-04-12 23:17:26 +0200machinedgod(~machinedg@d173-183-246-216.abhsia.telus.net)
2024-04-12 23:26:24 +0200zetef(~quassel@2a02:2f00:5005:3f00:7daa:3f05:c1bf:3242)
2024-04-12 23:29:32 +0200AlexZenon(~alzenon@178.34.160.182)
2024-04-12 23:32:09 +0200phma(phma@2001:5b0:2172:a338:b304:4663:8d39:5294) (Read error: Connection reset by peer)
2024-04-12 23:32:20 +0200zetef_(~quassel@86.121.125.131)
2024-04-12 23:32:43 +0200phma(~phma@host-67-44-208-158.hnremote.net)
2024-04-12 23:34:29 +0200zetef(~quassel@2a02:2f00:5005:3f00:7daa:3f05:c1bf:3242) (Ping timeout: 240 seconds)
2024-04-12 23:36:40 +0200akegalj(~akegalj@85.114.55.14) (Quit: leaving)
2024-04-12 23:37:47 +0200tri(~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection)
2024-04-12 23:38:19 +0200tri(~tri@ool-18bc2e74.dyn.optonline.net)
2024-04-12 23:38:56 +0200AlexZenon(~alzenon@178.34.160.182) (Ping timeout: 260 seconds)
2024-04-12 23:40:48 +0200n8n(n8n@user/n8n) (Quit: WeeChat 4.2.2)
2024-04-12 23:43:16 +0200AlexZenon(~alzenon@178.34.160.182)
2024-04-12 23:50:33 +0200zetef_(~quassel@86.121.125.131) (Ping timeout: 268 seconds)
2024-04-12 23:53:04 +0200target_i(~target_i@user/target-i/x-6023099) (Quit: leaving)