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



Consider applying for YC's Winter 2027 batch! Applications are open till November 2.

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

Search: