Is there a good Basic interpreter?

What is wrong with GOTO? Nothing in particular if you can keep your program from turning into spaghetti.
OTOH spend time fixing other people's goto-ridden spaghetti code and you might get an idea about goto's.

Basic goto's get over-used by beginners who haven't figured out what gosub is for. But mind you they are superior beginners who already have a way and don't need to rely on gosub tricks.