2024/12/29

Newest at the top

2024-12-29 04:30:38 +0100 <haskellbridge> <thirdofmay18081814goya> these differences*
2024-12-29 04:30:28 +0100 <haskellbridge> <thirdofmay18081814goya> so if you have "someTerm :: Type", it has at most finitely many differences with "anotherTerm :: Type", which means these can be indexed by a function on the naturals
2024-12-29 04:29:25 +0100 <haskellbridge> <thirdofmay18081814goya> the argument also follows from considering that any term (e.g. in System F) has finitely many symbols and therefore can only have finitely many differences with any other term
2024-12-29 04:28:58 +0100 <haskellbridge> <thirdofmay18081814goya> Bowuigi: well, there is nothing in "IndexType :: Type" that can be used to make a value of "Type". so it can only allow you to choose a value. i.e., the term that will result from applying "choiceFunction :: IndexType -> Type" will not contain any term from "IndexType"
2024-12-29 04:25:11 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2024-12-29 04:22:24 +0100 <haskellbridge> <Bowuigi> I still don't understand how does that limit you to Nat/Fin
2024-12-29 04:21:19 +0100dsrt^(dsrt@c-98-242-74-66.hsd1.ga.comcast.net)
2024-12-29 04:21:17 +0100 <haskellbridge> <thirdofmay18081814goya> Leary: not sure either, just threw that out there to make the problem more concrete
2024-12-29 04:20:33 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-29 04:20:32 +0100 <haskellbridge> <thirdofmay18081814goya> "choiceFunction :: IndexType -> Type", where "IndexType :: Type"
2024-12-29 04:20:08 +0100 <haskellbridge> <thirdofmay18081814goya> that's not the type it has, the choice function in which it serves as the indexing type has that type
2024-12-29 04:19:18 +0100 <haskellbridge> <thirdofmay18081814goya> wait
2024-12-29 04:19:15 +0100 <haskellbridge> <thirdofmay18081814goya> uh
2024-12-29 04:18:33 +0100 <haskellbridge> <thirdofmay18081814goya> Bowuigi: the extent of the work that can be done by an indexing type is that of specifying another type, so it has type "IndexType -> Type", where "IndexType : Type"
2024-12-29 04:18:13 +0100 <Leary> I don't see what an ordering on the index kind has to do with anything.
2024-12-29 04:17:05 +0100 <haskellbridge> <Bowuigi> Wait how?
2024-12-29 04:16:00 +0100ljdarj(~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds)
2024-12-29 04:14:23 +0100 <haskellbridge> <thirdofmay18081814goya> pattern matching, that is
2024-12-29 04:13:37 +0100 <haskellbridge> <thirdofmay18081814goya> simply because the work of an indexing type is delimited simply by how many ways you can pattern match on it. i.e. this completely specifies the extent of the work an indexing type can do
2024-12-29 04:11:00 +0100 <haskellbridge> <thirdofmay18081814goya> i.e. any work that can done by a type, as an indexing type, will be the same as can be done by either "Finite n" or the type of natural numbers
2024-12-29 04:10:30 +0100prasad(~Thunderbi@c-73-75-25-251.hsd1.in.comcast.net) (Ping timeout: 260 seconds)
2024-12-29 04:08:43 +0100 <haskellbridge> <thirdofmay18081814goya> there is no type that can carry more information as an indexing type***
2024-12-29 04:08:25 +0100 <haskellbridge> <thirdofmay18081814goya> there is no type that can carry more information that either "Finite n" or "Nat", so I think it is a good starting point
2024-12-29 04:07:49 +0100 <haskellbridge> <thirdofmay18081814goya> well
2024-12-29 04:07:23 +0100 <haskellbridge> <thirdofmay18081814goya> thinking about specifically the case where the indexes are given by "Finite n"
2024-12-29 04:07:18 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds)
2024-12-29 04:05:34 +0100op_4(~tslil@user/op-4/x-9116473) op_4
2024-12-29 04:05:03 +0100op_4(~tslil@user/op-4/x-9116473) (Remote host closed the connection)
2024-12-29 04:02:45 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-29 04:00:27 +0100notzmv(~umar@user/notzmv) notzmv
2024-12-29 04:00:07 +0100 <haskellbridge> <thirdofmay18081814goya> we want there to be a strict ordering in the indexing type/sort right?
2024-12-29 03:59:50 +0100 <haskellbridge> <thirdofmay18081814goya> hm
2024-12-29 03:52:52 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-29 03:45:04 +0100notzmv(~umar@user/notzmv) (Ping timeout: 265 seconds)
2024-12-29 03:44:53 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-29 03:32:16 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2024-12-29 03:27:53 +0100 <Leary> This is clearer when looking at a corresponding indexed applicative: `unit :: f i i (); fuse :: f i j a -> f j k b -> f i k (a, b)`
2024-12-29 03:27:51 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-29 03:24:00 +0100 <Leary> thirdofmay: The Atkey indexed monad has two indices for the same reason `Category` arrows do; its bind performs a kind of composition. Simple examples include the indexed writer monad, which writes category arrows rather than monoids, and the indexed state monad which has distinct types for the initial and final state.
2024-12-29 03:16:33 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2024-12-29 03:12:10 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) merijn
2024-12-29 03:11:41 +0100 <lambdabot> Consider it noted.
2024-12-29 03:11:40 +0100 <Leary> @tell prsteele https://play.haskell.org/saved/J7bdQ5zn
2024-12-29 03:06:24 +0100peterbecich(~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 265 seconds)
2024-12-29 03:04:56 +0100thatonelutenist(8216c46202@2a03:6000:1812:100::fb3) thatonelutenist
2024-12-29 03:03:11 +0100euleritian(~euleritia@dynamic-176-006-135-074.176.6.pool.telefonica.de)
2024-12-29 03:00:21 +0100merijn(~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds)
2024-12-29 02:55:47 +0100comonad(~comonad@p200300d027182d00bcfd40be9d94d2dc.dip0.t-ipconnect.de)
2024-12-29 02:54:07 +0100Square(~Square@user/square) (Ping timeout: 264 seconds)
2024-12-29 02:54:03 +0100comonad(~comonad@p200300d0270bcb00d2bd35ff80c069c9.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)