Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

>Why choose to carve out this added support for a single family

> of algorithms rather than add in some more general

> metaprogramming abilities that enable better EDSLs?

It is The Swift Way

The answer is always to add something to the language and the compiler, the question seems to be largely irrelevant.

Of course, that's a consequence of not heeding Alan Kay's advice from 1998, that when you design a new language, you need to focus on the metasystem first, the rest will follow.

http://wiki.c2.com/?AlanKayOnMessaging

When you don't do that, every new requirement comes as a surprise that you need to hack into the compiler somehow. Objective-C compatibility: hack the language; Python integration: hack the language; SwiftUI: hack the language; Differentiable Programming: hack the language.

And of course, each additional hack makes the already not-to-elegant base language even more difficult for implementing stuff without hacking the language.

What kind of a metasystem would we need in order to not have to hack the language for all of these features? That, detective, is the right question!

https://www.youtube.com/watch?v=ZKxr0wyIic4



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: