[swift-evolution] Optional Argument Chaining
Thorsten Seitz
tseitz42 at icloud.com
Mon Dec 18 09:52:11 CST 2017
+1
-Thorsten
> Am 18.12.2017 um 08:42 schrieb Elviro Rocca via swift-evolution <swift-evolution at swift.org>:
>
> While it's definitely worth knowing, it's not a really usable substitute for higher-kinded types in production code, and still requires a lot of code generation, which is eased in Kotlin thanks to its annotation/metaprogramming features.
>
> Event the Kategory people recognized that the emulation approach is a temporary solution, waiting for the approval of a proposal for the addition of HKTs to Kotlin itself.
>
> Unfortunately, if we don't get HKTs in Swift we're simply going to miss on a barrage of extremely useful abstractions, upon that many contemporary languages have started to rely, because they are simply the best known solutions to many problems in many contexts.
>
> The huge amount of work that's been done in academia in the last 15 years (and it's still going) about applicatives - and also profunctor optics, another thing that requires HKTs - is mostly going to elude Swift due to its crucial lack of expressivity.
>
> We're on the right track with the approval of the conditional conformance proposal, but my fear is that the ABI stability requirement for Swift 5 is going to lock the language interfaces in a state where it's going to be impossible for these kinds of sophistications to be added to the language at a later stage... I hope to be proven wrong here.
>
>
> Elviro
>
>> Il giorno 14 dic 2017, alle ore 15:40, Matthew Johnson via swift-evolution <swift-evolution at swift.org> ha scritto:
>>
>>
>> Thanks for jumping in and elaborating on a more general approach! I don’t want to sidetrack the thread, but it actually is possible to encode higher-kindred types and protocols requiring them in Swift today. It’s a bit clunky and requires some boilerplate but the technique is worth knowing. https://gist.github.com/anandabits/f12a77c49fc002cf68a5f1f62a0ac9c4
>>
>> Some Kotlin folks have created a pretty robust FP library using the same technique: http://kategory.io/.
>>
>> _______________________________________________
>> swift-evolution mailing list
>> swift-evolution at swift.org
>> https://lists.swift.org/mailman/listinfo/swift-evolution
>
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20171218/3dc04162/attachment.html>
More information about the swift-evolution
mailing list