#!/usr/bin/env pluvo % 018-case.lu - Ensure Basics are Dynamically Scoped Author: Sean B. Palmer, inamidst.com The basic premise is that the basics act like a module basics = () { @add = "FAIL (static)" f = () { return @add } g = () { @add = "pass (dynamic)"; return {f} } return {g} } x = "FAIL (global)" globals = () { x = "pass (static)" f = () { return x } g = () { x = "FAIL (dynamic)"; return {f} } return {g} } locals = () { @for = "FAIL (static)" f = () { return for } g = () { @for = "pass (dynamic)"; return {f} } return {g} } main = (argv) { say {basics} say {globals} say {locals} } script main