There are some good ideas in there – some of which I had already filed away for further consideration.
Most of them are about environment, not language.
A decent code editor is something that many experienced programmers would love to have
Writing a decent text editor with code awareness is no minor task. It"s significantly harder than writing a new language, and that"s not easy. I would strongly suggest staying away from that particular challenge for the moment. And anyway, there's already a hatful-and-a-half of decent text / code editors out there already.
Anyway, onto the meat of things. It seems that even the BASIC fans are coming around to the idea that BASIC simply isn"t good enough as it stands, and could bear some improvement.
Most of the gripes I"ve seen here about BASIC come from a fundamental misunderstanding of what BASIC on early machines was, at least on the Microsoft ROM based interpreters.
Not mine. My gripes are particularly about the expressibility (well, to be more exact, the lack thereof) of BASIC. Nothing to do with the tokenising, interpretation, or even syntax of the language, but about what it allows you to do. Surmounting the brick wall that BASIC puts in the programmer"s path means moving away from classic "Dartmouth" BASIC and into something else entirely. That"s fair enough, but it puts you on a long and slippery slope of language tweaking. It"s hellishly hard to do right, especially when "right" is defined by "producing a language for teaching".
Before going any further, and as an absolute minimum, you need to read, and totally understand, Sussmann & Abelson"s "Structure and Interpretation of Computer Programs". You need to understand what needs to be part of a language, and what can be built onto a language with extensions written in the language / linking to external libraries.
You probably want to be intimately acquainted with Papert"s work, the stuff that came out of the Xerox AI labs, Bertrand Meyer"s stuff, and to be able to read and contribute on Lambda the Ultimate. Of course, once you"ve got to that stage, you may find yourself wondering what, exactly, you originally thought was so great about BASIC in the first place.
Did I suggest it was easier to write a language than an editor? I lied. In a mechanical sense, it may be, but in a conceptual sense, it's way, way, harder to write a consistent, useful, language.
If you decide to go for it, for initial implementation, I'd suggest implementing your pseudo-BASIC as a DSL on top of Scheme or Common Lisp.
Oh, and don"t throw GOTO away just yet. It may be "considered harmful", but it can be particularly useful – it was put into BASIC for a reason. I"d throw away GOSUB instead.