2024/11/13

2024-11-13 00:03:13 +0100Hafydd(~Hafydd@user/hafydd) Hafydd
2024-11-13 00:06:12 +0100falafel(~falafel@2600:1700:99f4:2050:7dd6:87c8:aed5:b9e5) (Ping timeout: 252 seconds)
2024-11-13 00:06:21 +0100gabriel_sevecek(~gabriel@188-167-229-200.dynamic.chello.sk) (Quit: WeeChat 4.4.2)
2024-11-13 00:08:29 +0100gabriel_sevecek(~gabriel@188-167-229-200.dynamic.chello.sk) gabriel_sevecek
2024-11-13 00:10:53 +0100Everything(~Everythin@178-133-145-205.mobile.vf-ua.net) Everything
2024-11-13 00:19:33 +0100acidjnk_new3(~acidjnk@p200300d6e7283f33a143196b11e5c3bb.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
2024-11-13 00:20:54 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 276 seconds)
2024-11-13 00:29:14 +0100JuanDaugherty(~juan@user/JuanDaugherty) JuanDaugherty
2024-11-13 00:31:29 +0100weary-traveler(~user@user/user363627) (Remote host closed the connection)
2024-11-13 00:31:31 +0100sord937(~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
2024-11-13 00:35:37 +0100CrunchyFlakes(~CrunchyFl@31.19.233.78) (Quit: ZNC 1.8.2 - https://znc.in)
2024-11-13 00:42:13 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2024-11-13 00:47:36 +0100Sgeo(~Sgeo@user/sgeo) Sgeo
2024-11-13 00:51:15 +0100KicksonButt(~quassel@187.21.174.221)
2024-11-13 00:54:40 +0100JuanDaugherty(~juan@user/JuanDaugherty) (Quit: JuanDaugherty)
2024-11-13 00:57:00 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 244 seconds)
2024-11-13 00:57:22 +0100Inst_(~Inst@user/Inst) Inst
2024-11-13 00:59:59 +0100Inst(~Inst@user/Inst) (Ping timeout: 252 seconds)
2024-11-13 01:04:06 +0100yuzu(~yuzu@2800:484:2482:7000:8185:93f7:e30f:cb00)
2024-11-13 01:04:20 +0100yuzu(~yuzu@2800:484:2482:7000:8185:93f7:e30f:cb00) (Client Quit)
2024-11-13 01:04:52 +0100yuzu(~yuzu@2800:484:2482:7000:8185:93f7:e30f:cb00)
2024-11-13 01:07:31 +0100sprotte24(~sprotte24@p200300d16f2cc30041d9df5443f92151.dip0.t-ipconnect.de) (Quit: Leaving)
2024-11-13 01:12:50 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
2024-11-13 01:13:02 +0100ljdarj1(~Thunderbi@user/ljdarj) ljdarj
2024-11-13 01:13:07 +0100yuzu(~yuzu@2800:484:2482:7000:8185:93f7:e30f:cb00) (Quit: Client closed)
2024-11-13 01:14:23 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) Lord_of_Life
2024-11-13 01:16:50 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 248 seconds)
2024-11-13 01:16:50 +0100ljdarj1ljdarj
2024-11-13 01:17:21 +0100Everything(~Everythin@178-133-145-205.mobile.vf-ua.net) (Quit: leaving)
2024-11-13 01:18:12 +0100KicksonButt(~quassel@187.21.174.221) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2024-11-13 01:27:07 +0100L29Ah(~L29Ah@wikipedia/L29Ah) ()
2024-11-13 01:27:54 +0100xff0x(~xff0x@2405:6580:b080:900:50c5:d80f:bb7d:df5c) (Ping timeout: 260 seconds)
2024-11-13 01:31:04 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2024-11-13 01:35:56 +0100Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.)
2024-11-13 01:43:37 +0100EvanR(~EvanR@user/evanr) (Remote host closed the connection)
2024-11-13 01:43:56 +0100EvanR(~EvanR@user/evanr) EvanR
2024-11-13 01:44:49 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 260 seconds)
2024-11-13 02:03:08 +0100 <Axman6> bailsman: that feels like you're reinventing https://hackage.haskell.org/package/vector-0.13.2.0/docs/Data-Vector.html#v:imap? or something else? I think what you've written will have to repeatedly freeze and copy the vector so it's going to be very slow.
2024-11-13 02:03:45 +0100Square(~Square@user/square) Square
2024-11-13 02:04:15 +0100remexre(~remexre@user/remexre) (Remote host closed the connection)
2024-11-13 02:04:37 +0100remexre(~remexre@user/remexre) remexre
2024-11-13 02:04:47 +0100 <Axman6> uh, actually, isn't that just map?
2024-11-13 02:06:53 +0100 <Axman6> Even if things aren't being copied, you're incurring a bounds check for every index. mapM (pure . f) v would be much more efficient, and more idomatic (it took me ages to figure out what that code was actually doing)
2024-11-13 02:07:47 +0100comonad(~comonad@p200300d027186300edf824b7b80a34ff.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
2024-11-13 02:07:56 +0100stiell_(~stiell@gateway/tor-sasl/stiell) (Ping timeout: 260 seconds)
2024-11-13 02:09:59 +0100comonad(~comonad@p200300d0270bcb00d2bd35ff80c069c9.dip0.t-ipconnect.de)
2024-11-13 02:26:33 +0100 <haskellbridge> <zwro> > [0..] !! maxBound
2024-11-13 02:27:43 +0100 <haskellbridge> <zwro> come on
2024-11-13 02:27:44 +0100 <haskellbridge> > [0..] !! maxBound
2024-11-13 02:27:49 +0100 <lambdabot> mueval-core: Time limit exceeded
2024-11-13 02:28:58 +0100 <Rembane> Wouldn't that be maxBound +/- 1?
2024-11-13 02:29:01 +0100 <Rembane> > maxBound
2024-11-13 02:29:03 +0100 <lambdabot> ()
2024-11-13 02:29:04 +0100 <Rembane> :D
2024-11-13 02:29:40 +0100 <jackdk> > [0..] !! fromEnum (maxBound)
2024-11-13 02:29:42 +0100 <lambdabot> error:
2024-11-13 02:29:42 +0100 <lambdabot> • Could not deduce (Enum a0) arising from a use of ‘fromEnum’
2024-11-13 02:29:42 +0100 <lambdabot> from the context: (Num a, Enum a)
2024-11-13 02:29:50 +0100 <jackdk> darn I was hoping it'd default
2024-11-13 02:29:57 +0100 <monochrom> @type [0..] !! maxBound
2024-11-13 02:29:58 +0100 <lambdabot> (Num a, Enum a) => a
2024-11-13 02:30:17 +0100 <monochrom> > maxBound :: Integer
2024-11-13 02:30:19 +0100 <lambdabot> error:
2024-11-13 02:30:19 +0100 <lambdabot> • No instance for (Bounded Integer)
2024-11-13 02:30:19 +0100 <lambdabot> arising from a use of ‘maxBound’
2024-11-13 02:30:29 +0100 <Rembane> > maxBound :: Int
2024-11-13 02:30:30 +0100 <lambdabot> 9223372036854775807
2024-11-13 02:30:36 +0100 <Rembane> That's a big number.
2024-11-13 02:31:33 +0100 <monochrom> > [maxBound] `asTypeOf` [0..] !! maxBound
2024-11-13 02:31:34 +0100 <lambdabot> error:
2024-11-13 02:31:34 +0100 <lambdabot> • Ambiguous type variable ‘a0’ arising from a use of ‘show_M452416577057...
2024-11-13 02:31:34 +0100 <lambdabot> prevents the constraint ‘(Show a0)’ from being solved.
2024-11-13 02:32:01 +0100 <monochrom> Ah maybe parens
2024-11-13 02:32:06 +0100 <monochrom> > [maxBound] `asTypeOf` ([0..] !! maxBound)
2024-11-13 02:32:07 +0100 <lambdabot> error:
2024-11-13 02:32:07 +0100 <lambdabot> • No instance for (Num [()]) arising from a use of ‘e_10’
2024-11-13 02:32:07 +0100 <lambdabot> • In the expression: e_10
2024-11-13 02:32:19 +0100 <monochrom> Oh oops I am a type error
2024-11-13 02:32:26 +0100 <monochrom> > maxBound `asTypeOf` ([0..] !! maxBound)
2024-11-13 02:32:28 +0100 <lambdabot> error:
2024-11-13 02:32:28 +0100 <lambdabot> • Ambiguous type variable ‘a0’ arising from a use of ‘show_M414883925847...
2024-11-13 02:32:28 +0100 <lambdabot> prevents the constraint ‘(Show a0)’ from being solved.
2024-11-13 02:32:31 +0100xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2024-11-13 02:33:16 +0100 <monochrom> Haha I guess I fail at type inference.
2024-11-13 02:33:56 +0100 <yin> what are you trying to do?
2024-11-13 02:34:36 +0100 <geekosaur> this sounds like someone put in the Num instance for () again?
2024-11-13 02:34:38 +0100 <monochrom> I am trying to understand what [0..] !! maxBound defaults to.
2024-11-13 02:34:51 +0100 <yin> :t [0..] !! maxBound
2024-11-13 02:34:52 +0100 <lambdabot> (Num a, Enum a) => a
2024-11-13 02:35:00 +0100 <yin> Integer probably
2024-11-13 02:35:10 +0100Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
2024-11-13 02:35:13 +0100 <monochrom> > ([0..] !! maxBound) :: Integer
2024-11-13 02:35:19 +0100 <lambdabot> mueval-core: Time limit exceeded
2024-11-13 02:35:20 +0100 <yin> [0 :: Integer] !! (maxBound :: Int)
2024-11-13 02:35:49 +0100 <monochrom> Ooohhhh I am a moron. x!!y forces y :: Int.
2024-11-13 02:35:57 +0100 <yin> yes :)
2024-11-13 02:36:16 +0100 <yin> i mean not that you're a moron. the second part
2024-11-13 02:36:38 +0100 <monochrom> haha
2024-11-13 02:36:56 +0100 <monochrom> I somehow had [0..maxBound] stuck in my mind.
2024-11-13 02:37:16 +0100 <yin> intuitively makes sense
2024-11-13 02:42:03 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 245 seconds)
2024-11-13 02:47:34 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2024-11-13 02:47:53 +0100stiell_(~stiell@gateway/tor-sasl/stiell) stiell
2024-11-13 03:02:17 +0100tomku(~tomku@user/tomku) tomku
2024-11-13 03:11:18 +0100Square(~Square@user/square) (Remote host closed the connection)
2024-11-13 03:13:24 +0100ph88(~ph88@2a02:8109:9e26:c800:b27:4ecf:926d:786) (Remote host closed the connection)
2024-11-13 03:15:12 +0100Square(~Square@user/square) Square
2024-11-13 03:17:05 +0100 <haskellbridge> <zwro> ghci defaulting to () for constrained polymorphic types happens because it's the simplest thing you can print. ghc would complain
2024-11-13 03:18:16 +0100 <haskellbridge> <zwro> it's the most sensible thing to print
2024-11-13 03:18:16 +0100 <haskellbridge> > :t mempty
2024-11-13 03:18:17 +0100 <lambdabot> <hint>:1:1: error: parse error on input ‘:’
2024-11-13 03:18:32 +0100 <haskellbridge> <zwro> er
2024-11-13 03:18:32 +0100 <haskellbridge> :t mempty
2024-11-13 03:18:33 +0100 <lambdabot> Monoid a => a
2024-11-13 03:18:52 +0100 <haskellbridge> <zwro> there we go
2024-11-13 03:18:52 +0100 <haskellbridge> > mempty
2024-11-13 03:18:54 +0100 <lambdabot> ()
2024-11-13 03:21:00 +0100weary-traveler(~user@user/user363627) user363627
2024-11-13 03:30:42 +0100ZLima12(~zlima12@user/meow/ZLima12) (Ping timeout: 276 seconds)
2024-11-13 03:31:07 +0100ZLima12(~zlima12@user/meow/ZLima12) ZLima12
2024-11-13 03:40:09 +0100glguy(glguy@libera/staff/glguy) (Quit: Quit)
2024-11-13 03:46:33 +0100weary-traveler(~user@user/user363627) (Quit: Konversation terminated!)
2024-11-13 03:47:33 +0100machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 252 seconds)
2024-11-13 03:49:48 +0100alp(~alp@2001:861:e3d6:8f80:46dd:be45:db8:fbc7) (Ping timeout: 272 seconds)
2024-11-13 03:51:01 +0100weary-traveler(~user@user/user363627) user363627
2024-11-13 03:53:04 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
2024-11-13 03:58:07 +0100glguy(glguy@libera/staff/glguy) glguy
2024-11-13 04:20:48 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2024-11-13 04:30:49 +0100td_(~td@i5387092B.versanet.de) (Ping timeout: 252 seconds)
2024-11-13 04:32:38 +0100td_(~td@i53870901.versanet.de)
2024-11-13 04:36:41 +0100alphazone(~alphazone@2.219.56.221) (Ping timeout: 252 seconds)
2024-11-13 04:44:42 +0100alp(~alp@2001:861:e3d6:8f80:a847:8724:8ab7:c88b)
2024-11-13 04:47:09 +0100pavonia(~user@user/siracusa) (Quit: Bye!)
2024-11-13 04:50:03 +0100 <EvanR> inany case [0..] !! maxBound, maxBound +1, maxBound - 1 all make sense, it's infinite. Other than maxBound + 1 not being a thing
2024-11-13 04:50:39 +0100 <EvanR> :t (!!)
2024-11-13 04:50:40 +0100 <lambdabot> [a] -> Int -> a
2024-11-13 04:53:15 +0100 <EvanR> this type signature for this operation is so disappoint
2024-11-13 04:53:44 +0100 <EvanR> more like [a] -> Int -> a or crash, who knows
2024-11-13 05:15:03 +0100 <dibblego> @type ix
2024-11-13 05:15:04 +0100 <lambdabot> (Ixed m, Applicative f) => Index m -> (IxValue m -> f (IxValue m)) -> m -> f m
2024-11-13 05:15:27 +0100 <dibblego> @type view . ix
2024-11-13 05:15:27 +0100 <lambdabot> (MonadReader s m, Ixed s, Monoid (IxValue s)) => Index s -> m (IxValue s)
2024-11-13 05:18:36 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds)
2024-11-13 05:25:01 +0100pointlessslippe1(~pointless@62.106.85.17) (Read error: Connection reset by peer)
2024-11-13 05:25:33 +0100pointlessslippe1(~pointless@62.106.85.17) pointlessslippe1
2024-11-13 05:40:06 +0100aforemny_(~aforemny@i59F4C560.versanet.de) aforemny
2024-11-13 05:40:48 +0100aforemny(~aforemny@2001:9e8:6cde:dd00:e907:b368:5aa5:db2) (Ping timeout: 245 seconds)
2024-11-13 05:44:55 +0100superbil(~superbil@114-32-231-70.hinet-ip.hinet.net) (Ping timeout: 240 seconds)
2024-11-13 05:46:44 +0100superbil(~superbil@114-32-231-70.hinet-ip.hinet.net) superbil
2024-11-13 05:50:56 +0100notzmv(~daniel@user/notzmv) notzmv
2024-11-13 05:53:38 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2024-11-13 06:08:05 +0100mange(~user@user/mange) mange
2024-11-13 06:12:53 +0100 <Axman6> @type view . ix `asAppliedTo` undefined
2024-11-13 06:12:54 +0100 <lambdabot> (MonadReader s m, Ixed s, Monoid (IxValue s)) => Index s -> m (IxValue s)
2024-11-13 06:16:11 +0100 <jackdk> @type asAppliedTo
2024-11-13 06:16:12 +0100 <lambdabot> (a -> b) -> a -> a -> b
2024-11-13 06:16:25 +0100 <jackdk> huh?
2024-11-13 06:16:34 +0100gehmehgeh(~user@user/gehmehgeh) gehmehgeh
2024-11-13 06:16:58 +0100 <Axman6> it's just const with a resticted type, like all the things in lens which are just id
2024-11-13 06:17:20 +0100 <Axman6> I was trying to get it to expand the m to a function
2024-11-13 06:17:36 +0100 <Axman6> @type \x -> view (ix x) `asAppliedTo` undefined
2024-11-13 06:17:37 +0100 <lambdabot> (Ixed s, Monoid (IxValue s)) => Index s -> s -> IxValue s
2024-11-13 06:18:45 +0100gmg(~user@user/gehmehgeh) (Remote host closed the connection)
2024-11-13 06:51:42 +0100michalz(~michalz@185.246.207.201)
2024-11-13 07:24:26 +0100foul_owl(~kerry@185.216.231.181) (Ping timeout: 255 seconds)
2024-11-13 07:26:22 +0100alphazone(~alphazone@2.219.56.221)
2024-11-13 07:26:58 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2024-11-13 07:31:13 +0100Square2(~Square4@user/square) Square
2024-11-13 07:34:19 +0100Square(~Square@user/square) (Ping timeout: 264 seconds)
2024-11-13 07:36:11 +0100rvalue(~rvalue@user/rvalue) (Read error: Connection reset by peer)
2024-11-13 07:36:42 +0100rvalue(~rvalue@user/rvalue) rvalue
2024-11-13 07:38:53 +0100foul_owl(~kerry@185.216.231.180) foul_owl
2024-11-13 07:49:43 +0100hughjfchen(~hughjfche@vmi556545.contaboserver.net) (Quit: WeeChat 4.2.2)
2024-11-13 07:50:08 +0100hughjfchen(~hughjfche@vmi556545.contaboserver.net) hughjfchen
2024-11-13 07:51:34 +0100hughjfchen(~hughjfche@vmi556545.contaboserver.net) (Client Quit)
2024-11-13 07:52:19 +0100acidjnk_new3(~acidjnk@p200300d6e7283f71e1b1d5072338b10c.dip0.t-ipconnect.de) acidjnk
2024-11-13 07:53:31 +0100notzmv(~daniel@user/notzmv) (Ping timeout: 264 seconds)
2024-11-13 07:54:05 +0100hughjfchen(~hughjfche@vmi556545.contaboserver.net) hughjfchen
2024-11-13 08:11:25 +0100 <carbolymer> > putStrLn "󱦟"
2024-11-13 08:11:27 +0100 <lambdabot> <hint>:1:11: error:
2024-11-13 08:11:27 +0100 <lambdabot> lexical error in string/character literal at character '\989599'
2024-11-13 08:11:36 +0100 <carbolymer> how do I put unicode into the source code?
2024-11-13 08:13:14 +0100 <probie> By just putting it in the source
2024-11-13 08:13:23 +0100 <probie> That's not a unicode character
2024-11-13 08:14:05 +0100 <carbolymer> ok that's utf-16
2024-11-13 08:15:41 +0100 <EvanR> um
2024-11-13 08:16:01 +0100 <EvanR> is that glyph showing 0F199F because that's out of range
2024-11-13 08:16:27 +0100 <EvanR> > maxBound :: Char
2024-11-13 08:16:28 +0100 <lambdabot> '\1114111'
2024-11-13 08:16:41 +0100 <EvanR> though 989599 isn't
2024-11-13 08:17:36 +0100 <EvanR> I'm lost
2024-11-13 08:18:32 +0100 <mauke> > chr 1114112
2024-11-13 08:18:34 +0100 <lambdabot> *Exception: Prelude.chr: bad argument: 1114112
2024-11-13 08:18:39 +0100 <EvanR> > generalCategory '󱦟'
2024-11-13 08:18:40 +0100 <lambdabot> <hint>:1:18: error:
2024-11-13 08:18:40 +0100 <lambdabot> lexical error in string/character literal at character '\989599'
2024-11-13 08:18:43 +0100 <mauke> > chr 989599
2024-11-13 08:18:45 +0100 <lambdabot> '\989599'
2024-11-13 08:18:55 +0100 <EvanR> > generalCategory '\989599'
2024-11-13 08:18:56 +0100 <lambdabot> PrivateUse
2024-11-13 08:19:18 +0100 <probie> I'm 80% sure 0F 11 9F isn't a valid utf-16 encoding either
2024-11-13 08:19:19 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 264 seconds)
2024-11-13 08:19:33 +0100 <probie> s/11/19/
2024-11-13 08:19:41 +0100 <EvanR> it's a private use character
2024-11-13 08:19:51 +0100 <EvanR> maybe it's lexically illegal
2024-11-13 08:20:53 +0100 <EvanR> % putStrLn "🦟"
2024-11-13 08:20:53 +0100 <yahb2> 🦟
2024-11-13 08:20:57 +0100 <EvanR> carbolymer, ^
2024-11-13 08:21:16 +0100 <Maxdamantus> ghci's readlive thing messes up when you try to write it.
2024-11-13 08:21:16 +0100 <carbolymer> > chr 0xf199f
2024-11-13 08:21:18 +0100 <lambdabot> '\989599'
2024-11-13 08:21:22 +0100 <Maxdamantus> readline*
2024-11-13 08:21:25 +0100 <carbolymer> > putStr $ chr 0xf199f
2024-11-13 08:21:26 +0100 <lambdabot> error:
2024-11-13 08:21:26 +0100 <lambdabot> • Couldn't match type ‘Char’ with ‘[Char]’
2024-11-13 08:21:26 +0100 <lambdabot> Expected type: String
2024-11-13 08:21:33 +0100 <carbolymer> > putStr $ [chr 0xf199f]
2024-11-13 08:21:35 +0100 <lambdabot> <IO ()>
2024-11-13 08:21:39 +0100 <carbolymer> uh
2024-11-13 08:21:42 +0100 <Maxdamantus> silly people doing silly things with Unicode, imo.
2024-11-13 08:21:52 +0100 <EvanR> lambdabot doesn't run IO but yahb2 does
2024-11-13 08:22:09 +0100 <EvanR> > text "🦟"
2024-11-13 08:22:11 +0100 <lambdabot> 🦟
2024-11-13 08:22:26 +0100 <Maxdamantus> (Haskell/ghci, that is, not sure which fails to handle it)
2024-11-13 08:22:56 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2024-11-13 08:24:33 +0100 <Maxdamantus> probably Haskell, since it happens outside of ghci, though it's weird that ghci fails to even accept it from the terminal.
2024-11-13 08:29:15 +0100 <Maxdamantus> probie: U+F199F is a valid Unicode Scalar Value, so it can be encoded in all the UTFs, including UTF-16.
2024-11-13 08:31:32 +0100 <Maxdamantus> <DB86 DD9F> is the UTF-16 encoding.
2024-11-13 08:38:16 +0100briandaed(~root@185.234.210.211)
2024-11-13 08:48:42 +0100athostFI(~Atte@176-93-56-50.bb.dnainternet.fi)
2024-11-13 08:51:45 +0100 <probie> Maxdamantus: That depends on your definition of "valid". It's in supplementary private use area A. I should probably have said "doesn't refer to a valid character"
2024-11-13 08:57:34 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-11-13 09:00:00 +0100caconym(~caconym@user/caconym) (Quit: bye)
2024-11-13 09:00:36 +0100caconym(~caconym@user/caconym) caconym
2024-11-13 09:04:15 +0100misterfish(~misterfis@84.53.85.146) misterfish
2024-11-13 09:11:01 +0100sord937(~sord937@gateway/tor-sasl/sord937) sord937
2024-11-13 09:25:31 +0100falafel(~falafel@2600:1700:99f4:2050:240e:dd91:8d35:c628) falafel
2024-11-13 09:26:44 +0100rachelambda(~rachelamb@cust-95-80-25-71.csbnet.se) (Ping timeout: 272 seconds)
2024-11-13 09:26:54 +0100ThePenguin(~ThePengui@cust-95-80-24-166.csbnet.se) (Ping timeout: 276 seconds)
2024-11-13 09:28:32 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) lortabac
2024-11-13 09:35:49 +0100chexum(~quassel@gateway/tor-sasl/chexum) chexum
2024-11-13 09:36:03 +0100robobub(uid248673@id-248673.uxbridge.irccloud.com) robobub
2024-11-13 09:42:45 +0100kuribas(~user@2a02:1808:8:e4a6:661f:8d8f:33db:fb5b)
2024-11-13 09:45:10 +0100ft(~ft@p4fc2a216.dip0.t-ipconnect.de) (Quit: leaving)
2024-11-13 09:46:58 +0100CrunchyFlakes(~CrunchyFl@ip1f13e94e.dynamic.kabel-deutschland.de)
2024-11-13 09:52:10 +0100Smiles(uid551636@id-551636.lymington.irccloud.com) Smiles
2024-11-13 09:54:01 +0100stiell_(~stiell@gateway/tor-sasl/stiell) (Ping timeout: 260 seconds)
2024-11-13 09:56:21 +0100CrunchyFlakes(~CrunchyFl@ip1f13e94e.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
2024-11-13 09:57:53 +0100machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod
2024-11-13 10:01:15 +0100random-jellyfish(~developer@2a02:2f04:11e:c600:1fd7:7df7:7f21:530f) random-jellyfish
2024-11-13 10:01:15 +0100random-jellyfish(~developer@2a02:2f04:11e:c600:1fd7:7df7:7f21:530f) (Changing host)
2024-11-13 10:01:15 +0100random-jellyfish(~developer@user/random-jellyfish) random-jellyfish
2024-11-13 10:01:17 +0100CrunchyFlakes(~CrunchyFl@31.19.233.78)
2024-11-13 10:02:24 +0100kuribas(~user@2a02:1808:8:e4a6:661f:8d8f:33db:fb5b) (Ping timeout: 252 seconds)
2024-11-13 10:14:58 +0100Alecs(~textual@nat16.software.imdea.org) (Quit: Textual IRC Client: www.textualapp.com)
2024-11-13 10:26:56 +0100hellwolf(~user@2001:1530:70:545:6a17:ff75:1fc9:4603) hellwolf
2024-11-13 10:28:47 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.4.2)
2024-11-13 10:35:17 +0100sord937(~sord937@gateway/tor-sasl/sord937) (Remote host closed the connection)
2024-11-13 10:35:45 +0100sord937(~sord937@gateway/tor-sasl/sord937) sord937
2024-11-13 10:47:46 +0100gehmehgehgmg
2024-11-13 10:49:02 +0100lxsameer(~lxsameer@Serene/lxsameer) lxsameer
2024-11-13 10:54:49 +0100tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz)
2024-11-13 10:56:40 +0100chele(~chele@user/chele) chele
2024-11-13 11:03:29 +0100falafel(~falafel@2600:1700:99f4:2050:240e:dd91:8d35:c628) (Ping timeout: 260 seconds)
2024-11-13 11:03:33 +0100infinity0(~infinity0@pwned.gg) (Remote host closed the connection)
2024-11-13 11:03:51 +0100infinity0(~infinity0@pwned.gg) infinity0
2024-11-13 11:07:05 +0100ash3en(~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) ash3en
2024-11-13 11:07:07 +0100ash3en(~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Client Quit)
2024-11-13 11:09:02 +0100agent314(~quassel@static-198-44-129-53.cust.tzulo.com) agent314
2024-11-13 11:09:50 +0100lortabac(~lortabac@37.165.74.196)
2024-11-13 11:10:51 +0100xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 246 seconds)
2024-11-13 11:11:33 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-11-13 11:17:24 +0100agent314(~quassel@static-198-44-129-53.cust.tzulo.com) (Ping timeout: 276 seconds)
2024-11-13 11:18:37 +0100agent314(~quassel@static-198-44-129-53.cust.tzulo.com) agent314
2024-11-13 11:18:57 +0100housemate(~housemate@146.70.66.228) (Ping timeout: 248 seconds)
2024-11-13 11:19:44 +0100mari-estel(~mari-este@user/mari-estel) mari-estel
2024-11-13 11:25:21 +0100mari33141(~mari-este@user/mari-estel) mari-estel
2024-11-13 11:27:42 +0100mari-estel(~mari-este@user/mari-estel) (Ping timeout: 272 seconds)
2024-11-13 11:32:01 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-11-13 11:33:01 +0100pavonia(~user@user/siracusa) siracusa
2024-11-13 11:44:35 +0100alp(~alp@2001:861:e3d6:8f80:a847:8724:8ab7:c88b) (Ping timeout: 252 seconds)
2024-11-13 11:49:12 +0100SlackCoder(~SlackCode@64-94-63-8.ip.weststar.net.ky) (Quit: Leaving)
2024-11-13 11:49:34 +0100lortabac(~lortabac@37.165.74.196) (Quit: WeeChat 4.4.2)
2024-11-13 12:02:31 +0100youthlic(~Thunderbi@user/youthlic) (Quit: youthlic)
2024-11-13 12:05:18 +0100youthlic(~Thunderbi@user/youthlic) youthlic
2024-11-13 12:11:13 +0100Smiles(uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2024-11-13 12:12:03 +0100ThePenguin(~ThePengui@cust-95-80-24-166.csbnet.se) ThePenguin
2024-11-13 12:12:48 +0100housemate(~housemate@146.70.66.228) housemate
2024-11-13 12:14:10 +0100xff0x(~xff0x@2405:6580:b080:900:ca42:e655:d7e4:ec2b)
2024-11-13 12:18:00 +0100alp(~alp@2001:861:e3d6:8f80:1d14:b56d:a21c:ca06)
2024-11-13 12:20:09 +0100L29Ah(~L29Ah@wikipedia/L29Ah) L29Ah
2024-11-13 12:21:53 +0100Teacup(~teacup@user/teacup) (Quit: No Ping reply in 180 seconds.)
2024-11-13 12:23:12 +0100Teacup(~teacup@user/teacup) Teacup
2024-11-13 12:42:54 +0100tomboy64(~tomboy64@user/tomboy64) (Ping timeout: 252 seconds)
2024-11-13 12:44:56 +0100Everything(~Everythin@46.211.114.113) Everything
2024-11-13 12:54:47 +0100weary-traveler(~user@user/user363627) (Remote host closed the connection)
2024-11-13 12:56:25 +0100tomboy64(~tomboy64@user/tomboy64) tomboy64
2024-11-13 12:57:05 +0100mari33141(~mari-este@user/mari-estel) (Quit: bye)
2024-11-13 12:57:41 +0100weary-traveler(~user@user/user363627) user363627
2024-11-13 13:04:33 +0100acidjnk_new3(~acidjnk@p200300d6e7283f71e1b1d5072338b10c.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
2024-11-13 13:05:38 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) lortabac
2024-11-13 13:20:51 +0100mari-estel(~mari-este@user/mari-estel) mari-estel
2024-11-13 13:22:30 +0100Natch(~natch@c-92-34-7-158.bbcust.telenor.se) (Ping timeout: 252 seconds)
2024-11-13 13:25:26 +0100Natch(~natch@c-92-34-7-158.bbcust.telenor.se) Natch
2024-11-13 13:26:59 +0100acidjnk_new3(~acidjnk@p200300d6e7283f718455f4c967233051.dip0.t-ipconnect.de) acidjnk
2024-11-13 13:49:49 +0100random-jellyfish(~developer@user/random-jellyfish) (Quit: Leaving)
2024-11-13 13:51:12 +0100turlando(~turlando@user/turlando) turlando
2024-11-13 13:54:59 +0100flow(~none@gentoo/developer/flow) (Ping timeout: 260 seconds)
2024-11-13 13:59:43 +0100mange(~user@user/mange) (Quit: Zzz...)
2024-11-13 14:01:31 +0100Flow(~none@gentoo/developer/flow) flow
2024-11-13 14:13:56 +0100mari-estel(~mari-este@user/mari-estel) (Quit: battery)
2024-11-13 14:20:11 +0100Digitteknohippie(~user@user/digit) Digit
2024-11-13 14:20:25 +0100Digit(~user@user/digit) (Ping timeout: 252 seconds)
2024-11-13 14:32:31 +0100alp(~alp@2001:861:e3d6:8f80:1d14:b56d:a21c:ca06) (Ping timeout: 252 seconds)
2024-11-13 14:34:47 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2024-11-13 14:39:02 +0100acidjnk_new3(~acidjnk@p200300d6e7283f718455f4c967233051.dip0.t-ipconnect.de) (Remote host closed the connection)
2024-11-13 14:39:20 +0100acidjnk_new3(~acidjnk@p200300d6e7283f718455f4c967233051.dip0.t-ipconnect.de) acidjnk
2024-11-13 14:42:57 +0100L29Ah(~L29Ah@wikipedia/L29Ah) (Read error: Connection reset by peer)
2024-11-13 14:43:07 +0100L29Ah(~L29Ah@wikipedia/L29Ah) L29Ah
2024-11-13 14:51:12 +0100alp(~alp@2001:861:e3d6:8f80:483c:b8c6:93d5:82bd)
2024-11-13 14:52:47 +0100img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2024-11-13 14:53:38 +0100agent314(~quassel@static-198-44-129-53.cust.tzulo.com) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2024-11-13 14:53:53 +0100ash3en(~Thunderbi@ip1f10cbd6.dynamic.kabel-deutschland.de) ash3en
2024-11-13 14:53:53 +0100cstml(~user@94.125.135.250)
2024-11-13 14:54:04 +0100img(~img@user/img) img
2024-11-13 14:55:08 +0100ash3en(~Thunderbi@ip1f10cbd6.dynamic.kabel-deutschland.de) (Client Quit)
2024-11-13 14:57:06 +0100cstml(~user@94.125.135.250) (Quit: bye)
2024-11-13 15:00:19 +0100Digitteknohippie(~user@user/digit) (Ping timeout: 260 seconds)
2024-11-13 15:03:19 +0100ircbrowse_tom(~ircbrowse@user/tomsmeding/bot/ircbrowse-tom) (ZNC 1.9.0+deb2build3 - https://znc.in)
2024-11-13 15:05:44 +0100ircbrowse_tom(~ircbrowse@user/tomsmeding/bot/ircbrowse-tom) ircbrowse_tom
2024-11-13 15:05:45 +0100Server+Cnt
2024-11-13 15:05:53 +0100tomsmeding(~tomsmedin@2a01:4f8:c0c:5e5e::2) tomsmeding
2024-11-13 15:13:08 +0100L29Ah(~L29Ah@wikipedia/L29Ah) (Read error: Connection reset by peer)
2024-11-13 15:14:06 +0100L29Ah(~L29Ah@wikipedia/L29Ah) L29Ah
2024-11-13 15:15:30 +0100 <tomsmeding> Hecate: not replying to the email because I'm not a ghc expert but iirc GHC uses a bumping allocator, so if you allocate a bunch of heap nodes right after each other, they will end up adjacently in memory. So you get memory locality, but still pointers.
2024-11-13 15:16:43 +0100 <tomsmeding> Furthermore, if there aren't any pointers into tail elements of your list, the GC will always traverse the list from head to tail. If you use the copying GC (i.e. not --nonmoving-gc), then it will (I think!) copy values in order of visiting them, so even if the list wasn't packed beforehand, they will be anyway after a GC pass.
2024-11-13 15:17:01 +0100 <tomsmeding> I think this is what you were referring to in your original email
2024-11-13 15:18:40 +0100 <tomsmeding> % putStr [Data.Char.chr 0xf1991] -- carbolymer: yahb allows you to run IO
2024-11-13 15:18:40 +0100 <yahb2> 󱦑
2024-11-13 15:25:27 +0100mari-estel(~mari-este@user/mari-estel) mari-estel
2024-11-13 15:28:08 +0100 <Hecate> tomsmeding: thanks
2024-11-13 15:29:05 +0100 <yin> what is this exceptional character that my terminal renders correctly but not the Element app?
2024-11-13 15:32:47 +0100 <yin> 󱦑󱦟
2024-11-13 15:37:19 +0100L29Ah(~L29Ah@wikipedia/L29Ah) (Ping timeout: 264 seconds)
2024-11-13 15:41:04 +0100alexherbo2(~alexherbo@2a02:8440:3117:f07c:59a9:a91e:4d8c:de8d) alexherbo2
2024-11-13 15:47:17 +0100ash3en(~Thunderbi@ip1f10cbd6.dynamic.kabel-deutschland.de) ash3en
2024-11-13 15:53:01 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-11-13 15:53:32 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-11-13 16:02:45 +0100alexherbo2(~alexherbo@2a02:8440:3117:f07c:59a9:a91e:4d8c:de8d) (Remote host closed the connection)
2024-11-13 16:03:08 +0100alexherbo2(~alexherbo@2a02-8440-3117-f07c-59a9-a91e-4d8c-de8d.rev.sfr.net) alexherbo2
2024-11-13 16:03:12 +0100gorignak(~gorignak@user/gorignak) (Quit: quit)
2024-11-13 16:03:43 +0100gorignak(~gorignak@user/gorignak) gorignak
2024-11-13 16:04:18 +0100hellwolf(~user@2001:1530:70:545:6a17:ff75:1fc9:4603) (Quit: rcirc on GNU Emacs 29.4)
2024-11-13 16:04:37 +0100hellwolf(~user@2001:1530:70:545:6a17:ff75:1fc9:4603) hellwolf
2024-11-13 16:06:35 +0100stiell_(~stiell@gateway/tor-sasl/stiell) stiell
2024-11-13 16:09:17 +0100Smiles(uid551636@id-551636.lymington.irccloud.com) Smiles
2024-11-13 16:09:45 +0100Digit(~user@user/digit) Digit
2024-11-13 16:19:20 +0100mesaoptimizer(~mesaoptim@user/PapuaHardyNet) (Quit: mesaoptimizer)
2024-11-13 16:26:51 +0100mesaoptimizer(~mesaoptim@user/PapuaHardyNet) PapuaHardyNet
2024-11-13 16:29:37 +0100mulk(~mulk@pd95146e9.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
2024-11-13 16:37:37 +0100gentauro(~gentauro@user/gentauro) (Read error: Connection reset by peer)
2024-11-13 16:38:10 +0100Everything(~Everythin@46.211.114.113) (Quit: leaving)
2024-11-13 16:40:50 +0100e-snail(~pete@user/e-snail) e-snail
2024-11-13 16:43:29 +0100gentauro(~gentauro@user/gentauro) gentauro
2024-11-13 16:43:40 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-11-13 16:48:13 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-11-13 16:50:24 +0100L29Ah(~L29Ah@wikipedia/L29Ah) L29Ah
2024-11-13 16:55:56 +0100lortabac(~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.4.2)
2024-11-13 16:58:53 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-11-13 17:00:07 +0100mulk(~mulk@pd95146e9.dip0.t-ipconnect.de) mulk
2024-11-13 17:19:23 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-11-13 17:19:49 +0100 <EvanR> private use area
2024-11-13 17:22:54 +0100Square2(~Square4@user/square) (Ping timeout: 246 seconds)
2024-11-13 17:23:16 +0100rvalue-(~rvalue@user/rvalue) rvalue
2024-11-13 17:23:25 +0100Pixi`(~Pixi@user/pixi) (Quit: Leaving)
2024-11-13 17:24:07 +0100rvalue(~rvalue@user/rvalue) (Ping timeout: 264 seconds)
2024-11-13 17:25:21 +0100acidjnk_new3(~acidjnk@p200300d6e7283f718455f4c967233051.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
2024-11-13 17:29:18 +0100rvalue-rvalue
2024-11-13 17:36:08 +0100 <EvanR> according to wikipedia "code points in the Private Use Areas are not noncharacters, reserved, or unassigned". By classical logic, not non-characters implies "character" xD. Later it quotes standard talking about characters which are assigned code points in the private use area. So there might actually be characters involved, but haskell has no way to know what they are
2024-11-13 17:36:51 +0100mari-estel(~mari-este@user/mari-estel) (Quit: on the move)
2024-11-13 17:36:58 +0100 <EvanR> it just seems the lexical stage rejects these Chars entirely
2024-11-13 17:47:40 +0100 <EvanR> > generalCategory 'A'
2024-11-13 17:47:43 +0100 <lambdabot> UppercaseLetter
2024-11-13 17:49:01 +0100 <EvanR> they're referring to codepoint type and not general category though, which we don't seem to have a function for out of the box
2024-11-13 17:52:48 +0100 <geekosaur> yes, the lexer hates PUA characters. I hit that several years ago
2024-11-13 17:53:04 +0100 <geekosaur> I think I brought it up in #ghc and ended up not bothering to file a bug
2024-11-13 18:04:08 +0100acidjnk_new3(~acidjnk@p200300d6e7283f71b028663737269d4f.dip0.t-ipconnect.de) acidjnk
2024-11-13 18:05:22 +0100 <EvanR> rivate-use code points are considered to be assigned characters, but the abstract characters associated with them have no interpretation specified by this standard
2024-11-13 18:05:31 +0100 <EvanR> prepend P
2024-11-13 18:08:24 +0100 <geekosaur> (Ubuntu ships a font with nice PUA chars in it which can be useful in XMonad configs 🙂 )
2024-11-13 18:09:00 +0100euphores(~SASL_euph@user/euphores) (Quit: Leaving.)
2024-11-13 18:13:16 +0100machinedgod(~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 252 seconds)
2024-11-13 18:14:49 +0100euphores(~SASL_euph@user/euphores) euphores
2024-11-13 18:18:18 +0100ash3en(~Thunderbi@ip1f10cbd6.dynamic.kabel-deutschland.de) (Quit: ash3en)
2024-11-13 18:21:57 +0100AlexZenon(~alzenon@5.139.233.174) (Ping timeout: 248 seconds)
2024-11-13 18:22:57 +0100AlexNoo(~AlexNoo@5.139.233.174) (Ping timeout: 248 seconds)
2024-11-13 18:24:52 +0100sord937(~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
2024-11-13 18:26:51 +0100 <hellwolf> �PNG
2024-11-13 18:26:51 +0100 <hellwolf> 
2024-11-13 18:26:51 +0100 <hellwolf> y��p��w��t��p�mKGEѥ�h\Tȟ�A@@ګ�xxr�Ϳ���������JJIҦ�eYR��r�ziqbX\TNΣ��|k��ul^U�l_Ҧ�FDB^UNi\TĜ�{i]̢�tdYIIH����������˽ssm�}l[RMaWPԨ�Ф�̡��m`ޯ�^UOޮ�n`W��n��rqql�ʼ���cc`�´���SSQWPK��p��mcXQk^Ul_VeZR��|����µdd`BBB�����€�z�uf��y`VP��{QLHj]T֩�fZR��o��t��w��oܭ�Ϥ�HEC~~x���CCBUURcc_NJG��|�}k֨�paWwf[\SMJGE
2024-11-13 18:26:51 +0100 <hellwolf> ��zš���z�rc��|�xhש�ECBbb_UUSݮ�HFDPKGGECRMI�oag[S��vVOK���u�j
2024-11-13 18:26:52 +0100 <hellwolf> P
2024-11-13 18:26:52 +0100 <hellwolf> (�,�4���B�98�$7/?�! ��`Ӆ@,a��0�k�je�B\ � �R�(�����30((*)���0��khji3�i��j:�z ��F� �&�f�� �V�6@�m��l���]\��=f{zy�
2024-11-13 18:26:53 +0100 <hellwolf> �)+���^YU
2024-11-13 18:26:54 +0100 <hellwolf> ���mE%�4(E��ɰˠ�q�8(m�� �u_�����Zk�M?P��Ь�G��y�)��|�ޏ��hج
2024-11-13 18:27:11 +0100 <haskellbridge> <hellwolf> sorry, my bad.
2024-11-13 18:28:14 +0100 <tomsmeding> how did that even happen O.o
2024-11-13 18:28:38 +0100 <tomsmeding> how do you accidentally paste a png and send it
2024-11-13 18:28:51 +0100 <hellwolf> emacs <--
2024-11-13 18:29:37 +0100tomsmedingis happy to not use emacs, then :p
2024-11-13 18:30:37 +0100statusbot6(~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com) (Remote host closed the connection)
2024-11-13 18:30:46 +0100statusbot(~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com) statusbot
2024-11-13 18:34:20 +0100 <systemfault> Blame the user of the OS, not the OS itself :P
2024-11-13 18:37:02 +0100Guest|73(~Guest|73@eduroam-int-pat-8-252.ucl.ac.uk)
2024-11-13 18:37:09 +0100Guest|73(~Guest|73@eduroam-int-pat-8-252.ucl.ac.uk) (Client Quit)
2024-11-13 18:48:38 +0100 <EvanR> says "systemfault"
2024-11-13 18:48:52 +0100 <systemfault> EvanR: I'm definitely faulty :)
2024-11-13 18:49:00 +0100acidjnk_new3(~acidjnk@p200300d6e7283f71b028663737269d4f.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
2024-11-13 19:01:13 +0100acidjnk_new3(~acidjnk@p200300d6e7283f7100fa0b96aa6639bf.dip0.t-ipconnect.de)
2024-11-13 19:01:15 +0100Pixi(~Pixi@user/pixi) Pixi
2024-11-13 19:02:22 +0100tzh(~tzh@c-76-115-131-146.hsd1.or.comcast.net) tzh
2024-11-13 19:05:07 +0100JuanDaugherty(~juan@user/JuanDaugherty) JuanDaugherty
2024-11-13 19:05:37 +0100chele(~chele@user/chele) (Remote host closed the connection)
2024-11-13 19:06:51 +0100ft(~ft@p4fc2a216.dip0.t-ipconnect.de) ft
2024-11-13 19:13:54 +0100wootehfoot(~wootehfoo@user/wootehfoot) wootehfoot
2024-11-13 19:18:17 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2024-11-13 19:20:25 +0100alexherbo2(~alexherbo@2a02-8440-3117-f07c-59a9-a91e-4d8c-de8d.rev.sfr.net) (Remote host closed the connection)
2024-11-13 19:21:36 +0100alexherbo2(~alexherbo@2a02-8440-3117-f07c-156a-8e41-bb43-7316.rev.sfr.net) alexherbo2
2024-11-13 19:25:12 +0100alexherbo2(~alexherbo@2a02-8440-3117-f07c-156a-8e41-bb43-7316.rev.sfr.net) (Remote host closed the connection)
2024-11-13 19:27:54 +0100red-snail1(~snail@static.151.210.203.116.clients.your-server.de) (Quit: ZNC 1.8.2 - https://znc.in)
2024-11-13 19:28:48 +0100red-snail(~snail@static.151.210.203.116.clients.your-server.de) red-snail
2024-11-13 19:37:42 +0100athostFI(~Atte@176-93-56-50.bb.dnainternet.fi) (Ping timeout: 252 seconds)
2024-11-13 19:40:02 +0100tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2024-11-13 19:40:03 +0100 <bailsman> Can it make sense to encapsulate a mutable vector in a state transformer monad whose version of runState internally does something with runST? That way the 'pure world' doesn't really need to know or care how you implemented things internally. You just get an interface against which you can do defined operations on the monad.
2024-11-13 19:40:31 +0100 <bailsman> The one thing I find "concerning" is that this means every function that operates on your data is inside your monad, but maybe that's just good and proper and how things are done.
2024-11-13 19:40:42 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich
2024-11-13 19:41:04 +0100 <tomsmeding> bailsman: also consider `newtype LinearState s a = LinearState (s %1-> (s, a))` with -XLinearTypes
2024-11-13 19:41:22 +0100 <tomsmeding> (and https://hackage.haskell.org/package/linear-base-0.4.0/docs/Data-Array-Mutable-Linear.html )
2024-11-13 19:41:59 +0100 <tomsmeding> bailsman: but yes, having a monad over ST, where the ST part is hidden, is perfectly fine and sensible haskell
2024-11-13 19:42:38 +0100 <tomsmeding> whether it makes sense to encapsulate access to the vector in a monad if you could also just have the vector as a separate object that you can manipulate in ST, depends on your application
2024-11-13 19:42:45 +0100Tuplanolla(~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) Tuplanolla
2024-11-13 19:43:29 +0100 <bailsman> Well presumably putting your entire codebase in an IO monad would be missing some kind of point. But I wonder if making your own monad with a very clearly defined set of operations is not as bad.
2024-11-13 19:43:50 +0100 <tomsmeding> that design is essentially behind ~every effects library in haskell
2024-11-13 19:44:07 +0100 <tomsmeding> which are ~all monads over IO, but the only methods you can use are the ones from the effects you're handling
2024-11-13 19:44:15 +0100 <tomsmeding> which may _optionall_ include IO, as an explicit effect
2024-11-13 19:47:49 +0100mari-estel(~mari-este@user/mari-estel) mari-estel
2024-11-13 19:53:25 +0100 <EvanR> having an App monad which extends / is based on IO is popular, presumably not missing that point you refer to. But it's also not IO-less
2024-11-13 19:53:38 +0100 <EvanR> and definitely not monad-less
2024-11-13 19:54:32 +0100ljdarj(~Thunderbi@user/ljdarj) ljdarj
2024-11-13 19:54:36 +0100 <EvanR> you're right to question every function in the program returning an IO type, that sounds ridiculous
2024-11-13 19:54:41 +0100 <EvanR> many operations don't need IO
2024-11-13 19:55:03 +0100 <EvanR> but when you are thinking in OOP terms and everything is based on a mutable object, you can get into an IO trap
2024-11-13 19:55:23 +0100 <EvanR> this is where immutable IntMap can clean things up a lot
2024-11-13 19:55:54 +0100 <EvanR> in lieu of a mutable vector
2024-11-13 20:00:10 +0100wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2024-11-13 20:16:30 +0100 <lxsameer> is there any way to ask GHC to automatically derive Applicative and Monad for a type like `Foo a`?
2024-11-13 20:16:32 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 272 seconds)
2024-11-13 20:17:19 +0100 <tomsmeding> lxsameer: if Foo is a newtype over a thing that already has Applicative and Monad, -XGeneralisedNewtypeDeriving
2024-11-13 20:17:37 +0100 <tomsmeding> if not: no, there may be multiple valid Applicative and/or Monad instances and GHC has no way of knowing which you intended
2024-11-13 20:17:40 +0100 <lxsameer> tomsmeding: oh coool
2024-11-13 20:17:52 +0100mc47(~mc47@xmonad/TheMC47) mc47
2024-11-13 20:17:53 +0100 <lxsameer> tomsmeding: yeah it is a newtype
2024-11-13 20:18:49 +0100 <haskellbridge> <zwro> tbf ghc derives some classes wich could have multiple valid instances
2024-11-13 20:19:11 +0100 <haskellbridge> <zwro> but it's sensible about it
2024-11-13 20:19:29 +0100 <tomsmeding> sure, Ord takes constructor ordering
2024-11-13 20:19:52 +0100 <tomsmeding> that's indeed making a choice, but it's a much less surprising choice than choosing an Applicative instance, I think
2024-11-13 20:19:57 +0100 <tomsmeding> (compare [] and ZipList)
2024-11-13 20:21:19 +0100hellwolf(~user@2001:1530:70:545:6a17:ff75:1fc9:4603) (Ping timeout: 260 seconds)
2024-11-13 20:21:50 +0100 <haskellbridge> <zwro> Show, Read (cof), Enum, Functor, Foldable, Traversable...
2024-11-13 20:21:59 +0100 <tomsmeding> Functor too?
2024-11-13 20:22:16 +0100 <haskellbridge> <zwro> oh yes
2024-11-13 20:23:25 +0100 <haskellbridge> <zwro> Tuples are the trivial example
2024-11-13 20:24:15 +0100 <tomsmeding> % :set -XDeriveFunctor
2024-11-13 20:24:15 +0100 <yahb2> <no output>
2024-11-13 20:24:21 +0100 <tomsmeding> % data Foo a = Foo (a, a, Int) deriving (Functor)
2024-11-13 20:24:21 +0100 <yahb2> <no output>
2024-11-13 20:24:30 +0100 <tomsmeding> % fmap succ (Foo (1, 2, 3))
2024-11-13 20:24:30 +0100 <yahb2> <interactive>:21:1: error: [GHC-39999] ; • No instance for ‘Show (Foo Integer)’ ; arising from a use of ‘Yahb2Defs.limitedPrint’ ; • In a stmt of an interactive GHCi command: ; ...
2024-11-13 20:24:33 +0100 <tomsmeding> % data Foo a = Foo (a, a, Int) deriving (Functor, Show)
2024-11-13 20:24:33 +0100 <yahb2> <no output>
2024-11-13 20:24:36 +0100 <tomsmeding> % fmap succ (Foo (1, 2, 3))
2024-11-13 20:24:36 +0100 <yahb2> Foo (2,3,3)
2024-11-13 20:24:46 +0100 <tomsmeding> zwro: I'm not sure what alternatives to this you see
2024-11-13 20:27:45 +0100 <haskellbridge> <zwro> This is an opinionated:
2024-11-13 20:27:45 +0100 <haskellbridge> ... long message truncated: https://kf8nh.com/_heisenbridge/media/kf8nh.com/HSmXMIbpQghlwNZFkYjjTngB/VRxH3eG4CT4 (3 lines)
2024-11-13 20:27:58 +0100 <haskellbridge> <zwro> come on, matrix
2024-11-13 20:28:14 +0100 <haskellbridge> <zwro> here
2024-11-13 20:28:14 +0100 <haskellbridge> > fmap succ (0,0)
2024-11-13 20:28:16 +0100 <lambdabot> (0,1)
2024-11-13 20:28:24 +0100 <haskellbridge> <zwro> there
2024-11-13 20:28:24 +0100 <haskellbridge> fmap succ (0,0,0)
2024-11-13 20:28:36 +0100 <haskellbridge> <zwro> er
2024-11-13 20:28:36 +0100 <haskellbridge> > fmap succ (0,0,0)
2024-11-13 20:28:38 +0100 <lambdabot> (0,0,1)
2024-11-13 20:28:52 +0100 <tomsmeding> that's the Functor instance for tuples, not the rules GHC uses for automatically deriving Functor
2024-11-13 20:28:57 +0100 <tomsmeding> I was talking about the deriving machinery