shamrock_frost
11/19/2017, 9:30 PMdata class Ref(var value : Value)
data class Scope(val bindings : MutableMap<String, Ref>, val parent : Scope?)
: Map<String, Value> by _bindings {
private val _bindings : Map<String, Value>
get() = bindings.mapValues { (_, ref) -> ref.value } + (parent?._bindings ?: emptyMap())
}