jimn
12/05/2019, 12:26 PMjimn
12/05/2019, 12:26 PMjimn
12/05/2019, 12:27 PMRuckus
12/05/2019, 2:36 PMKy Leggiero
12/07/2019, 5:10 AMjimn
12/07/2019, 9:37 PMjimn
12/07/2019, 9:37 PMKy Leggiero
12/07/2019, 9:59 PMjimn
12/07/2019, 10:28 PMKy Leggiero
12/07/2019, 11:39 PMjimn
12/08/2019, 12:03 AMjimn
12/08/2019, 12:04 AMKy Leggiero
12/08/2019, 12:06 AMjimn
12/08/2019, 12:11 AMKy Leggiero
12/08/2019, 6:23 AMoperator fun sequenceLiteral
or operator fun dictionaryLitertal
to be chosen. To determine which is most appropriate, they have to be distinguished by their return types as well as their parameter types. Today, Kotlin only distinguishes identically-named functions by their parameter types. A separate Kotlin compiler change needs to be made to allow distinguishing by return types.
Aside from activating this currently-unused JVM capability, this might also introduce strange and unexpected errors in existing code if it were compiled with that new compiler, and in the behavior of existing compiled bytecode if it were linked against that new Kotlin runtime/stdlib.
These are problems I'm willing to work through, but nobody from JetBrains has stepped up to be a shepherd to this feature.
More on KEEP shepherds: https://github.com/Kotlin/KEEP#keep-shepherdsjimn
12/08/2019, 7:58 AMjimn
12/08/2019, 8:03 AMstrange and unexpected errors in existing code if it were compiled with that new compiler, and in the behavior of existing compiled bytecode if it were linked against that new Kotlin runtime/stdlib.this didn't stop inline classes from pushing ahead and completely obfuscating legal kotlin from java legalities. and so it should follow that precedent, seperate but implemented language features can move into realization as features that don't provoke the wrath of legacy compatibility trolls using inline classes as one approach of potentially many to avoid legacy conflicts
jimn
12/08/2019, 8:08 AMjimn
12/08/2019, 8:25 AMkarelpeeters
12/08/2019, 8:41 AMjimn
12/08/2019, 9:45 AMjimn
12/08/2019, 9:48 AMjimn
12/08/2019, 10:12 AMkarelpeeters
12/08/2019, 10:14 AM{}
is just fine and look similar enough. This bigger problem is that an empty map (usually {a:b, c:d}
) and an empty set look identical.jimn
12/08/2019, 10:15 AMjimn
12/08/2019, 10:22 AMjimn
12/08/2019, 10:24 AMjimn
12/08/2019, 10:27 AMkarelpeeters
12/08/2019, 10:33 AM{}
or Ø
or ∅
youself, but whenever anyone else does you condescendingly call it bikeshedding or trivial.jimn
12/08/2019, 10:36 AMjimn
12/08/2019, 10:39 AMhttps://files.slack.com/files-pri/T09229ZC6-FQYA4B72N/image.png▾
jimn
12/08/2019, 10:40 AMkarelpeeters
12/08/2019, 10:41 AMjimn
12/08/2019, 10:42 AMkarelpeeters
12/08/2019, 10:43 AMjimn
12/08/2019, 10:45 AMjimn
12/08/2019, 11:07 AMkarelpeeters
12/08/2019, 11:09 AMjimn
12/08/2019, 11:11 AMjimn
12/08/2019, 11:12 AMjimn
12/08/2019, 11:22 AMhttps://files.slack.com/files-pri/T09229ZC6-FP3NH4PCJ/image.png▾
jimn
12/08/2019, 11:23 AMkarelpeeters
12/08/2019, 11:27 AMkarelpeeters
12/08/2019, 11:29 AMjimn
12/08/2019, 1:39 PMnot as simple as "just paste intelijsthis and KEEP#112 are simply fighting for crumbs in the bigger picture of expressive options. the compiler can be extended, so it's possible to iterate this way on models (in a vaccuum) but the following things seem to hold true: pairs of literals have language elements: (incompletel list) • entity/function scope {...} • Index [...] • expression scopes (...) things in keep#112 Collection literals same arity as joinToString(sep,prefix,suffix()) and then there's things in the definable operators quadrant of operator overloading languages which kotlin is not a part of, and presumably Kotlin could move to join those and solve keep#112 by defining perhaps anything it allows in backticks as a symbolic operator for the sake of fidelity with domain specifications that are not already kotlin source code. These might be structured like corouinescopes in terms of the mechanics that can be applied with definable operator interplay, I wouldn't want to pigeonhole definable operators "forever" with a simplistic expectation of arity 1,2,3 operator what we could gain by the upper right quadrant of the overload languages box is truly thin dsel parser and functional decomposition options that we don't have with anything but sed and awk right now, on thier terms via regex.
jimn
12/08/2019, 1:40 PM