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 |
2024-11-13 20:34:08 +0100 | <tomsmeding> | (my point was: I agree with your feelings, but the types imply this: "feels weird" =/=> "there are other choices for GHC's deriving mechanism") |
2024-11-13 20:34:30 +0100 | <tomsmeding> | (one could of course design the _classes_ differently, but that's a separate topic) |
2024-11-13 20:37:13 +0100 | ash3en | (~Thunderbi@ip1f10cbd6.dynamic.kabel-deutschland.de) (Client Quit) |
2024-11-13 20:40:14 +0100 | alexherbo2 | (~alexherbo@2a02-8440-3117-f07c-987b-fc29-77ee-addd.rev.sfr.net) alexherbo2 |
2024-11-13 20:40:38 +0100 | <haskellbridge> | <thirdofmay18081814goya> long time user of "List", now need to use arrays from performance-critical usecase (processing logs, text files of more than 3 million lines) |
2024-11-13 20:40:51 +0100 | <haskellbridge> | <thirdofmay18081814goya> can I still think in terms of ana/cata/hylo or will this destroy the performance benefits? |
2024-11-13 20:41:46 +0100 | <EvanR> | Vector is pretty good |
2024-11-13 20:41:55 +0100 | <EvanR> | has a lot of instances like List does |
2024-11-13 20:42:03 +0100 | <tomsmeding> | goya: how are they defined for Vector? |
2024-11-13 20:42:14 +0100 | <EvanR> | but is implemented behind the scenes in a compact way |
2024-11-13 20:42:42 +0100 | <EvanR> | and has a bunch of snazzy rewrite rules for fusion |
2024-11-13 20:42:53 +0100 | abrar | (~abrar@pool-72-78-199-167.phlapa.fios.verizon.net) (Ping timeout: 245 seconds) |
2024-11-13 20:43:00 +0100 | <haskellbridge> | <thirdofmay18081814goya> what module for said "Vector"? |
2024-11-13 20:43:11 +0100 | <EvanR> | vector package, Data.Vector |
2024-11-13 20:43:28 +0100 | <tomsmeding> | it has a Foldable instance, and there are various methods |
2024-11-13 20:43:35 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2024-11-13 20:43:43 +0100 | <tomsmeding> | there are no recursion schemes for the thing because, well, it's not a tree |
2024-11-13 20:44:25 +0100 | <EvanR> | you can still treat it like a representable functor |
2024-11-13 20:44:40 +0100 | <tomsmeding> | goya: if you point to the precise "ana/cata/hylo" methods that you mean (there are various packages defining them in various ways iirc), then we could see how compatible the type signatures would be |
2024-11-13 20:44:55 +0100 | <haskellbridge> | <zwro> tomsmeding: you're absolutely correct. my examples were bad. i'm sure i had some kind of problem with driving Functor in the past but can't remember the exact case. maybe later it'll come to me |
2024-11-13 20:45:05 +0100 | <EvanR> | had to review the log carefully to see who "goya" is xD |
2024-11-13 20:45:05 +0100 | abrar | (~abrar@pool-72-78-199-167.phlapa.fios.verizon.net) |
2024-11-13 20:45:50 +0100 | <tomsmeding> | thirdofmay18081814goya: how should we properly mention you, because it's bridged (and not plumbed) your mxid is not a nick here, so we don't have autocomplete |
2024-11-13 20:47:00 +0100 | <haskellbridge> | <thirdofmay18081814goya> uh well I'm mostly reasoning very loosely about cata/ana, wrt List the significant part in both cases is a pattern match on "cons" into some other datatype (cata very loosely) or a pattern match on some other type onto "List" (ana very loosely) |
2024-11-13 20:47:07 +0100 | <haskellbridge> | <thirdofmay18081814goya> i.e. the general ability to pattern match |
2024-11-13 20:47:21 +0100 | <tomsmeding> | you should not treat a Vector as a linked list |
2024-11-13 20:47:25 +0100 | <tomsmeding> | but you can foldr |
2024-11-13 20:47:30 +0100 | <haskellbridge> | <thirdofmay18081814goya> vs. the imperative representation of arrays as things you "for" loop over |
2024-11-13 20:47:31 +0100 | JuanDaugherty | (~juan@user/JuanDaugherty) (Quit: JuanDaugherty) |
2024-11-13 20:47:49 +0100 | <haskellbridge> | <thirdofmay18081814goya> tomsmeding: anything really i usually use my usernames as memory palaces |
2024-11-13 20:47:54 +0100 | <tomsmeding> | and you can unfoldrN (unfoldr with a known target size) |
2024-11-13 20:48:24 +0100 | <tomsmeding> | but really, just glance through https://hackage.haskell.org/package/vector-0.13.2.0/docs/Data-Vector.html |
2024-11-13 20:49:04 +0100 | <haskellbridge> | <thirdofmay18081814goya> i'll have a look i was weary of just focusing on the existence of the "Foldable" instance by fear of the possibility it would just throw out the performance benefits |
2024-11-13 20:49:17 +0100 | <tomsmeding> | no Foldable/Traversable are perfectly fine |
2024-11-13 20:49:26 +0100 | <tomsmeding> | what you should be wary of is tail/cons |
2024-11-13 20:49:51 +0100 | <tomsmeding> | read-only you can do essentially whatever you wish; for producing vectors, you should try to produce the whole thing in one go |
2024-11-13 20:50:19 +0100 | weary-traveler | (~user@user/user363627) (Remote host closed the connection) |
2024-11-13 20:51:18 +0100 | <tomsmeding> | (so tail/init etc. are actually quite fine, they are O(1) and just produce views on the underlying data) |
2024-11-13 20:52:31 +0100 | mantraofpie_ | (~mantraofp@user/mantraofpie) mantraofpie |
2024-11-13 20:52:36 +0100 | <haskellbridge> | <thirdofmay18081814goya> wait sorry I'm not fully understanding, what distinguishes tail/init vs. tail/cons? |
2024-11-13 20:52:47 +0100 | <tomsmeding> | tail and init are read-only |
2024-11-13 20:52:51 +0100 | hellwolf | (~user@0e2f-3a3b-aecf-adb3-0f00-4d40-07d0-2001.sta.estpak.ee) hellwolf |
2024-11-13 20:52:52 +0100 | <tomsmeding> | cons creates a new vector |
2024-11-13 20:53:46 +0100 | mantraofpie | (~mantraofp@user/mantraofpie) (Ping timeout: 260 seconds) |
2024-11-13 20:53:46 +0100 | <tomsmeding> | Data.Vector has GHC rewrite rules (RULEs) that try to make creating vectors fast even if you use multiple functions after each other (e.g. cons, append, fromList), but for best results, try to create the whole thing in one go |
2024-11-13 20:54:03 +0100 | <tomsmeding> | as long as you're just reading into an existing immutable vector, almost anything sensible is fast |
2024-11-13 20:54:09 +0100 | <haskellbridge> | <thirdofmay18081814goya> oh wow ok the package annotates each function's time complexity |
2024-11-13 20:54:13 +0100 | <tomsmeding> | yes |
2024-11-13 20:54:26 +0100 | <tomsmeding> | `containers` also does (Data.Map etc.) |
2024-11-13 20:55:36 +0100 | <haskellbridge> | <thirdofmay18081814goya> ok i will spend a while reading these and their source, highly appreciate the comments tyvm |
2024-11-13 20:55:56 +0100 | machinedgod | (~machinedg@d108-173-18-100.abhsia.telus.net) machinedgod |
2024-11-13 20:56:13 +0100 | <tomsmeding> | reading the source here is not likely to be very enlightening :D |
2024-11-13 20:56:23 +0100 | <tomsmeding> | vector tries a bit too hard to be generic with a bunch of stuff |
2024-11-13 20:56:33 +0100 | <lxsameer> | in the following syntax `class Monad m => MonadReader r m | m -> r where` that pipe reads as MonadReader on r m OR m -> r, correct? |
2024-11-13 20:56:42 +0100 | <tomsmeding> | no |
2024-11-13 20:56:46 +0100 | <tomsmeding> | -XFunctionalDependencies |
2024-11-13 20:56:53 +0100 | <tomsmeding> | https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/functional_dependencies.html#extens… |
2024-11-13 20:57:12 +0100 | ljdarj | (~Thunderbi@user/ljdarj) (Ping timeout: 276 seconds) |
2024-11-13 20:57:41 +0100 | <lxsameer> | tomsmeding: was that `no` for me? |
2024-11-13 20:57:52 +0100 | <geekosaur> | in general a single vertical bar in Haskell is read as "where" or "such that" |
2024-11-13 20:57:56 +0100 | <geekosaur> | not as "or" |
2024-11-13 20:57:58 +0100 | <tomsmeding> | lxsameer: yes :) |
2024-11-13 20:58:09 +0100 | <lxsameer> | ah got it, thanks folks |
2024-11-13 20:58:11 +0100 | <tomsmeding> | the `|` is more like the `|` in a list comprehension, and the `->` is a bit like implication here |
2024-11-13 20:58:14 +0100 | <tomsmeding> | but read the manual |
2024-11-13 20:59:15 +0100 | <lxsameer> | tomsmeding: since I don't know the name of this concept, i don't know what to search in the manual |
2024-11-13 20:59:18 +0100 | ljdarj | (~Thunderbi@user/ljdarj) ljdarj |
2024-11-13 21:00:05 +0100 | caconym | (~caconym@user/caconym) (Quit: bye) |
2024-11-13 21:00:44 +0100 | caconym | (~caconym@user/caconym) caconym |
2024-11-13 21:04:30 +0100 | mari-estel | (~mari-este@user/mari-estel) (Quit: good night) |
2024-11-13 21:07:45 +0100 | alexherbo2 | (~alexherbo@2a02-8440-3117-f07c-987b-fc29-77ee-addd.rev.sfr.net) (Ping timeout: 256 seconds) |
2024-11-13 21:08:26 +0100 | <yin> | functional dependencies |
2024-11-13 21:08:42 +0100 | <yin> | it's a language extension |
2024-11-13 21:08:43 +0100 | <lxsameer> | cheers |
2024-11-13 21:10:20 +0100 | <dmj`> | haskell report, "Modules may be mutually recursive." |
2024-11-13 21:12:15 +0100 | sprotte24 | (~sprotte24@p200300d16f059400e8d39b8ffa006815.dip0.t-ipconnect.de) |
2024-11-13 21:12:58 +0100 | CoolMa7 | (~CoolMa7@ip5f5b8957.dynamic.kabel-deutschland.de) CoolMa7 |
2024-11-13 21:14:16 +0100 | <tomsmeding> | lxsameer: https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/functional_dependencies.html#extens… |
2024-11-13 21:14:18 +0100 | <tomsmeding> | :p |
2024-11-13 21:16:00 +0100 | <lxsameer> | tomsmeding: thank you |
2024-11-13 21:25:23 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 245 seconds) |
2024-11-13 21:27:55 +0100 | <lxsameer> | I have a `Conext` type that basically is the state of my program, I pass it almost everywhere. At the moment it's just a record. Some functions will return a new context. Does it make sense to do something like `newtype Context a = Context (ReaderT State .... a) deriving (Monad, MonadReader, ....)`? |
2024-11-13 21:32:49 +0100 | CrunchyFlakes_ | (~CrunchyFl@ip1f13e94e.dynamic.kabel-deutschland.de) |
2024-11-13 21:32:52 +0100 | CrunchyFlakes | (~CrunchyFl@31.19.233.78) (Ping timeout: 244 seconds) |
2024-11-13 21:32:55 +0100 | mestre | (~mestre@192.145.217.7) |
2024-11-13 21:34:16 +0100 | mestre | (~mestre@192.145.217.7) (Client Quit) |
2024-11-13 21:37:45 +0100 | <mauke> | sure, except Reader doesn't really let you modify the state |
2024-11-13 21:37:55 +0100 | <mauke> | unless you put IORefs in your record or something |
2024-11-13 21:38:22 +0100 | Smiles | (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2024-11-13 21:39:05 +0100 | briandaed | (~root@185.234.210.211) (Remote host closed the connection) |
2024-11-13 21:40:25 +0100 | alp | (~alp@2001:861:e3d6:8f80:483c:b8c6:93d5:82bd) (Remote host closed the connection) |
2024-11-13 21:40:43 +0100 | alp | (~alp@2001:861:e3d6:8f80:8dec:7d0f:9187:87d0) |
2024-11-13 21:43:21 +0100 | <yin> | lxsameer: if you want to take the opportunity to get fancy https://blog.csongor.co.uk/time-travel-in-haskell-for-dummies/ |
2024-11-13 21:43:39 +0100 | <yin> | and fall in live with Haskell all over again |
2024-11-13 21:43:47 +0100 | <yin> | s/live/love |
2024-11-13 21:43:58 +0100 | <yin> | (laugh) |
2024-11-13 21:45:52 +0100 | <lxsameer> | mauke: yin thanks folks |
2024-11-13 21:50:14 +0100 | lxsameer | (~lxsameer@Serene/lxsameer) (Ping timeout: 255 seconds) |
2024-11-13 21:55:16 +0100 | weary-traveler | (~user@user/user363627) user363627 |
2024-11-13 22:02:14 +0100 | cuteguest | (~cuteguest@67-134-33-194.dia.static.qwest.net) |
2024-11-13 22:02:17 +0100 | Everything | (~Everythin@46.211.104.82) Everything |
2024-11-13 22:03:32 +0100 | cuteguest | (~cuteguest@67-134-33-194.dia.static.qwest.net) (Client Quit) |
2024-11-13 22:13:15 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) () |
2024-11-13 22:15:48 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) L29Ah |
2024-11-13 22:30:50 +0100 | michalz | (~michalz@185.246.207.201) (Remote host closed the connection) |
2024-11-13 22:31:10 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2024-11-13 22:34:18 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) () |
2024-11-13 22:53:04 +0100 | agent314 | (~quassel@static-198-44-129-53.cust.tzulo.com) agent314 |
2024-11-13 23:01:21 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 248 seconds) |
2024-11-13 23:02:11 +0100 | ubert | (~Thunderbi@178.165.164.236.wireless.dyn.drei.com) (Ping timeout: 252 seconds) |
2024-11-13 23:03:53 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) peterbecich |
2024-11-13 23:07:07 +0100 | misterfish | (~misterfis@84.53.85.146) (Ping timeout: 265 seconds) |
2024-11-13 23:08:33 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 265 seconds) |
2024-11-13 23:16:29 +0100 | agent314 | (~quassel@static-198-44-129-53.cust.tzulo.com) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
2024-11-13 23:19:43 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2024-11-13 23:32:07 +0100 | Digitteknohippie | (~user@user/digit) Digit |
2024-11-13 23:32:39 +0100 | Digit | (~user@user/digit) (Ping timeout: 260 seconds) |
2024-11-13 23:32:58 +0100 | ash3en | (~Thunderbi@31.16.203.214) ash3en |
2024-11-13 23:33:34 +0100 | ash3en | (~Thunderbi@31.16.203.214) (Client Quit) |
2024-11-13 23:34:07 +0100 | ash3en | (~Thunderbi@31.16.203.214) ash3en |
2024-11-13 23:38:38 +0100 | Digitteknohippie | Digit |
2024-11-13 23:40:40 +0100 | alexherbo2 | (~alexherbo@2a02-8440-3117-f07c-987b-fc29-77ee-addd.rev.sfr.net) alexherbo2 |
2024-11-13 23:44:13 +0100 | visilii_ | (~visilii@85.172.76.118) |
2024-11-13 23:45:08 +0100 | ash3en | (~Thunderbi@31.16.203.214) (Quit: ash3en) |
2024-11-13 23:45:19 +0100 | visilii | (~visilii@213.24.132.178) (Ping timeout: 260 seconds) |
2024-11-13 23:47:44 +0100 | L29Ah | (~L29Ah@wikipedia/L29Ah) L29Ah |
2024-11-13 23:49:08 +0100 | visilii_ | (~visilii@85.172.76.118) (Ping timeout: 252 seconds) |
2024-11-13 23:51:23 +0100 | visilii | (~visilii@213.24.133.209) |