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

> you can automatically box your references

Yes, but that is now a different runtime cost which Go also didn't want to pay.

The language goes to great pains to give you pretty good control over layout in memory and avoid the "spray of tiny objects on the heap with pointers between them" that you get in Java and most other managed languages.

I think Swift maybe does something more clever with witness tables, but I don't recally exactly how it works.

It's not an easy problem.



> I think Swift maybe does something more clever with witness tables, but I don't recally exactly how it works.

Pestov actually wrote a long explanation of what it is that Swift does there[1,2]. And I’m almost sure you’ve already seen it, but it’s been on my reading list forever and I’m hoping that maybe if I can’t get myself to read it, than somebody else will see this comment, get interested and do it.

[1] http://download.swift.org/docs/assets/generics.pdf

[2] https://github.com/apple/swift/tree/main/docs/Generics


Yeah, I've had that PDF sitting on my hard drive for years. I'm definitely interested but it's 600 pages.




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

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

Search: