Stack-based programming languages use a stack for argument and return value passing, and often have a stack for return addresses also. I'm looking for instances of existing stack-based languages that expose further distinct stacks than that.
These additional stacks could have varied purposes, but the key is that program code has some way of manipulating them alongside the main stack or running in context of that stack. For example, this could be a language that provided a separate stack used for iteration data, a parallel stack of metadata about the data stack, or just multiple data stacks with distinct operations on them.
I'm looking for programming languages intended to be written by humans, not compilation targets or notional machines. The language should exist already — I'm not looking for speculation or concepts — and have some level of notability in its own sphere, but it doesn't need to be a published system. I'm looking at the language design level here, not implementation strategies using isolated stacks for function evaluations. Answers should identify applicable languages and how these additional stacks are used in them.