2024-04-12 00:07:38 +0200 | stiell_ | (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 260 seconds) |
2024-04-12 00:08:24 +0200 | tri | (~tri@ool-18bbef1a.static.optonline.net) (Remote host closed the connection) |
2024-04-12 00:17:43 +0200 | YoungFrog | (~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be) (Ping timeout: 272 seconds) |
2024-04-12 00:18:37 +0200 | sawilagar | (~sawilagar@user/sawilagar) |
2024-04-12 00:22:50 +0200 | yin | (~yin@user/zero) |
2024-04-12 00:24:16 +0200 | stiell_ | (~stiell@gateway/tor-sasl/stiell) |
2024-04-12 00:24:57 +0200 | YoungFrog | (~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be) |
2024-04-12 00:26:51 +0200 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
2024-04-12 00:30:48 +0200 | n8n | (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 +0200 | YoungFrog | (~youngfrog@39.129-180-91.adsl-dyn.isp.belgacom.be) (Ping timeout: 252 seconds) |
2024-04-12 00:39:00 +0200 | YoungFrog | (~youngfrog@2a02:a03f:c9db:fc00:dfc3:9e72:7820:1411) |
2024-04-12 00:40:29 +0200 | johnw | (~johnw@69.62.242.138) (Ping timeout: 240 seconds) |
2024-04-12 00:41:15 +0200 | johnw | (~johnw@69.62.242.138) |
2024-04-12 00:52:23 +0200 | sagax | (~sagax@user/sagax) |
2024-04-12 00:56:33 +0200 | madeleine-sydney | (~madeleine@c-76-155-235-153.hsd1.co.comcast.net) |
2024-04-12 01:00:55 +0200 | acidjnk | (~acidjnk@p200300d6e714dc13ec2e195541a6ee52.dip0.t-ipconnect.de) (Ping timeout: 256 seconds) |
2024-04-12 01:04:40 +0200 | sawilagar | (~sawilagar@user/sawilagar) (Ping timeout: 260 seconds) |
2024-04-12 01:08:20 +0200 | Noinia | (~Frank@77-162-168-71.fixed.kpn.net) (Ping timeout: 268 seconds) |
2024-04-12 01:09:28 +0200 | yin | (~yin@user/zero) (Ping timeout: 256 seconds) |
2024-04-12 01:09:42 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 260 seconds) |
2024-04-12 01:10:34 +0200 | FinnElija | (~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 +0200 | noumenon | (~noumenon@113.51-175-156.customer.lyse.net) (Read error: Connection reset by peer) |
2024-04-12 01:31:28 +0200 | pavonia | (~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 +0200 | sroso | (~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 +0200 | mei | (~mei@user/mei) (Remote host closed the connection) |
2024-04-12 01:57:32 +0200 | talismanick | (~user@2601:644:937c:ed10::ae5) (Remote host closed the connection) |
2024-04-12 01:58:34 +0200 | mei | (~mei@user/mei) |
2024-04-12 02:02:29 +0200 | califax | (~califax@user/califx) (Remote host closed the connection) |
2024-04-12 02:03:53 +0200 | yaroot | (~yaroot@p2987138-ipngn7501souka.saitama.ocn.ne.jp) (Remote host closed the connection) |
2024-04-12 02:04:33 +0200 | yaroot | (~yaroot@p2987138-ipngn7501souka.saitama.ocn.ne.jp) |
2024-04-12 02:04:39 +0200 | califax | (~califax@user/califx) |
2024-04-12 02:06:24 +0200 | Ptival | (~Ptival@64.16.51.186) |
2024-04-12 02:10:53 +0200 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
2024-04-12 02:13:31 +0200 | hgolden | (~hgolden@2603-8000-9d00-3ed1-2678-8497-aa5c-7fa9.res6.spectrum.com) (Remote host closed the connection) |
2024-04-12 02:15:11 +0200 | hgolden | (~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 +0200 | nuh^ | (~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 +0200 | sp1ff | (~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 +0200 | Tuplanolla | (~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 +0200 | Square2 | (~Square4@user/square) |
2024-04-12 02:52:39 +0200 | Square | (~Square@user/square) (Ping timeout: 255 seconds) |
2024-04-12 02:55:44 +0200 | waleee | (~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 +0200 | doyougnu | (~doyougnu@45.46.170.68) |
2024-04-12 03:03:38 +0200 | Noinia | (~Frank@77-162-168-71.fixed.kpn.net) |
2024-04-12 03:07:31 +0200 | philopsos | (~caecilius@user/philopsos) |
2024-04-12 03:11:14 +0200 | aforemny | (~aforemny@2001:9e8:6cdd:9e00:4b8:3ff7:6e54:7c55) |
2024-04-12 03:12:19 +0200 | juri_ | (~juri@implicitcad.org) (Ping timeout: 260 seconds) |
2024-04-12 03:12:31 +0200 | aforemny_ | (~aforemny@2001:9e8:6cc8:c200:892:31c9:646a:fd40) (Ping timeout: 256 seconds) |
2024-04-12 03:22:27 +0200 | juri_ | (~juri@implicitcad.org) |
2024-04-12 03:24:16 +0200 | Ptival | (~Ptival@64.16.51.186) (Ping timeout: 250 seconds) |
2024-04-12 03:34:03 +0200 | raehik | (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) |
2024-04-12 03:50:16 +0200 | otto_s | (~user@p4ff2773c.dip0.t-ipconnect.de) (Ping timeout: 255 seconds) |
2024-04-12 03:50:47 +0200 | crook1389 | (uid581388@id-581388.ilkley.irccloud.com) |
2024-04-12 03:51:46 +0200 | otto_s | (~user@p4ff27d41.dip0.t-ipconnect.de) |
2024-04-12 04:15:07 +0200 | SteelBlueSilk | (~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 +0200 | SteelBlueSilk | (~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 +0200 | SteelBlueSilk | (~SteelBlue@c-98-42-249-36.hsd1.ca.comcast.net) (Changing host) |
2024-04-12 04:16:06 +0200 | SteelBlueSilk | (~SteelBlue@user/SteelBlueSilk) |
2024-04-12 04:17:13 +0200 | mrmr1553343 | (~mrmr@user/mrmr) |
2024-04-12 04:17:33 +0200 | raehik | (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) (Ping timeout: 252 seconds) |
2024-04-12 04:18:35 +0200 | mrmr155334 | (~mrmr@user/mrmr) (Ping timeout: 264 seconds) |
2024-04-12 04:18:35 +0200 | mrmr1553343 | mrmr155334 |
2024-04-12 04:20:06 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Ping timeout: 260 seconds) |
2024-04-12 04:22:17 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
2024-04-12 04:26:17 +0200 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) (Ping timeout: 268 seconds) |
2024-04-12 04:28:56 +0200 | Square2 | (~Square4@user/square) (Remote host closed the connection) |
2024-04-12 04:29:35 +0200 | Square2 | (~Square4@user/square) |
2024-04-12 04:29:53 +0200 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-04-12 04:34:37 +0200 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 268 seconds) |
2024-04-12 04:35:25 +0200 | madeleine-sydney | (~madeleine@c-76-155-235-153.hsd1.co.comcast.net) (Quit: Konversation terminated!) |
2024-04-12 04:37:22 +0200 | halloy4906 | (~halloy490@broadband-5-228-80-43.ip.moscow.rt.ru) |
2024-04-12 04:37:54 +0200 | halloy4906 | reki |
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 +0200 | Square2 | (~Square4@user/square) (Ping timeout: 268 seconds) |
2024-04-12 04:43:55 +0200 | AkechiShiro | (~licht@user/akechishiro) (Quit: WeeChat 4.2.2) |
2024-04-12 04:44:15 +0200 | terrorjack | (~terrorjac@2a01:4f8:c17:87f8::) (Quit: The Lounge - https://thelounge.chat) |
2024-04-12 04:48:42 +0200 | terrorjack | (~terrorjac@2a01:4f8:c17:87f8::) |
2024-04-12 04:49:41 +0200 | td_ | (~td@i5387091E.versanet.de) (Ping timeout: 240 seconds) |
2024-04-12 04:51:54 +0200 | td_ | (~td@i53870902.versanet.de) |
2024-04-12 04:58:02 +0200 | ddellacosta | (~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 +0200 | ubert | (~Thunderbi@2a02:8109:ab8a:5a00:b96:446c:954e:ac70) (Ping timeout: 256 seconds) |
2024-04-12 05:15:38 +0200 | euleritian | (~euleritia@dynamic-176-006-187-251.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-04-12 05:15:56 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-04-12 05:17:38 +0200 | vnogueira_ | (~vnogueira@user/vnogueira) (Remote host closed the connection) |
2024-04-12 05:18:01 +0200 | vnogueira | (~vnogueira@user/vnogueira) |
2024-04-12 05:19:11 +0200 | lockywolf | (~lockywolf@public.lockywolf.net) (Quit: ZNC 1.8.2 - https://znc.in) |
2024-04-12 05:20:49 +0200 | lockywolf | (~lockywolf@public.lockywolf.net) |
2024-04-12 05:25:11 +0200 | Ptival | (~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 +0200 | Ptival | (~Ptival@2601:1c0:4580:7650:dc80:9d56:2b92:31a4) (Quit: Client closed) |
2024-04-12 05:37:47 +0200 | dsrt^ | (~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 +0200 | aforemny | (~aforemny@2001:9e8:6cdd:9e00:4b8:3ff7:6e54:7c55) (Ping timeout: 272 seconds) |
2024-04-12 05:47:50 +0200 | aforemny_ | (~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 +0200 | lockywolf | (~lockywolf@public.lockywolf.net) (Quit: ZNC 1.8.2 - https://znc.in) |
2024-04-12 05:53:57 +0200 | lockywolf | (~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 +0200 | chiselfuse | (~chiselfus@user/chiselfuse) (Remote host closed the connection) |
2024-04-12 05:57:20 +0200 | mei | (~mei@user/mei) (Remote host closed the connection) |
2024-04-12 05:57:21 +0200 | chiselfuse | (~chiselfus@user/chiselfuse) |
2024-04-12 05:59:45 +0200 | mei | (~mei@user/mei) |
2024-04-12 06:05:11 +0200 | peterbecich | (~Thunderbi@47.229.123.186) |
2024-04-12 06:12:42 +0200 | michalz | (~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 +0200 | peterbecich | (~Thunderbi@47.229.123.186) (Ping timeout: 256 seconds) |
2024-04-12 06:45:46 +0200 | incertia | (~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 +0200 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-04-12 06:55:33 +0200 | lockywolf | (~lockywolf@public.lockywolf.net) (Quit: ZNC 1.8.2 - https://znc.in) |
2024-04-12 06:56:41 +0200 | madeleine-sydney | (~madeleine@c-76-155-235-153.hsd1.co.comcast.net) |
2024-04-12 06:57:05 +0200 | lockywolf | (~lockywolf@public.lockywolf.net) |
2024-04-12 06:59:25 +0200 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Ping timeout: 246 seconds) |
2024-04-12 07:02:29 +0200 | down200 | (~down200@shell.lug.mtu.edu) (Ping timeout: 240 seconds) |
2024-04-12 07:05:11 +0200 | zetef | (~quassel@5.2.182.99) |
2024-04-12 07:10:03 +0200 | mrmr155334 | (~mrmr@user/mrmr) (Quit: Ping timeout (120 seconds)) |
2024-04-12 07:10:28 +0200 | mrmr155334 | (~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 +0200 | lambdabot | smashes 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 +0200 | euleritian | (~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 +0200 | euleritian | (~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 +0200 | tcard_ | (~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 +0200 | tcard | (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) |
2024-04-12 07:32:46 +0200 | euphores | (~SASL_euph@user/euphores) |
2024-04-12 07:33:27 +0200 | euphores | (~SASL_euph@user/euphores) (Client Quit) |
2024-04-12 07:34:21 +0200 | <haskellbridge> | <sm> savage, lambdabot! |
2024-04-12 07:35:05 +0200 | <haskellbridge> | <sm> we need a bot tamer |
2024-04-12 07:36:15 +0200 | <haskellbridge> | <sm> 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 +0200 | euphores | (~SASL_euph@user/euphores) |
2024-04-12 07:40:47 +0200 | down200 | (~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> | <sm> excellent |
2024-04-12 07:42:32 +0200 | <haskellbridge> | <sm> 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> | <sm> 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 +0200 | sord937 | (~sord937@gateway/tor-sasl/sord937) |
2024-04-12 07:57:37 +0200 | bilegeek | (~bilegeek@2600:1008:b018:559d:69a9:fcad:2125:36b1) |
2024-04-12 08:00:03 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2024-04-12 08:06:07 +0200 | takuan | (~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 +0200 | ridcully | (~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 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-04-12 08:26:07 +0200 | son0p | (~ff@191.104.17.254) (Ping timeout: 255 seconds) |
2024-04-12 08:37:23 +0200 | ridcully | (~ridcully@p508accab.dip0.t-ipconnect.de) |
2024-04-12 08:37:46 +0200 | danza_ | (~francesco@fi-19-196-66.service.infuturo.it) |
2024-04-12 08:39:50 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) |
2024-04-12 08:44:06 +0200 | bliminse | (~bliminse@user/bliminse) (Ping timeout: 255 seconds) |
2024-04-12 08:45:54 +0200 | yeitrafferin | (~user@2a04:4540:720c:aa00:1829:9d43:6f92:10c3) |
2024-04-12 08:45:54 +0200 | bliminse | (~bliminse@user/bliminse) |
2024-04-12 08:46:51 +0200 | igemnace | (~ian@user/igemnace) |
2024-04-12 08:48:03 +0200 | zetef | (~quassel@5.2.182.99) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2024-04-12 08:52:40 +0200 | igemnace | (~ian@user/igemnace) (Read error: Connection reset by peer) |
2024-04-12 09:01:58 +0200 | bgt32 | (~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 +0200 | igemnace | (~ian@user/igemnace) |
2024-04-12 09:11:27 +0200 | euleritian | (~euleritia@dynamic-176-006-187-251.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-04-12 09:11:47 +0200 | euleritian | (~euleritia@77.22.252.56) |
2024-04-12 09:11:49 +0200 | SteelBlueSilk | (~SteelBlue@user/SteelBlueSilk) (Quit: ZNC 1.8.2+deb3.1 - https://znc.in) |
2024-04-12 09:14:05 +0200 | SteelBlueSilk | (~SteelBlue@c-98-42-249-36.hsd1.ca.comcast.net) |
2024-04-12 09:14:13 +0200 | SteelBlueSilk | (~SteelBlue@c-98-42-249-36.hsd1.ca.comcast.net) (Changing host) |
2024-04-12 09:14:13 +0200 | SteelBlueSilk | (~SteelBlue@user/SteelBlueSilk) |
2024-04-12 09:14:50 +0200 | m1dnight | (~christoph@82.146.125.185) (Quit: WeeChat 4.2.1) |
2024-04-12 09:15:17 +0200 | m1dnight | (~christoph@82.146.125.185) |
2024-04-12 09:18:29 +0200 | acidjnk | (~acidjnk@p200300d6e714dc90b8d1e6ddf67ed27c.dip0.t-ipconnect.de) |
2024-04-12 09:20:33 +0200 | crook1389 | (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 +0200 | ft | (~ft@p4fc2a20e.dip0.t-ipconnect.de) (Quit: leaving) |
2024-04-12 09:30:23 +0200 | target_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 +0200 | ridcully | (~ridcully@p508accab.dip0.t-ipconnect.de) (Read error: Connection reset by peer) |
2024-04-12 09:37:39 +0200 | dsrt^ | (~cd@c-98-242-74-66.hsd1.ga.comcast.net) (Ping timeout: 252 seconds) |
2024-04-12 09:45:10 +0200 | vpan | (~vpan@212.117.1.172) |
2024-04-12 09:45:28 +0200 | vpan | Guest5116 |
2024-04-12 09:45:48 +0200 | Guest5116 | vpan |
2024-04-12 09:48:48 +0200 | danza_ | (~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 +0200 | CiaoSen | (~Jura@2a05:5800:297:7200:e6b9:7aff:fe80:3d03) |
2024-04-12 10:04:46 +0200 | econo_ | (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity) |
2024-04-12 10:05:42 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-04-12 10:07:22 +0200 | Franciman | (~Franciman@mx1.fracta.dev) (Ping timeout: 255 seconds) |
2024-04-12 10:15:20 +0200 | haskell_ | (~haskell@75-164-217-161.ptld.qwest.net) |
2024-04-12 10:15:35 +0200 | philopsos | (~caecilius@user/philopsos) (Ping timeout: 272 seconds) |
2024-04-12 10:16:22 +0200 | haskell_ | (~haskell@75-164-217-161.ptld.qwest.net) (Remote host closed the connection) |
2024-04-12 10:19:05 +0200 | CiaoSen | (~Jura@2a05:5800:297:7200:e6b9:7aff:fe80:3d03) (Quit: CiaoSen) |
2024-04-12 10:30:49 +0200 | danse-nr3 | (~danse-nr3@fi-19-195-0.service.infuturo.it) |
2024-04-12 10:31:24 +0200 | danse-nr3 | (~danse-nr3@fi-19-195-0.service.infuturo.it) (Remote host closed the connection) |
2024-04-12 10:31:49 +0200 | danse-nr3 | (~danse-nr3@fi-19-195-0.service.infuturo.it) |
2024-04-12 10:33:00 +0200 | destituion | (~destituio@2a02:2121:107:22da:b93a:2071:f42:9bef) (Ping timeout: 255 seconds) |
2024-04-12 10:33:42 +0200 | destituion | (~destituio@85.221.111.174) |
2024-04-12 10:33:58 +0200 | son0p | (~ff@167.0.178.102) |
2024-04-12 10:41:06 +0200 | yeitrafferin | (~user@2a04:4540:720c:aa00:1829:9d43:6f92:10c3) (Ping timeout: 255 seconds) |
2024-04-12 10:42:25 +0200 | Etabeta1 | (~Etabeta1@176.207.241.56) (Changing host) |
2024-04-12 10:42:25 +0200 | Etabeta1 | (~Etabeta1@user/meow/Etabeta1) |
2024-04-12 10:43:52 +0200 | ridcully | (~ridcully@p508accab.dip0.t-ipconnect.de) |
2024-04-12 10:44:15 +0200 | yeitrafferin | (~user@149.224.94.221.dynamic-pppoe.dt.ipv4.wtnet.de) |
2024-04-12 10:54:44 +0200 | tzh | (~tzh@c-73-164-206-160.hsd1.or.comcast.net) (Quit: zzz) |
2024-04-12 10:58:45 +0200 | pyooque | (~puke@user/puke) |
2024-04-12 10:58:45 +0200 | puke | (~puke@user/puke) (Killed (tantalum.libera.chat (Nickname regained by services))) |
2024-04-12 10:58:45 +0200 | pyooque | puke |
2024-04-12 11:01:49 +0200 | ridcully | (~ridcully@p508accab.dip0.t-ipconnect.de) (Quit: WeeChat 4.2.1) |
2024-04-12 11:02:56 +0200 | ridcully | (~ridcully@p508accab.dip0.t-ipconnect.de) |
2024-04-12 11:03:15 +0200 | ridcully | (~ridcully@p508accab.dip0.t-ipconnect.de) (Client Quit) |
2024-04-12 11:05:16 +0200 | ridcully | (~ridcully@p508accab.dip0.t-ipconnect.de) |
2024-04-12 11:10:08 +0200 | danse-nr3 | (~danse-nr3@fi-19-195-0.service.infuturo.it) (Ping timeout: 256 seconds) |
2024-04-12 11:10:30 +0200 | danse-nr3 | (~danse-nr3@151.43.242.233) |
2024-04-12 11:12:13 +0200 | bilegeek | (~bilegeek@2600:1008:b018:559d:69a9:fcad:2125:36b1) (Quit: Leaving) |
2024-04-12 11:13:03 +0200 | sagax | (~sagax@user/sagax) (Ping timeout: 256 seconds) |
2024-04-12 11:15:29 +0200 | actioninja5 | (~actioninj@user/actioninja) |
2024-04-12 11:16:07 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-04-12 11:17:36 +0200 | actioninja | (~actioninj@user/actioninja) (Ping timeout: 268 seconds) |
2024-04-12 11:17:37 +0200 | actioninja5 | actioninja |
2024-04-12 11:21:17 +0200 | chele | (~chele@user/chele) |
2024-04-12 11:21:36 +0200 | bgt32 | (~keutoi@182.65.26.208) (Read error: Connection reset by peer) |
2024-04-12 11:31:46 +0200 | jorj | (~jorj@user/jorj) |
2024-04-12 11:32:56 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-04-12 11:41:40 +0200 | madeleine-sydney | (~madeleine@c-76-155-235-153.hsd1.co.comcast.net) (Quit: Konversation terminated!) |
2024-04-12 11:42:52 +0200 | driib | (~driib@vmi931078.contaboserver.net) (Quit: The Lounge - https://thelounge.chat) |
2024-04-12 11:43:29 +0200 | driib | (~driib@vmi931078.contaboserver.net) |
2024-04-12 11:44:46 +0200 | reki | (~halloy490@broadband-5-228-80-43.ip.moscow.rt.ru) (Remote host closed the connection) |
2024-04-12 11:47:40 +0200 | sawilagar | (~sawilagar@user/sawilagar) |
2024-04-12 11:48:10 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 255 seconds) |
2024-04-12 11:48:27 +0200 | cfricke | (~cfricke@user/cfricke) |
2024-04-12 11:54:53 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) |
2024-04-12 11:57:05 +0200 | bgt32 | (~keutoi@182.65.26.208) |
2024-04-12 11:57:35 +0200 | flukiluke | (~m-7humut@2603:c023:c000:6c7e:8945:ad24:9113:a962) (Remote host closed the connection) |
2024-04-12 11:58:51 +0200 | flukiluke | (~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 +0200 | yeitrafferin | (~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 +0200 | zniftla | (~user@p4fdbd1b1.dip0.t-ipconnect.de) |
2024-04-12 12:19:28 +0200 | lortabac | (~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 +0200 | euleritian | (~euleritia@77.22.252.56) (Read error: Connection reset by peer) |
2024-04-12 12:34:25 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-04-12 12:36:59 +0200 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) |
2024-04-12 12:37:46 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 268 seconds) |
2024-04-12 12:38:21 +0200 | Lord_of_Life_ | Lord_of_Life |
2024-04-12 12:44:27 +0200 | zniftla | (~user@p4fdbd1b1.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2024-04-12 12:53:18 +0200 | ubert | (~Thunderbi@2a02:8109:ab8a:5a00:dc48:221d:3f95:7ce6) |
2024-04-12 12:53:33 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) |
2024-04-12 13:05:18 +0200 | puke | (~puke@user/puke) (Remote host closed the connection) |
2024-04-12 13:05:42 +0200 | puke | (~puke@user/puke) |
2024-04-12 13:13:02 +0200 | noumenon | (~noumenon@113.51-175-156.customer.lyse.net) |
2024-04-12 13:14:11 +0200 | danse-nr3 | (~danse-nr3@151.43.242.233) (Ping timeout: 256 seconds) |
2024-04-12 13:16:59 +0200 | n8n | (n8n@user/n8n) |
2024-04-12 13:23:03 +0200 | danse-nr3 | (~danse-nr3@151.43.242.233) |
2024-04-12 13:28:29 +0200 | SteelBlueSilk | (~SteelBlue@user/SteelBlueSilk) (Read error: Connection reset by peer) |
2024-04-12 13:31:58 +0200 | SteelBlueSilk | (~SteelBlue@c-98-42-249-36.hsd1.ca.comcast.net) |
2024-04-12 13:31:58 +0200 | SteelBlueSilk | (~SteelBlue@c-98-42-249-36.hsd1.ca.comcast.net) (Changing host) |
2024-04-12 13:31:58 +0200 | SteelBlueSilk | (~SteelBlue@user/SteelBlueSilk) |
2024-04-12 13:35:27 +0200 | nickiminjaj | (~kvirc@188.146.120.15) |
2024-04-12 13:36:00 +0200 | nickiminjaj | (~kvirc@188.146.120.15) (Changing host) |
2024-04-12 13:36:00 +0200 | nickiminjaj | (~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 +0200 | anpad | (~pandeyan@user/anpad) (Quit: ZNC 1.8.2 - https://znc.in) |
2024-04-12 13:46:19 +0200 | anpad | (~pandeyan@user/anpad) |
2024-04-12 13:50:03 +0200 | sroso | (~sroso@user/SrOso) (Quit: Leaving :)) |
2024-04-12 13:54:27 +0200 | haocrcmt^ | (~cd@c-98-242-74-66.hsd1.ga.comcast.net) |
2024-04-12 13:55:57 +0200 | bgt32 | (~keutoi@182.65.26.208) (Quit: leaving) |
2024-04-12 14:00:10 +0200 | qqq | (~qqq@92.43.167.61) (Remote host closed the connection) |
2024-04-12 14:09:42 +0200 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) |
2024-04-12 14:10:47 +0200 | ddellacosta | (~ddellacos@ool-44c73d29.dyn.optonline.net) (Ping timeout: 260 seconds) |
2024-04-12 14:15:08 +0200 | cheater_ | (~Username@user/cheater) |
2024-04-12 14:17:05 +0200 | cheater | (~Username@user/cheater) (Ping timeout: 256 seconds) |
2024-04-12 14:17:13 +0200 | cheater_ | cheater |
2024-04-12 14:22:55 +0200 | danse-nr3 | (~danse-nr3@151.43.242.233) (Ping timeout: 260 seconds) |
2024-04-12 14:23:52 +0200 | raehik | (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) |
2024-04-12 14:31:37 +0200 | danse-nr3 | (~danse-nr3@151.43.242.233) |
2024-04-12 14:34:11 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) (Ping timeout: 264 seconds) |
2024-04-12 14:34:49 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
2024-04-12 14:35:27 +0200 | tromp | (~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 +0200 | bgt32 | (~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 +0200 | alexherbo2 | (~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 +0200 | Square2 | (~Square4@user/square) |
2024-04-12 14:41:34 +0200 | Hafydd | (~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 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-04-12 14:51:14 +0200 | causal | (~eric@50.35.88.207) (Quit: WeeChat 4.1.1) |
2024-04-12 14:53:53 +0200 | destituion | (~destituio@85.221.111.174) (Ping timeout: 252 seconds) |
2024-04-12 14:55:10 +0200 | nickiminjaj | (~kvirc@user/laxhh) (Quit: KVIrc 5.2.2 Quasar http://www.kvirc.net/) |
2024-04-12 14:55:25 +0200 | nickiminjaj | (~kvirc@188.146.120.15) |
2024-04-12 14:55:25 +0200 | nickiminjaj | (~kvirc@188.146.120.15) (Changing host) |
2024-04-12 14:55:25 +0200 | nickiminjaj | (~kvirc@user/laxhh) |
2024-04-12 14:57:14 +0200 | nickiminjaj | (~kvirc@user/laxhh) (Client Quit) |
2024-04-12 14:58:08 +0200 | destituion | (~destituio@2a02:2121:107:22da:94a0:4297:56fa:10c9) |
2024-04-12 15:02:32 +0200 | alexherbo2 | (~alexherbo@2a02-8440-3440-0c06-f91a-c702-40ff-7bd4.rev.sfr.net) (Remote host closed the connection) |
2024-04-12 15:03:43 +0200 | cross | (~cross@spitfire.i.gajendra.net) |
2024-04-12 15:07:21 +0200 | sawilagar | (~sawilagar@user/sawilagar) (Remote host closed the connection) |
2024-04-12 15:07:40 +0200 | sawilagar | (~sawilagar@user/sawilagar) |
2024-04-12 15:09:35 +0200 | danse-nr3 | (~danse-nr3@151.43.242.233) (Ping timeout: 260 seconds) |
2024-04-12 15:10:07 +0200 | danse-nr3 | (~danse-nr3@151.35.220.15) |
2024-04-12 15:11:28 +0200 | xdminsy | (~xdminsy@117.147.70.203) |
2024-04-12 15:12:37 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 256 seconds) |
2024-04-12 15:13:51 +0200 | euleritian | (~euleritia@dynamic-176-006-181-023.176.6.pool.telefonica.de) |
2024-04-12 15:17:52 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-04-12 15:18:58 +0200 | simendsjo | (~user@84.209.170.3) |
2024-04-12 15:24:05 +0200 | sawilagar | (~sawilagar@user/sawilagar) (Ping timeout: 256 seconds) |
2024-04-12 15:27:44 +0200 | sawilagar | (~sawilagar@user/sawilagar) |
2024-04-12 15:36:20 +0200 | mei | (~mei@user/mei) (Remote host closed the connection) |
2024-04-12 15:38:57 +0200 | mei | (~mei@user/mei) |
2024-04-12 15:57:23 +0200 | sawilagar | (~sawilagar@user/sawilagar) (Read error: Connection reset by peer) |
2024-04-12 15:58:40 +0200 | sawilagar | (~sawilagar@user/sawilagar) |
2024-04-12 16:00:38 +0200 | vnogueira | (~vnogueira@user/vnogueira) (Remote host closed the connection) |
2024-04-12 16:01:00 +0200 | vnogueira | (~vnogueira@user/vnogueira) |
2024-04-12 16:17:02 +0200 | ft | (~ft@p4fc2a20e.dip0.t-ipconnect.de) |
2024-04-12 16:20:17 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.1.1) |
2024-04-12 16:24:06 +0200 | jorj | (~jorj@user/jorj) (Quit: jorj) |
2024-04-12 16:26:48 +0200 | qqq | (~qqq@92.43.167.61) |
2024-04-12 16:31:17 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-04-12 16:33:56 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2024-04-12 16:39:47 +0200 | euleritian | (~euleritia@dynamic-176-006-181-023.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-04-12 16:40:26 +0200 | euleritian | (~euleritia@77.22.252.56) |
2024-04-12 16:42:03 +0200 | gehmehgeh | (~user@user/gehmehgeh) |
2024-04-12 16:50:11 +0200 | igemnace | (~ian@user/igemnace) (Read error: Connection reset by peer) |
2024-04-12 16:56:54 +0200 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 4.2.2) |
2024-04-12 17:06:49 +0200 | igemnace | (~ian@user/igemnace) |
2024-04-12 17:07:11 +0200 | euleritian | (~euleritia@77.22.252.56) (Ping timeout: 264 seconds) |
2024-04-12 17:07:39 +0200 | euleritian | (~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 +0200 | rekahsoft | (~rekahsoft@bras-base-orllon1103w-grc-13-184-148-6-204.dsl.bell.ca) |
2024-04-12 17:16:51 +0200 | tromp | (~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 +0200 | euleritian | (~euleritia@dynamic-176-006-181-023.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-04-12 17:18:40 +0200 | simendsjo | (~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 +0200 | euleritian | (~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 +0200 | ubert | (~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 +0200 | tri | (~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 +0200 | ChaiTRex | (~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 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-04-12 17:40:05 +0200 | vpan | (~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 +0200 | chele | (~chele@user/chele) (Remote host closed the connection) |
2024-04-12 17:58:30 +0200 | euleritian | (~euleritia@tmo-118-99.customers.d1-online.com) (Ping timeout: 255 seconds) |
2024-04-12 17:59:15 +0200 | euleritian | (~euleritia@dynamic-176-004-207-187.176.4.pool.telefonica.de) |
2024-04-12 18:01:49 +0200 | Guest93 | (~Guest99@84.54.73.75) |
2024-04-12 18:01:58 +0200 | Hafydd | (~Hafydd@user/hafydd) |
2024-04-12 18:02:04 +0200 | Guest93 | (~Guest99@84.54.73.75) (Client Quit) |
2024-04-12 18:02:20 +0200 | Guest48 | (~Guest99@84.54.73.75) |
2024-04-12 18:02:42 +0200 | Guest48 | (~Guest99@84.54.73.75) (Client Quit) |
2024-04-12 18:03:17 +0200 | danse-nr3 | (~danse-nr3@151.35.220.15) (Ping timeout: 240 seconds) |
2024-04-12 18:03:54 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-04-12 18:04:12 +0200 | raehik | (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) (Ping timeout: 252 seconds) |
2024-04-12 18:08:21 +0200 | waleee | (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) |
2024-04-12 18:13:44 +0200 | vnogueira_ | (~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 +0200 | vnogueira | (~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 +0200 | machinedgod | (~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> | <sm> 👍️ |
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 +0200 | sm | doesn'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 +0200 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
2024-04-12 18:41:43 +0200 | bgt32 | (~keutoi@182.65.26.208) (Ping timeout: 255 seconds) |
2024-04-12 18:41:59 +0200 | tzh | (~tzh@c-73-164-206-160.hsd1.or.comcast.net) |
2024-04-12 18:45:17 +0200 | peterbecich | (~Thunderbi@47.229.123.186) |
2024-04-12 18:46:40 +0200 | mikoto | (~mikoto@ip-83-134-169-166.dsl.scarlet.be) |
2024-04-12 18:47:47 +0200 | euleritian | (~euleritia@dynamic-176-004-207-187.176.4.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-04-12 18:48:00 +0200 | euleritian | (~euleritia@tmo-118-99.customers.d1-online.com) |
2024-04-12 18:49:01 +0200 | raehik | (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) |
2024-04-12 18:52:23 +0200 | peterbecich | (~Thunderbi@47.229.123.186) (Ping timeout: 272 seconds) |
2024-04-12 18:53:01 +0200 | euleritian | (~euleritia@tmo-118-99.customers.d1-online.com) (Ping timeout: 272 seconds) |
2024-04-12 18:53:17 +0200 | euleritian | (~euleritia@dynamic-176-004-207-187.176.4.pool.telefonica.de) |
2024-04-12 18:55:12 +0200 | mikoto | (~mikoto@ip-83-134-169-166.dsl.scarlet.be) (Quit: WeeChat 4.0.4) |
2024-04-12 19:01:30 +0200 | EvanR | (~EvanR@user/evanr) (Quit: Leaving) |
2024-04-12 19:02:25 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
2024-04-12 19:10:17 +0200 | euleritian | (~euleritia@dynamic-176-004-207-187.176.4.pool.telefonica.de) (Read error: Connection reset by peer) |
2024-04-12 19:10:26 +0200 | yeitrafferin | (~user@2a04:4540:7212:e100:ffdb:291e:88d:8f3a) |
2024-04-12 19:10:36 +0200 | euleritian | (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) |
2024-04-12 19:20:23 +0200 | puke | (~puke@user/puke) (Remote host closed the connection) |
2024-04-12 19:21:33 +0200 | xdminsy | (~xdminsy@117.147.70.203) (Read error: Connection reset by peer) |
2024-04-12 19:22:34 +0200 | vulpine | (xfnw@user/meow/xfnw) (Quit: Connection reset by purr) |
2024-04-12 19:24:13 +0200 | vulpine | (xfnw@user/meow/xfnw) |
2024-04-12 19:27:49 +0200 | puke | (~puke@user/puke) |
2024-04-12 19:28:06 +0200 | gehmehgeh | gmg |
2024-04-12 19:33:01 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-04-12 19:43:43 +0200 | hueso | (~root@user/hueso) (Quit: No Ping reply in 180 seconds.) |
2024-04-12 19:44:54 +0200 | hueso | (~root@user/hueso) |
2024-04-12 19:45:11 +0200 | igemnace | (~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 +0200 | EvanR | (~EvanR@user/evanr) |
2024-04-12 19:50:29 +0200 | Square2 | (~Square4@user/square) (Ping timeout: 240 seconds) |
2024-04-12 19:55:23 +0200 | puke | (~puke@user/puke) (Remote host closed the connection) |
2024-04-12 20:01:47 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-04-12 20:02:18 +0200 | puke | (~puke@user/puke) |
2024-04-12 20:26:29 +0200 | sudden | (~cat@user/sudden) (Ping timeout: 240 seconds) |
2024-04-12 20:39:25 +0200 | sudden | (~cat@user/sudden) |
2024-04-12 20:44:01 +0200 | haocrcmt^ | (~cd@c-98-242-74-66.hsd1.ga.comcast.net) (Ping timeout: 268 seconds) |
2024-04-12 20:44:16 +0200 | haocrcmt^ | (~cd@c-98-242-74-66.hsd1.ga.comcast.net) |
2024-04-12 21:01:32 +0200 | philopsos | (~caecilius@user/philopsos) |
2024-04-12 21:09:00 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-04-12 21:11:39 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-04-12 21:17:07 +0200 | michalz | (~michalz@185.246.207.218) (Ping timeout: 256 seconds) |
2024-04-12 21:25:00 +0200 | raehik | (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) (Ping timeout: 260 seconds) |
2024-04-12 21:30:29 +0200 | yeitrafferin | (~user@2a04:4540:7212:e100:ffdb:291e:88d:8f3a) (Quit: Leaving) |
2024-04-12 21:44:36 +0200 | econo_ | (uid147250@id-147250.tinside.irccloud.com) |
2024-04-12 21:45:30 +0200 | Hafydd | (~Hafydd@user/hafydd) (Quit: WeeChat 3.5) |
2024-04-12 21:45:55 +0200 | Hafydd | (~Hafydd@user/hafydd) |
2024-04-12 21:46:12 +0200 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection) |
2024-04-12 21:46:44 +0200 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-04-12 21:47:40 +0200 | michalz | (~michalz@185.246.207.215) |
2024-04-12 21:49:54 +0200 | Square | (~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 +0200 | akegalj | (~akegalj@85.114.55.14) |
2024-04-12 22:15:53 +0200 | tromp | (~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 +0200 | Achylles | (~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 +0200 | euphores | (~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 +0200 | tomsmeding | wants 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 +0200 | tri | (~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 +0200 | tri | (~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 +0200 | sawilagar | (~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 +0200 | michalz | (~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 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2024-04-12 23:13:51 +0200 | AlexZenon | (~alzenon@178.34.160.182) (Ping timeout: 256 seconds) |
2024-04-12 23:15:11 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2024-04-12 23:17:26 +0200 | machinedgod | (~machinedg@d173-183-246-216.abhsia.telus.net) |
2024-04-12 23:26:24 +0200 | zetef | (~quassel@2a02:2f00:5005:3f00:7daa:3f05:c1bf:3242) |
2024-04-12 23:29:32 +0200 | AlexZenon | (~alzenon@178.34.160.182) |
2024-04-12 23:32:09 +0200 | phma | (phma@2001:5b0:2172:a338:b304:4663:8d39:5294) (Read error: Connection reset by peer) |
2024-04-12 23:32:20 +0200 | zetef_ | (~quassel@86.121.125.131) |
2024-04-12 23:32:43 +0200 | phma | (~phma@host-67-44-208-158.hnremote.net) |
2024-04-12 23:34:29 +0200 | zetef | (~quassel@2a02:2f00:5005:3f00:7daa:3f05:c1bf:3242) (Ping timeout: 240 seconds) |
2024-04-12 23:36:40 +0200 | akegalj | (~akegalj@85.114.55.14) (Quit: leaving) |
2024-04-12 23:37:47 +0200 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) (Remote host closed the connection) |
2024-04-12 23:38:19 +0200 | tri | (~tri@ool-18bc2e74.dyn.optonline.net) |
2024-04-12 23:38:56 +0200 | AlexZenon | (~alzenon@178.34.160.182) (Ping timeout: 260 seconds) |
2024-04-12 23:40:48 +0200 | n8n | (n8n@user/n8n) (Quit: WeeChat 4.2.2) |
2024-04-12 23:43:16 +0200 | AlexZenon | (~alzenon@178.34.160.182) |
2024-04-12 23:50:33 +0200 | zetef_ | (~quassel@86.121.125.131) (Ping timeout: 268 seconds) |
2024-04-12 23:53:04 +0200 | target_i | (~target_i@user/target-i/x-6023099) (Quit: leaving) |