2024-11-13 00:03:13 +0100 | Hafydd | (~Hafydd@user/hafydd) Hafydd |
2024-11-13 00:06:12 +0100 | falafel | (~falafel@2600:1700:99f4:2050:7dd6:87c8:aed5:b9e5) (Ping timeout: 252 seconds) |
2024-11-13 00:06:21 +0100 | gabriel_sevecek | (~gabriel@188-167-229-200.dynamic.chello.sk) (Quit: WeeChat 4.4.2) |
2024-11-13 00:08:29 +0100 | gabriel_sevecek | (~gabriel@188-167-229-200.dynamic.chello.sk) gabriel_sevecek |
2024-11-13 00:10:53 +0100 | Everything | (~Everythin@178-133-145-205.mobile.vf-ua.net) Everything |
2024-11-13 00:19:33 +0100 | acidjnk_new3 | (~acidjnk@p200300d6e7283f33a143196b11e5c3bb.dip0.t-ipconnect.de) (Ping timeout: 245 seconds) |
2024-11-13 00:20:54 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 276 seconds) |
2024-11-13 00:29:14 +0100 | JuanDaugherty | (~juan@user/JuanDaugherty) JuanDaugherty |
2024-11-13 00:31:29 +0100 | weary-traveler | (~user@user/user363627) (Remote host closed the connection) |
2024-11-13 00:31:31 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
2024-11-13 00:35:37 +0100 | CrunchyFlakes | (~CrunchyFl@31.19.233.78) (Quit: ZNC 1.8.2 - https://znc.in) |
2024-11-13 00:42:13 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2024-11-13 00:47:36 +0100 | Sgeo | (~Sgeo@user/sgeo) Sgeo |
2024-11-13 00:51:15 +0100 | KicksonButt | (~quassel@187.21.174.221) |
2024-11-13 00:54:40 +0100 | JuanDaugherty | (~juan@user/JuanDaugherty) (Quit: JuanDaugherty) |
2024-11-13 00:57:00 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 244 seconds) |
2024-11-13 00:57:22 +0100 | Inst_ | (~Inst@user/Inst) Inst |
2024-11-13 00:59:59 +0100 | Inst | (~Inst@user/Inst) (Ping timeout: 252 seconds) |
2024-11-13 01:04:06 +0100 | yuzu | (~yuzu@2800:484:2482:7000:8185:93f7:e30f:cb00) |
2024-11-13 01:04:20 +0100 | yuzu | (~yuzu@2800:484:2482:7000:8185:93f7:e30f:cb00) (Client Quit) |
2024-11-13 01:04:52 +0100 | yuzu | (~yuzu@2800:484:2482:7000:8185:93f7:e30f:cb00) |
2024-11-13 01:07:31 +0100 | sprotte24 | (~sprotte24@p200300d16f2cc30041d9df5443f92151.dip0.t-ipconnect.de) (Quit: Leaving) |
2024-11-13 01:12:50 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds) |
2024-11-13 01:13:02 +0100 | ljdarj1 | (~Thunderbi@user/ljdarj) ljdarj |
2024-11-13 01:13:07 +0100 | yuzu | (~yuzu@2800:484:2482:7000:8185:93f7:e30f:cb00) (Quit: Client closed) |
2024-11-13 01:14:23 +0100 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) Lord_of_Life |
2024-11-13 01:16:50 +0100 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 248 seconds) |
2024-11-13 01:16:50 +0100 | ljdarj1 | ljdarj |
2024-11-13 01:17:21 +0100 | Everything | (~Everythin@178-133-145-205.mobile.vf-ua.net) (Quit: leaving) |
2024-11-13 01:18:12 +0100 | KicksonButt | (~quassel@187.21.174.221) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2024-11-13 01:27:07 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) () |
2024-11-13 01:27:54 +0100 | xff0x | (~xff0x@2405:6580:b080:900:50c5:d80f:bb7d:df5c) (Ping timeout: 260 seconds) |
2024-11-13 01:31:04 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2024-11-13 01:35:56 +0100 | Tuplanolla | (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.) |
2024-11-13 01:43:37 +0100 | EvanR | (~EvanR@user/evanr) (Remote host closed the connection) |
2024-11-13 01:43:56 +0100 | EvanR | (~EvanR@user/evanr) EvanR |
2024-11-13 01:44:49 +0100 | peterbecich | (~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 +0100 | Square | (~Square@user/square) Square |
2024-11-13 02:04:15 +0100 | remexre | (~remexre@user/remexre) (Remote host closed the connection) |
2024-11-13 02:04:37 +0100 | remexre | (~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 +0100 | comonad | (~comonad@p200300d027186300edf824b7b80a34ff.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
2024-11-13 02:07:56 +0100 | stiell_ | (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 260 seconds) |
2024-11-13 02:09:59 +0100 | comonad | (~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 +0100 | xff0x | (~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 +0100 | Unicorn_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 +0100 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 245 seconds) |
2024-11-13 02:47:34 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2024-11-13 02:47:53 +0100 | stiell_ | (~stiell@gateway/tor-sasl/stiell) stiell |
2024-11-13 03:02:17 +0100 | tomku | (~tomku@user/tomku) tomku |
2024-11-13 03:11:18 +0100 | Square | (~Square@user/square) (Remote host closed the connection) |
2024-11-13 03:13:24 +0100 | ph88 | (~ph88@2a02:8109:9e26:c800:b27:4ecf:926d:786) (Remote host closed the connection) |
2024-11-13 03:15:12 +0100 | Square | (~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 +0100 | weary-traveler | (~user@user/user363627) user363627 |
2024-11-13 03:30:42 +0100 | ZLima12 | (~zlima12@user/meow/ZLima12) (Ping timeout: 276 seconds) |
2024-11-13 03:31:07 +0100 | ZLima12 | (~zlima12@user/meow/ZLima12) ZLima12 |
2024-11-13 03:40:09 +0100 | glguy | (glguy@libera/staff/glguy) (Quit: Quit) |
2024-11-13 03:46:33 +0100 | weary-traveler | (~user@user/user363627) (Quit: Konversation terminated!) |
2024-11-13 03:47:33 +0100 | machinedgod | (~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 252 seconds) |
2024-11-13 03:49:48 +0100 | alp | (~alp@2001:861:e3d6:8f80:46dd:be45:db8:fbc7) (Ping timeout: 272 seconds) |
2024-11-13 03:51:01 +0100 | weary-traveler | (~user@user/user363627) user363627 |
2024-11-13 03:53:04 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds) |
2024-11-13 03:58:07 +0100 | glguy | (glguy@libera/staff/glguy) glguy |
2024-11-13 04:20:48 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2024-11-13 04:30:49 +0100 | td_ | (~td@i5387092B.versanet.de) (Ping timeout: 252 seconds) |
2024-11-13 04:32:38 +0100 | td_ | (~td@i53870901.versanet.de) |
2024-11-13 04:36:41 +0100 | alphazone | (~alphazone@2.219.56.221) (Ping timeout: 252 seconds) |
2024-11-13 04:44:42 +0100 | alp | (~alp@2001:861:e3d6:8f80:a847:8724:8ab7:c88b) |
2024-11-13 04:47:09 +0100 | pavonia | (~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 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds) |
2024-11-13 05:25:01 +0100 | pointlessslippe1 | (~pointless@62.106.85.17) (Read error: Connection reset by peer) |
2024-11-13 05:25:33 +0100 | pointlessslippe1 | (~pointless@62.106.85.17) pointlessslippe1 |
2024-11-13 05:40:06 +0100 | aforemny_ | (~aforemny@i59F4C560.versanet.de) aforemny |
2024-11-13 05:40:48 +0100 | aforemny | (~aforemny@2001:9e8:6cde:dd00:e907:b368:5aa5:db2) (Ping timeout: 245 seconds) |
2024-11-13 05:44:55 +0100 | superbil | (~superbil@114-32-231-70.hinet-ip.hinet.net) (Ping timeout: 240 seconds) |
2024-11-13 05:46:44 +0100 | superbil | (~superbil@114-32-231-70.hinet-ip.hinet.net) superbil |
2024-11-13 05:50:56 +0100 | notzmv | (~daniel@user/notzmv) notzmv |
2024-11-13 05:53:38 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2024-11-13 06:08:05 +0100 | mange | (~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 +0100 | gehmehgeh | (~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 +0100 | gmg | (~user@user/gehmehgeh) (Remote host closed the connection) |
2024-11-13 06:51:42 +0100 | michalz | (~michalz@185.246.207.201) |
2024-11-13 07:24:26 +0100 | foul_owl | (~kerry@185.216.231.181) (Ping timeout: 255 seconds) |
2024-11-13 07:26:22 +0100 | alphazone | (~alphazone@2.219.56.221) |
2024-11-13 07:26:58 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2024-11-13 07:31:13 +0100 | Square2 | (~Square4@user/square) Square |
2024-11-13 07:34:19 +0100 | Square | (~Square@user/square) (Ping timeout: 264 seconds) |
2024-11-13 07:36:11 +0100 | rvalue | (~rvalue@user/rvalue) (Read error: Connection reset by peer) |
2024-11-13 07:36:42 +0100 | rvalue | (~rvalue@user/rvalue) rvalue |
2024-11-13 07:38:53 +0100 | foul_owl | (~kerry@185.216.231.180) foul_owl |
2024-11-13 07:49:43 +0100 | hughjfchen | (~hughjfche@vmi556545.contaboserver.net) (Quit: WeeChat 4.2.2) |
2024-11-13 07:50:08 +0100 | hughjfchen | (~hughjfche@vmi556545.contaboserver.net) hughjfchen |
2024-11-13 07:51:34 +0100 | hughjfchen | (~hughjfche@vmi556545.contaboserver.net) (Client Quit) |
2024-11-13 07:52:19 +0100 | acidjnk_new3 | (~acidjnk@p200300d6e7283f71e1b1d5072338b10c.dip0.t-ipconnect.de) acidjnk |
2024-11-13 07:53:31 +0100 | notzmv | (~daniel@user/notzmv) (Ping timeout: 264 seconds) |
2024-11-13 07:54:05 +0100 | hughjfchen | (~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 +0100 | peterbecich | (~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 +0100 | Sgeo | (~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 +0100 | briandaed | (~root@185.234.210.211) |
2024-11-13 08:48:42 +0100 | athostFI | (~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 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-11-13 09:00:00 +0100 | caconym | (~caconym@user/caconym) (Quit: bye) |
2024-11-13 09:00:36 +0100 | caconym | (~caconym@user/caconym) caconym |
2024-11-13 09:04:15 +0100 | misterfish | (~misterfis@84.53.85.146) misterfish |
2024-11-13 09:11:01 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) sord937 |
2024-11-13 09:25:31 +0100 | falafel | (~falafel@2600:1700:99f4:2050:240e:dd91:8d35:c628) falafel |
2024-11-13 09:26:44 +0100 | rachelambda | (~rachelamb@cust-95-80-25-71.csbnet.se) (Ping timeout: 272 seconds) |
2024-11-13 09:26:54 +0100 | ThePenguin | (~ThePengui@cust-95-80-24-166.csbnet.se) (Ping timeout: 276 seconds) |
2024-11-13 09:28:32 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) lortabac |
2024-11-13 09:35:49 +0100 | chexum | (~quassel@gateway/tor-sasl/chexum) chexum |
2024-11-13 09:36:03 +0100 | robobub | (uid248673@id-248673.uxbridge.irccloud.com) robobub |
2024-11-13 09:42:45 +0100 | kuribas | (~user@2a02:1808:8:e4a6:661f:8d8f:33db:fb5b) |
2024-11-13 09:45:10 +0100 | ft | (~ft@p4fc2a216.dip0.t-ipconnect.de) (Quit: leaving) |
2024-11-13 09:46:58 +0100 | CrunchyFlakes | (~CrunchyFl@ip1f13e94e.dynamic.kabel-deutschland.de) |
2024-11-13 09:52:10 +0100 | Smiles | (uid551636@id-551636.lymington.irccloud.com) Smiles |
2024-11-13 09:54:01 +0100 | stiell_ | (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 260 seconds) |
2024-11-13 09:56:21 +0100 | CrunchyFlakes | (~CrunchyFl@ip1f13e94e.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
2024-11-13 09:57:53 +0100 | machinedgod | (~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod |
2024-11-13 10:01:15 +0100 | random-jellyfish | (~developer@2a02:2f04:11e:c600:1fd7:7df7:7f21:530f) random-jellyfish |
2024-11-13 10:01:15 +0100 | random-jellyfish | (~developer@2a02:2f04:11e:c600:1fd7:7df7:7f21:530f) (Changing host) |
2024-11-13 10:01:15 +0100 | random-jellyfish | (~developer@user/random-jellyfish) random-jellyfish |
2024-11-13 10:01:17 +0100 | CrunchyFlakes | (~CrunchyFl@31.19.233.78) |
2024-11-13 10:02:24 +0100 | kuribas | (~user@2a02:1808:8:e4a6:661f:8d8f:33db:fb5b) (Ping timeout: 252 seconds) |
2024-11-13 10:14:58 +0100 | Alecs | (~textual@nat16.software.imdea.org) (Quit: Textual IRC Client: www.textualapp.com) |
2024-11-13 10:26:56 +0100 | hellwolf | (~user@2001:1530:70:545:6a17:ff75:1fc9:4603) hellwolf |
2024-11-13 10:28:47 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.4.2) |
2024-11-13 10:35:17 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Remote host closed the connection) |
2024-11-13 10:35:45 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) sord937 |
2024-11-13 10:47:46 +0100 | gehmehgeh | gmg |
2024-11-13 10:49:02 +0100 | lxsameer | (~lxsameer@Serene/lxsameer) lxsameer |
2024-11-13 10:54:49 +0100 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz) |
2024-11-13 10:56:40 +0100 | chele | (~chele@user/chele) chele |
2024-11-13 11:03:29 +0100 | falafel | (~falafel@2600:1700:99f4:2050:240e:dd91:8d35:c628) (Ping timeout: 260 seconds) |
2024-11-13 11:03:33 +0100 | infinity0 | (~infinity0@pwned.gg) (Remote host closed the connection) |
2024-11-13 11:03:51 +0100 | infinity0 | (~infinity0@pwned.gg) infinity0 |
2024-11-13 11:07:05 +0100 | ash3en | (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) ash3en |
2024-11-13 11:07:07 +0100 | ash3en | (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Client Quit) |
2024-11-13 11:09:02 +0100 | agent314 | (~quassel@static-198-44-129-53.cust.tzulo.com) agent314 |
2024-11-13 11:09:50 +0100 | lortabac | (~lortabac@37.165.74.196) |
2024-11-13 11:10:51 +0100 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 246 seconds) |
2024-11-13 11:11:33 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-11-13 11:17:24 +0100 | agent314 | (~quassel@static-198-44-129-53.cust.tzulo.com) (Ping timeout: 276 seconds) |
2024-11-13 11:18:37 +0100 | agent314 | (~quassel@static-198-44-129-53.cust.tzulo.com) agent314 |
2024-11-13 11:18:57 +0100 | housemate | (~housemate@146.70.66.228) (Ping timeout: 248 seconds) |
2024-11-13 11:19:44 +0100 | mari-estel | (~mari-este@user/mari-estel) mari-estel |
2024-11-13 11:25:21 +0100 | mari33141 | (~mari-este@user/mari-estel) mari-estel |
2024-11-13 11:27:42 +0100 | mari-estel | (~mari-este@user/mari-estel) (Ping timeout: 272 seconds) |
2024-11-13 11:32:01 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-11-13 11:33:01 +0100 | pavonia | (~user@user/siracusa) siracusa |
2024-11-13 11:44:35 +0100 | alp | (~alp@2001:861:e3d6:8f80:a847:8724:8ab7:c88b) (Ping timeout: 252 seconds) |
2024-11-13 11:49:12 +0100 | SlackCoder | (~SlackCode@64-94-63-8.ip.weststar.net.ky) (Quit: Leaving) |
2024-11-13 11:49:34 +0100 | lortabac | (~lortabac@37.165.74.196) (Quit: WeeChat 4.4.2) |
2024-11-13 12:02:31 +0100 | youthlic | (~Thunderbi@user/youthlic) (Quit: youthlic) |
2024-11-13 12:05:18 +0100 | youthlic | (~Thunderbi@user/youthlic) youthlic |
2024-11-13 12:11:13 +0100 | Smiles | (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2024-11-13 12:12:03 +0100 | ThePenguin | (~ThePengui@cust-95-80-24-166.csbnet.se) ThePenguin |
2024-11-13 12:12:48 +0100 | housemate | (~housemate@146.70.66.228) housemate |
2024-11-13 12:14:10 +0100 | xff0x | (~xff0x@2405:6580:b080:900:ca42:e655:d7e4:ec2b) |
2024-11-13 12:18:00 +0100 | alp | (~alp@2001:861:e3d6:8f80:1d14:b56d:a21c:ca06) |
2024-11-13 12:20:09 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) L29Ah |
2024-11-13 12:21:53 +0100 | Teacup | (~teacup@user/teacup) (Quit: No Ping reply in 180 seconds.) |
2024-11-13 12:23:12 +0100 | Teacup | (~teacup@user/teacup) Teacup |
2024-11-13 12:42:54 +0100 | tomboy64 | (~tomboy64@user/tomboy64) (Ping timeout: 252 seconds) |
2024-11-13 12:44:56 +0100 | Everything | (~Everythin@46.211.114.113) Everything |
2024-11-13 12:54:47 +0100 | weary-traveler | (~user@user/user363627) (Remote host closed the connection) |
2024-11-13 12:56:25 +0100 | tomboy64 | (~tomboy64@user/tomboy64) tomboy64 |
2024-11-13 12:57:05 +0100 | mari33141 | (~mari-este@user/mari-estel) (Quit: bye) |
2024-11-13 12:57:41 +0100 | weary-traveler | (~user@user/user363627) user363627 |
2024-11-13 13:04:33 +0100 | acidjnk_new3 | (~acidjnk@p200300d6e7283f71e1b1d5072338b10c.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
2024-11-13 13:05:38 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) lortabac |
2024-11-13 13:20:51 +0100 | mari-estel | (~mari-este@user/mari-estel) mari-estel |
2024-11-13 13:22:30 +0100 | Natch | (~natch@c-92-34-7-158.bbcust.telenor.se) (Ping timeout: 252 seconds) |
2024-11-13 13:25:26 +0100 | Natch | (~natch@c-92-34-7-158.bbcust.telenor.se) Natch |
2024-11-13 13:26:59 +0100 | acidjnk_new3 | (~acidjnk@p200300d6e7283f718455f4c967233051.dip0.t-ipconnect.de) acidjnk |
2024-11-13 13:49:49 +0100 | random-jellyfish | (~developer@user/random-jellyfish) (Quit: Leaving) |
2024-11-13 13:51:12 +0100 | turlando | (~turlando@user/turlando) turlando |
2024-11-13 13:54:59 +0100 | flow | (~none@gentoo/developer/flow) (Ping timeout: 260 seconds) |
2024-11-13 13:59:43 +0100 | mange | (~user@user/mange) (Quit: Zzz...) |
2024-11-13 14:01:31 +0100 | Flow | (~none@gentoo/developer/flow) flow |
2024-11-13 14:13:56 +0100 | mari-estel | (~mari-este@user/mari-estel) (Quit: battery) |
2024-11-13 14:20:11 +0100 | Digitteknohippie | (~user@user/digit) Digit |
2024-11-13 14:20:25 +0100 | Digit | (~user@user/digit) (Ping timeout: 252 seconds) |
2024-11-13 14:32:31 +0100 | alp | (~alp@2001:861:e3d6:8f80:1d14:b56d:a21c:ca06) (Ping timeout: 252 seconds) |
2024-11-13 14:34:47 +0100 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
2024-11-13 14:39:02 +0100 | acidjnk_new3 | (~acidjnk@p200300d6e7283f718455f4c967233051.dip0.t-ipconnect.de) (Remote host closed the connection) |
2024-11-13 14:39:20 +0100 | acidjnk_new3 | (~acidjnk@p200300d6e7283f718455f4c967233051.dip0.t-ipconnect.de) acidjnk |
2024-11-13 14:42:57 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) (Read error: Connection reset by peer) |
2024-11-13 14:43:07 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) L29Ah |
2024-11-13 14:51:12 +0100 | alp | (~alp@2001:861:e3d6:8f80:483c:b8c6:93d5:82bd) |
2024-11-13 14:52:47 +0100 | img | (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
2024-11-13 14:53:38 +0100 | agent314 | (~quassel@static-198-44-129-53.cust.tzulo.com) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2024-11-13 14:53:53 +0100 | ash3en | (~Thunderbi@ip1f10cbd6.dynamic.kabel-deutschland.de) ash3en |
2024-11-13 14:53:53 +0100 | cstml | (~user@94.125.135.250) |
2024-11-13 14:54:04 +0100 | img | (~img@user/img) img |
2024-11-13 14:55:08 +0100 | ash3en | (~Thunderbi@ip1f10cbd6.dynamic.kabel-deutschland.de) (Client Quit) |
2024-11-13 14:57:06 +0100 | cstml | (~user@94.125.135.250) (Quit: bye) |
2024-11-13 15:00:19 +0100 | Digitteknohippie | (~user@user/digit) (Ping timeout: 260 seconds) |
2024-11-13 15:03:19 +0100 | ircbrowse_tom | (~ircbrowse@user/tomsmeding/bot/ircbrowse-tom) (ZNC 1.9.0+deb2build3 - https://znc.in) |
2024-11-13 15:05:44 +0100 | ircbrowse_tom | (~ircbrowse@user/tomsmeding/bot/ircbrowse-tom) ircbrowse_tom |
2024-11-13 15:05:45 +0100 | Server | +Cnt |
2024-11-13 15:05:53 +0100 | tomsmeding | (~tomsmedin@2a01:4f8:c0c:5e5e::2) tomsmeding |
2024-11-13 15:13:08 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) (Read error: Connection reset by peer) |
2024-11-13 15:14:06 +0100 | L29Ah | (~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 +0100 | mari-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 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) (Ping timeout: 264 seconds) |
2024-11-13 15:41:04 +0100 | alexherbo2 | (~alexherbo@2a02:8440:3117:f07c:59a9:a91e:4d8c:de8d) alexherbo2 |
2024-11-13 15:47:17 +0100 | ash3en | (~Thunderbi@ip1f10cbd6.dynamic.kabel-deutschland.de) ash3en |
2024-11-13 15:53:01 +0100 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
2024-11-13 15:53:32 +0100 | gorignak | (~gorignak@user/gorignak) gorignak |
2024-11-13 16:02:45 +0100 | alexherbo2 | (~alexherbo@2a02:8440:3117:f07c:59a9:a91e:4d8c:de8d) (Remote host closed the connection) |
2024-11-13 16:03:08 +0100 | alexherbo2 | (~alexherbo@2a02-8440-3117-f07c-59a9-a91e-4d8c-de8d.rev.sfr.net) alexherbo2 |
2024-11-13 16:03:12 +0100 | gorignak | (~gorignak@user/gorignak) (Quit: quit) |
2024-11-13 16:03:43 +0100 | gorignak | (~gorignak@user/gorignak) gorignak |
2024-11-13 16:04:18 +0100 | hellwolf | (~user@2001:1530:70:545:6a17:ff75:1fc9:4603) (Quit: rcirc on GNU Emacs 29.4) |
2024-11-13 16:04:37 +0100 | hellwolf | (~user@2001:1530:70:545:6a17:ff75:1fc9:4603) hellwolf |
2024-11-13 16:06:35 +0100 | stiell_ | (~stiell@gateway/tor-sasl/stiell) stiell |
2024-11-13 16:09:17 +0100 | Smiles | (uid551636@id-551636.lymington.irccloud.com) Smiles |
2024-11-13 16:09:45 +0100 | Digit | (~user@user/digit) Digit |
2024-11-13 16:19:20 +0100 | mesaoptimizer | (~mesaoptim@user/PapuaHardyNet) (Quit: mesaoptimizer) |
2024-11-13 16:26:51 +0100 | mesaoptimizer | (~mesaoptim@user/PapuaHardyNet) PapuaHardyNet |
2024-11-13 16:29:37 +0100 | mulk | (~mulk@pd95146e9.dip0.t-ipconnect.de) (Read error: Connection reset by peer) |
2024-11-13 16:37:37 +0100 | gentauro | (~gentauro@user/gentauro) (Read error: Connection reset by peer) |
2024-11-13 16:38:10 +0100 | Everything | (~Everythin@46.211.114.113) (Quit: leaving) |
2024-11-13 16:40:50 +0100 | e-snail | (~pete@user/e-snail) e-snail |
2024-11-13 16:43:29 +0100 | gentauro | (~gentauro@user/gentauro) gentauro |
2024-11-13 16:43:40 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-11-13 16:48:13 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2024-11-13 16:50:24 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) L29Ah |
2024-11-13 16:55:56 +0100 | lortabac | (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.4.2) |
2024-11-13 16:58:53 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-11-13 17:00:07 +0100 | mulk | (~mulk@pd95146e9.dip0.t-ipconnect.de) mulk |
2024-11-13 17:19:23 +0100 | tromp | (~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 +0100 | Square2 | (~Square4@user/square) (Ping timeout: 246 seconds) |
2024-11-13 17:23:16 +0100 | rvalue- | (~rvalue@user/rvalue) rvalue |
2024-11-13 17:23:25 +0100 | Pixi` | (~Pixi@user/pixi) (Quit: Leaving) |
2024-11-13 17:24:07 +0100 | rvalue | (~rvalue@user/rvalue) (Ping timeout: 264 seconds) |
2024-11-13 17:25:21 +0100 | acidjnk_new3 | (~acidjnk@p200300d6e7283f718455f4c967233051.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
2024-11-13 17:29:18 +0100 | rvalue- | 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 +0100 | mari-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 +0100 | acidjnk_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 +0100 | euphores | (~SASL_euph@user/euphores) (Quit: Leaving.) |
2024-11-13 18:13:16 +0100 | machinedgod | (~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 252 seconds) |
2024-11-13 18:14:49 +0100 | euphores | (~SASL_euph@user/euphores) euphores |
2024-11-13 18:18:18 +0100 | ash3en | (~Thunderbi@ip1f10cbd6.dynamic.kabel-deutschland.de) (Quit: ash3en) |
2024-11-13 18:21:57 +0100 | AlexZenon | (~alzenon@5.139.233.174) (Ping timeout: 248 seconds) |
2024-11-13 18:22:57 +0100 | AlexNoo | (~AlexNoo@5.139.233.174) (Ping timeout: 248 seconds) |
2024-11-13 18:24:52 +0100 | sord937 | (~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 +0100 | tomsmeding | is happy to not use emacs, then :p |
2024-11-13 18:30:37 +0100 | statusbot6 | (~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com) (Remote host closed the connection) |
2024-11-13 18:30:46 +0100 | statusbot | (~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 +0100 | Guest|73 | (~Guest|73@eduroam-int-pat-8-252.ucl.ac.uk) |
2024-11-13 18:37:09 +0100 | Guest|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 +0100 | acidjnk_new3 | (~acidjnk@p200300d6e7283f71b028663737269d4f.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
2024-11-13 19:01:13 +0100 | acidjnk_new3 | (~acidjnk@p200300d6e7283f7100fa0b96aa6639bf.dip0.t-ipconnect.de) |
2024-11-13 19:01:15 +0100 | Pixi | (~Pixi@user/pixi) Pixi |
2024-11-13 19:02:22 +0100 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) tzh |
2024-11-13 19:05:07 +0100 | JuanDaugherty | (~juan@user/JuanDaugherty) JuanDaugherty |
2024-11-13 19:05:37 +0100 | chele | (~chele@user/chele) (Remote host closed the connection) |
2024-11-13 19:06:51 +0100 | ft | (~ft@p4fc2a216.dip0.t-ipconnect.de) ft |
2024-11-13 19:13:54 +0100 | wootehfoot | (~wootehfoo@user/wootehfoot) wootehfoot |
2024-11-13 19:18:17 +0100 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2024-11-13 19:20:25 +0100 | alexherbo2 | (~alexherbo@2a02-8440-3117-f07c-59a9-a91e-4d8c-de8d.rev.sfr.net) (Remote host closed the connection) |
2024-11-13 19:21:36 +0100 | alexherbo2 | (~alexherbo@2a02-8440-3117-f07c-156a-8e41-bb43-7316.rev.sfr.net) alexherbo2 |
2024-11-13 19:25:12 +0100 | alexherbo2 | (~alexherbo@2a02-8440-3117-f07c-156a-8e41-bb43-7316.rev.sfr.net) (Remote host closed the connection) |
2024-11-13 19:27:54 +0100 | red-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 +0100 | red-snail | (~snail@static.151.210.203.116.clients.your-server.de) red-snail |
2024-11-13 19:37:42 +0100 | athostFI | (~Atte@176-93-56-50.bb.dnainternet.fi) (Ping timeout: 252 seconds) |
2024-11-13 19:40:02 +0100 | tromp | (~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 +0100 | peterbecich | (~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 +0100 | Tuplanolla | (~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 +0100 | mari-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 +0100 | ljdarj | (~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 +0100 | wootehfoot | (~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 +0100 | peterbecich | (~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 +0100 | mc47 | (~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 +0100 | hellwolf | (~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 |
2024-11-13 20:29:25 +0100 | <haskellbridge> | <zwro> my point is that there is no obvious way, and the deriving mechanism is opinionated |
2024-11-13 20:29:40 +0100 | <tomsmeding> | no, the deriving mechanism does the right thing for a data type |
2024-11-13 20:29:50 +0100 | <tomsmeding> | the only sensible Functor instance for that Foo is the one it derives |
2024-11-13 20:30:06 +0100 | <tomsmeding> | the only sensible Functor instance for (a, b, c) is indeed the one GHC defines for tuples, because it's ((,,) a b c) |
2024-11-13 20:30:14 +0100 | <tomsmeding> | and Functor, by its kind, maps over the last type-argument |
2024-11-13 20:30:28 +0100 | <tomsmeding> | it may look weird, but by the types it must be this |
2024-11-13 20:32:03 +0100 | <haskellbridge> | <zwro> point taken |
2024-11-13 20:32:14 +0100 | <tomsmeding> | similarly for Foldable on tuples |
2024-11-13 20:32:20 +0100 | <haskellbridge> | <zwro> but what about trees? |
2024-11-13 20:32:25 +0100 | <tomsmeding> | I would be the last one to say that `length (1,2,3) == 1` is intuitive |
2024-11-13 20:32:25 +0100 | ash3en | (~Thunderbi@ip1f10cbd6.dynamic.kabel-deutschland.de) ash3en |
2024-11-13 20:32:41 +0100 | <tomsmeding> | zwro: which class? Functor doesn't give one a lot of leeway |
2024-11-13 20:33:02 +0100 | <tomsmeding> | for Ord, Foldable, Traversable you do definitely have a choice of ordering, which constructor does it visit in which order; GHC makes a choice here |
2024-11-13 20:33:08 +0100 | <c_wraith> | that's not intuitive, but I'm not comfortable declaring tuples aren't foldable or that foldable provide length |
2024-11-13 20:33:09 +0100 | <tomsmeding> | but I would argue it's a very sensible choice |
2024-11-13 20:33:23 +0100 | <c_wraith> | Err. Or that foldable shouldn't provide length |
2024-11-13 20:33:35 +0100 | <tomsmeding> | sure |