I was reading over the SPITBOL wiki page and came across a reference to the Icon Programming Language.
https://en.wikipedia.org/wiki/Icon_%28programming_language%29
Now granted a lot of it is supported by modern languages in the form of list comprehensions and generators, but the way it's combined with the idea of 'goal directed execution' is really cool imo.
But the part that shocked me is that this language was released in 1977.
What other amazing things have I missed because I'm not old enough to remember?
I am relatively new to Haskell but I think it can be done using MaybeT IO. In other words actions that perform IO but with a additional 'transformer' that allows them to 'fail' and abort further execution. As complicated as it sounds, it results in quite simple looking code similar to what is shown in that article for Icon.
Monads in general are sometimes refered to as a programmable semicolon, because you can change the nature of how one statement is bound to the next, with quite an amazing degree of flexibility.