Logs on 2024-12-29 (liberachat/#haskell)
| 00:00:21 | <geekosaur> | so it tracks the original and final Ord instances |
| 00:00:36 | → | foul_owl joins (~kerry@174-21-81-201.tukw.qwest.net) |
| 00:01:27 | lol_ | is now known as jcarpenter2 |
| 00:01:59 | → | gentauro joins (~gentauro@user/gentauro) |
| 00:02:18 | <geekosaur> | (since one of the uses of indexed monads is to allow things like an indexed monad instance for Set, which normally isn't possible because changing the key type alters the structure to reflect a different Ord instance. AIUI at least) |
| 00:02:54 | <geekosaur> | (meaning i, j, k are the key types since those specify the Ord instances, again AIUI) |
| 00:05:17 | <haskellbridge> | <thirdofmay18081814goya> hm right |
| 00:06:39 | × | iteratee quits (~kyle@162.218.222.207) (Remote host closed the connection) |
| 00:07:45 | <geekosaur> | more generally, a would be Map k v, b would be Map k' v', i is k and j is k' |
| 00:08:22 | <geekosaur> | and I think mathematically (but sadly not in Haskell's type system) if i == j then it should reduce to a normal non-indexed monad |
| 00:09:58 | → | todi1 joins (~todi@p57803331.dip0.t-ipconnect.de) |
| 00:10:48 | × | todi quits (~todi@p57803331.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 00:11:01 | × | alp quits (~alp@128-79-174-146.hfc.dyn.abo.bbox.fr) (Ping timeout: 248 seconds) |
| 00:12:08 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 00:15:16 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 00:15:48 | → | ljdarj1 joins (~Thunderbi@user/ljdarj) |
| 00:16:18 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Client Quit) |
| 00:18:37 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds) |
| 00:18:37 | ljdarj1 | is now known as ljdarj |
| 00:19:36 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
| 00:25:43 | <hololeap> | it reminds me of (.|) :: Monad m => ConduitT a b m () -> ConduitT b c m r -> ConduitT a c m r |
| 00:27:21 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Quit: pillow time) |
| 00:32:26 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 00:36:59 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 00:37:53 | × | mhatta quits (~mhatta@www21123ui.sakura.ne.jp) (Remote host closed the connection) |
| 00:38:30 | <ncf> | geekosaur: i don't think Set is an indexed monad? |
| 00:40:15 | <geekosaur> | maybe I'm completely confused, that was what I thought (part of) the point of it was |
| 00:40:41 | <ncf> | are you thinking of exofunctors or something |
| 00:42:05 | <ncf> | there's some motivation here https://stackoverflow.com/questions/28690448/what-is-indexed-monad |
| 00:42:11 | → | mhatta joins (~mhatta@www21123ui.sakura.ne.jp) |
| 00:42:13 | × | Tuplanolla quits (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.) |
| 00:43:41 | × | Everything quits (~Everythin@195.138.86.118) (Quit: leaving) |
| 00:49:49 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 00:53:49 | × | foul_owl quits (~kerry@174-21-81-201.tukw.qwest.net) (Ping timeout: 252 seconds) |
| 00:54:26 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 01:01:45 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 01:06:29 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 01:08:03 | → | foul_owl joins (~kerry@193.42.0.124) |
| 01:17:48 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 01:18:58 | × | sprotte24 quits (~sprotte24@p200300d16f0bfe00711e65c2b30202f1.dip0.t-ipconnect.de) (Read error: Connection reset by peer) |
| 01:22:35 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 01:23:31 | <ncf> | i guess the one-sentence definition of an indexed monad is "category enriched in the monoidal category of endofunctors with composition" |
| 01:23:42 | <ncf> | (the one that monads are just monoids in) |
| 01:25:55 | → | Smiles joins (uid551636@id-551636.lymington.irccloud.com) |
| 01:26:37 | <hololeap> | "with composition" seems like it would be redundant. isn't that implied by it being a category? |
| 01:27:14 | <ncf> | with composition as the monoidal product |
| 01:27:24 | <ncf> | composition of endofunctors |
| 01:28:29 | <ncf> | i.e. the endomorphism monoidal category on Set in the bicategory of categories |
| 01:30:10 | <hololeap> | isn't that usually just referred to as "the category of endofunctors" |
| 01:31:29 | <hololeap> | (I barely understand this stuff so don't take me too seriously) |
| 01:31:34 | <ncf> | well that doesn't tell you which monoidal structure you put on it |
| 01:32:11 | <ncf> | i.e. applicative functors are monoids in the category of endofunctors *with Day convolution as the monoidal product* |
| 01:35:06 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 01:36:55 | <hololeap> | ok I think I see what you mean |
| 01:37:53 | × | acidjnk_new3 quits (~acidjnk@p200300d6e7283f42bc4ebb891d7561a4.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
| 01:39:49 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 01:44:58 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 01:47:33 | × | machinedgod quits (~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 248 seconds) |
| 01:52:22 | × | euleritian quits (~euleritia@dynamic-176-006-135-074.176.6.pool.telefonica.de) (Ping timeout: 252 seconds) |
| 01:53:02 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 01:54:03 | × | comonad quits (~comonad@p200300d0270bcb00d2bd35ff80c069c9.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
| 01:54:07 | × | Square quits (~Square@user/square) (Ping timeout: 264 seconds) |
| 01:55:47 | → | comonad joins (~comonad@p200300d027182d00bcfd40be9d94d2dc.dip0.t-ipconnect.de) |
| 02:00:21 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
| 02:03:11 | → | euleritian joins (~euleritia@dynamic-176-006-135-074.176.6.pool.telefonica.de) |
| 02:04:56 | → | thatonelutenist joins (8216c46202@2a03:6000:1812:100::fb3) |
| 02:06:24 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 265 seconds) |
| 02:11:40 | <Leary> | @tell prsteele https://play.haskell.org/saved/J7bdQ5zn |
| 02:11:41 | <lambdabot> | Consider it noted. |
| 02:12:10 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 02:16:33 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 02:24:00 | <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. |
| 02:27:51 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 02:27:53 | <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)` |
| 02:32:16 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 02:44:53 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 02:45:04 | × | notzmv quits (~umar@user/notzmv) (Ping timeout: 265 seconds) |
| 02:52:52 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 02:59:50 | <haskellbridge> | <thirdofmay18081814goya> hm |
| 03:00:07 | <haskellbridge> | <thirdofmay18081814goya> we want there to be a strict ordering in the indexing type/sort right? |
| 03:00:27 | → | notzmv joins (~umar@user/notzmv) |
| 03:02:45 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 03:05:03 | × | op_4 quits (~tslil@user/op-4/x-9116473) (Remote host closed the connection) |
| 03:05:34 | → | op_4 joins (~tslil@user/op-4/x-9116473) |
| 03:07:18 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 03:07:23 | <haskellbridge> | <thirdofmay18081814goya> thinking about specifically the case where the indexes are given by "Finite n" |
| 03:07:49 | <haskellbridge> | <thirdofmay18081814goya> well |
| 03:08:25 | <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 |
| 03:08:43 | <haskellbridge> | <thirdofmay18081814goya> there is no type that can carry more information as an indexing type*** |
| 03:10:30 | × | prasad quits (~Thunderbi@c-73-75-25-251.hsd1.in.comcast.net) (Ping timeout: 260 seconds) |
| 03:11:00 | <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 |
| 03:13:37 | <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 |
| 03:14:23 | <haskellbridge> | <thirdofmay18081814goya> pattern matching, that is |
| 03:16:00 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds) |
| 03:17:05 | <haskellbridge> | <Bowuigi> Wait how? |
| 03:18:13 | <Leary> | I don't see what an ordering on the index kind has to do with anything. |
| 03:18:33 | <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" |
| 03:19:15 | <haskellbridge> | <thirdofmay18081814goya> uh |
| 03:19:18 | <haskellbridge> | <thirdofmay18081814goya> wait |
| 03:20:08 | <haskellbridge> | <thirdofmay18081814goya> that's not the type it has, the choice function in which it serves as the indexing type has that type |
| 03:20:32 | <haskellbridge> | <thirdofmay18081814goya> "choiceFunction :: IndexType -> Type", where "IndexType :: Type" |
| 03:20:33 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 03:21:17 | <haskellbridge> | <thirdofmay18081814goya> Leary: not sure either, just threw that out there to make the problem more concrete |
| 03:21:19 | → | dsrt^ joins (dsrt@c-98-242-74-66.hsd1.ga.comcast.net) |
| 03:22:24 | <haskellbridge> | <Bowuigi> I still don't understand how does that limit you to Nat/Fin |
| 03:25:11 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 03:28:58 | <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" |
| 03:29:25 | <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 |
| 03:30:28 | <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 |
| 03:30:38 | <haskellbridge> | <thirdofmay18081814goya> these differences* |
| 03:31:21 | × | euleritian quits (~euleritia@dynamic-176-006-135-074.176.6.pool.telefonica.de) (Ping timeout: 276 seconds) |
| 03:34:35 | × | td_ quits (~td@i5387093F.versanet.de) (Ping timeout: 244 seconds) |
| 03:35:02 | × | Smiles quits (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 03:35:22 | <haskellbridge> | <thirdofmay18081814goya> not sure if the same argument could be used for dependent types. for non-dependent types I think it is enough |
| 03:36:18 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 03:36:43 | → | td_ joins (~td@i5387092B.versanet.de) |
| 03:37:52 | <haskellbridge> | <thirdofmay18081814goya> i.e. we use the fact that "choiceFunction :: IndexType -> Type" applied to "index :: IndexType" will produce a term "resultingTerm :: Type" which has no subterms like "someSubterm :: IndexType" |
| 03:38:09 | <haskellbridge> | <thirdofmay18081814goya> because of non-dependent types |
| 03:39:01 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 03:39:04 | × | Typedfern quits (~Typedfern@106.red-83-37-34.dynamicip.rima-tde.net) (Remote host closed the connection) |
| 03:39:04 | × | typedfern_ quits (~Typedfern@106.red-83-37-34.dynamicip.rima-tde.net) (Remote host closed the connection) |
| 03:41:38 | → | Typedfern joins (~Typedfern@106.red-83-37-34.dynamicip.rima-tde.net) |
| 03:43:06 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 03:46:01 | <haskellbridge> | <thirdofmay18081814goya> so that means the only "value" or only "worth" of "IndexType" is how many ways it can be different, i.e., its cardinality |
| 03:46:08 | → | euleritian joins (~euleritia@dynamic-176-006-135-074.176.6.pool.telefonica.de) |
| 03:46:49 | × | euleritian quits (~euleritia@dynamic-176-006-135-074.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
| 03:47:46 | → | euleritian joins (~euleritia@dynamic-176-006-135-074.176.6.pool.telefonica.de) |
| 03:48:13 | × | euleritian quits (~euleritia@dynamic-176-006-135-074.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
| 03:51:06 | → | euleritian joins (~euleritia@dynamic-176-006-135-074.176.6.pool.telefonica.de) |
| 03:51:31 | × | euleritian quits (~euleritia@dynamic-176-006-135-074.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
| 03:56:36 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 03:59:16 | → | euleritian joins (~euleritia@dynamic-176-006-135-074.176.6.pool.telefonica.de) |
| 04:01:22 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 04:08:41 | × | euandreh quits (~Thunderbi@2804:d59:8929:cc00:c70d:53a7:f44e:6c64) (Ping timeout: 265 seconds) |
| 04:13:23 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 04:14:26 | → | euandreh joins (~Thunderbi@2804:d59:8929:cc00:c70d:53a7:f44e:6c64) |
| 04:17:56 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 04:29:13 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 04:29:24 | <haskellbridge> | <Bowuigi> That makes sense I guess |
| 04:30:48 | <haskellbridge> | <Bowuigi> Tho Nat may not be enough, unsure if larger infinities can be represented without dependent types |
| 04:32:09 | <haskellbridge> | <thirdofmay18081814goya> Bowuigi: this is probably taken care of if the alphabet is assumed to be countable. cannot have uncountably-many terms arising from countable alphabet |
| 04:33:42 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 04:35:51 | <haskellbridge> | <Bowuigi> Dedekind/Cauchy reals don't seem to require infinite alphabets |
| 04:47:19 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 04:51:01 | × | Raito_Bezarius quits (~Raito@wireguard/tunneler/raito-bezarius) (Ping timeout: 248 seconds) |
| 04:51:34 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 05:03:20 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 05:04:16 | × | eL_Bart0 quits (eL_Bart0@dietunichtguten.org) (Ping timeout: 265 seconds) |
| 05:05:04 | → | Raito_Bezarius joins (~Raito@wireguard/tunneler/raito-bezarius) |
| 05:06:46 | × | Raito_Bezarius quits (~Raito@wireguard/tunneler/raito-bezarius) (Max SendQ exceeded) |
| 05:08:12 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
| 05:18:52 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 05:23:26 | → | Raito_Bezarius joins (~Raito@wireguard/tunneler/raito-bezarius) |
| 05:24:30 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 05:37:58 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 05:42:41 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 05:53:23 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 05:54:48 | × | euandreh quits (~Thunderbi@2804:d59:8929:cc00:c70d:53a7:f44e:6c64) (Remote host closed the connection) |
| 05:55:08 | → | euandreh joins (~Thunderbi@2804:d59:8929:cc00:c70d:53a7:f44e:6c64) |
| 05:55:57 | × | vanishingideal quits (~vanishing@user/vanishingideal) (Quit: leaving) |
| 05:57:55 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 06:09:31 | × | notzmv quits (~umar@user/notzmv) (Ping timeout: 265 seconds) |
| 06:10:15 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 06:14:45 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 06:20:04 | → | alp joins (~alp@2001:861:8ca0:4940:cce8:4f56:ac90:1a49) |
| 06:28:22 | × | euandreh quits (~Thunderbi@2804:d59:8929:cc00:c70d:53a7:f44e:6c64) (Ping timeout: 265 seconds) |
| 06:28:25 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 06:29:35 | → | euandreh joins (~Thunderbi@2804:d59:8929:cc00:c70d:53a7:f44e:6c64) |
| 06:35:04 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 06:41:42 | × | stiell quits (~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection) |
| 06:42:06 | → | stiell joins (~stiell@gateway/tor-sasl/stiell) |
| 06:44:36 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds) |
| 06:48:18 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 06:51:39 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 06:53:30 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
| 06:54:41 | × | j1n37 quits (~j1n37@user/j1n37) (Read error: Connection reset by peer) |
| 06:58:19 | → | j1n37 joins (~j1n37@user/j1n37) |
| 06:59:28 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 06:59:28 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 07:03:50 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 07:08:06 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 07:10:40 | × | euphores quits (~SASL_euph@user/euphores) (Quit: Leaving.) |
| 07:16:43 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 07:17:29 | → | euphores joins (~SASL_euph@user/euphores) |
| 07:21:21 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 07:32:43 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 07:33:39 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 07:37:29 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 07:39:53 | → | target_i joins (~target_i@user/target-i/x-6023099) |
| 07:40:48 | → | CiaoSen joins (~Jura@2a05:5800:2df:5d00:ca4b:d6ff:fec1:99da) |
| 07:48:36 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 07:53:26 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 08:00:02 | × | tt12310978324354 quits (~tt1231@2603:6010:8700:4a81:219f:50d3:618a:a6ee) (Quit: The Lounge - https://thelounge.chat) |
| 08:00:02 | × | caconym quits (~caconym@user/caconym) (Quit: bye) |
| 08:00:39 | → | caconym joins (~caconym@user/caconym) |
| 08:04:00 | → | tt12310978324354 joins (~tt1231@2603:6010:8700:4a81:219f:50d3:618a:a6ee) |
| 08:05:55 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 08:12:36 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 08:18:46 | → | notzmv joins (~umar@user/notzmv) |
| 08:18:56 | × | euleritian quits (~euleritia@dynamic-176-006-135-074.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
| 08:20:50 | → | euleritian joins (~euleritia@dynamic-176-006-135-074.176.6.pool.telefonica.de) |
| 08:23:51 | × | euleritian quits (~euleritia@dynamic-176-006-135-074.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
| 08:25:34 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 08:27:34 | → | euleritian joins (~euleritia@dynamic-176-006-135-074.176.6.pool.telefonica.de) |
| 08:29:49 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 08:41:06 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 08:45:38 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 08:59:16 | × | euleritian quits (~euleritia@dynamic-176-006-135-074.176.6.pool.telefonica.de) (Ping timeout: 244 seconds) |
| 08:59:23 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 08:59:56 | → | eL_Bart0 joins (eL_Bart0@dietunichtguten.org) |
| 09:01:00 | × | mesaoptimizer quits (~mesa@user/PapuaHardyNet) (Quit: WeeChat 4.0.4) |
| 09:04:27 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds) |
| 09:05:07 | → | acidjnk_new3 joins (~acidjnk@p200300d6e7283f8900a2a0b37ea8fce4.dip0.t-ipconnect.de) |
| 09:05:46 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 244 seconds) |
| 09:17:20 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 09:20:41 | → | mreh joins (~matthew@host86-146-25-121.range86-146.btcentralplus.com) |
| 09:21:27 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 09:21:53 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 09:22:35 | <mreh> | why is there no standard library instance of Foreign.Storable (a, b)? |
| 09:23:11 | <mreh> | is it too inflexible to have only one? |
| 09:24:31 | <c_wraith> | I think it's more ideological. Storable is originally intended for things that map to C type, and (,) does not do that. |
| 09:25:03 | <mreh> | c_wraith: gotcha, sounds about right |
| 09:25:34 | → | Smiles joins (uid551636@id-551636.lymington.irccloud.com) |
| 09:27:03 | × | CiaoSen quits (~Jura@2a05:5800:2df:5d00:ca4b:d6ff:fec1:99da) (Ping timeout: 246 seconds) |
| 09:30:35 | → | Tuplanolla joins (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) |
| 09:34:09 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 09:37:17 | → | Square joins (~Square@user/square) |
| 09:38:46 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 09:41:21 | → | mesaoptimizer joins (~mesa@user/PapuaHardyNet) |
| 09:42:36 | → | __monty__ joins (~toonn@user/toonn) |
| 09:42:59 | → | euleritian joins (~euleritia@dynamic-176-006-135-074.176.6.pool.telefonica.de) |
| 09:52:14 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 09:54:18 | → | sawilagar joins (~sawilagar@user/sawilagar) |
| 09:54:46 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 09:58:59 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 10:08:45 | × | acidjnk_new3 quits (~acidjnk@p200300d6e7283f8900a2a0b37ea8fce4.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 10:16:03 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 10:20:33 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 10:21:04 | × | alp quits (~alp@2001:861:8ca0:4940:cce8:4f56:ac90:1a49) (Ping timeout: 272 seconds) |
| 10:23:17 | → | acidjnk_new3 joins (~acidjnk@p200300d6e7283f89a9548a55d3d0f0c2.dip0.t-ipconnect.de) |
| 10:26:09 | → | miris joins (~miris@user/miris) |
| 10:32:32 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 10:33:29 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 10:37:17 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 10:44:50 | × | euandreh quits (~Thunderbi@2804:d59:8929:cc00:c70d:53a7:f44e:6c64) (Remote host closed the connection) |
| 10:45:13 | → | euandreh joins (~Thunderbi@2804:d59:8929:cc00:c70d:53a7:f44e:6c64) |
| 10:49:01 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 10:53:52 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 11:01:00 | → | billchenchina joins (~billchenc@2a0d:2580:ff0c:1:4a35:c1dc:b9b7:67d8) |
| 11:01:27 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 11:05:51 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 11:13:25 | → | Digitteknohippie joins (~user@user/digit) |
| 11:14:59 | × | Digit quits (~user@user/digit) (Ping timeout: 265 seconds) |
| 11:16:57 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 11:18:50 | → | sprotte24 joins (~sprotte24@p200300d16f115c0064019873c2fc968e.dip0.t-ipconnect.de) |
| 11:21:22 | × | sawilagar quits (~sawilagar@user/sawilagar) (Quit: Leaving) |
| 11:21:40 | × | euandreh quits (~Thunderbi@2804:d59:8929:cc00:c70d:53a7:f44e:6c64) (Quit: euandreh) |
| 11:21:45 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 11:26:35 | → | sawilagar joins (~sawilagar@user/sawilagar) |
| 11:33:28 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 11:35:28 | <haskellbridge> | <thirdofmay18081814goya> for anyone interested in the indexed monad discussions above, the following article clarifies a lot: https://citeseerx.ist.psu.edu/document?repid=rep1&type=pdf&doi=58bbf3f9381b1c08035b18b5e36bf15eb7c66790 |
| 11:36:05 | Digitteknohippie | is now known as Digit |
| 11:36:16 | → | tnt2 joins (~Thunderbi@user/tnt1) |
| 11:36:18 | <haskellbridge> | <thirdofmay18081814goya> notably, why two indexes, and how to encode non-indexed functors (they use the Unit type as the two indexes) |
| 11:37:19 | × | tnt1 quits (~Thunderbi@user/tnt1) (Ping timeout: 264 seconds) |
| 11:37:20 | tnt2 | is now known as tnt1 |
| 11:37:57 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 11:38:00 | → | rvalue- joins (~rvalue@user/rvalue) |
| 11:38:42 | × | rvalue quits (~rvalue@user/rvalue) (Ping timeout: 244 seconds) |
| 11:42:18 | rvalue- | is now known as rvalue |
| 11:49:42 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 11:50:36 | <haskellbridge> | <thirdofmay18081814goya> (the citation cluster around this article discusses the topic extensively too and most articles are freely available) |
| 11:56:33 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 11:59:15 | × | acidjnk_new3 quits (~acidjnk@p200300d6e7283f89a9548a55d3d0f0c2.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
| 11:59:41 | × | gmg quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 12:00:17 | → | alp joins (~alp@2001:861:8ca0:4940:dcd7:67cc:75e1:172c) |
| 12:02:07 | <ncf> | a monad is just a one-object enriched category :) |
| 12:02:28 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 12:05:00 | × | Smiles quits (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 12:07:10 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 12:08:03 | × | sprotte24 quits (~sprotte24@p200300d16f115c0064019873c2fc968e.dip0.t-ipconnect.de) (Read error: Connection reset by peer) |
| 12:11:24 | → | acidjnk_new3 joins (~acidjnk@p200300d6e7283f89a9548a55d3d0f0c2.dip0.t-ipconnect.de) |
| 12:12:33 | × | rvalue quits (~rvalue@user/rvalue) (Read error: Connection reset by peer) |
| 12:13:03 | → | rvalue joins (~rvalue@user/rvalue) |
| 12:13:15 | × | tzh quits (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz) |
| 12:18:42 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 12:20:17 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 12:23:17 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 12:26:44 | × | poscat quits (~poscat@user/poscat) (Quit: Bye) |
| 12:27:03 | → | poscat joins (~poscat@user/poscat) |
| 12:29:25 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds) |
| 12:32:48 | × | notzmv quits (~umar@user/notzmv) (Ping timeout: 265 seconds) |
| 12:35:27 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 12:40:03 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 12:40:48 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 12:42:15 | × | Digit quits (~user@user/digit) (Ping timeout: 244 seconds) |
| 12:43:54 | → | dostoevsky joins (~dostoevsk@user/dostoevsky) |
| 12:51:24 | → | ionut_f joins (~ionut_f@user/ionut-f:27329) |
| 12:51:34 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 12:55:58 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 12:59:09 | × | euleritian quits (~euleritia@dynamic-176-006-135-074.176.6.pool.telefonica.de) (Ping timeout: 245 seconds) |
| 13:00:43 | → | euleritian joins (~euleritia@dynamic-176-006-135-074.176.6.pool.telefonica.de) |
| 13:01:21 | → | sprotte24 joins (~sprotte24@p200300d16f115c0064019873c2fc968e.dip0.t-ipconnect.de) |
| 13:03:28 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 13:07:02 | × | euleritian quits (~euleritia@dynamic-176-006-135-074.176.6.pool.telefonica.de) (Ping timeout: 252 seconds) |
| 13:08:07 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 13:10:48 | × | alp quits (~alp@2001:861:8ca0:4940:dcd7:67cc:75e1:172c) (Ping timeout: 272 seconds) |
| 13:18:32 | → | Digit joins (~user@user/digit) |
| 13:18:56 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 13:19:21 | → | euleritian joins (~euleritia@dynamic-176-006-135-074.176.6.pool.telefonica.de) |
| 13:24:07 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds) |
| 13:26:39 | × | euleritian quits (~euleritia@dynamic-176-006-135-074.176.6.pool.telefonica.de) (Ping timeout: 272 seconds) |
| 13:27:47 | <kaol> | :t \f g -> f <=< fmap g |
| 13:27:47 | <lambdabot> | Monad m => (b -> m c) -> (a -> b) -> m a -> m c |
| 13:27:51 | × | emmanuelux quits (~emmanuelu@user/emmanuelux) (Quit: au revoir) |
| 13:28:25 | → | emmanuelux joins (~emmanuelu@user/emmanuelux) |
| 13:28:37 | <kaol> | I used that but putting kleisli and fmap together felt odd, is there something obvious I missed? |
| 13:33:10 | <int-e> | :t \f g -> (>>= f . g) |
| 13:33:11 | <lambdabot> | Monad m => (b1 -> m b2) -> (a -> b1) -> m a -> m b2 |
| 13:34:08 | <int-e> | :t \f g -> (>>= fmap f g) {- scnr -} |
| 13:34:09 | <lambdabot> | Monad m => (a1 -> m b) -> (a2 -> a1) -> m a2 -> m b |
| 13:35:32 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 13:35:42 | <kaol> | Thanks, I knew there was something off. |
| 13:42:24 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 13:45:29 | → | vanishingideal joins (~vanishing@user/vanishingideal) |
| 13:47:32 | × | acidjnk_new3 quits (~acidjnk@p200300d6e7283f89a9548a55d3d0f0c2.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
| 13:49:15 | → | Digitteknohippie joins (~user@user/digit) |
| 13:50:45 | × | Digit quits (~user@user/digit) (Ping timeout: 248 seconds) |
| 13:55:16 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 13:55:47 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 14:00:17 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 14:04:01 | × | Digitteknohippie quits (~user@user/digit) (Ping timeout: 248 seconds) |
| 14:04:28 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 14:05:27 | → | troydm joins (~troydm@user/troydm) |
| 14:08:44 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
| 14:21:04 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 14:23:37 | → | euleritian joins (~euleritia@dynamic-176-006-135-074.176.6.pool.telefonica.de) |
| 14:25:36 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 14:29:43 | × | euleritian quits (~euleritia@dynamic-176-006-135-074.176.6.pool.telefonica.de) (Read error: Connection reset by peer) |
| 14:29:47 | × | ionut_f quits (~ionut_f@user/ionut-f:27329) (Remote host closed the connection) |
| 14:36:42 | → | euleritian joins (~euleritia@dynamic-176-006-135-074.176.6.pool.telefonica.de) |
| 14:38:24 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 14:40:42 | → | notzmv joins (~umar@user/notzmv) |
| 14:45:17 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 14:45:41 | × | euleritian quits (~euleritia@dynamic-176-006-135-074.176.6.pool.telefonica.de) (Ping timeout: 248 seconds) |
| 14:45:56 | → | euleritian joins (~euleritia@dynamic-176-006-141-198.176.6.pool.telefonica.de) |
| 14:47:54 | → | alp joins (~alp@2001:861:8ca0:4940:b0e2:6a53:aa07:4647) |
| 14:53:38 | → | acidjnk_new3 joins (~acidjnk@p200300d6e7283f89a9548a55d3d0f0c2.dip0.t-ipconnect.de) |
| 14:56:40 | × | euleritian quits (~euleritia@dynamic-176-006-141-198.176.6.pool.telefonica.de) (Ping timeout: 252 seconds) |
| 14:58:01 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 14:59:29 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 15:02:38 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 15:02:41 | → | euleritian joins (~euleritia@dynamic-176-003-015-198.176.3.pool.telefonica.de) |
| 15:05:04 | → | ephilalethes joins (~noumenon@2001:f40:908:735:aa7e:eaff:fede:ff94) |
| 15:05:32 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 15:06:51 | × | divya quits (divya@140.238.251.170) (Ping timeout: 276 seconds) |
| 15:09:35 | → | Digit joins (~user@198.144.208.46.dyn.plus.net) |
| 15:10:01 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 15:10:09 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 15:13:45 | <haskellbridge> | <hellwolf> > sequence $ Left [1,2,3,4] |
| 15:14:08 | <haskellbridge> | <hellwolf> _ |
| 15:14:08 | <haskellbridge> | > sequence $ Left [1,2,3,4] |
| 15:14:09 | <geekosaur> | sneak a garbage line before it, from matrix |
| 15:14:10 | <lambdabot> | error: |
| 15:14:10 | <lambdabot> | • Ambiguous type variables ‘m0’, |
| 15:14:10 | <lambdabot> | ‘a0’ arising from a use of ‘show_M18904948350... |
| 15:15:51 | <dminuoso> | mreh: Besides, without a link to C representation the matter of "how to represent some arbitrary data" becomes a mess. Should (a, b) have some TLV representation? This rapidly swirls into encoding/decoding arbitrary payloads. |
| 15:21:00 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 15:25:42 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
| 15:31:48 | → | divya joins (divya@140.238.251.170) |
| 15:34:23 | × | ephilalethes quits (~noumenon@2001:f40:908:735:aa7e:eaff:fede:ff94) (Quit: Leaving) |
| 15:35:10 | × | driib318 quits (~driib@vmi931078.contaboserver.net) (Quit: The Lounge - https://thelounge.chat) |
| 15:37:10 | × | acidjnk_new3 quits (~acidjnk@p200300d6e7283f89a9548a55d3d0f0c2.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 15:38:04 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 15:39:20 | → | driib318 joins (~driib@vmi931078.contaboserver.net) |
| 15:42:45 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 15:47:48 | → | gorignak joins (~gorignak@user/gorignak) |
| 15:47:51 | <haskellbridge> | <hellwolf> I don't understand the documentation of sequence, where it says |
| 15:47:51 | <haskellbridge> | ... long message truncated: https://kf8nh.com/_heisenbridge/media/kf8nh.com/QUKGrvLTNZOOOHdwBvktjVmF/bVwGZIEAz8s (3 lines) |
| 15:48:45 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 15:53:08 | <glguy> | > sequence $ Left [1,2,3,4] |
| 15:53:09 | <lambdabot> | error: |
| 15:53:09 | <lambdabot> | • Ambiguous type variables ‘m0’, |
| 15:53:09 | <lambdabot> | ‘a0’ arising from a use of ‘show_M47049344228... |
| 15:53:25 | <int-e> | > sequence $ Left [1,2,3,4] :: Either Int () |
| 15:53:27 | <lambdabot> | error: |
| 15:53:27 | <lambdabot> | • Couldn't match type ‘Either [a1] a0’ with ‘()’ |
| 15:53:27 | <lambdabot> | Expected type: Either Int () |
| 15:53:32 | <int-e> | err |
| 15:53:55 | <int-e> | > sequence $ Left [1,2,3,4] :: Either [Int] [()] |
| 15:53:57 | <lambdabot> | error: |
| 15:53:57 | <lambdabot> | • Couldn't match type ‘Either [a0]’ with ‘[]’ |
| 15:53:57 | <lambdabot> | Expected type: Either [Int] [()] |
| 15:54:10 | <int-e> | :t sequence $ Left [1,2,3,4] |
| 15:54:11 | <lambdabot> | (Monad m, Num a1) => m (Either [a1] a2) |
| 15:54:18 | <int-e> | sorry. evidently I don't get it. |
| 15:54:59 | <int-e> | > sequence $ Left [1,2,3,4] :: Identity (Either [Int] ()) |
| 15:55:00 | <glguy> | in GHCi it defaults to > sequence $ Left [1,2,3,4] :: IO (Either [Int] ()) |
| 15:55:28 | <lambdabot> | Identity (Left [1,2,3,4]) |
| 15:56:03 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 15:56:43 | <haskellbridge> | <hellwolf> Oh IO monad |
| 15:56:50 | <haskellbridge> | <hellwolf> that makes sense |
| 15:57:15 | <haskellbridge> | <hellwolf> terrible example though in the doc |
| 15:57:39 | <int-e> | > sequence $ Right (Idenitity ()) :: Identity (Either [Int] ()) |
| 15:57:41 | <lambdabot> | error: |
| 15:57:41 | <lambdabot> | • Data constructor not in scope: Idenitity :: () -> Identity () |
| 15:57:41 | <lambdabot> | • Perhaps you meant one of these: |
| 15:57:47 | int-e | gives up |
| 15:59:00 | <int-e> | Ah it would help if I could type. |
| 16:00:10 | × | dostoevsky quits (~dostoevsk@user/dostoevsky) (Remote host closed the connection) |
| 16:00:27 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 16:00:32 | → | dostoevsky joins (~dostoevsk@user/dostoevsky) |
| 16:00:51 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 16:02:18 | × | dostoevsky quits (~dostoevsk@user/dostoevsky) (Max SendQ exceeded) |
| 16:02:33 | <haskellbridge> | <hellwolf> main = print =<< (sequence $ Left [1,2,3,4] :: IO (Either [Int] ())) |
| 16:02:45 | <haskellbridge> | <hellwolf> I got it in the playground eventually |
| 16:03:01 | → | dostoevsky joins (~dostoevsk@user/dostoevsky) |
| 16:03:14 | <haskellbridge> | <hellwolf> I suspect this example helps no one but confuse people |
| 16:03:45 | <int-e> | hmm, where did you find this? |
| 16:06:28 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 16:11:16 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 16:11:30 | × | Digit quits (~user@198.144.208.46.dyn.plus.net) (Ping timeout: 244 seconds) |
| 16:17:19 | → | Digit joins (~user@198.144.208.46.dyn.plus.net) |
| 16:18:38 | × | Digit quits (~user@198.144.208.46.dyn.plus.net) (Read error: Connection reset by peer) |
| 16:21:48 | → | Digit joins (~user@198.144.208.46.dyn.plus.net) |
| 16:22:29 | → | prasad joins (~Thunderbi@c-73-75-25-251.hsd1.in.comcast.net) |
| 16:22:35 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 16:24:30 | <haskellbridge> | <hellwolf> https://hackage.haskell.org/package/base-4.21.0.0/docs/Prelude.html#v:sequence |
| 16:24:45 | → | ash3en joins (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) |
| 16:27:29 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
| 16:29:48 | → | machinedgod joins (~machinedg@d108-173-18-100.abhsia.telus.net) |
| 16:36:33 | × | annamalai quits (~yaaic@2409:4072:609c:96c7::1350:d8b1) (Ping timeout: 276 seconds) |
| 16:39:15 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 16:43:44 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 16:44:08 | → | rekahsoft joins (~rekahsoft@76.69.85.220) |
| 16:46:14 | → | Guest62 joins (~Guest10@202.134.186.134) |
| 16:46:31 | × | Guest62 quits (~Guest10@202.134.186.134) (Client Quit) |
| 16:46:51 | → | kevinz56 joins (~kevinz56@202.134.186.134) |
| 16:47:02 | <kevinz56> | Hii |
| 16:47:41 | × | kevinz56 quits (~kevinz56@202.134.186.134) (Client Quit) |
| 16:54:57 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 16:56:08 | → | tnt2 joins (~Thunderbi@user/tnt1) |
| 16:57:09 | × | tnt1 quits (~Thunderbi@user/tnt1) (Ping timeout: 246 seconds) |
| 16:57:09 | tnt2 | is now known as tnt1 |
| 16:57:47 | → | acidjnk_new3 joins (~acidjnk@p200300d6e7283f89c5dccb51c3ab6697.dip0.t-ipconnect.de) |
| 16:59:08 | → | annamalai joins (~yaaic@2409:4072:609c:96c7::1350:d8b1) |
| 16:59:36 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 17:02:36 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 264 seconds) |
| 17:07:28 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 17:08:27 | → | econo_ joins (uid147250@id-147250.tinside.irccloud.com) |
| 17:11:39 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 17:12:22 | × | Square quits (~Square@user/square) (Remote host closed the connection) |
| 17:13:21 | × | L29Ah quits (~L29Ah@wikipedia/L29Ah) (Ping timeout: 248 seconds) |
| 17:18:57 | × | talismanick quits (~user@2601:644:937c:ed10::ae5) (Remote host closed the connection) |
| 17:20:06 | × | ash3en quits (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Ping timeout: 276 seconds) |
| 17:22:59 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 17:27:38 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 17:33:22 | → | ash3en joins (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) |
| 17:35:06 | × | billchenchina quits (~billchenc@2a0d:2580:ff0c:1:4a35:c1dc:b9b7:67d8) (Quit: Leaving) |
| 17:37:09 | × | Digit quits (~user@198.144.208.46.dyn.plus.net) (Read error: Connection reset by peer) |
| 17:37:13 | <ash3en> | hi, can i make this a bit less repetetive? https://paste.tomsmeding.com/dQn16HaU |
| 17:37:48 | → | Digit joins (~user@198.144.208.46.dyn.plus.net) |
| 17:40:27 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 17:41:40 | → | talismanick joins (~user@2601:644:937c:ed10::ae5) |
| 17:43:30 | × | machinedgod quits (~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 276 seconds) |
| 17:45:01 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 17:51:43 | <glguy> | ash3en, what part of it do you want to eliminate? |
| 17:52:55 | <ash3en> | hm, I thought maybe there is a more concise version of this. the explicit return/pure is a bit annoying imo |
| 17:53:20 | <c_wraith> | there's <* |
| 17:53:23 | <glguy> | the pure st seems pretty important because that's where you specified the return value |
| 17:53:36 | <glguy> | it's not obvious to me what takeRemainingNulBytes does or what it needs st |
| 17:53:41 | <c_wraith> | but why does takeRemainingNulBytes even have a parameter? |
| 17:54:04 | <glguy> | attoparsec's "skip (0==)" is shorter than that name |
| 17:54:07 | × | euleritian quits (~euleritia@dynamic-176-003-015-198.176.3.pool.telefonica.de) (Ping timeout: 264 seconds) |
| 17:54:20 | <glguy> | is that what it does? |
| 17:55:20 | <c_wraith> | If that's just to illustrate a common pattern... you can eliminate it, but it's... bad. |
| 17:55:24 | <ash3en> | takeRemainingNulBytes discards remaining nul bytes that are just used to pad the string to a multiple of 32bit. so after i have parsed the string i want to discard the remaining nul bytes. however the next value i want to parse may be a zero so i can not just discard ALL nul bytes. just the ones used for padding |
| 17:56:57 | <ash3en> | so parse until nul bytes; discard all padded null bytes; keep parsing |
| 17:57:18 | <c_wraith> | Like, you could replace the last two lines with.... (<$) <*> takeRemainingNulBytes $ st |
| 17:57:32 | <c_wraith> | but... don't. For the sake of anyone looking at the code in the future. |
| 17:58:15 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 17:58:41 | <ash3en> | yeah, that seems not too readable : ) |
| 17:58:59 | <c_wraith> | sadly, I can read it now. :) |
| 17:59:21 | <kaol> | There's https://hackage.haskell.org/package/IfElse-0.85/docs/Control-Monad-IfElse.html#v:returning but that's not any library I'd consider for my usual toolbox. |
| 18:00:35 | <ash3en> | haha nice kaol, but I'll pass on this lib probably |
| 18:01:32 | → | Square joins (~Square@user/square) |
| 18:01:57 | <kaol> | Now that you mention it this is a function I've been hoping for myself more than once. |
| 18:02:11 | × | notzmv quits (~umar@user/notzmv) (Ping timeout: 252 seconds) |
| 18:02:19 | <c_wraith> | :t ((<$) <*>) -- amusingly.... |
| 18:02:23 | <statusbot> | Maintenance update: Hackage will be offline for a redeploy -- http://status.haskell.org/pages/maintenance/537c07b0cf1fad5830000093/67718e964449ab5853e77361 |
| 18:02:27 | <lambdabot> | Functor f => (a -> f b) -> a -> f a |
| 18:02:43 | × | TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Remote host closed the connection) |
| 18:02:57 | <c_wraith> | look, I rediscovered it! |
| 18:03:24 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds) |
| 18:03:44 | <ash3en> | c_wraith: i will keep that version as a comment :D |
| 18:03:53 | <kaol> | Peachy. I'll start it on my personal code, haters gonna hate. |
| 18:04:40 | → | TheCoffeMaker joins (~TheCoffeM@user/thecoffemaker) |
| 18:04:58 | <kaol> | Every time you name a variable god kills a kitten. |
| 18:05:28 | → | euleritian joins (~euleritia@dynamic-176-003-015-198.176.3.pool.telefonica.de) |
| 18:05:34 | <ash3en> | kaol: :'( |
| 18:05:55 | <kaol> | I may not be completely serious. |
| 18:06:04 | <ash3en> | probably |
| 18:06:10 | <c_wraith> | In fact, that whole thing could be written as takeWhile1 (/= nulByte) >>= (<$) <*> takeRemainingNulBytes |
| 18:06:22 | <c_wraith> | maximize line noise. |
| 18:06:41 | <c_wraith> | use a secret S combinator. |
| 18:06:45 | <glguy> | unreadable code isn't going to write itself |
| 18:07:21 | <ash3en> | it is understandable until (<$) |
| 18:07:23 | <kaol> | I don't even find that too bad, but I've spent an unhealthy amount of time playing around with (->). |
| 18:08:09 | <glguy> | If you don't want to name your variables I recommend exploring Factor. https://www.google.com/search?client=safari&rls=en&q=factorlang&ie=UTF-8&oe=UTF-8 |
| 18:08:18 | <glguy> | hmm, I didn't mean to paste that |
| 18:08:22 | <glguy> | https://factorcode.org |
| 18:08:29 | <c_wraith> | Honestly, I'd leave the code as-is |
| 18:08:57 | <glguy> | with a stack language you can take unreadable to a level that simple (r ->) isn't going to get close to |
| 18:09:30 | <c_wraith> | everything that reduces repetition of `st' in there also obfuscates the flow of what's going on. |
| 18:09:45 | <glguy> | and the environment you write Factor in is pretty slick, too |
| 18:09:45 | → | machinedgod joins (~machinedg@d108-173-18-100.abhsia.telus.net) |
| 18:09:48 | <ash3en> | c_wraith: too true |
| 18:09:57 | × | euleritian quits (~euleritia@dynamic-176-003-015-198.176.3.pool.telefonica.de) (Ping timeout: 248 seconds) |
| 18:11:51 | <hololeap> | kaol: it looks fine to me |
| 18:12:03 | <hololeap> | sorry ash3en |
| 18:12:08 | <hololeap> | is who I meant |
| 18:14:01 | <hololeap> | making it more compact is just going to obfuscate things |
| 18:14:33 | <hololeap> | and I personally like writing out parsers with do-notation like that since it's easier to read in my opinion |
| 18:14:53 | <hololeap> | even if it is more lines |
| 18:16:59 | <statusbot> | Maintenance update: hackage redeploy complete -- http://status.haskell.org/pages/maintenance/537c07b0cf1fad5830000093/67718e964449ab5853e77361 |
| 18:21:02 | → | Digitteknohippie joins (~user@198.144.208.46.dyn.plus.net) |
| 18:21:31 | <ash3en> | yeah, i just hoped for an easy to get applicative way to define this |
| 18:22:10 | × | Digit quits (~user@198.144.208.46.dyn.plus.net) (Ping timeout: 248 seconds) |
| 18:22:18 | → | agent314 joins (~quassel@static-198-54-130-107.cust.tzulo.com) |
| 18:25:43 | → | Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915) |
| 18:25:52 | × | hueso quits (~root@user/hueso) (Quit: hueso) |
| 18:25:52 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 18:26:55 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 260 seconds) |
| 18:27:06 | Lord_of_Life_ | is now known as Lord_of_Life |
| 18:27:29 | <monochrom> | Hrm, writing itself... . o O ( do, a block, a monad block; rec, a knot tied in the block; quine, a code, that writes itself; ... ) |
| 18:28:45 | <monochrom> | Hot take: Quines are unreadable code that writes itself. >:) |
| 18:30:09 | <c_wraith> | I didn't realize you were cosplaying as Julie Andrews today. |
| 18:30:22 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 18:31:00 | <monochrom> | Wanna also hear about my favourite langs? >:) |
| 18:31:25 | <c_wraith> | I actually wrap all gifts as brown paper packages tied up with string. |
| 18:31:44 | <monochrom> | That's very old school. |
| 18:32:25 | <monochrom> | But OK, restaurants now also do that to my leftovers to go! |
| 18:35:51 | Digitteknohippie | is now known as Digit |
| 18:38:44 | × | prasad quits (~Thunderbi@c-73-75-25-251.hsd1.in.comcast.net) (Ping timeout: 245 seconds) |
| 18:38:52 | → | hueso joins (~root@user/hueso) |
| 18:40:51 | → | euleritian joins (~euleritia@dynamic-176-003-015-198.176.3.pool.telefonica.de) |
| 18:41:22 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 18:45:27 | × | euleritian quits (~euleritia@dynamic-176-003-015-198.176.3.pool.telefonica.de) (Ping timeout: 265 seconds) |
| 18:48:21 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 18:49:14 | → | pavonia joins (~user@user/siracusa) |
| 18:49:57 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 18:50:27 | × | Digit quits (~user@198.144.208.46.dyn.plus.net) (Ping timeout: 276 seconds) |
| 18:55:22 | → | Digit joins (~user@user/digit) |
| 19:02:02 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 19:04:10 | → | tzh joins (~tzh@c-76-115-131-146.hsd1.or.comcast.net) |
| 19:06:13 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
| 19:11:33 | → | euleritian joins (~euleritia@dynamic-176-003-015-198.176.3.pool.telefonica.de) |
| 19:13:49 | × | euleritian quits (~euleritia@dynamic-176-003-015-198.176.3.pool.telefonica.de) (Read error: Connection reset by peer) |
| 19:14:02 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 19:14:36 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 19:16:29 | × | ash3en quits (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Quit: ash3en) |
| 19:19:17 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 19:23:21 | → | notzmv joins (~umar@user/notzmv) |
| 19:24:21 | → | euleritian joins (~euleritia@dynamic-176-003-015-198.176.3.pool.telefonica.de) |
| 19:31:13 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 19:34:17 | × | mreh quits (~matthew@host86-146-25-121.range86-146.btcentralplus.com) (Quit: Lost terminal) |
| 19:35:35 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 19:48:40 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 19:53:17 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 19:55:03 | → | hgolden joins (~hgolden@2603:8000:9d00:3ed1:6ff3:8389:b901:6363) |
| 19:58:32 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 19:58:34 | → | tremon joins (~tremon@83.80.159.219) |
| 19:59:42 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 20:00:02 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 20:00:07 | × | caconym quits (~caconym@user/caconym) (Quit: bye) |
| 20:00:45 | → | caconym joins (~caconym@user/caconym) |
| 20:06:28 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 20:11:14 | × | euleritian quits (~euleritia@dynamic-176-003-015-198.176.3.pool.telefonica.de) (Ping timeout: 244 seconds) |
| 20:11:20 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 20:15:00 | × | itscaleb quits (~itscaleb@user/itscaleb) (Quit: away) |
| 20:15:00 | × | rdcdr quits (~rdcdr@user/rdcdr) (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in) |
| 20:16:25 | × | miris quits (~miris@user/miris) (Quit: Client closed) |
| 20:22:32 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 20:24:10 | → | gmg joins (~user@user/gehmehgeh) |
| 20:27:53 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 20:29:14 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 20:32:12 | → | Everything joins (~Everythin@195.138.86.118) |
| 20:33:29 | → | euleritian joins (~euleritia@dynamic-176-003-015-198.176.3.pool.telefonica.de) |
| 20:36:02 | × | agent314 quits (~quassel@static-198-54-130-107.cust.tzulo.com) (Ping timeout: 244 seconds) |
| 20:36:28 | → | agent314 joins (~quassel@static-68-235-46-85.cust.tzulo.com) |
| 20:42:22 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 20:44:52 | → | rdcdr joins (~rdcdr@user/rdcdr) |
| 20:45:42 | → | ash3en joins (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) |
| 20:46:50 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 20:57:48 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 21:02:09 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 21:03:03 | × | machinedgod quits (~machinedg@d108-173-18-100.abhsia.telus.net) (Ping timeout: 276 seconds) |
| 21:05:03 | → | machinedgod joins (~machinedg@d108-173-18-100.abhsia.telus.net) |
| 21:11:15 | × | euleritian quits (~euleritia@dynamic-176-003-015-198.176.3.pool.telefonica.de) (Read error: Connection reset by peer) |
| 21:11:51 | → | euleritian joins (~euleritia@dynamic-176-003-015-198.176.3.pool.telefonica.de) |
| 21:12:21 | × | euleritian quits (~euleritia@dynamic-176-003-015-198.176.3.pool.telefonica.de) (Read error: Connection reset by peer) |
| 21:14:17 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 21:14:57 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 21:15:18 | → | euleritian joins (~euleritia@dynamic-176-003-015-198.176.3.pool.telefonica.de) |
| 21:15:45 | × | euleritian quits (~euleritia@dynamic-176-003-015-198.176.3.pool.telefonica.de) (Read error: Connection reset by peer) |
| 21:18:13 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 248 seconds) |
| 21:18:43 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 21:18:51 | → | euleritian joins (~euleritia@dynamic-176-003-015-198.176.3.pool.telefonica.de) |
| 21:22:08 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 21:23:49 | × | alp quits (~alp@2001:861:8ca0:4940:b0e2:6a53:aa07:4647) (Remote host closed the connection) |
| 21:25:02 | → | ss4 joins (~wootehfoo@user/wootehfoot) |
| 21:25:05 | × | ss4 quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
| 21:26:00 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 264 seconds) |
| 21:27:31 | → | alp joins (~alp@2001:861:8ca0:4940:3ecb:efbe:97a4:b42a) |
| 21:27:53 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 21:28:20 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Ping timeout: 265 seconds) |
| 21:31:10 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 21:35:24 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
| 21:37:19 | → | ionut_f joins (~ionut_f@user/ionut-f:27329) |
| 21:46:44 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 21:47:06 | × | euleritian quits (~euleritia@dynamic-176-003-015-198.176.3.pool.telefonica.de) (Read error: Connection reset by peer) |
| 21:51:32 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 21:54:38 | → | euleritian joins (~euleritia@dynamic-176-003-015-198.176.3.pool.telefonica.de) |
| 22:02:35 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 22:04:44 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 22:07:56 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 22:11:16 | × | ash3en quits (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) (Quit: ash3en) |
| 22:11:33 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 22:12:21 | × | talismanick quits (~user@2601:644:937c:ed10::ae5) (Remote host closed the connection) |
| 22:12:35 | → | talismanick joins (~user@2601:644:937c:ed10::ae5) |
| 22:13:17 | ← | L29Ah parts (~L29Ah@wikipedia/L29Ah) () |
| 22:13:50 | × | Pixi` quits (~Pixi@user/pixi) (Quit: Leaving) |
| 22:15:20 | × | talismanick quits (~user@2601:644:937c:ed10::ae5) (Remote host closed the connection) |
| 22:15:22 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 22:16:17 | → | talismanick joins (~user@2601:644:937c:ed10::ae5) |
| 22:23:49 | × | Everything quits (~Everythin@195.138.86.118) (Ping timeout: 248 seconds) |
| 22:25:12 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 22:29:59 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 22:32:06 | × | agent314 quits (~quassel@static-68-235-46-85.cust.tzulo.com) (Ping timeout: 246 seconds) |
| 22:34:39 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 22:35:10 | × | hgolden quits (~hgolden@2603:8000:9d00:3ed1:6ff3:8389:b901:6363) (Quit: Leaving) |
| 22:35:26 | → | hgolden joins (~hgolden@2603:8000:9d00:3ed1:6ff3:8389:b901:6363) |
| 22:35:51 | → | Pixi joins (~Pixi@user/pixi) |
| 22:36:29 | → | Everything joins (~Everythin@195.138.86.118) |
| 22:36:42 | × | hgolden quits (~hgolden@2603:8000:9d00:3ed1:6ff3:8389:b901:6363) (Client Quit) |
| 22:37:08 | → | hgolden joins (~hgolden@2603:8000:9d00:3ed1:6ff3:8389:b901:6363) |
| 22:38:44 | × | hgolden quits (~hgolden@2603:8000:9d00:3ed1:6ff3:8389:b901:6363) (Client Quit) |
| 22:40:09 | → | hgolden joins (~hgolden@2603:8000:9d00:3ed1:6ff3:8389:b901:6363) |
| 22:41:20 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 22:45:38 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 22:47:10 | <bastelfreak> | yushyin: o/ |
| 22:51:44 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 22:53:13 | × | target_i quits (~target_i@user/target-i/x-6023099) (Quit: leaving) |
| 22:55:06 | × | euleritian quits (~euleritia@dynamic-176-003-015-198.176.3.pool.telefonica.de) (Read error: Connection reset by peer) |
| 22:56:25 | → | euleritian joins (~euleritia@dynamic-176-003-015-198.176.3.pool.telefonica.de) |
| 22:56:49 | × | euleritian quits (~euleritia@dynamic-176-003-015-198.176.3.pool.telefonica.de) (Read error: Connection reset by peer) |
| 22:58:09 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 22:59:52 | → | euleritian joins (~euleritia@dynamic-176-003-015-198.176.3.pool.telefonica.de) |
| 23:02:41 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 23:07:14 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 23:07:51 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 23:09:09 | → | dolio joins (~dolio@130.44.140.168) |
| 23:13:17 | → | orangeflu joins (~flu@159.67.5.85.dynamic.cust.swisscom.net) |
| 23:14:21 | × | ionut_f quits (~ionut_f@user/ionut-f:27329) (Ping timeout: 244 seconds) |
| 23:15:25 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 23:20:04 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 272 seconds) |
| 23:33:06 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 23:37:52 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 23:38:32 | <orangeflu> | Buiogio or something |
| 23:38:37 | <orangeflu> | I don't remember your name |
| 23:38:40 | <orangeflu> | Are you here? |
| 23:40:34 | → | Tech_Junky joins (~Tech_Junk@185.152.66.235) |
| 23:43:56 | <haskellbridge> | <Bowuigi> Uhhhh are you talking about me? |
| 23:43:57 | <geekosaur> | Bowuigi ^^ |
| 23:45:09 | <orangeflu> | Yeesss |
| 23:45:24 | × | cowboy8625 quits (~cowboy@2605-4A80-7405-640-B51A-FA7D-9084-E360-dynamic.midco.net) (Ping timeout: 245 seconds) |
| 23:45:43 | <orangeflu> | God damn it, i totally forgot your name and had no idea what it was, so i just wrote B and a bunch of letters in hopes someone will know |
| 23:46:06 | <orangeflu> | Could have checked the logs but anyway |
| 23:47:09 | <orangeflu> | So I finally got around to implementing the MVector under ST monad. After some checking, I realized that if I wanted Mvectors under IO, I would have to litter my library code full of IO (..) return types, which I don't want |
| 23:48:06 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 23:48:30 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 265 seconds) |
| 23:48:36 | <orangeflu> | So made some getters and setters for my registers and memory, modified all the instructions to use those, then modified the setter to thaw the vectors to mvectors and then freeze them after they are done with modifying |
| 23:48:57 | <orangeflu> | The result: my application is now slightly slower and consume maybe 4x times the RAM |
| 23:49:01 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 23:49:28 | <orangeflu> | which i assume is overhead from thaw and freeze, cause i do that for every instruction |
| 23:50:17 | <orangeflu> | and hackage says they are O(n), but i assumed it would be a very simple operation to turn them from mutable to immut or the other way around |
| 23:51:10 | <orangeflu> | Anyway, i assume a reasonable course of action would now be to hold the vector muttable for the duration of the emulation, and then freeze it only when it comes back for user inspection? |
| 23:51:41 | <haskellbridge> | <Bowuigi> That's actually reasonable, yeah |
| 23:52:00 | <orangeflu> | Ok, just checking |
| 23:52:55 | <orangeflu> | also, i was overcomplicating the whole ST monad, i think i just wasn't getting the types right, cause it it as easy as doing runST $ do ... {mutate some vecs here} and that's it, the rest of the code can remain pure |
| 23:54:33 | <orangeflu> | https://paste.tomsmeding.com/oUOQx2Pm |
| 23:55:00 | <orangeflu> | Like, this is the only part of the code meddling with the ST monad, and its types are pure |
| 23:55:06 | <orangeflu> | How is that even possible..? |
| 23:55:33 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 23:55:54 | <Rembane> | orangeflu: Because of the runST, if your remove it everything will happen in ST insteead. |
| 23:55:56 | <haskellbridge> | <Bowuigi> Yeah that's gonna be very slow, it turns O(1) code into O(n) |
| 23:56:41 | <haskellbridge> | <Bowuigi> ST encodes local mutability. Since it's thread safe and isolated enough, it can be run purely |
| 23:58:30 | <haskellbridge> | <Bowuigi> Thread safe as an atomic unit, its steps are not safe |
| 23:58:53 | <orangeflu> | Rembane: doesn't everything inside runST already happen inside ST? If i remove it, it won't work anymore, cause i never packaged my function into ST |
| 23:59:22 | <orangeflu> | Bowuigi: what do you mean by "it turns O(1) code into O(n)". Who does? runST? |
| 23:59:47 | <Rembane> | orangeflu: I think it will work, but something else will have to apply a runST to it |
All times are in UTC on 2024-12-29.