News for hackers. Stuff that matters.
Re:Mid-stack inlining in the Go compiler by CUViper on Monday March 06, 2017 @12:06PM (#13804039)
The presentation makes a distinction between mid-stack and leaf inlining, and apparently it was only done on leaf calls before because this is less confusing in backtraces.
Re:Mid-stack inlining in the Go compiler by paulddraper on Monday March 06, 2017 @12:59PM (#13804544)
throwawayish was downvoted, but I appreciated his and CUViper's clarification.

It's not some weird, exotic form of inlining; it's just a more complete version than Go used to have.

Re:Mid-stack inlining in the Go compiler by chewxy on Monday March 06, 2017 @04:11PM (#13806075)
leaf calls, and calls must not be complicated (no function calls, no loops, no switches in calls).

I for one am very glad that more work is put into inlining

Re:Mid-stack inlining in the Go compiler by Ericson2314 on Monday March 06, 2017 @03:13PM (#13805671)
The point is, as usual, Go is trying to catch up to what everyone else has had for years. The use of non-standard terminology here is suspicious, raising the question that the Go people are trying to hide the fact that they are playing catch-up.
Re:Mid-stack inlining in the Go compiler by enneff on Monday March 06, 2017 @06:01PM (#13806883)
Comments like these are so depressing. Someone does a bunch of work to improve the Go compiler and writes a presentation to share their approach (primarily so that other people working on Go can understand and extend it), and gives it all away for free. This is textbook open source citizenry, which should be applauded.

But instead, you come along and criticize them for being too specific with their terms (!!) and also accuse them of being deceptive. This is not a marketing exercise. There is no conspiracy here.

Re:Mid-stack inlining in the Go compiler by vorg on Monday March 06, 2017 @06:35PM (#13807096)
> writes a presentation to share their approach (primarily so that other people working on Go can understand and extend it

Perhaps Ericson2314's gripe is that it's being posted (and upvoted) on HN, rather than just a Go-specific forum (e.g. reddit.com/r/golang), and by implication it's intended to be read by a more general audience.

Re:Mid-stack inlining in the Go compiler by enneff on Monday March 06, 2017 @08:35PM (#13807650)
Well that's just silly. People post random stuff to HN all the time. That something is appears here does not mean that HN is the intended audience.
Re:Mid-stack inlining in the Go compiler by solidsnack9000 on Monday March 06, 2017 @10:20PM (#13808023)
Nothing about giving your work away for free or wanting to do good necessarily puts one above criticism for misuse (or useless invention) of terminology. It's not a marketing exercise, you are correct -- all the more reason to expect a narrow use of terminology.
Re:Mid-stack inlining in the Go compiler by weberc2 on Tuesday March 07, 2017 @12:59PM (#13812816)
If you're going to be pedantic, you might at least be strictly correct. There is no existing term that would distinguish it from Go's prior state, so there is no misuse nor "useless invention". Even if there were and you were correct, this would still be pedantry at its finest.
Re:Mid-stack inlining in the Go compiler by solidsnack9000 on Tuesday March 07, 2017 @02:29PM (#13813812)
> ...would still be pedantry at its finest.

Why would correct use of terminology be "pedantry at its finest"?

What people are concerned about is intellectual dishonesty. The presentation does not go to much effort to show, for example, why the term "mid-stack inlining" needs to be introduced for Go. Do other languages not have this kind of inlining? Does comparing and contrasting other implementations just not matter?

Re:Mid-stack inlining in the Go compiler by weberc2 on Tuesday March 07, 2017 @03:20PM (#13814376)
> Why would correct use of terminology be "pedantry at its finest"?

Because you're debating terminology when the wrong term caused no one confusion, thereby detracting from the actual conversation.

> What people are concerned about is intellectual dishonesty.

There's no cause for this concern.

> The presentation does not go to much effort to show, for example, why the term "mid-stack inlining" needs to be introduced for Go.

Sure it does; see slides 3-6.

> Do other languages not have this kind of inlining? Does comparing and contrasting other implementations just not matter?

Perhaps the author omitted it from his deck because it's impractical to cover the whole breadth of inlining in a deck that's already 35 slides long. Perhaps he simply didn't think to include it. There are a lot of likely explanations for why this wasn't included besides nefarious motives. You sound paranoid.

Re:Mid-stack inlining in the Go compiler by solidsnack9000 on Tuesday March 07, 2017 @03:51PM (#13814742)
> There's no cause for this concern.

Well, why do you think we are bringing it up, then? Due to some nefarious motive?

Re:Mid-stack inlining in the Go compiler by enneff on Tuesday March 07, 2017 @06:04PM (#13816038)
My take: it's because of an unnecessarily cynical worldview coupled with a misunderstanding about the intended audience of the presentation.
Re:Mid-stack inlining in the Go compiler by infogulch on Monday March 06, 2017 @05:01PM (#13806440)
No hiding or sneaking is necessary to explain anything here. They needed to come up with a way to describe the difference between how it is currently implemented and how they are changing it. That's all.
Re:Mid-stack inlining in the Go compiler by jgalt212 on Monday March 06, 2017 @10:30PM (#13808058)
> The point is, as usual, Go is trying to catch up to what everyone else has had for years.

As far as programming languages go, Go is very new. Of course, there will be a number of areas that still need to be optimized or fully fleshed out. I think the Go compiler has only been written in Go for about a year. I'm sure you you find this pretty lame as well.

Re:Mid-stack inlining in the Go compiler by weberc2 on Monday March 06, 2017 @04:57PM (#13806414)
I don't think anyone is pretending that Go is a decades-old language. What is the standard term for this kind of inlining which would distinguish it from the inlining already present in the compiler?
Re:Mid-stack inlining in the Go compiler by pcwalton on Monday March 06, 2017 @05:43PM (#13806763)
> What is the standard term for this kind of inlining which would distinguish it from the inlining already present in the compiler?

There isn't a standard term, because virtually all inliners always did what Go is now doing. It's pretty basic functionality.

Re:Mid-stack inlining in the Go compiler by dilap on Monday March 06, 2017 @06:49PM (#13807168)
Really? I feel like every C++ compiler I've used has given very unreliable stacktraces with optimizations enabled.
Re:Mid-stack inlining in the Go compiler by jstarks on Monday March 06, 2017 @06:49PM (#13807167)
Do most compilers preserve enough metadata to report accurate stacks?
Re:Mid-stack inlining in the Go compiler by weberc2 on Tuesday March 07, 2017 @12:50PM (#13812724)
So they're not avoiding a standard term to be misleading; there simply isn't a standard term to use. Thank you for clarifying.
Re:Mid-stack inlining in the Go compiler by Rusky on Monday March 06, 2017 @05:23PM (#13806611)
The point is "inlining" already refers to this kind of inlining. The already-present form is more limited than the typical use of the term.
Re:Mid-stack inlining in the Go compiler by sythe2o0 on Monday March 06, 2017 @06:25PM (#13807040)
Then what word would you have used in this presentation, given no established word existed?
Re:Mid-stack inlining in the Go compiler by peteretep on Tuesday March 07, 2017 @12:10AM (#13808411)
"Fixing Go's inlining"
Re:Mid-stack inlining in the Go compiler by solidsnack9000 on Monday March 06, 2017 @10:18PM (#13808016)
"Go inlining improvements..." and then "Conventionally, inlining includes ... but Go has been limited to ... until recently. With ... Go now supports inlining in a broader array of circumstances."
Re:Mid-stack inlining in the Go compiler by overcyn on Tuesday March 07, 2017 @03:46AM (#13809107)
"Conventionally inclining includes ...?"

What does it include? You've conveniently managed to skip over the crucial part with ellipses. Calls in the middle of stacks perhaps?

You people have too much time on your hands to go and pick at the wording people use in their presentations.

Re:Mid-stack inlining in the Go compiler by solidsnack9000 on Tuesday March 07, 2017 @02:24PM (#13813770)
> You people have too much time on your hands to go and pick at the wording people use in their presentations.

What kind of argument is that?

Re:Mid-stack inlining in the Go compiler by overcyn on Tuesday March 07, 2017 @03:38PM (#13814597)
I'm saying that this is an incredibly inane, nitpicky, superficial conversation that has nothing to do with the technical content of the presentation.
Re:Mid-stack inlining in the Go compiler by solidsnack9000 on Tuesday March 07, 2017 @03:51PM (#13814749)
You are saying it; but you aren't really backing it up with anything.
Re:Mid-stack inlining in the Go compiler by blackrose on Tuesday March 07, 2017 @12:47AM (#13808524)
Shitting on Go for sport: a HN pastime.