2026/02/20

Newest at the top

2026-02-20 18:39:59 +0100 <haskellbridge> <ijouw> *circle
2026-02-20 18:39:39 +0100 <haskellbridge> <ijouw> Likely using angles on the unit sphere and magnitude.
2026-02-20 18:38:30 +0100 <haskellbridge> <ijouw> But I am too lazy to formalize it.
2026-02-20 18:37:59 +0100 <haskellbridge> <ijouw> There is one order where (*2) does not affect order, but it will fail if you add something.
2026-02-20 18:37:15 +0100 <c_wraith> which is documented to produce broken output if the transformation isn't monotonic with respect to the ordering
2026-02-20 18:36:55 +0100AlexZenon(~alzenon@85.174.181.228)
2026-02-20 18:36:49 +0100 <c_wraith> fwiw, Data.Set has mapMonotonic
2026-02-20 18:33:44 +0100lisbeths(uid135845@id-135845.lymington.irccloud.com) lisbeths
2026-02-20 18:33:06 +0100lisbeths(uid135845@id-135845.lymington.irccloud.com) (Server closed connection)
2026-02-20 18:31:57 +0100 <haskellbridge> <ijouw> But yes, doing something like Set.map (*2) over complex numbers will rebuild the tree (for any total Ord and random values).
2026-02-20 18:30:19 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds)
2026-02-20 18:29:00 +0100 <haskellbridge> <ijouw> The empty one
2026-02-20 18:27:53 +0100 <c_wraith> I don't know what data structure *does* give you efficient set-membership testing and also supports arbitrary transformations of all values in the structure without rebuilding it
2026-02-20 18:27:39 +0100 <haskellbridge> <ijouw> Well doing fmap conjugate does not work either way
2026-02-20 18:26:41 +0100m_a_r_k(~m_a_r_k@archlinux/support/mark) m_a_r_k
2026-02-20 18:26:35 +0100 <n0w0n> Ig ya'd lose most of the benefits of doing complex ring operations to all members of a set without rebuilding a red black tree
2026-02-20 18:26:26 +0100m_a_r_k(~m_a_r_k@archlinux/support/mark) (Server closed connection)
2026-02-20 18:24:55 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-20 18:21:46 +0100 <n0w0n> An incongruent ordering, ya say?
2026-02-20 18:19:43 +0100kuribas(~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection)
2026-02-20 18:19:06 +0100 <dutchie> just costs a newtype wrapper I guess
2026-02-20 18:18:31 +0100 <dutchie> which doesn't matter if you just want to shove them into a Set
2026-02-20 18:18:12 +0100 <dutchie> you can order the complex numbers (eg. lexicographically on their real and imaginary components), it just won't be compatible with the ring structure
2026-02-20 18:16:23 +0100Enrico63(~Enrico63@host-82-56-209-65.retail.telecomitalia.it) (Quit: Client closed)
2026-02-20 18:15:18 +0100skinkitten(~skinkitte@user/skinkitten) (Quit: Client closed)
2026-02-20 18:14:43 +0100 <n0w0n> Damn you Chris Okasaki
2026-02-20 18:14:29 +0100 <n0w0n> & Sets are secretly Red Black Trees with an ordering
2026-02-20 18:13:44 +0100 <n0w0n> Since complex numbers are unordered
2026-02-20 18:13:39 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds)
2026-02-20 18:13:35 +0100 <n0w0n> Unrelated, but that just reminded me that ya can't encode a set of complex number in Haskell using the Set type in containers
2026-02-20 18:11:44 +0100 <haskellbridge> <ijouw> What if we made an arbitrary Ord Type and used it and Set Type to define dynamic sum types (as seen in e.g. typescript)?
2026-02-20 18:10:58 +0100Googulator(~Googulato@193-226-241-165.pool.digikabel.hu)
2026-02-20 18:10:43 +0100Googulator(~Googulato@2a01-036d-0106-499d-1c5a-0e4b-5795-d7e3.pool6.digikabel.hu) (Quit: Client closed)
2026-02-20 18:09:42 +0100vanishingideal(~vanishing@user/vanishingideal) vanishingideal
2026-02-20 18:06:53 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-20 18:02:53 +0100skinkitten(~skinkitte@user/skinkitten) skinkitten
2026-02-20 18:02:29 +0100Enrico63(~Enrico63@host-82-56-209-65.retail.telecomitalia.it) Enrico63
2026-02-20 18:01:50 +0100GdeVolpiano(~GdeVolpia@user/GdeVolpiano) (Ping timeout: 252 seconds)
2026-02-20 18:01:14 +0100mangoiv(~mangoiv@2a01:4f9:c012:6c0e::)
2026-02-20 18:00:56 +0100mangoiv(~mangoiv@user/mangoiv) (Server closed connection)
2026-02-20 17:56:43 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds)
2026-02-20 17:54:57 +0100n0w0n(~john@user/n0w0n) n0w0n
2026-02-20 17:51:23 +0100machinedgod(~machinedg@d172-219-48-230.abhsia.telus.net) machinedgod
2026-02-20 17:51:06 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-02-20 17:50:37 +0100larsivi(~larsivi@user/larsivi) larsivi
2026-02-20 17:48:51 +0100tromp(~textual@2001:1c00:3487:1b00:e95d:ea3f:e73:4413)
2026-02-20 17:46:58 +0100machinedgod(~machinedg@d75-159-126-101.abhsia.telus.net) (Ping timeout: 276 seconds)
2026-02-20 17:45:15 +0100thenightmail(~thenightm@user/thenightmail) thenightmail
2026-02-20 17:40:39 +0100merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds)
2026-02-20 17:37:32 +0100thenightmail(~thenightm@user/thenightmail) (Client Quit)