Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
StephanTLavavej
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
8 ms
·
31.
▲
by
StephanTLavavej
7y ago
MSVC’s STL (which I work on) is now open source, under the Apache+LLVM license: https://github.com/microsoft/STL . At this time, there are no plans to open source the MSVC compiler.
32.
▲
by
StephanTLavavej
7y ago
> Microsoft says that VS2019 runtimes are forward and back compatible with VS2015 and VS2017, however, it turns out that is not always the case, and we definitely encountered one of the incompatible scenarios. The binary compatibility ha
33.
▲
by
StephanTLavavej
7y ago
Plexiglass: https://memory-alpha.fandom.com/wiki/Plexicorp
34.
▲
by
StephanTLavavej
7y ago
I am now thinking about filming an “Inside the STL” series to help people understand our implementation details.
35.
▲
by
StephanTLavavej
7y ago
That’s the symbol truncation warning. IIRC, the suppression is no longer necessary because the compiler removed the warning completely.
36.
▲
by
StephanTLavavej
7y ago
Metonymy has a purpose when it replaces a long, exactingly precise description with a short term that is equally recognizable. For example, “Wall Street” versus “US financial institutions, which may not necessarily be located in New York”.
37.
▲
by
StephanTLavavej
7y ago
Please see the Acknowledgments section of https://devblogs.microsoft.com/cppblog/open-sourcing-msvcs-s... .
38.
▲
by
StephanTLavavej
7y ago
I used to use “the STL” to refer to “the part of the C++ Standard Library strongly influenced by the design of the historical library”, excluding iostreams etc. Later, I decided this didn’t really achieve anything. It’s a Standard Library t
39.
▲
by
StephanTLavavej
7y ago
The separately compiled parts of the C++ Standard Library have shipped in VS installations for many years (look for xrngdev.cpp in a subdirectory typically named crt/src, that should be distinctive enough). This was intended for debugg
40.
▲
by
StephanTLavavej
7y ago
Wow, I didn’t know anyone followed my personal library (when I was still learning the language)! Glad it helped. Cool to meet a true fan :-)
41.
▲
by
StephanTLavavej
7y ago
Our commit history is stretched across multiple Microsoft-internal source control systems. In my career (2007+ in MSVC), that’s Source Depot, two databases of Team Foundation Server, and currently Git in Azure DevOps. Unfortunately, we will
42.
▲
by
StephanTLavavej
7y ago
We really don’t like the preprocessor, but it is currently necessary for many things, especially supporting different architectures, compilers, and Standard version modes. We regularly purge our implementation of no-longer-necessary macros,
43.
▲
by
StephanTLavavej
7y ago
As barchar (my coworker on the STL team) mentioned, not only does Clang use MSVC’s STL on Windows, but also the support is from both Clang and Microsoft. We test MSVC’s STL with Clang as a first-class citizen, and have shipped features acti
44.
▲
by
StephanTLavavej
7y ago
> There are still implementations of the original STL around separate from the std library, so keeping the distinction is probably still wise. As far as I am aware, those libraries are defunct and unused (e.g. STLPort), so I disagree tha
45.
▲
by
StephanTLavavej
7y ago
It’s what we’ve been calling our code for a long time (in VCBlog articles, etc.) and it’s a perfectly valid use of metonymy: https://en.wikipedia.org/wiki/Metonymy Scott Meyers wrote a book called “Effective STL”, and
46.
▲
by
StephanTLavavej
7y ago
You’re welcome! My MinGW distro is due for an update, which I should hopefully have time for soon.
47.
▲
by
StephanTLavavej
7y ago
float to string is incredibly fast now - look at Ulf Adams’ Ryu and Ryu Printf algorithms, which I’ve used to implement C++17 <charconv> in Visual Studio 2019 (16.2 has everything implemented except general precision; the upcoming 16.
48.
▲
by
StephanTLavavej
9y ago
Splendor has a small bit of hidden info - when you blind reserve a card, you get to look at it, but it stays secret from other players. However, blind reserves are very rare, so you’re basically accurate.
49.
▲
by
StephanTLavavej
9y ago
constexpr isn't just a claim about today - it's a promise for the future. That is, the compiler can certainly notice that a function can be evaluated at compile time, and indeed optimizers will often perform enough inlining and co
50.
▲
by
StephanTLavavej
9y ago
Glad to hear it!
51.
▲
by
StephanTLavavej
9y ago
Purr! Hiss!
52.
▲
by
StephanTLavavej
9y ago
Yes. Why say "unordered_map, unordered_multimap, unordered_set, unordered_multiset" or the boring "unordered_foo" when I can say "unordered_meow", and so forth?
53.
▲
by
StephanTLavavej
9y ago
Did you report the problem? It's too late for us to do anything about it in 15.3, but if something's still broken we can investigate it for 15.x. We test our development builds against a large and growing number of open-source pro
54.
▲
by
StephanTLavavej
9y ago
As the post mentioned, we support almost all of the parts of the C11 Standard Library that are required by C++17. We also implemented a number of C99 Core Language features in previous releases. It is true that we don't support the ent
55.
▲
by
StephanTLavavej
9y ago
I've spent the last few months working on this release (alongside Billy, Casey, and Steve). When I started maintaining the STL in 2007, we released new features every couple of years - releasing every few months is much nicer (although
56.
▲
by
StephanTLavavej
9y ago
> Third, homelessness is on the rise nationwide. That's incorrect according to "The 2016 Annual Homeless Assessment Report (AHAR) to Congress" at https://www.hudexchange.info/resources/documents/2
57.
▲
by
StephanTLavavej
9y ago
"STL" is a perfectly valid way to refer to the C++ Standard Library through metonymy. Source: I am STL, an STL maintainer, with the sovereign right to name what I work on.
58.
▲
by
StephanTLavavej
9y ago
libstdc++ and libc++ are different libraries; this post is talking about libstdc++. They're like elephants and elephant seals.
59.
▲
by
StephanTLavavej
10y ago
Yes, that's C++14. First, "class = enable_if_t<!is_reference<T>::value>" is just "class Dummy = enable_if_t<!is_reference<T>::value>" that doesn't bother to name Dummy. It's providi
60.
▲
by
StephanTLavavej
10y ago
There's no such thing as "pure" in Standard C++ yet, even the C++17 Working Paper.
More ›