Hacker News new | ask | show | jobs
by igouy 342 days ago
And then we find out that Smalltalk implementations might choose to optimize instead of allowing anything to change at any time.

    ifFalse: alternativeBlock 
        "Answer the value of alternativeBlock. Execution does not actually
        reach here because the expression is compiled in-line."

        ^alternativeBlock value
1 comments

One tree doesn't make a forest, from whatever implementation that was taken out of, and naturally there are always magician tricks that PyPy also uses.
*iirc* pretty much all of the Smalltalks (that was CUIS).

    ~
"Creating blocks in Smalltalk has always been a potential source of performance problems. … In Resilient, we have restricted blocks to be last in-first-out (LIFO)…"

https://blog.bracha.org/resilient-paper.pdf

    ~
"Digitalk’s Team/V unobtrusively introduced a non-reflective syntax…"

https://wirfs-brock.com/allen/posts/914