Newest at the top
| 2025-11-18 02:44:42 +0100 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) |
| 2025-11-18 02:39:22 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 2025-11-18 02:34:41 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-18 02:33:33 +0100 | catties | (~catties@user/meow/catties) catties |
| 2025-11-18 02:31:18 +0100 | sindu | (~sindu@77.19.134.151.tmi.telenormobil.no) (Ping timeout: 260 seconds) |
| 2025-11-18 02:28:20 +0100 | Catty | (~catties@user/meow/catties) (Remote host closed the connection) |
| 2025-11-18 02:27:27 +0100 | Dhark8 | Shark8 |
| 2025-11-18 02:24:50 +0100 | AlexZenon | (~alzenon@178.34.162.20) |
| 2025-11-18 02:24:07 +0100 | <haskellbridge> | <Zemyla> True. |
| 2025-11-18 02:23:43 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 240 seconds) |
| 2025-11-18 02:21:50 +0100 | <monochrom> | Combination may be N->2. Each of n elements may be chosen or not-chosen. |
| 2025-11-18 02:18:55 +0100 | AlexNoo | (~AlexNoo@178.34.151.158) (Ping timeout: 246 seconds) |
| 2025-11-18 02:18:53 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-18 02:18:46 +0100 | Tuplanolla | (~Tuplanoll@91-159-187-167.elisa-laajakaista.fi) (Quit: Leaving.) |
| 2025-11-18 02:17:08 +0100 | <monochrom> | So yeah it's both programming and category theory. I was coding up LU factorization with pivoting, and I recorded the permutation of rows by performing the same permutation on [0 .. n-1] and returning it. |
| 2025-11-18 02:16:58 +0100 | AlexZenon | (~alzenon@178.34.151.158) (Ping timeout: 256 seconds) |
| 2025-11-18 02:16:42 +0100 | humasect | (~humasect@dyn-192-249-132-90.nexicom.net) humasect |
| 2025-11-18 02:15:27 +0100 | AlexNoo_ | (~AlexNoo@178.34.162.20) |
| 2025-11-18 02:15:25 +0100 | <monochrom> | Moreover, it also hints that σ id is "backwards": It maps new indexes to old indexes. How to see it: Use N for old indexes, N' for new indexes. Then (N->a) -> (N'->a) is isomorphic to N' -> N. |
| 2025-11-18 02:14:38 +0100 | trickard_ | trickard |
| 2025-11-18 02:13:27 +0100 | peterbecich | (~Thunderbi@172.222.148.214) peterbecich |
| 2025-11-18 02:12:55 +0100 | <EvanR> | sounds like the theory of group action |
| 2025-11-18 02:12:14 +0100 | <monochrom> | I don't know! Not interested for now. |
| 2025-11-18 02:12:01 +0100 | <monochrom> | And the backward mapping maps e to \v -> v ∘ e |
| 2025-11-18 02:11:51 +0100 | <haskellbridge> | <Zemyla> So is there a type that represents a combination? |
| 2025-11-18 02:10:41 +0100 | <monochrom> | Model "array of length n with elements of type a" as N->a, N = {0 .. n-1}. Then permutations are a special cases of (N->a) -> (N->a). Then Yoneda embedding says that it's isomorphic to N->N, the forward mapping maps σ to σ id, id = [0 .. n-1]. |
| 2025-11-18 02:08:50 +0100 | peterbecich | (~Thunderbi@172.222.148.214) (Ping timeout: 244 seconds) |
| 2025-11-18 02:08:13 +0100 | <monochrom> | Turns out this was foretold by the Yoneda lemma too! |
| 2025-11-18 02:08:11 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 250 seconds) |
| 2025-11-18 02:07:46 +0100 | <monochrom> | Suppose σ permutes arrays of length n. I can apply it to the "identity array" [0 .. n-1], i.e., define e := σ [0 .. n-1]. Then I can use e instead of σ to permute other arrays: To permute v, (σ v)[i] = v[e[i]] for each i. In the vector library, you can just write `V.backpermute e v`. |
| 2025-11-18 02:04:34 +0100 | infinity0 | (~infinity0@pwned.gg) infinity0 |
| 2025-11-18 02:03:07 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) merijn |
| 2025-11-18 02:02:54 +0100 | turlando | (~turlando@user/turlando) turlando |
| 2025-11-18 02:00:43 +0100 | turlando | (~turlando@user/turlando) (Ping timeout: 246 seconds) |
| 2025-11-18 01:59:58 +0100 | acidjnk | (~acidjnk@p200300d6e717199494cb24f290a326c5.dip0.t-ipconnect.de) (Ping timeout: 256 seconds) |
| 2025-11-18 01:59:03 +0100 | <yin> | :) |
| 2025-11-18 01:58:50 +0100 | <yin> | yes |
| 2025-11-18 01:57:05 +0100 | <EvanR> | was this a programming situation or category theory |
| 2025-11-18 01:54:35 +0100 | <monochrom> | (The smell was correct. It really was Yoneda lemma. Know every angle, all of them are helpful.) |
| 2025-11-18 01:54:10 +0100 | <yin> | jackdk: tyvm |
| 2025-11-18 01:53:01 +0100 | <monochrom> | It's OK. Lately I smelled Yoneda lemma everywhere anyway. :) |
| 2025-11-18 01:52:35 +0100 | <yin> | monochrom: it just had the same smell in my purposeless mind, that's all |
| 2025-11-18 01:52:33 +0100 | <jackdk> | I got a lot out of (in order): this old "FRP - Events and Behaviours" talk: https://www.youtube.com/watch?v=GXW1jBijhlk, the diagrams in the reactive-banana package, and https://github.com/qfpl/reflex-workshop/ (for hands-on experience). They might help you get your head around the mental models |
| 2025-11-18 01:51:40 +0100 | merijn | (~merijn@host-vr.cgnat-g.v4.dfn.nl) (Ping timeout: 255 seconds) |
| 2025-11-18 01:49:59 +0100 | <monochrom> | If you think call/cc, you're a low-level person. It's not wrong, it just may be very helpful or very distracting depending on your purpose. |
| 2025-11-18 01:49:19 +0100 | xff0x | (~xff0x@2405:6580:b080:900:fb28:6c11:a653:72c4) (Ping timeout: 260 seconds) |
| 2025-11-18 01:47:16 +0100 | <EvanR> | the signal is replaced with the event payload when/if it happens. Before before any events, the first argument applies |
| 2025-11-18 01:46:55 +0100 | <EvanR> | something like Signal a -> Event (Signal a) -> Signal a |
| 2025-11-18 01:46:36 +0100 | <EvanR> | the usual way to introduce a way to "dynamically" replace a behavior is to use an event |
| 2025-11-18 01:45:45 +0100 | <yin> | right. i had that but (x t) looked weird to me :) |