Viewing profile — seanbax
seanbax
HN member- Joined
- Sat, Oct 16, 2021, 10:47 PM UTC
- HN karma
- 81
- Public activity
- 17 items
- HN profile
- View on Hacker News ↗
About seanbax
No profile information was provided.
Recent public activity
-
comment
Comment #45242752
Lifetime parameters are necessary for borrow checking. And you need a special operator for initiating a borrow. You need immutability by default, because mutability everywhere viol…
-
comment
Comment #45240766
Which ideas aren't strictly necessary to achieve safety in C++?
-
comment
Comment #45240708
template _GLIBCXX20_CONSTEXPR inline void sort(_RandomAccessIterator __first, _RandomAccessIterator __last) { // concept requirements __glibcxx_function_requires(_Mutable_RandomAcc…
-
comment
Comment #45239463
Python doesn't have lvalues in the way that C++ and Rust do. You can't refcount everything and still pass lvalues to subobjects. If lvalues to subobjects are important, you need bo…
-
comment
Comment #45239448
I illustrate why it won't work with a number of examples here: https://www.circle-lang.org/draft-profiles.html To address your points: 1. The safe subset of C++ is too small to do …
-
comment
Comment #45239305
The Profiles authors are the ones claiming this uses local analysis only: https://news.ycombinator.com/item?id=41942126 They are clear that Profiles infers everything from function…
-
comment
Comment #45239170
I would have implemented profiles if profiles had a chance of working. But they will not ever work. I present many examples of why they fail here: https://www.circle-lang.org/draft…
-
comment
Comment #41946871
You do solely rely on the declaration. From P3465: "why this is a scalable compile-time solution, because it requires only function-local analysis" Profiles uses local analysis, as…
-
comment
Comment #41946711
If the vector has to be resized in push_back, the implementation copy-constructs a new object from x. It resizes the buffer. Then it move-constructs the copy into the buffer. The c…
-
comment
Comment #41942126
From P3465: "why this is a scalable compile-time solution, because it requires only function-local analysis" From P1179: "This paper ... shows how to efficiently diagnose many comm…
-
comment
Comment #40312959
Presenting a familiar syntax certainly makes it easier to follow.
-
comment
Comment #34509685
https://itanium-cxx-abi.github.io/cxx-abi/abi.html See all the stuff there? exceptions, vtable layout, rtti, mangling, etc. There's a Windows equivalent for all of that. That's wha…
-
comment
Comment #34499112
Yes, interfaces open that up, and to a lesser extent choice types open that up. If your choice type supports all the alternatives from the original overload set, then you can reduc…
-
comment
Comment #34499089
That's right. I'm fine with normal C++ syntax. But other people have other opinions. And there is an allure of getting to a CFG so that non-compiler tooling could build a parse tre…
-
comment
Comment #34499072
I'd like to target Windows. Windows does impose a specific C++ ABI, but it's completely undocumented. It's really just whatever Visual C++ does. C++ ABI is very complex, especially…
-
comment
Comment #28892350
My favorite use is putting user-defined attributes on data members, and using reflection to generate a UI to manipulate those values. I do it with these shadertoys: https://github.…
-
comment
Comment #28892294
Enum to string is a one-line expression in Circle: https://godbolt.org/z/93f5o77zv Circle has dozens of special traits for accessing useful stuff about types, packs, etc. Don't nee…