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 +0100 | merijn | (~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 +0100 | dsrt^ | (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 +0100 | merijn | (~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 +0100 | ljdarj | (~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 +0100 | prasad | (~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 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
2024-12-29 04:05:34 +0100 | op_4 | (~tslil@user/op-4/x-9116473) op_4 |
2024-12-29 04:05:03 +0100 | op_4 | (~tslil@user/op-4/x-9116473) (Remote host closed the connection) |
2024-12-29 04:02:45 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-12-29 04:00:27 +0100 | notzmv | (~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 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
2024-12-29 03:45:04 +0100 | notzmv | (~umar@user/notzmv) (Ping timeout: 265 seconds) |
2024-12-29 03:44:53 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) merijn |
2024-12-29 03:32:16 +0100 | merijn | (~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 +0100 | merijn | (~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 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
2024-12-29 03:12:10 +0100 | merijn | (~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 +0100 | peterbecich | (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 265 seconds) |
2024-12-29 03:04:56 +0100 | thatonelutenist | (8216c46202@2a03:6000:1812:100::fb3) thatonelutenist |
2024-12-29 03:03:11 +0100 | euleritian | (~euleritia@dynamic-176-006-135-074.176.6.pool.telefonica.de) |
2024-12-29 03:00:21 +0100 | merijn | (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
2024-12-29 02:55:47 +0100 | comonad | (~comonad@p200300d027182d00bcfd40be9d94d2dc.dip0.t-ipconnect.de) |
2024-12-29 02:54:07 +0100 | Square | (~Square@user/square) (Ping timeout: 264 seconds) |
2024-12-29 02:54:03 +0100 | comonad | (~comonad@p200300d0270bcb00d2bd35ff80c069c9.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |