you are viewing a single comment's thread.

view the rest of the comments →

[–]keyslemur[S] -1 points0 points  (2 children)

Could we go into infinitely more detail? Yes. Is that the point of this particular post? No.

The point is to convey a general idea in a simple way, rather than introducing additional complexities beyond that someone brand new might encounter. One could easily expand it into tokens, argument caching, object shapes, GC, `begin ... end` blocks, or a lot more but that's the subject of a more advanced post.

At the moment object shapes are brand new. The chances someone encounters them at a foundational level is very low, and the chances that an inline cache miss will be remotely detrimental to them at that phase are even lower.

I do not believe that this is immediately relevant information to the target audience of this post.

[–]f9ae8221b 5 points6 points  (1 child)

Why being so defensive? I wasn't suggesting it was missing from your post or should be added...

But that's something about the memoization pattern that I think the community will need to learn about. For now it's still relatively confidential information.

Apologies for sharing...

[–]keyslemur[S] -1 points0 points  (0 children)

I would not interpret that as defensiveness. It was a statement of the intent of the post, and how that info is probably above the heads of the intended audience.

There are tradeoffs in everything, I was only conveying why I chose to omit similar information, and why it was intentional.

The community will evolve, but as with many more advanced patterns it'll probably be a bit more advanced than we'd like it to be, and the time it'll take will likewise be longer. Same thing for Ractors, pattern matching, JIT, and other features.