|
|
|
|
|
by isaacimagine
1544 days ago
|
|
There are a number of patterns that have arisen over the years to deal with these problems. For the large-object problem, look into persistent data structures or the 'Functional but in Place' paradigm (compiler optimizes modification on a copied unshared array to a mutation). For the parent-child problem, typed handles, continuation-based state propagation, and reifying state updates for a declarative interpreter may be used. Monads and effects are common in strongly typed functional languages, but have less bearing on lisp, which usually embraces dynamism to some extent. |
|