diff --git a/src/Env.php b/src/Env.php index c8b9416..63aff5f 100644 --- a/src/Env.php +++ b/src/Env.php @@ -20,4 +20,14 @@ class Env extends Hash throw new MadLispException("symbol $key not defined in env"); } + + public function set(string $key, $value) + { + // Do not allow overwriting values in root env + if ($this->has($key) && $this->parent == null) { + throw new MadLispException("attempt to overwrite $key in root env"); + } + + return parent::set($key, $value); + } }