Blog

Trampoline functions for large recursive loops

Large recursive loops may crash the JavaScript engine as large cycles will continue adding entries into the call stack until the JavaScript engine crashes. Trampoline functions wrap recursive functions in a loop, calling them until they no longer prod...

Data structures that strongly require to be thread-safe are best candidates to become immutable objects. Moreover, as programmers can write mutable code that behaves in an immutable fashion, how to best achieve immutability? Does this programming approach really affect performance?

Prerequisites
...

Each time an element of the DOM changes, the browser will have to recalculate elements and styles and also it might have to re-flow the page. The following is the typical workflow:

Recalculate Style → Layout → Paint

  1. Recalculate Style: changing the DOM causes the browser to recalculate element...

Immutability means that variables cannot be modified once they have been set with data, which prevents unwanted changes from occurring.

Immutability and pure functions

The concept of immutability is strictly connected with pure functions. In pure functions:

  1. Return values are only determine...

Forth is an untyped programming language that heavily relies on the stack: data will be stored onto the stack before they are operated upon. Forth is the perfect programming language for hardware engineers:

  1. Forth is a very good alternative to Assembly and C. In fact, Forth allows programmers t...